@apiclient.xyz/gitlab 2.5.0 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_ts/gitlab.classes.branch.d.ts +7 -0
- package/dist_ts/gitlab.classes.branch.js +13 -0
- package/dist_ts/gitlab.classes.gitlabclient.d.ts +112 -81
- package/dist_ts/gitlab.classes.gitlabclient.js +236 -156
- package/dist_ts/gitlab.classes.group.d.ts +47 -0
- package/dist_ts/gitlab.classes.group.js +97 -0
- package/dist_ts/gitlab.classes.job.d.ts +29 -0
- package/dist_ts/gitlab.classes.job.js +74 -0
- package/dist_ts/gitlab.classes.pipeline.d.ts +32 -0
- package/dist_ts/gitlab.classes.pipeline.js +87 -0
- package/dist_ts/gitlab.classes.project.d.ts +63 -0
- package/dist_ts/gitlab.classes.project.js +122 -0
- package/dist_ts/gitlab.classes.protectedbranch.d.ts +8 -0
- package/dist_ts/gitlab.classes.protectedbranch.js +15 -0
- package/dist_ts/gitlab.classes.tag.d.ts +7 -0
- package/dist_ts/gitlab.classes.tag.js +13 -0
- package/dist_ts/gitlab.classes.testreport.d.ts +34 -0
- package/dist_ts/gitlab.classes.testreport.js +67 -0
- package/dist_ts/gitlab.classes.variable.d.ts +18 -0
- package/dist_ts/gitlab.classes.variable.js +35 -0
- package/dist_ts/gitlab.helpers.d.ts +8 -0
- package/dist_ts/gitlab.helpers.js +23 -0
- package/dist_ts/index.d.ts +10 -0
- package/dist_ts/index.js +15 -1
- package/package.json +1 -1
- package/readme.md +468 -163
- package/ts/gitlab.classes.branch.ts +18 -0
- package/ts/gitlab.classes.gitlabclient.ts +297 -196
- package/ts/gitlab.classes.group.ts +137 -0
- package/ts/gitlab.classes.job.ts +104 -0
- package/ts/gitlab.classes.pipeline.ts +122 -0
- package/ts/gitlab.classes.project.ts +177 -0
- package/ts/gitlab.classes.protectedbranch.ts +21 -0
- package/ts/gitlab.classes.tag.ts +18 -0
- package/ts/gitlab.classes.testreport.ts +97 -0
- package/ts/gitlab.classes.variable.ts +50 -0
- package/ts/gitlab.helpers.ts +26 -0
- package/ts/index.ts +19 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { GitLabClient } from './gitlab.classes.gitlabclient.js';
|
|
2
|
+
import type { IGitLabGroup, IListOptions, IVariableOptions } from './gitlab.interfaces.js';
|
|
3
|
+
import { GitLabProject } from './gitlab.classes.project.js';
|
|
4
|
+
import { GitLabVariable } from './gitlab.classes.variable.js';
|
|
5
|
+
export declare class GitLabGroup {
|
|
6
|
+
private client;
|
|
7
|
+
readonly id: number;
|
|
8
|
+
readonly name: string;
|
|
9
|
+
readonly fullPath: string;
|
|
10
|
+
readonly description: string;
|
|
11
|
+
readonly webUrl: string;
|
|
12
|
+
readonly visibility: string;
|
|
13
|
+
/** @internal */
|
|
14
|
+
constructor(client: GitLabClient, raw: IGitLabGroup);
|
|
15
|
+
getProjects(opts?: IListOptions): Promise<GitLabProject[]>;
|
|
16
|
+
getDescendantGroups(opts?: IListOptions): Promise<GitLabGroup[]>;
|
|
17
|
+
getVariables(): Promise<GitLabVariable[]>;
|
|
18
|
+
createVariable(key: string, value: string, opts?: IVariableOptions): Promise<GitLabVariable>;
|
|
19
|
+
updateVariable(key: string, value: string, opts?: IVariableOptions): Promise<GitLabVariable>;
|
|
20
|
+
deleteVariable(key: string): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Update group properties.
|
|
23
|
+
*/
|
|
24
|
+
update(data: {
|
|
25
|
+
name?: string;
|
|
26
|
+
path?: string;
|
|
27
|
+
description?: string;
|
|
28
|
+
visibility?: string;
|
|
29
|
+
}): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Upload an avatar image for this group (multipart FormData).
|
|
32
|
+
*/
|
|
33
|
+
setAvatar(imageData: Uint8Array, filename: string): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Remove the group's avatar.
|
|
36
|
+
*/
|
|
37
|
+
deleteAvatar(): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Transfer this group to be a child of another group.
|
|
40
|
+
*/
|
|
41
|
+
transfer(parentGroupId: number): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Delete this group.
|
|
44
|
+
*/
|
|
45
|
+
delete(): Promise<void>;
|
|
46
|
+
toJSON(): IGitLabGroup;
|
|
47
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { GitLabProject } from './gitlab.classes.project.js';
|
|
2
|
+
import { GitLabVariable } from './gitlab.classes.variable.js';
|
|
3
|
+
import { autoPaginate } from './gitlab.helpers.js';
|
|
4
|
+
export class GitLabGroup {
|
|
5
|
+
/** @internal */
|
|
6
|
+
constructor(client, raw) {
|
|
7
|
+
this.client = client;
|
|
8
|
+
this.id = raw.id;
|
|
9
|
+
this.name = raw.name || '';
|
|
10
|
+
this.fullPath = raw.full_path || '';
|
|
11
|
+
this.description = raw.description || '';
|
|
12
|
+
this.webUrl = raw.web_url || '';
|
|
13
|
+
this.visibility = raw.visibility || 'private';
|
|
14
|
+
}
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
// Projects
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
async getProjects(opts) {
|
|
19
|
+
return autoPaginate((page, perPage) => this.client.requestGetGroupProjects(this.id, { ...opts, page, perPage }), opts).then(projects => projects.map(p => new GitLabProject(this.client, p)));
|
|
20
|
+
}
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
// Descendant Groups
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
async getDescendantGroups(opts) {
|
|
25
|
+
return autoPaginate((page, perPage) => this.client.requestGetDescendantGroups(this.id, { ...opts, page, perPage }), opts).then(groups => groups.map(g => new GitLabGroup(this.client, g)));
|
|
26
|
+
}
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
// Variables (CI/CD)
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
async getVariables() {
|
|
31
|
+
const vars = await this.client.requestGetGroupVariables(this.id);
|
|
32
|
+
return vars.map(v => new GitLabVariable(v));
|
|
33
|
+
}
|
|
34
|
+
async createVariable(key, value, opts) {
|
|
35
|
+
const raw = await this.client.requestCreateGroupVariable(this.id, key, value, opts);
|
|
36
|
+
return new GitLabVariable(raw);
|
|
37
|
+
}
|
|
38
|
+
async updateVariable(key, value, opts) {
|
|
39
|
+
const raw = await this.client.requestUpdateGroupVariable(this.id, key, value, opts);
|
|
40
|
+
return new GitLabVariable(raw);
|
|
41
|
+
}
|
|
42
|
+
async deleteVariable(key) {
|
|
43
|
+
await this.client.requestDeleteGroupVariable(this.id, key);
|
|
44
|
+
}
|
|
45
|
+
// ---------------------------------------------------------------------------
|
|
46
|
+
// Mutation
|
|
47
|
+
// ---------------------------------------------------------------------------
|
|
48
|
+
/**
|
|
49
|
+
* Update group properties.
|
|
50
|
+
*/
|
|
51
|
+
async update(data) {
|
|
52
|
+
await this.client.requestUpdateGroup(this.id, {
|
|
53
|
+
name: data.name,
|
|
54
|
+
path: data.path,
|
|
55
|
+
description: data.description,
|
|
56
|
+
visibility: data.visibility,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Upload an avatar image for this group (multipart FormData).
|
|
61
|
+
*/
|
|
62
|
+
async setAvatar(imageData, filename) {
|
|
63
|
+
await this.client.requestSetGroupAvatar(this.id, imageData, filename);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Remove the group's avatar.
|
|
67
|
+
*/
|
|
68
|
+
async deleteAvatar() {
|
|
69
|
+
await this.client.requestUpdateGroup(this.id, { avatar: '' });
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Transfer this group to be a child of another group.
|
|
73
|
+
*/
|
|
74
|
+
async transfer(parentGroupId) {
|
|
75
|
+
await this.client.requestTransferGroup(this.id, parentGroupId);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Delete this group.
|
|
79
|
+
*/
|
|
80
|
+
async delete() {
|
|
81
|
+
await this.client.requestDeleteGroup(this.id);
|
|
82
|
+
}
|
|
83
|
+
// ---------------------------------------------------------------------------
|
|
84
|
+
// Serialization
|
|
85
|
+
// ---------------------------------------------------------------------------
|
|
86
|
+
toJSON() {
|
|
87
|
+
return {
|
|
88
|
+
id: this.id,
|
|
89
|
+
name: this.name,
|
|
90
|
+
full_path: this.fullPath,
|
|
91
|
+
description: this.description,
|
|
92
|
+
web_url: this.webUrl,
|
|
93
|
+
visibility: this.visibility,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0bGFiLmNsYXNzZXMuZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9naXRsYWIuY2xhc3Nlcy5ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVuRCxNQUFNLE9BQU8sV0FBVztJQVN0QixnQkFBZ0I7SUFDaEIsWUFDVSxNQUFvQixFQUM1QixHQUFpQjtRQURULFdBQU0sR0FBTixNQUFNLENBQWM7UUFHNUIsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsVUFBVSxJQUFJLFNBQVMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsOEVBQThFO0lBQzlFLFdBQVc7SUFDWCw4RUFBOEU7SUFFOUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFtQjtRQUNuQyxPQUFPLFlBQVksQ0FDakIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENB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
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { GitLabClient } from './gitlab.classes.gitlabclient.js';
|
|
2
|
+
import type { IGitLabJob } from './gitlab.interfaces.js';
|
|
3
|
+
export declare class GitLabJob {
|
|
4
|
+
private client;
|
|
5
|
+
private projectId;
|
|
6
|
+
readonly id: number;
|
|
7
|
+
readonly name: string;
|
|
8
|
+
readonly stage: string;
|
|
9
|
+
readonly status: string;
|
|
10
|
+
readonly ref: string;
|
|
11
|
+
readonly tag: boolean;
|
|
12
|
+
readonly webUrl: string;
|
|
13
|
+
readonly createdAt: string;
|
|
14
|
+
readonly startedAt: string;
|
|
15
|
+
readonly finishedAt: string;
|
|
16
|
+
readonly duration: number;
|
|
17
|
+
readonly queuedDuration: number;
|
|
18
|
+
readonly coverage: number;
|
|
19
|
+
readonly allowFailure: boolean;
|
|
20
|
+
readonly failureReason: string;
|
|
21
|
+
/** @internal */
|
|
22
|
+
constructor(client: GitLabClient, projectId: number | string, raw: IGitLabJob);
|
|
23
|
+
getLog(): Promise<string>;
|
|
24
|
+
retry(): Promise<GitLabJob>;
|
|
25
|
+
cancel(): Promise<GitLabJob>;
|
|
26
|
+
play(): Promise<GitLabJob>;
|
|
27
|
+
erase(): Promise<void>;
|
|
28
|
+
toJSON(): IGitLabJob;
|
|
29
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
export class GitLabJob {
|
|
2
|
+
/** @internal */
|
|
3
|
+
constructor(client, projectId, raw) {
|
|
4
|
+
this.client = client;
|
|
5
|
+
this.projectId = projectId;
|
|
6
|
+
this.id = raw.id;
|
|
7
|
+
this.name = raw.name || '';
|
|
8
|
+
this.stage = raw.stage || '';
|
|
9
|
+
this.status = raw.status || '';
|
|
10
|
+
this.ref = raw.ref || '';
|
|
11
|
+
this.tag = raw.tag ?? false;
|
|
12
|
+
this.webUrl = raw.web_url || '';
|
|
13
|
+
this.createdAt = raw.created_at || '';
|
|
14
|
+
this.startedAt = raw.started_at || '';
|
|
15
|
+
this.finishedAt = raw.finished_at || '';
|
|
16
|
+
this.duration = raw.duration || 0;
|
|
17
|
+
this.queuedDuration = raw.queued_duration || 0;
|
|
18
|
+
this.coverage = raw.coverage || 0;
|
|
19
|
+
this.allowFailure = raw.allow_failure ?? false;
|
|
20
|
+
this.failureReason = raw.failure_reason || '';
|
|
21
|
+
}
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
// Log
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
async getLog() {
|
|
26
|
+
return this.client.requestGetJobLog(this.projectId, this.id);
|
|
27
|
+
}
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
// Actions
|
|
30
|
+
// ---------------------------------------------------------------------------
|
|
31
|
+
async retry() {
|
|
32
|
+
const raw = await this.client.requestRetryJob(this.projectId, this.id);
|
|
33
|
+
return new GitLabJob(this.client, this.projectId, raw);
|
|
34
|
+
}
|
|
35
|
+
async cancel() {
|
|
36
|
+
const raw = await this.client.requestCancelJob(this.projectId, this.id);
|
|
37
|
+
return new GitLabJob(this.client, this.projectId, raw);
|
|
38
|
+
}
|
|
39
|
+
async play() {
|
|
40
|
+
const raw = await this.client.requestPlayJob(this.projectId, this.id);
|
|
41
|
+
return new GitLabJob(this.client, this.projectId, raw);
|
|
42
|
+
}
|
|
43
|
+
async erase() {
|
|
44
|
+
await this.client.requestEraseJob(this.projectId, this.id);
|
|
45
|
+
}
|
|
46
|
+
// ---------------------------------------------------------------------------
|
|
47
|
+
// Serialization
|
|
48
|
+
// ---------------------------------------------------------------------------
|
|
49
|
+
toJSON() {
|
|
50
|
+
return {
|
|
51
|
+
id: this.id,
|
|
52
|
+
name: this.name,
|
|
53
|
+
stage: this.stage,
|
|
54
|
+
status: this.status,
|
|
55
|
+
ref: this.ref,
|
|
56
|
+
tag: this.tag,
|
|
57
|
+
web_url: this.webUrl,
|
|
58
|
+
created_at: this.createdAt,
|
|
59
|
+
started_at: this.startedAt,
|
|
60
|
+
finished_at: this.finishedAt,
|
|
61
|
+
duration: this.duration,
|
|
62
|
+
queued_duration: this.queuedDuration,
|
|
63
|
+
coverage: this.coverage,
|
|
64
|
+
allow_failure: this.allowFailure,
|
|
65
|
+
failure_reason: this.failureReason,
|
|
66
|
+
pipeline: { id: 0, project_id: 0, ref: '', sha: '', status: '' },
|
|
67
|
+
user: { id: 0, username: '', name: '', email: '', avatar_url: '', web_url: '', state: '' },
|
|
68
|
+
runner: { id: 0, description: '', active: false, is_shared: false },
|
|
69
|
+
artifacts: [],
|
|
70
|
+
artifacts_expire_at: '',
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0bGFiLmNsYXNzZXMuam9iLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvZ2l0bGFiLmNsYXNzZXMuam9iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxTQUFTO0lBa0JwQixnQkFBZ0I7SUFDaEIsWUFDVSxNQUFvQixFQUNwQixTQUEwQixFQUNsQyxHQUFlO1FBRlAsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQUNwQixjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUdsQyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQztRQUMvQyxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCw4RUFBOEU7SUFDOUUsTUFBTTtJQUNOLDhFQUE4RTtJQUU5RSxLQUFLLENBQUMsTUFBTTtRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsOEVBQThFO0lBQzlFLFVBQVU7SUFDViw4RUFBOEU7SUFFOUUsS0FBSyxDQUFDLEtBQUs7UUFDVCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTTtRQUNWLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RSxPQUFPLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLE9BQU8sSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNULE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELDhFQUE4RTtJQUM5RSxnQkFBZ0I7SUFDaEIsOEVBQThFO0lBRTlFLE1BQU07UUFDSixPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDcEIsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQzFCLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUztZQUMxQixXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDNUIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGVBQWUsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNwQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ2hDLGNBQWMsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNsQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7WUFDaEUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUMxRixNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO1lBQ25FLFNBQVMsRUFBRSxFQUFFO1lBQ2IsbUJBQW1CLEVBQUUsRUFBRTtTQUN4QixDQUFDO0lBQ0osQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { GitLabClient } from './gitlab.classes.gitlabclient.js';
|
|
2
|
+
import type { IGitLabPipeline, IJobListOptions } from './gitlab.interfaces.js';
|
|
3
|
+
import { GitLabJob } from './gitlab.classes.job.js';
|
|
4
|
+
import { GitLabPipelineVariable } from './gitlab.classes.variable.js';
|
|
5
|
+
import { GitLabTestReport } from './gitlab.classes.testreport.js';
|
|
6
|
+
export declare class GitLabPipeline {
|
|
7
|
+
private client;
|
|
8
|
+
readonly id: number;
|
|
9
|
+
readonly iid: number;
|
|
10
|
+
readonly projectId: number;
|
|
11
|
+
readonly status: string;
|
|
12
|
+
readonly ref: string;
|
|
13
|
+
readonly sha: string;
|
|
14
|
+
readonly webUrl: string;
|
|
15
|
+
readonly duration: number;
|
|
16
|
+
readonly queuedDuration: number;
|
|
17
|
+
readonly createdAt: string;
|
|
18
|
+
readonly updatedAt: string;
|
|
19
|
+
readonly startedAt: string;
|
|
20
|
+
readonly finishedAt: string;
|
|
21
|
+
readonly source: string;
|
|
22
|
+
readonly tag: boolean;
|
|
23
|
+
/** @internal */
|
|
24
|
+
constructor(client: GitLabClient, raw: IGitLabPipeline);
|
|
25
|
+
getJobs(opts?: IJobListOptions): Promise<GitLabJob[]>;
|
|
26
|
+
getVariables(): Promise<GitLabPipelineVariable[]>;
|
|
27
|
+
getTestReport(): Promise<GitLabTestReport>;
|
|
28
|
+
retry(): Promise<GitLabPipeline>;
|
|
29
|
+
cancel(): Promise<GitLabPipeline>;
|
|
30
|
+
delete(): Promise<void>;
|
|
31
|
+
toJSON(): IGitLabPipeline;
|
|
32
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { GitLabJob } from './gitlab.classes.job.js';
|
|
2
|
+
import { GitLabPipelineVariable } from './gitlab.classes.variable.js';
|
|
3
|
+
import { GitLabTestReport } from './gitlab.classes.testreport.js';
|
|
4
|
+
import { autoPaginate } from './gitlab.helpers.js';
|
|
5
|
+
export class GitLabPipeline {
|
|
6
|
+
/** @internal */
|
|
7
|
+
constructor(client, raw) {
|
|
8
|
+
this.client = client;
|
|
9
|
+
this.id = raw.id;
|
|
10
|
+
this.iid = raw.iid || 0;
|
|
11
|
+
this.projectId = raw.project_id || 0;
|
|
12
|
+
this.status = raw.status || '';
|
|
13
|
+
this.ref = raw.ref || '';
|
|
14
|
+
this.sha = raw.sha || '';
|
|
15
|
+
this.webUrl = raw.web_url || '';
|
|
16
|
+
this.duration = raw.duration || 0;
|
|
17
|
+
this.queuedDuration = raw.queued_duration || 0;
|
|
18
|
+
this.createdAt = raw.created_at || '';
|
|
19
|
+
this.updatedAt = raw.updated_at || '';
|
|
20
|
+
this.startedAt = raw.started_at || '';
|
|
21
|
+
this.finishedAt = raw.finished_at || '';
|
|
22
|
+
this.source = raw.source || '';
|
|
23
|
+
this.tag = raw.tag ?? false;
|
|
24
|
+
}
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
// Jobs
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
async getJobs(opts) {
|
|
29
|
+
return autoPaginate((page, perPage) => this.client.requestGetPipelineJobs(this.projectId, this.id, { ...opts, page, perPage }), opts).then(jobs => jobs.map(j => new GitLabJob(this.client, this.projectId, j)));
|
|
30
|
+
}
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
// Variables & Test Report
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
async getVariables() {
|
|
35
|
+
const vars = await this.client.requestGetPipelineVariables(this.projectId, this.id);
|
|
36
|
+
return vars.map(v => new GitLabPipelineVariable(v));
|
|
37
|
+
}
|
|
38
|
+
async getTestReport() {
|
|
39
|
+
const raw = await this.client.requestGetPipelineTestReport(this.projectId, this.id);
|
|
40
|
+
return new GitLabTestReport(raw);
|
|
41
|
+
}
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
// Actions
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
async retry() {
|
|
46
|
+
const raw = await this.client.requestRetryPipeline(this.projectId, this.id);
|
|
47
|
+
return new GitLabPipeline(this.client, raw);
|
|
48
|
+
}
|
|
49
|
+
async cancel() {
|
|
50
|
+
const raw = await this.client.requestCancelPipeline(this.projectId, this.id);
|
|
51
|
+
return new GitLabPipeline(this.client, raw);
|
|
52
|
+
}
|
|
53
|
+
async delete() {
|
|
54
|
+
await this.client.requestDeletePipeline(this.projectId, this.id);
|
|
55
|
+
}
|
|
56
|
+
// ---------------------------------------------------------------------------
|
|
57
|
+
// Serialization
|
|
58
|
+
// ---------------------------------------------------------------------------
|
|
59
|
+
toJSON() {
|
|
60
|
+
return {
|
|
61
|
+
id: this.id,
|
|
62
|
+
iid: this.iid,
|
|
63
|
+
project_id: this.projectId,
|
|
64
|
+
status: this.status,
|
|
65
|
+
ref: this.ref,
|
|
66
|
+
sha: this.sha,
|
|
67
|
+
before_sha: '',
|
|
68
|
+
tag: this.tag,
|
|
69
|
+
web_url: this.webUrl,
|
|
70
|
+
duration: this.duration,
|
|
71
|
+
queued_duration: this.queuedDuration,
|
|
72
|
+
created_at: this.createdAt,
|
|
73
|
+
updated_at: this.updatedAt,
|
|
74
|
+
started_at: this.startedAt,
|
|
75
|
+
finished_at: this.finishedAt,
|
|
76
|
+
source: this.source,
|
|
77
|
+
coverage: '',
|
|
78
|
+
user: { id: 0, username: '', name: '', email: '', avatar_url: '', web_url: '', state: '' },
|
|
79
|
+
detailed_status: {
|
|
80
|
+
icon: '', text: '', label: '', group: '', tooltip: '',
|
|
81
|
+
has_details: false, details_path: '', favicon: '',
|
|
82
|
+
},
|
|
83
|
+
yaml_errors: '',
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0bGFiLmNsYXNzZXMucGlwZWxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9naXRsYWIuY2xhc3Nlcy5waXBlbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5ELE1BQU0sT0FBTyxjQUFjO0lBa0J6QixnQkFBZ0I7SUFDaEIsWUFDVSxNQUFvQixFQUM1QixHQUFvQjtRQURaLFdBQU0sR0FBTixNQUFNLENBQWM7UUFHNUIsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQztRQUMvQyxJ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
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { GitLabClient } from './gitlab.classes.gitlabclient.js';
|
|
2
|
+
import type { IGitLabProject, IListOptions, IVariableOptions, IPipelineListOptions } from './gitlab.interfaces.js';
|
|
3
|
+
import { GitLabBranch } from './gitlab.classes.branch.js';
|
|
4
|
+
import { GitLabTag } from './gitlab.classes.tag.js';
|
|
5
|
+
import { GitLabProtectedBranch } from './gitlab.classes.protectedbranch.js';
|
|
6
|
+
import { GitLabVariable } from './gitlab.classes.variable.js';
|
|
7
|
+
import { GitLabPipeline } from './gitlab.classes.pipeline.js';
|
|
8
|
+
export declare class GitLabProject {
|
|
9
|
+
private client;
|
|
10
|
+
readonly id: number;
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly fullPath: string;
|
|
13
|
+
readonly description: string;
|
|
14
|
+
readonly defaultBranch: string;
|
|
15
|
+
readonly webUrl: string;
|
|
16
|
+
readonly visibility: string;
|
|
17
|
+
readonly topics: string[];
|
|
18
|
+
readonly lastActivityAt: string;
|
|
19
|
+
/** @internal */
|
|
20
|
+
constructor(client: GitLabClient, raw: IGitLabProject);
|
|
21
|
+
getBranches(opts?: IListOptions): Promise<GitLabBranch[]>;
|
|
22
|
+
getTags(opts?: IListOptions): Promise<GitLabTag[]>;
|
|
23
|
+
getProtectedBranches(): Promise<GitLabProtectedBranch[]>;
|
|
24
|
+
unprotectBranch(branchName: string): Promise<void>;
|
|
25
|
+
getVariables(): Promise<GitLabVariable[]>;
|
|
26
|
+
createVariable(key: string, value: string, opts?: IVariableOptions): Promise<GitLabVariable>;
|
|
27
|
+
updateVariable(key: string, value: string, opts?: IVariableOptions): Promise<GitLabVariable>;
|
|
28
|
+
deleteVariable(key: string): Promise<void>;
|
|
29
|
+
getPipelines(opts?: IPipelineListOptions): Promise<GitLabPipeline[]>;
|
|
30
|
+
triggerPipeline(ref: string, variables?: {
|
|
31
|
+
key: string;
|
|
32
|
+
value: string;
|
|
33
|
+
variable_type?: string;
|
|
34
|
+
}[]): Promise<GitLabPipeline>;
|
|
35
|
+
/**
|
|
36
|
+
* Update project properties.
|
|
37
|
+
*/
|
|
38
|
+
update(data: {
|
|
39
|
+
name?: string;
|
|
40
|
+
path?: string;
|
|
41
|
+
description?: string;
|
|
42
|
+
defaultBranch?: string;
|
|
43
|
+
visibility?: string;
|
|
44
|
+
topics?: string[];
|
|
45
|
+
}): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Upload an avatar image for this project (multipart FormData).
|
|
48
|
+
*/
|
|
49
|
+
setAvatar(imageData: Uint8Array, filename: string): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Remove the project's avatar.
|
|
52
|
+
*/
|
|
53
|
+
deleteAvatar(): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Transfer this project to a different namespace.
|
|
56
|
+
*/
|
|
57
|
+
transfer(namespaceId: number): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Delete this project.
|
|
60
|
+
*/
|
|
61
|
+
delete(): Promise<void>;
|
|
62
|
+
toJSON(): IGitLabProject;
|
|
63
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { GitLabBranch } from './gitlab.classes.branch.js';
|
|
2
|
+
import { GitLabTag } from './gitlab.classes.tag.js';
|
|
3
|
+
import { GitLabProtectedBranch } from './gitlab.classes.protectedbranch.js';
|
|
4
|
+
import { GitLabVariable } from './gitlab.classes.variable.js';
|
|
5
|
+
import { GitLabPipeline } from './gitlab.classes.pipeline.js';
|
|
6
|
+
import { autoPaginate } from './gitlab.helpers.js';
|
|
7
|
+
export class GitLabProject {
|
|
8
|
+
/** @internal */
|
|
9
|
+
constructor(client, raw) {
|
|
10
|
+
this.client = client;
|
|
11
|
+
this.id = raw.id;
|
|
12
|
+
this.name = raw.name || '';
|
|
13
|
+
this.fullPath = raw.path_with_namespace || '';
|
|
14
|
+
this.description = raw.description || '';
|
|
15
|
+
this.defaultBranch = raw.default_branch || 'main';
|
|
16
|
+
this.webUrl = raw.web_url || '';
|
|
17
|
+
this.visibility = raw.visibility || 'private';
|
|
18
|
+
this.topics = raw.topics || [];
|
|
19
|
+
this.lastActivityAt = raw.last_activity_at || '';
|
|
20
|
+
}
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
// Branches & Tags
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
async getBranches(opts) {
|
|
25
|
+
return autoPaginate((page, perPage) => this.client.requestGetRepoBranches(this.id, { ...opts, page, perPage }), opts).then(branches => branches.map(b => new GitLabBranch(b)));
|
|
26
|
+
}
|
|
27
|
+
async getTags(opts) {
|
|
28
|
+
return autoPaginate((page, perPage) => this.client.requestGetRepoTags(this.id, { ...opts, page, perPage }), opts).then(tags => tags.map(t => new GitLabTag(t)));
|
|
29
|
+
}
|
|
30
|
+
async getProtectedBranches() {
|
|
31
|
+
const branches = await this.client.requestGetProtectedBranches(this.id);
|
|
32
|
+
return branches.map(b => new GitLabProtectedBranch(b));
|
|
33
|
+
}
|
|
34
|
+
async unprotectBranch(branchName) {
|
|
35
|
+
await this.client.requestUnprotectBranch(this.id, branchName);
|
|
36
|
+
}
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
// Variables (CI/CD)
|
|
39
|
+
// ---------------------------------------------------------------------------
|
|
40
|
+
async getVariables() {
|
|
41
|
+
const vars = await this.client.requestGetProjectVariables(this.id);
|
|
42
|
+
return vars.map(v => new GitLabVariable(v));
|
|
43
|
+
}
|
|
44
|
+
async createVariable(key, value, opts) {
|
|
45
|
+
const raw = await this.client.requestCreateProjectVariable(this.id, key, value, opts);
|
|
46
|
+
return new GitLabVariable(raw);
|
|
47
|
+
}
|
|
48
|
+
async updateVariable(key, value, opts) {
|
|
49
|
+
const raw = await this.client.requestUpdateProjectVariable(this.id, key, value, opts);
|
|
50
|
+
return new GitLabVariable(raw);
|
|
51
|
+
}
|
|
52
|
+
async deleteVariable(key) {
|
|
53
|
+
await this.client.requestDeleteProjectVariable(this.id, key);
|
|
54
|
+
}
|
|
55
|
+
// ---------------------------------------------------------------------------
|
|
56
|
+
// Pipelines
|
|
57
|
+
// ---------------------------------------------------------------------------
|
|
58
|
+
async getPipelines(opts) {
|
|
59
|
+
return autoPaginate((page, perPage) => this.client.requestGetPipelines(this.id, { ...opts, page, perPage }), opts).then(pipelines => pipelines.map(p => new GitLabPipeline(this.client, p)));
|
|
60
|
+
}
|
|
61
|
+
async triggerPipeline(ref, variables) {
|
|
62
|
+
const raw = await this.client.requestTriggerPipeline(this.id, ref, variables);
|
|
63
|
+
return new GitLabPipeline(this.client, raw);
|
|
64
|
+
}
|
|
65
|
+
// ---------------------------------------------------------------------------
|
|
66
|
+
// Mutation
|
|
67
|
+
// ---------------------------------------------------------------------------
|
|
68
|
+
/**
|
|
69
|
+
* Update project properties.
|
|
70
|
+
*/
|
|
71
|
+
async update(data) {
|
|
72
|
+
await this.client.requestUpdateProject(this.id, {
|
|
73
|
+
name: data.name,
|
|
74
|
+
path: data.path,
|
|
75
|
+
description: data.description,
|
|
76
|
+
default_branch: data.defaultBranch,
|
|
77
|
+
visibility: data.visibility,
|
|
78
|
+
topics: data.topics,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Upload an avatar image for this project (multipart FormData).
|
|
83
|
+
*/
|
|
84
|
+
async setAvatar(imageData, filename) {
|
|
85
|
+
await this.client.requestSetProjectAvatar(this.id, imageData, filename);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Remove the project's avatar.
|
|
89
|
+
*/
|
|
90
|
+
async deleteAvatar() {
|
|
91
|
+
await this.client.requestUpdateProject(this.id, { avatar: '' });
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Transfer this project to a different namespace.
|
|
95
|
+
*/
|
|
96
|
+
async transfer(namespaceId) {
|
|
97
|
+
await this.client.requestTransferProject(this.id, namespaceId);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Delete this project.
|
|
101
|
+
*/
|
|
102
|
+
async delete() {
|
|
103
|
+
await this.client.requestDeleteProject(this.id);
|
|
104
|
+
}
|
|
105
|
+
// ---------------------------------------------------------------------------
|
|
106
|
+
// Serialization
|
|
107
|
+
// ---------------------------------------------------------------------------
|
|
108
|
+
toJSON() {
|
|
109
|
+
return {
|
|
110
|
+
id: this.id,
|
|
111
|
+
name: this.name,
|
|
112
|
+
path_with_namespace: this.fullPath,
|
|
113
|
+
description: this.description,
|
|
114
|
+
default_branch: this.defaultBranch,
|
|
115
|
+
web_url: this.webUrl,
|
|
116
|
+
visibility: this.visibility,
|
|
117
|
+
topics: this.topics,
|
|
118
|
+
last_activity_at: this.lastActivityAt,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0bGFiLmNsYXNzZXMucHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2dpdGxhYi5jbGFzc2VzLnByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVuRCxNQUFNLE9BQU8sYUFBYTtJQVl4QixnQkFBZ0I7SUFDaEIsWUFDVSxNQUFvQixFQUM1QixHQUFtQjtRQURYLFdBQU0sR0FBTixNQUFNLENBQWM7UUFHNUIsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQztRQUNsRCxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLFVBQVUsSUFBSSxTQUFTLENBQUM7UUFDOUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMs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
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IGitLabProtectedBranch } from './gitlab.interfaces.js';
|
|
2
|
+
export declare class GitLabProtectedBranch {
|
|
3
|
+
readonly id: number;
|
|
4
|
+
readonly name: string;
|
|
5
|
+
readonly allowForcePush: boolean;
|
|
6
|
+
constructor(raw: IGitLabProtectedBranch);
|
|
7
|
+
toJSON(): IGitLabProtectedBranch;
|
|
8
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export class GitLabProtectedBranch {
|
|
2
|
+
constructor(raw) {
|
|
3
|
+
this.id = raw.id;
|
|
4
|
+
this.name = raw.name || '';
|
|
5
|
+
this.allowForcePush = raw.allow_force_push ?? false;
|
|
6
|
+
}
|
|
7
|
+
toJSON() {
|
|
8
|
+
return {
|
|
9
|
+
id: this.id,
|
|
10
|
+
name: this.name,
|
|
11
|
+
allow_force_push: this.allowForcePush,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0bGFiLmNsYXNzZXMucHJvdGVjdGVkYnJhbmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvZ2l0bGFiLmNsYXNzZXMucHJvdGVjdGVkYnJhbmNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxxQkFBcUI7SUFLaEMsWUFBWSxHQUEyQjtRQUNyQyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxLQUFLLENBQUM7SUFDdEQsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDdEMsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class GitLabTag {
|
|
2
|
+
constructor(raw) {
|
|
3
|
+
this.name = raw.name || '';
|
|
4
|
+
this.commitSha = raw.commit?.id || '';
|
|
5
|
+
}
|
|
6
|
+
toJSON() {
|
|
7
|
+
return {
|
|
8
|
+
name: this.name,
|
|
9
|
+
commit: { id: this.commitSha },
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0bGFiLmNsYXNzZXMudGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvZ2l0bGFiLmNsYXNzZXMudGFnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxTQUFTO0lBSXBCLFlBQVksR0FBZTtRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO1NBQy9CLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
|