renovate
Version:
Automated dependency updates. Flexible so you don't need to be.
66 lines (65 loc) • 1.94 kB
JavaScript
import { DeepNullish, LooseArray } from "../../../util/schema-utils/index.js";
import { LongCommitSha } from "../../../util/schema-utils/git.js";
import { z } from "zod/v4";
//#region lib/modules/platform/gitlab/schema.ts
const LastPipelineId = z.object({ last_pipeline: z.object({ id: z.number() }) }).transform(({ last_pipeline }) => last_pipeline.id);
const GitlabUser = z.object({
id: z.number(),
username: z.string()
});
const GitLabProjectMembers = LooseArray(z.object({
username: z.string(),
access_level: z.number().optional()
}));
const GitLabMergeRequest = DeepNullish(z.object({
iid: z.number(),
title: z.string(),
description: z.string().nullable(),
state: z.string(),
source_branch: z.string(),
target_branch: z.string(),
created_at: z.string(),
updated_at: z.string(),
diverged_commits_count: z.number().optional(),
merge_status: z.string().optional(),
detailed_merge_status: z.enum([
"approvals_syncing",
"checking",
"ci_must_pass",
"ci_still_running",
"commits_status",
"conflict",
"discussions_not_resolved",
"draft_status",
"jira_association_missing",
"mergeable",
"merge_request_blocked",
"merge_time",
"need_rebase",
"not_approved",
"not_open",
"preparing",
"requested_changes",
"security_policy_pipeline_check",
"security_policy_violations",
"status_checks_must_pass",
"unchecked",
"locked_paths",
"locked_lfs_files",
"title_regex",
"unknown"
]).catch("unknown"),
assignee: GitlabUser.optional(),
assignees: LooseArray(GitlabUser).catch([]),
reviewers: LooseArray(GitlabUser).catch([]),
labels: z.array(z.string()).optional(),
sha: LongCommitSha.optional(),
head_pipeline: z.object({
status: z.string(),
sha: LongCommitSha
}).optional()
}));
const GitLabMergeRequests = z.array(GitLabMergeRequest);
//#endregion
export { GitLabMergeRequest, GitLabMergeRequests, GitLabProjectMembers, LastPipelineId };
//# sourceMappingURL=schema.js.map