@venturialstd/gitlab 0.0.22 → 0.0.24
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/client/gitlab.client.d.ts +2 -2
- package/dist/client/gitlab.client.d.ts.map +1 -1
- package/dist/client/gitlab.client.js +8 -5
- package/dist/client/gitlab.client.js.map +1 -1
- package/dist/interfaces/gitlab-credentials.interface.d.ts +15 -0
- package/dist/interfaces/gitlab-credentials.interface.d.ts.map +1 -0
- package/dist/interfaces/gitlab-credentials.interface.js +3 -0
- package/dist/interfaces/gitlab-credentials.interface.js.map +1 -0
- package/dist/services/gitlab-project.service.d.ts +7 -6
- package/dist/services/gitlab-project.service.d.ts.map +1 -1
- package/dist/services/gitlab-project.service.js +55 -12
- package/dist/services/gitlab-project.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { HttpService } from '@nestjs/axios';
|
|
2
2
|
import { AppLogger, SettingsService } from '@venturialstd/core';
|
|
3
|
-
import {
|
|
3
|
+
import { GitlabRequestParams } from '../interfaces/gitlab-credentials.interface';
|
|
4
4
|
export declare class GitlabClient {
|
|
5
5
|
private readonly httpService;
|
|
6
6
|
private readonly logger;
|
|
7
7
|
private readonly settings;
|
|
8
8
|
constructor(httpService: HttpService, logger: AppLogger, settings: SettingsService);
|
|
9
|
-
request(
|
|
9
|
+
request(params: GitlabRequestParams): Promise<any>;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=gitlab.client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab.client.d.ts","sourceRoot":"","sources":["../../src/client/gitlab.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAIhE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"gitlab.client.d.ts","sourceRoot":"","sources":["../../src/client/gitlab.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAIhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAEjF,qBACa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,eAAe;IAGtC,OAAO,CAAC,MAAM,EAAE,mBAAmB;CA+B1C"}
|
|
@@ -24,11 +24,14 @@ let GitlabClient = class GitlabClient {
|
|
|
24
24
|
this.logger = logger;
|
|
25
25
|
this.settings = settings;
|
|
26
26
|
}
|
|
27
|
-
async request(
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
async request(params) {
|
|
28
|
+
const { options, method, url, data } = params;
|
|
29
|
+
const host = options?.credentials?.host || (await this.settings.get(gitlab_settings_constants_1.GITLAB_SETTING_KEYS.GENERAL_HOST));
|
|
30
|
+
const token = options?.credentials?.token ||
|
|
31
|
+
(await this.settings.get(gitlab_settings_constants_1.GITLAB_SETTING_KEYS.GENERAL_API_TOKEN));
|
|
32
|
+
if (!host || !token) {
|
|
33
|
+
throw new Error('GitLab host or token not provided');
|
|
34
|
+
}
|
|
32
35
|
const fullUrl = `${host}${url}`;
|
|
33
36
|
try {
|
|
34
37
|
const response = await (0, rxjs_1.firstValueFrom)(this.httpService.request({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab.client.js","sourceRoot":"","sources":["../../src/client/gitlab.client.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAA4C;AAC5C,2CAA4C;AAC5C,6CAAgE;AAChE,+BAAsC;AAEtC,sFAA6E;AAItE,IAAM,YAAY,GAAlB,MAAM,YAAY;IAEJ;IACA;IACA;IAHnB,YACmB,WAAwB,EACxB,MAAiB,EACjB,QAAyB;QAFzB,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAW;QACjB,aAAQ,GAAR,QAAQ,CAAiB;IACzC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"gitlab.client.js","sourceRoot":"","sources":["../../src/client/gitlab.client.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAA4C;AAC5C,2CAA4C;AAC5C,6CAAgE;AAChE,+BAAsC;AAEtC,sFAA6E;AAItE,IAAM,YAAY,GAAlB,MAAM,YAAY;IAEJ;IACA;IACA;IAHnB,YACmB,WAAwB,EACxB,MAAiB,EACjB,QAAyB;QAFzB,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAW;QACjB,aAAQ,GAAR,QAAQ,CAAiB;IACzC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,MAA2B;QACvC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAC9C,MAAM,IAAI,GACR,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,+CAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5F,MAAM,KAAK,GACT,OAAO,EAAE,WAAW,EAAE,KAAK;YAC3B,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,+CAAmB,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAEnE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC;QAEhC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAc,EACnC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;gBACvB,MAAM;gBACN,GAAG,EAAE,OAAO;gBACZ,IAAI;gBACJ,OAAO,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;aACpC,CAAC,CACH,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,gBAAgB,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;YACtD,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,MAAM,IAAI,OAAO,MAAM,GAAY,EAAE,CAAC,CAAC;YAC9E,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;CACF,CAAA;AAtCY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAGqB,mBAAW;QAChB,gBAAS;QACP,sBAAe;GAJjC,YAAY,CAsCxB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { GITLAB_CLIENT_METHOD } from '../constants/gitlab-client.constant';
|
|
2
|
+
export interface GitlabCredentials {
|
|
3
|
+
host?: string;
|
|
4
|
+
token: string;
|
|
5
|
+
}
|
|
6
|
+
export interface GitlabOptions {
|
|
7
|
+
credentials: GitlabCredentials;
|
|
8
|
+
}
|
|
9
|
+
export interface GitlabRequestParams {
|
|
10
|
+
options?: GitlabOptions;
|
|
11
|
+
method: GITLAB_CLIENT_METHOD;
|
|
12
|
+
url: string;
|
|
13
|
+
data?: unknown;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=gitlab-credentials.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitlab-credentials.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/gitlab-credentials.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitlab-credentials.interface.js","sourceRoot":"","sources":["../../src/interfaces/gitlab-credentials.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { GitlabClient } from '../client/gitlab.client';
|
|
2
|
+
import { GitlabOptions } from '../interfaces/gitlab-credentials.interface';
|
|
2
3
|
import { GitlabFileDiff, GitlabMergeRequest, GitlabMergeRequestChangesResponse, GitlabMergeRequestPayloadDiscussion } from '../interfaces/gitlab-project.interface';
|
|
3
4
|
export declare class GitlabProjectService {
|
|
4
5
|
private readonly client;
|
|
5
6
|
constructor(client: GitlabClient);
|
|
6
|
-
getMergeRequests(projectId: number): Promise<GitlabMergeRequest[]>;
|
|
7
|
-
getMergeRequestChanges(projectId: number, mrIid: number): Promise<GitlabMergeRequestChangesResponse>;
|
|
8
|
-
getMergeRequestDiffFilePlain(projectId: number, mrId: number): Promise<string>;
|
|
9
|
-
getMergeRequestDiff(projectId: number, mrId: number): Promise<GitlabFileDiff[]>;
|
|
10
|
-
createMergeRequestDiscussion(projectId: number, mrId: number, body: GitlabMergeRequestPayloadDiscussion): Promise<string>;
|
|
11
|
-
getFile(projectId: number, filePath: string, ref?: string): Promise<string>;
|
|
7
|
+
getMergeRequests(options: GitlabOptions | null, projectId: number): Promise<GitlabMergeRequest[]>;
|
|
8
|
+
getMergeRequestChanges(options: GitlabOptions | null, projectId: number, mrIid: number): Promise<GitlabMergeRequestChangesResponse>;
|
|
9
|
+
getMergeRequestDiffFilePlain(options: GitlabOptions | null, projectId: number, mrId: number): Promise<string>;
|
|
10
|
+
getMergeRequestDiff(options: GitlabOptions | null, projectId: number, mrId: number): Promise<GitlabFileDiff[]>;
|
|
11
|
+
createMergeRequestDiscussion(options: GitlabOptions | null, projectId: number, mrId: number, body: GitlabMergeRequestPayloadDiscussion): Promise<string>;
|
|
12
|
+
getFile(options: GitlabOptions | null, projectId: number, filePath: string, ref?: string): Promise<string>;
|
|
12
13
|
}
|
|
13
14
|
//# sourceMappingURL=gitlab-project.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab-project.service.d.ts","sourceRoot":"","sources":["../../src/services/gitlab-project.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iCAAiC,EACjC,mCAAmC,EACpC,MAAM,wCAAwC,CAAC;AAEhD,qBACa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAEjD,gBAAgB,
|
|
1
|
+
{"version":3,"file":"gitlab-project.service.d.ts","sourceRoot":"","sources":["../../src/services/gitlab-project.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iCAAiC,EACjC,mCAAmC,EACpC,MAAM,wCAAwC,CAAC;AAEhD,qBACa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAEjD,gBAAgB,CACd,OAAO,EAAE,aAAa,GAAG,IAAI,EAC7B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAYhC,sBAAsB,CACpB,OAAO,EAAE,aAAa,GAAG,IAAI,EAC7B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,iCAAiC,CAAC;IAW7C,4BAA4B,CAC1B,OAAO,EAAE,aAAa,GAAG,IAAI,EAC7B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC;IAWlB,mBAAmB,CACjB,OAAO,EAAE,aAAa,GAAG,IAAI,EAC7B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,EAAE,CAAC;IAW5B,4BAA4B,CAC1B,OAAO,EAAE,aAAa,GAAG,IAAI,EAC7B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,mCAAmC,GACxC,OAAO,CAAC,MAAM,CAAC;IAoBlB,OAAO,CACL,OAAO,EAAE,aAAa,GAAG,IAAI,EAC7B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,GAAG,SAAS,GACX,OAAO,CAAC,MAAM,CAAC;CAWnB"}
|
|
@@ -18,30 +18,73 @@ let GitlabProjectService = class GitlabProjectService {
|
|
|
18
18
|
constructor(client) {
|
|
19
19
|
this.client = client;
|
|
20
20
|
}
|
|
21
|
-
getMergeRequests(projectId) {
|
|
22
|
-
|
|
21
|
+
getMergeRequests(options, projectId) {
|
|
22
|
+
if (!options) {
|
|
23
|
+
throw new Error('GitlabOptions are required to create a discussion');
|
|
24
|
+
}
|
|
25
|
+
return this.client.request({
|
|
26
|
+
options,
|
|
27
|
+
method: gitlab_client_constant_1.GITLAB_CLIENT_METHOD.GET,
|
|
28
|
+
url: `/projects/${projectId}/merge_requests?state=opened`,
|
|
29
|
+
});
|
|
23
30
|
}
|
|
24
|
-
getMergeRequestChanges(projectId, mrIid) {
|
|
25
|
-
|
|
31
|
+
getMergeRequestChanges(options, projectId, mrIid) {
|
|
32
|
+
if (!options) {
|
|
33
|
+
throw new Error('GitlabOptions are required to create a discussion');
|
|
34
|
+
}
|
|
35
|
+
return this.client.request({
|
|
36
|
+
options,
|
|
37
|
+
method: gitlab_client_constant_1.GITLAB_CLIENT_METHOD.GET, // ⚠ Aquí debe ir "method:"
|
|
38
|
+
url: `/projects/${projectId}/merge_requests/${mrIid}/changes`,
|
|
39
|
+
});
|
|
26
40
|
}
|
|
27
|
-
getMergeRequestDiffFilePlain(projectId, mrId) {
|
|
28
|
-
|
|
41
|
+
getMergeRequestDiffFilePlain(options, projectId, mrId) {
|
|
42
|
+
if (!options) {
|
|
43
|
+
throw new Error('GitlabOptions are required to create a discussion');
|
|
44
|
+
}
|
|
45
|
+
return this.client.request({
|
|
46
|
+
options,
|
|
47
|
+
method: gitlab_client_constant_1.GITLAB_CLIENT_METHOD.GET,
|
|
48
|
+
url: `/projects/${projectId}/merge_requests/${mrId}/raw_diffs`,
|
|
49
|
+
});
|
|
29
50
|
}
|
|
30
|
-
getMergeRequestDiff(projectId, mrId) {
|
|
31
|
-
|
|
51
|
+
getMergeRequestDiff(options, projectId, mrId) {
|
|
52
|
+
if (!options) {
|
|
53
|
+
throw new Error('GitlabOptions are required to create a discussion');
|
|
54
|
+
}
|
|
55
|
+
return this.client.request({
|
|
56
|
+
options,
|
|
57
|
+
method: gitlab_client_constant_1.GITLAB_CLIENT_METHOD.GET,
|
|
58
|
+
url: `/projects/${projectId}/merge_requests/${mrId}/diffs`,
|
|
59
|
+
});
|
|
32
60
|
}
|
|
33
|
-
createMergeRequestDiscussion(projectId, mrId, body) {
|
|
61
|
+
createMergeRequestDiscussion(options, projectId, mrId, body) {
|
|
34
62
|
if (body.position) {
|
|
35
63
|
const hasLine = typeof body.position.new_line === 'number' || typeof body.position.old_line === 'number';
|
|
36
64
|
if (!hasLine) {
|
|
37
65
|
throw new Error('Position must include new_line or old_line');
|
|
38
66
|
}
|
|
39
67
|
}
|
|
40
|
-
|
|
68
|
+
if (!options) {
|
|
69
|
+
throw new Error('GitlabOptions are required to create a discussion');
|
|
70
|
+
}
|
|
71
|
+
return this.client.request({
|
|
72
|
+
options,
|
|
73
|
+
method: gitlab_client_constant_1.GITLAB_CLIENT_METHOD.POST,
|
|
74
|
+
url: `/projects/${projectId}/merge_requests/${mrId}/discussions`,
|
|
75
|
+
data: body,
|
|
76
|
+
});
|
|
41
77
|
}
|
|
42
|
-
getFile(projectId, filePath, ref = 'main') {
|
|
78
|
+
getFile(options, projectId, filePath, ref = 'main') {
|
|
43
79
|
const encoded = encodeURIComponent(filePath);
|
|
44
|
-
|
|
80
|
+
if (!options) {
|
|
81
|
+
throw new Error('GitlabOptions are required to create a discussion');
|
|
82
|
+
}
|
|
83
|
+
return this.client.request({
|
|
84
|
+
options,
|
|
85
|
+
method: gitlab_client_constant_1.GITLAB_CLIENT_METHOD.GET,
|
|
86
|
+
url: `/projects/${projectId}/repository/files/${encoded}/raw?ref=${ref}`,
|
|
87
|
+
});
|
|
45
88
|
}
|
|
46
89
|
};
|
|
47
90
|
exports.GitlabProjectService = GitlabProjectService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab-project.service.js","sourceRoot":"","sources":["../../src/services/gitlab-project.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,2DAAuD;AACvD,gFAA2E;
|
|
1
|
+
{"version":3,"file":"gitlab-project.service.js","sourceRoot":"","sources":["../../src/services/gitlab-project.service.ts"],"names":[],"mappings":"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"}
|