@remcostoeten/fync
Version:
Unified TypeScript library for 9 popular APIs with consistent functional architecture
309 lines • 10.4 kB
TypeScript
import type { TBaseEntity } from "../../core/types";
import type { TGitLabUser } from "./gitlab-user";
import type { TGitLabNamespace, TGitLabVisibility, TGitLabStatistics, TGitLabLinks } from "./gitlab-common";
export type TGitLabProject = {
/** Project ID */
id: number;
/** Project name */
name: string;
/** Project path */
path: string;
/** Project description */
description: string | null;
/** Default branch name */
default_branch: string | null;
/** Project visibility level */
visibility: TGitLabVisibility;
/** SSH URL to repository */
ssh_url_to_repo: string;
/** HTTP URL to repository */
http_url_to_repo: string;
/** Web URL */
web_url: string;
/** README URL */
readme_url: string | null;
/** Array of project tags */
tag_list: string[];
/** Array of project topics */
topics: string[];
/** Project owner */
owner: TGitLabUser | null;
/** Project name with namespace */
name_with_namespace: string;
/** Project path with namespace */
path_with_namespace: string;
/** Issues enabled flag */
issues_enabled: boolean;
/** Open issues count */
open_issues_count: number;
/** Merge requests enabled flag */
merge_requests_enabled: boolean;
/** Jobs enabled flag */
jobs_enabled: boolean;
/** Wiki enabled flag */
wiki_enabled: boolean;
/** Snippets enabled flag */
snippets_enabled: boolean;
/** Can create merge request in target project */
can_create_merge_request_in: boolean;
/** Resolve outdated diff discussions */
resolve_outdated_diff_discussions: boolean;
/** Container registry enabled */
container_registry_enabled: boolean;
/** Container registry access level */
container_registry_access_level: "disabled" | "private" | "enabled";
/** Security and compliance access level */
security_and_compliance_access_level: "disabled" | "private" | "enabled";
/** Releases access level */
releases_access_level: "disabled" | "private" | "enabled";
/** Environments access level */
environments_access_level: "disabled" | "private" | "enabled";
/** Feature flags access level */
feature_flags_access_level: "disabled" | "private" | "enabled";
/** Infrastructure access level */
infrastructure_access_level: "disabled" | "private" | "enabled";
/** Monitor access level */
monitor_access_level: "disabled" | "private" | "enabled";
/** Model experiments access level */
model_experiments_access_level: "disabled" | "private" | "enabled";
/** Model registry access level */
model_registry_access_level: "disabled" | "private" | "enabled";
/** Creator ID */
creator_id: number;
/** Namespace */
namespace: TGitLabNamespace;
/** Import status */
import_status: "none" | "scheduled" | "started" | "finished" | "failed";
/** Import error */
import_error: string | null;
/** Permissions */
permissions: {
/** Project access */
project_access: {
/** Access level */
access_level: number;
/** Notification level */
notification_level: number;
} | null;
/** Group access */
group_access: {
/** Access level */
access_level: number;
/** Notification level */
notification_level: number;
} | null;
};
/** Whether project is archived */
archived: boolean;
/** Avatar URL */
avatar_url: string | null;
/** License */
license: {
/** License key */
key: string;
/** License name */
name: string;
/** License nickname */
nickname: string | null;
/** License HTML URL */
html_url: string | null;
/** License source URL */
source_url: string | null;
} | null;
/** Shared runners enabled */
shared_runners_enabled: boolean;
/** Group runners enabled */
group_runners_enabled: boolean;
/** Forks count */
forks_count: number;
/** Star count */
star_count: number;
/** Runners token */
runners_token?: string;
/** CI config path */
ci_config_path: string | null;
/** Public jobs */
public_jobs: boolean;
/** Shared with groups */
shared_with_groups: Array<{
/** Group ID */
group_id: number;
/** Group name */
group_name: string;
/** Group full path */
group_full_path: string;
/** Group access level */
group_access_level: number;
/** Expires at */
expires_at: string | null;
}>;
/** Repository storage */
repository_storage: string;
/** Only allow merge if pipeline succeeds */
only_allow_merge_if_pipeline_succeeds: boolean;
/** Allow merge on skipped pipeline */
allow_merge_on_skipped_pipeline: boolean;
/** Restrict user defined variables */
restrict_user_defined_variables: boolean;
/** Only allow merge if all discussions are resolved */
only_allow_merge_if_all_discussions_are_resolved: boolean;
/** Remove source branch after merge */
remove_source_branch_after_merge: boolean;
/** Request access enabled */
request_access_enabled: boolean;
/** Merge method */
merge_method: "merge" | "rebase_merge" | "ff";
/** Squash option */
squash_option: "never" | "always" | "default_on" | "default_off";
/** Auto devops enabled */
autoclose_referenced_issues: boolean;
/** Suggestion commit message */
suggestion_commit_message: string | null;
/** Merge commit template */
merge_commit_template: string | null;
/** Squash commit template */
squash_commit_template: string | null;
/** Issue branch template */
issue_branch_template: string | null;
/** Auto devops deploy strategy */
auto_devops_deploy_strategy: "continuous" | "manual" | "timed_incremental";
/** Auto devops enabled */
auto_devops_enabled: boolean;
/** Build coverage regex */
build_coverage_regex: string | null;
/** CI forward deployment enabled */
ci_forward_deployment_enabled: boolean;
/** CI separated caches */
ci_separated_caches: boolean;
/** CI allow fork pipelines to run in parent project */
ci_allow_fork_pipelines_to_run_in_parent_project: boolean;
/** Build timeout */
build_timeout: number;
/** Auto cancel pending pipelines */
auto_cancel_pending_pipelines: "disabled" | "enabled";
/** Build git strategy */
build_git_strategy: "clone" | "fetch";
/** Build git submodule strategy */
build_git_submodule_strategy: "none" | "normal" | "recursive";
/** CI job token scope enabled */
ci_job_token_scope_enabled: boolean;
/** CI opt in JWT */
ci_opt_in_jwt: boolean;
/** CI push repository for job token allowed */
ci_push_repository_for_job_token_allowed: boolean;
/** Public builds */
public_builds: boolean;
/** Last activity at */
last_activity_at: string;
/** Statistics */
statistics?: TGitLabStatistics;
/** Container expiration policy */
container_expiration_policy: {
/** Cadence */
cadence: string;
/** Enabled */
enabled: boolean;
/** Keep n */
keep_n: number;
/** Older than */
older_than: string;
/** Name regex */
name_regex: string;
/** Name regex keep */
name_regex_keep: string | null;
/** Next run at */
next_run_at: string;
};
/** Can create merge request in target project */
can_create_merge_request_in_target: boolean;
/** Issues template */
issues_template: string | null;
/** Merge requests template */
merge_requests_template: string | null;
/** Keep latest artifact */
keep_latest_artifact: boolean;
/** Merge trains enabled */
merge_trains_enabled: boolean;
/** API links */
_links: TGitLabLinks;
/** Packages enabled */
packages_enabled: boolean;
/** Empty repo */
empty_repo: boolean;
/** Forked from project */
forked_from_project?: TGitLabProject;
/** Mirror */
mirror: boolean;
/** Mirror user ID */
mirror_user_id: number | null;
/** Mirror trigger builds */
mirror_trigger_builds: boolean;
/** Only mirror protected branches */
only_mirror_protected_branches: boolean;
/** Mirror overwrites diverged branches */
mirror_overwrites_diverged_branches: boolean;
/** External authorization classification label */
external_authorization_classification_label: string;
/** Requirements enabled */
requirements_enabled: boolean;
/** Requirements access level */
requirements_access_level: "disabled" | "private" | "enabled";
/** Security and compliance enabled */
security_and_compliance_enabled: boolean;
/** Compliance frameworks */
compliance_frameworks: Array<{
/** Framework ID */
id: number;
/** Framework name */
name: string;
/** Framework description */
description: string;
/** Framework color */
color: string;
/** Default framework */
default: boolean;
}>;
/** Marked for deletion at */
marked_for_deletion_at: string | null;
/** Marked for deletion on */
marked_for_deletion_on: string | null;
} & TBaseEntity;
export type TGitLabProjectMember = {
/** Member ID */
id: number;
/** Username */
username: string;
/** User's full name */
name: string;
/** Member state */
state: string;
/** Avatar URL */
avatar_url: string | null;
/** Web URL */
web_url: string;
/** Access level */
access_level: number;
/** Email */
email?: string;
/** Expires at */
expires_at: string | null;
} & TBaseEntity;
export type TGitLabProjectVariable = {
/** Variable key */
key: string;
/** Variable value */
value: string;
/** Variable type */
variable_type: "env_var" | "file";
/** Whether variable is protected */
protected: boolean;
/** Whether variable is masked */
masked: boolean;
/** Whether variable is raw */
raw: boolean;
/** Environment scope */
environment_scope: string;
/** Variable description */
description: string | null;
};
//# sourceMappingURL=gitlab-project.d.ts.map