airbyte-faros-destination 0.16.36 → 0.16.38
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/lib/converters/cursor/daily_usage.js +10 -8
- package/lib/converters/cursor/daily_usage.js.map +1 -1
- package/lib/converters/gitlab/common.d.ts +0 -10
- package/lib/converters/gitlab/common.js +0 -62
- package/lib/converters/gitlab/common.js.map +1 -1
- package/lib/converters/gitlab/faros_commits.d.ts +7 -0
- package/lib/converters/gitlab/faros_commits.js +43 -0
- package/lib/converters/gitlab/faros_commits.js.map +1 -0
- package/lib/converters/gitlab/faros_projects.js +32 -0
- package/lib/converters/gitlab/faros_projects.js.map +1 -1
- package/lib/converters/gitlab/faros_tags.d.ts +8 -0
- package/lib/converters/gitlab/faros_tags.js +42 -0
- package/lib/converters/gitlab/faros_tags.js.map +1 -0
- package/lib/converters/gitlab/faros_users.d.ts +0 -1
- package/lib/converters/gitlab/faros_users.js +41 -5
- package/lib/converters/gitlab/faros_users.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -35,14 +35,16 @@ class DailyUsage extends common_2.CursorConverter {
|
|
|
35
35
|
res.push({
|
|
36
36
|
model: 'vcs_UserToolUsage',
|
|
37
37
|
record: {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
38
|
+
userTool: {
|
|
39
|
+
user: { uid: dailyUsageItem.email, source: this.streamName.source },
|
|
40
|
+
organization: {
|
|
41
|
+
uid: vcs_1.VCSToolDetail.Cursor,
|
|
42
|
+
source: this.streamName.source,
|
|
43
|
+
},
|
|
44
|
+
tool: {
|
|
45
|
+
category: vcs_1.VCSToolCategory.CodingAssistant,
|
|
46
|
+
detail: vcs_1.VCSToolDetail.Cursor,
|
|
47
|
+
},
|
|
46
48
|
},
|
|
47
49
|
usedAt: day.toISOString(),
|
|
48
50
|
recordedAt: day.toISOString(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily_usage.js","sourceRoot":"","sources":["../../../src/converters/cursor/daily_usage.ts"],"names":[],"mappings":";;;AACA,wDAAmD;AAEnD,qDAAsC;AACtC,mCAA6B;AAE7B,uCAA8E;AAE9E,qCAAyC;AAEzC,MAAM,oCAAoC,GAEtC;IACF,kBAAkB,EAAE,qBAAe,CAAC,aAAa;IACjD,YAAY,EAAE,qBAAe,CAAC,mBAAmB;IACjD,YAAY,EAAE,qBAAe,CAAC,oBAAoB;CACnD,CAAC;AAEF,MAAM,sBAAsB,GAA6B,EAAE,CAAC;AAE5D,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEnC,MAAa,UAAW,SAAQ,wBAAe;IAA/C;;QACW,sBAAiB,GAAoC;YAC5D,qBAAqB;YACrB,mBAAmB;SACpB,CAAC;
|
|
1
|
+
{"version":3,"file":"daily_usage.js","sourceRoot":"","sources":["../../../src/converters/cursor/daily_usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { AirbyteRecord } from 'faros-airbyte-cdk';
|
|
2
|
-
import { User } from 'faros-airbyte-common/gitlab';
|
|
3
2
|
import { Converter, DestinationRecord } from '../converter';
|
|
4
|
-
export type PartialUser = Partial<User & {
|
|
5
|
-
group: string;
|
|
6
|
-
}>;
|
|
7
3
|
export interface CategoryRef {
|
|
8
4
|
readonly category: string;
|
|
9
5
|
readonly detail: string;
|
|
@@ -37,16 +33,10 @@ export declare class GitlabCommon {
|
|
|
37
33
|
/** GitLab converter base */
|
|
38
34
|
export declare abstract class GitlabConverter extends Converter {
|
|
39
35
|
source: string;
|
|
40
|
-
protected collectedUsers: Map<string, Partial<User & {
|
|
41
|
-
group: string;
|
|
42
|
-
}>[]>;
|
|
43
36
|
/** Almost every GitLab record have id property. Function will be
|
|
44
37
|
* override if record doesn't have id property.
|
|
45
38
|
*/
|
|
46
39
|
id(record: AirbyteRecord): any;
|
|
47
|
-
protected collectUser(user: PartialUser): void;
|
|
48
|
-
protected convertUsers(): DestinationRecord[];
|
|
49
|
-
private getFinalUser;
|
|
50
40
|
}
|
|
51
41
|
export interface ProjectKey {
|
|
52
42
|
uid: string;
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GitlabConverter = exports.GitlabCommon = void 0;
|
|
4
4
|
const faros_js_client_1 = require("faros-js-client");
|
|
5
|
-
const lodash_1 = require("lodash");
|
|
6
5
|
const converter_1 = require("../converter");
|
|
7
6
|
/** Common functions shares across GitLab converters */
|
|
8
7
|
class GitlabCommon {
|
|
@@ -134,7 +133,6 @@ class GitlabConverter extends converter_1.Converter {
|
|
|
134
133
|
constructor() {
|
|
135
134
|
super(...arguments);
|
|
136
135
|
this.source = 'GitLab';
|
|
137
|
-
this.collectedUsers = new Map();
|
|
138
136
|
}
|
|
139
137
|
/** Almost every GitLab record have id property. Function will be
|
|
140
138
|
* override if record doesn't have id property.
|
|
@@ -143,66 +141,6 @@ class GitlabConverter extends converter_1.Converter {
|
|
|
143
141
|
var _a, _b;
|
|
144
142
|
return (_b = (_a = record === null || record === void 0 ? void 0 : record.record) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.id;
|
|
145
143
|
}
|
|
146
|
-
collectUser(user) {
|
|
147
|
-
if (!(user === null || user === void 0 ? void 0 : user.username))
|
|
148
|
-
return;
|
|
149
|
-
if (!this.collectedUsers.has(user.username)) {
|
|
150
|
-
this.collectedUsers.set(user.username, []);
|
|
151
|
-
}
|
|
152
|
-
this.collectedUsers.get(user.username).push({
|
|
153
|
-
...user,
|
|
154
|
-
email: (0, lodash_1.isEmpty)(user.email) ? null : user.email,
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
convertUsers() {
|
|
158
|
-
const res = [];
|
|
159
|
-
for (const [username, users] of this.collectedUsers.entries()) {
|
|
160
|
-
const emails = new Set(users.map((user) => user.email).filter((email) => !!email));
|
|
161
|
-
for (const email of emails) {
|
|
162
|
-
res.push({
|
|
163
|
-
model: 'vcs_UserEmail',
|
|
164
|
-
record: {
|
|
165
|
-
user: { uid: username, source: this.streamName.source },
|
|
166
|
-
email,
|
|
167
|
-
},
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
const groups = new Set(users.map((user) => user.group).filter((group) => !(0, lodash_1.isEmpty)(group)));
|
|
171
|
-
for (const group of groups) {
|
|
172
|
-
res.push({
|
|
173
|
-
model: 'vcs_Membership',
|
|
174
|
-
record: {
|
|
175
|
-
user: { uid: username, source: this.streamName.source },
|
|
176
|
-
organization: { uid: (0, lodash_1.toLower)(group), source: this.streamName.source },
|
|
177
|
-
},
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
const finalUser = this.getFinalUser(users);
|
|
181
|
-
res.push({
|
|
182
|
-
model: 'vcs_User',
|
|
183
|
-
record: (0, lodash_1.omitBy)({
|
|
184
|
-
uid: username,
|
|
185
|
-
source: this.streamName.source,
|
|
186
|
-
name: finalUser.name,
|
|
187
|
-
email: finalUser.email,
|
|
188
|
-
htmlUrl: finalUser.web_url,
|
|
189
|
-
type: { category: 'User', detail: 'user' },
|
|
190
|
-
}, (value) => (0, lodash_1.isNil)(value) || (0, lodash_1.isEmpty)(value)),
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
return res;
|
|
194
|
-
}
|
|
195
|
-
getFinalUser(users) {
|
|
196
|
-
const finalUser = {};
|
|
197
|
-
for (const user of users) {
|
|
198
|
-
for (const key in user) {
|
|
199
|
-
if (!finalUser[key] && user[key]) {
|
|
200
|
-
finalUser[key] = user[key];
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
return finalUser;
|
|
205
|
-
}
|
|
206
144
|
}
|
|
207
145
|
exports.GitlabConverter = GitlabConverter;
|
|
208
146
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/gitlab/common.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/gitlab/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AirbyteRecord } from 'faros-airbyte-cdk';
|
|
2
|
+
import { DestinationModel, DestinationRecord } from '../converter';
|
|
3
|
+
import { GitlabConverter } from './common';
|
|
4
|
+
export declare class FarosCommits extends GitlabConverter {
|
|
5
|
+
readonly destinationModels: ReadonlyArray<DestinationModel>;
|
|
6
|
+
convert(record: AirbyteRecord): Promise<ReadonlyArray<DestinationRecord>>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FarosCommits = void 0;
|
|
4
|
+
const faros_js_client_1 = require("faros-js-client");
|
|
5
|
+
const lodash_1 = require("lodash");
|
|
6
|
+
const common_1 = require("./common");
|
|
7
|
+
class FarosCommits extends common_1.GitlabConverter {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.destinationModels = ['vcs_Commit'];
|
|
11
|
+
}
|
|
12
|
+
async convert(record) {
|
|
13
|
+
const source = this.streamName.source;
|
|
14
|
+
const commit = record.record.data;
|
|
15
|
+
const repository = {
|
|
16
|
+
name: (0, lodash_1.toLower)(commit.project_path),
|
|
17
|
+
uid: (0, lodash_1.toLower)(commit.project_path),
|
|
18
|
+
organization: {
|
|
19
|
+
uid: commit.group_id,
|
|
20
|
+
source,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
const author = commit.author_username
|
|
24
|
+
? { uid: commit.author_username, source }
|
|
25
|
+
: null;
|
|
26
|
+
return [
|
|
27
|
+
{
|
|
28
|
+
model: 'vcs_Commit',
|
|
29
|
+
record: {
|
|
30
|
+
sha: commit.id,
|
|
31
|
+
uid: commit.id,
|
|
32
|
+
message: commit.message,
|
|
33
|
+
author,
|
|
34
|
+
htmlUrl: commit.web_url,
|
|
35
|
+
createdAt: faros_js_client_1.Utils.toDate(commit.created_at),
|
|
36
|
+
repository,
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.FarosCommits = FarosCommits;
|
|
43
|
+
//# sourceMappingURL=faros_commits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"faros_commits.js","sourceRoot":"","sources":["../../../src/converters/gitlab/faros_commits.ts"],"names":[],"mappings":";;;AAEA,qDAAsC;AACtC,mCAA+B;AAG/B,qCAAyC;AAEzC,MAAa,YAAa,SAAQ,wBAAe;IAAjD;;QACW,sBAAiB,GAAoC,CAAC,YAAY,CAAC,CAAC;IAoC/E,CAAC;IAlCC,KAAK,CAAC,OAAO,CACX,MAAqB;QAErB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAc,CAAC;QAE5C,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,IAAA,gBAAO,EAAC,MAAM,CAAC,YAAY,CAAC;YAClC,GAAG,EAAE,IAAA,gBAAO,EAAC,MAAM,CAAC,YAAY,CAAC;YACjC,YAAY,EAAE;gBACZ,GAAG,EAAE,MAAM,CAAC,QAAQ;gBACpB,MAAM;aACP;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe;YACnC,CAAC,CAAC,EAAC,GAAG,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,EAAC;YACvC,CAAC,CAAC,IAAI,CAAC;QAET,OAAO;YACL;gBACE,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE;oBACN,GAAG,EAAE,MAAM,CAAC,EAAE;oBACd,GAAG,EAAE,MAAM,CAAC,EAAE;oBACd,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM;oBACN,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,SAAS,EAAE,uBAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;oBAC1C,UAAU;iBACX;aACF;SACF,CAAC;IACJ,CAAC;CACF;AArCD,oCAqCC"}
|
|
@@ -10,6 +10,9 @@ class FarosProjects extends common_1.GitlabConverter {
|
|
|
10
10
|
super(...arguments);
|
|
11
11
|
this.destinationModels = [
|
|
12
12
|
'vcs_Repository',
|
|
13
|
+
'tms_Project',
|
|
14
|
+
'tms_TaskBoard',
|
|
15
|
+
'tms_TaskBoardProjectRelationship',
|
|
13
16
|
];
|
|
14
17
|
}
|
|
15
18
|
async convert(record, ctx) {
|
|
@@ -38,6 +41,35 @@ class FarosProjects extends common_1.GitlabConverter {
|
|
|
38
41
|
},
|
|
39
42
|
},
|
|
40
43
|
];
|
|
44
|
+
// Create TMS entities for the project
|
|
45
|
+
const projectKey = {
|
|
46
|
+
uid: `${organization.uid}/${projectName}`,
|
|
47
|
+
source: this.streamName.source,
|
|
48
|
+
};
|
|
49
|
+
res.push({
|
|
50
|
+
model: 'tms_Project',
|
|
51
|
+
record: {
|
|
52
|
+
...projectKey,
|
|
53
|
+
name: project.name || projectName,
|
|
54
|
+
description: faros_js_client_1.Utils.cleanAndTruncate(project.description),
|
|
55
|
+
createdAt: faros_js_client_1.Utils.toDate(project.created_at),
|
|
56
|
+
updatedAt: faros_js_client_1.Utils.toDate(project.updated_at),
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
res.push({
|
|
60
|
+
model: 'tms_TaskBoard',
|
|
61
|
+
record: {
|
|
62
|
+
...projectKey,
|
|
63
|
+
name: project.name || projectName,
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
res.push({
|
|
67
|
+
model: 'tms_TaskBoardProjectRelationship',
|
|
68
|
+
record: {
|
|
69
|
+
board: projectKey,
|
|
70
|
+
project: projectKey,
|
|
71
|
+
},
|
|
72
|
+
});
|
|
41
73
|
const isCommunity = ((_b = (_a = ctx === null || ctx === void 0 ? void 0 : ctx.config) === null || _a === void 0 ? void 0 : _a.edition_configs) === null || _b === void 0 ? void 0 : _b.edition) === types_1.Edition.COMMUNITY;
|
|
42
74
|
const writeInclusion = project.syncRepoData && !isCommunity;
|
|
43
75
|
if (writeInclusion) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faros_projects.js","sourceRoot":"","sources":["../../../src/converters/gitlab/faros_projects.ts"],"names":[],"mappings":";;;AAEA,qDAAsC;AACtC,mCAA+B;AAE/B,8CAA2C;AAE3C,qCAAyC;AAEzC,MAAa,aAAc,SAAQ,wBAAe;IAAlD;;QACW,sBAAiB,GAAoC;YAC5D,gBAAgB;
|
|
1
|
+
{"version":3,"file":"faros_projects.js","sourceRoot":"","sources":["../../../src/converters/gitlab/faros_projects.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AirbyteRecord } from 'faros-airbyte-cdk';
|
|
2
|
+
import { DestinationModel, DestinationRecord } from '../converter';
|
|
3
|
+
import { GitlabConverter } from './common';
|
|
4
|
+
export declare class FarosTags extends GitlabConverter {
|
|
5
|
+
readonly destinationModels: ReadonlyArray<DestinationModel>;
|
|
6
|
+
id(record: AirbyteRecord): any;
|
|
7
|
+
convert(record: AirbyteRecord): Promise<ReadonlyArray<DestinationRecord>>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FarosTags = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
5
|
+
const common_1 = require("./common");
|
|
6
|
+
class FarosTags extends common_1.GitlabConverter {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.destinationModels = ['vcs_Tag'];
|
|
10
|
+
}
|
|
11
|
+
id(record) {
|
|
12
|
+
var _a;
|
|
13
|
+
const tag = (_a = record === null || record === void 0 ? void 0 : record.record) === null || _a === void 0 ? void 0 : _a.data;
|
|
14
|
+
return `${tag === null || tag === void 0 ? void 0 : tag.name}_${tag === null || tag === void 0 ? void 0 : tag.commit_id}`;
|
|
15
|
+
}
|
|
16
|
+
async convert(record) {
|
|
17
|
+
const source = this.streamName.source;
|
|
18
|
+
const tag = record.record.data;
|
|
19
|
+
// Build repository key from group_id and project_path
|
|
20
|
+
const repository = {
|
|
21
|
+
name: (0, lodash_1.toLower)(tag.project_path),
|
|
22
|
+
uid: (0, lodash_1.toLower)(tag.project_path),
|
|
23
|
+
organization: {
|
|
24
|
+
uid: (0, lodash_1.toLower)(tag.group_id),
|
|
25
|
+
source,
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
return [
|
|
29
|
+
{
|
|
30
|
+
model: 'vcs_Tag',
|
|
31
|
+
record: {
|
|
32
|
+
name: tag.name,
|
|
33
|
+
message: tag.title,
|
|
34
|
+
commit: { sha: tag.commit_id, uid: tag.commit_id, repository },
|
|
35
|
+
repository,
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
];
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.FarosTags = FarosTags;
|
|
42
|
+
//# sourceMappingURL=faros_tags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"faros_tags.js","sourceRoot":"","sources":["../../../src/converters/gitlab/faros_tags.ts"],"names":[],"mappings":";;;AACA,mCAA+B;AAG/B,qCAAyC;AAEzC,MAAa,SAAU,SAAQ,wBAAe;IAA9C;;QACW,sBAAiB,GAAoC,CAAC,SAAS,CAAC,CAAC;IAmC5E,CAAC;IAjCC,EAAE,CAAC,MAAqB;;QACtB,MAAM,GAAG,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,IAAI,CAAC;QACjC,OAAO,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAqB;QAErB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QAE/B,sDAAsD;QACtD,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,IAAA,gBAAO,EAAC,GAAG,CAAC,YAAY,CAAC;YAC/B,GAAG,EAAE,IAAA,gBAAO,EAAC,GAAG,CAAC,YAAY,CAAC;YAC9B,YAAY,EAAE;gBACZ,GAAG,EAAE,IAAA,gBAAO,EAAC,GAAG,CAAC,QAAQ,CAAC;gBAC1B,MAAM;aACP;SACF,CAAC;QAEF,OAAO;YACL;gBACE,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE;oBACN,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,CAAC,KAAK;oBAClB,MAAM,EAAE,EAAC,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,UAAU,EAAC;oBAC5D,UAAU;iBACX;aACF;SACF,CAAC;IACJ,CAAC;CACF;AApCD,8BAoCC"}
|
|
@@ -4,5 +4,4 @@ import { GitlabConverter } from './common';
|
|
|
4
4
|
export declare class FarosUsers extends GitlabConverter {
|
|
5
5
|
readonly destinationModels: ReadonlyArray<DestinationModel>;
|
|
6
6
|
convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
|
|
7
|
-
onProcessingComplete(ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
|
|
8
7
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FarosUsers = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
4
5
|
const common_1 = require("./common");
|
|
5
6
|
class FarosUsers extends common_1.GitlabConverter {
|
|
6
7
|
constructor() {
|
|
@@ -13,11 +14,46 @@ class FarosUsers extends common_1.GitlabConverter {
|
|
|
13
14
|
}
|
|
14
15
|
async convert(record, ctx) {
|
|
15
16
|
const user = record.record.data;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
if (!(user === null || user === void 0 ? void 0 : user.username)) {
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
const res = [];
|
|
21
|
+
// Create user email record if email exists
|
|
22
|
+
if (user.email && !(0, lodash_1.isEmpty)(user.email)) {
|
|
23
|
+
res.push({
|
|
24
|
+
model: 'vcs_UserEmail',
|
|
25
|
+
record: {
|
|
26
|
+
user: { uid: user.username, source: this.streamName.source },
|
|
27
|
+
email: user.email,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
// Create membership record if group_id exists
|
|
32
|
+
if (user.group_id && !(0, lodash_1.isEmpty)(user.group_id)) {
|
|
33
|
+
res.push({
|
|
34
|
+
model: 'vcs_Membership',
|
|
35
|
+
record: {
|
|
36
|
+
user: { uid: user.username, source: this.streamName.source },
|
|
37
|
+
organization: {
|
|
38
|
+
uid: (0, lodash_1.toLower)(user.group_id),
|
|
39
|
+
source: this.streamName.source,
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
// Create user record
|
|
45
|
+
res.push({
|
|
46
|
+
model: 'vcs_User',
|
|
47
|
+
record: (0, lodash_1.omitBy)({
|
|
48
|
+
uid: user.username,
|
|
49
|
+
source: this.streamName.source,
|
|
50
|
+
name: user.name,
|
|
51
|
+
email: user.email,
|
|
52
|
+
htmlUrl: user.web_url,
|
|
53
|
+
type: { category: 'User', detail: 'user' },
|
|
54
|
+
}, (value) => (0, lodash_1.isNil)(value) || (0, lodash_1.isEmpty)(value)),
|
|
55
|
+
});
|
|
56
|
+
return res;
|
|
21
57
|
}
|
|
22
58
|
}
|
|
23
59
|
exports.FarosUsers = FarosUsers;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faros_users.js","sourceRoot":"","sources":["../../../src/converters/gitlab/faros_users.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"faros_users.js","sourceRoot":"","sources":["../../../src/converters/gitlab/faros_users.ts"],"names":[],"mappings":";;;AAEA,mCAAuD;AAGvD,qCAAyC;AAEzC,MAAa,UAAW,SAAQ,wBAAe;IAA/C;;QACW,sBAAiB,GAAoC;YAC5D,gBAAgB;YAChB,UAAU;YACV,eAAe;SAChB,CAAC;IAyDJ,CAAC;IAvDC,KAAK,CAAC,OAAO,CACX,MAAqB,EACrB,GAAkB;QAElB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAY,CAAC;QAExC,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAA,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,GAAG,GAAwB,EAAE,CAAC;QAEpC,2CAA2C;QAC3C,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,eAAe;gBACtB,MAAM,EAAE;oBACN,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAC;oBAC1D,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB;aACF,CAAC,CAAC;QACL,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,gBAAgB;gBACvB,MAAM,EAAE;oBACN,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAC;oBAC1D,YAAY,EAAE;wBACZ,GAAG,EAAE,IAAA,gBAAO,EAAC,IAAI,CAAC,QAAQ,CAAC;wBAC3B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;qBAC/B;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED,qBAAqB;QACrB,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,IAAA,eAAM,EACZ;gBACE,GAAG,EAAE,IAAI,CAAC,QAAQ;gBAClB,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;gBAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAC;aACzC,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,cAAK,EAAC,KAAK,CAAC,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,CAC1C;SACF,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA9DD,gCA8DC"}
|