airbyte-faros-destination 0.10.30 → 0.10.31
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/bitbucket/common.d.ts +1 -6
- package/lib/converters/bitbucket/common.js +0 -29
- package/lib/converters/bitbucket/common.js.map +1 -1
- package/lib/converters/bitbucket/pull_requests_with_activities.d.ts +4 -0
- package/lib/converters/bitbucket/pull_requests_with_activities.js +80 -36
- package/lib/converters/bitbucket/pull_requests_with_activities.js.map +1 -1
- package/lib/converters/common/vcs.d.ts +14 -0
- package/lib/converters/common/vcs.js +35 -1
- package/lib/converters/common/vcs.js.map +1 -1
- package/lib/converters/github/faros_pull_requests.d.ts +2 -4
- package/lib/converters/github/faros_pull_requests.js +4 -29
- package/lib/converters/github/faros_pull_requests.js.map +1 -1
- package/lib/destination.js +7 -2
- package/lib/destination.js.map +1 -1
- package/lib/sync.d.ts +2 -0
- package/lib/sync.js +2 -0
- package/lib/sync.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AirbyteRecord } from 'faros-airbyte-cdk';
|
|
2
2
|
import { User } from 'faros-airbyte-common/bitbucket';
|
|
3
|
-
import { Converter,
|
|
3
|
+
import { Converter, StreamContext } from '../converter';
|
|
4
4
|
interface BitbucketConfig {
|
|
5
5
|
application_mapping?: ApplicationMapping;
|
|
6
6
|
max_description_length?: number;
|
|
@@ -20,10 +20,6 @@ export declare enum UserTypeCategory {
|
|
|
20
20
|
CUSTOM = "Custom"
|
|
21
21
|
}
|
|
22
22
|
export type PartialUser = Partial<User>;
|
|
23
|
-
export interface ProjectKey {
|
|
24
|
-
uid: string;
|
|
25
|
-
source: string;
|
|
26
|
-
}
|
|
27
23
|
export interface RepositoryRecord {
|
|
28
24
|
uid: string;
|
|
29
25
|
name: string;
|
|
@@ -35,7 +31,6 @@ export interface RepositoryRecord {
|
|
|
35
31
|
/** Common functions shares across Bitbucket converters */
|
|
36
32
|
export declare class BitbucketCommon {
|
|
37
33
|
static MAX_DESCRIPTION_LENGTH: number;
|
|
38
|
-
static tms_ProjectBoard_with_TaskBoard(projectKey: ProjectKey, name: string, description: string | null, createdAt: string | null | undefined, updatedAt: string | null | undefined): DestinationRecord[];
|
|
39
34
|
static vcs_Repository(workspace: string, repo: string, source: string): RepositoryRecord;
|
|
40
35
|
}
|
|
41
36
|
/** Bitbucket converter base */
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BitbucketConverter = exports.BitbucketCommon = exports.UserTypeCategory = void 0;
|
|
4
|
-
const faros_js_client_1 = require("faros-js-client");
|
|
5
4
|
const lodash_1 = require("lodash");
|
|
6
5
|
const converter_1 = require("../converter");
|
|
7
6
|
var UserTypeCategory;
|
|
@@ -13,34 +12,6 @@ var UserTypeCategory;
|
|
|
13
12
|
})(UserTypeCategory || (exports.UserTypeCategory = UserTypeCategory = {}));
|
|
14
13
|
/** Common functions shares across Bitbucket converters */
|
|
15
14
|
class BitbucketCommon {
|
|
16
|
-
static tms_ProjectBoard_with_TaskBoard(projectKey, name, description, createdAt, updatedAt) {
|
|
17
|
-
return [
|
|
18
|
-
{
|
|
19
|
-
model: 'tms_Project',
|
|
20
|
-
record: {
|
|
21
|
-
...projectKey,
|
|
22
|
-
name: name,
|
|
23
|
-
description: faros_js_client_1.Utils.cleanAndTruncate(description, BitbucketCommon.MAX_DESCRIPTION_LENGTH),
|
|
24
|
-
createdAt: faros_js_client_1.Utils.toDate(createdAt),
|
|
25
|
-
updatedAt: faros_js_client_1.Utils.toDate(updatedAt),
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
model: 'tms_TaskBoard',
|
|
30
|
-
record: {
|
|
31
|
-
...projectKey,
|
|
32
|
-
name,
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
model: 'tms_TaskBoardProjectRelationship',
|
|
37
|
-
record: {
|
|
38
|
-
board: projectKey,
|
|
39
|
-
project: projectKey,
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
];
|
|
43
|
-
}
|
|
44
15
|
static vcs_Repository(workspace, repo, source) {
|
|
45
16
|
return {
|
|
46
17
|
name: (0, lodash_1.toLower)(repo),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/bitbucket/common.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/bitbucket/common.ts"],"names":[],"mappings":";;;AAEA,mCAA+B;AAE/B,4CAAyE;AAczE,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,+BAAW,CAAA;IACX,iDAA6B,CAAA;IAC7B,iCAAa,CAAA;IACb,qCAAiB,CAAA;AACnB,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B;AAUD,0DAA0D;AAC1D,MAAa,eAAe;IAI1B,MAAM,CAAC,cAAc,CACnB,SAAiB,EACjB,IAAY,EACZ,MAAc;QAEd,OAAO;YACL,IAAI,EAAE,IAAA,gBAAO,EAAC,IAAI,CAAC;YACnB,GAAG,EAAE,IAAA,gBAAO,EAAC,IAAI,CAAC;YAClB,YAAY,EAAE,EAAC,GAAG,EAAE,IAAA,gBAAO,EAAC,SAAS,CAAC,EAAE,MAAM,EAAC;SAChD,CAAC;IACJ,CAAC;;AAdH,0CAeC;AAdC,kDAAkD;AAC3C,sCAAsB,GAAG,IAAI,CAAC;AAevC,+BAA+B;AAC/B,MAAsB,kBAAmB,SAAQ,qBAAS;IAA1D;;QACE,WAAM,GAAG,WAAW,CAAC;QAEX,mBAAc,GAAG,IAAI,GAAG,EAA8B,CAAC;IA0BnE,CAAC;IAxBC,2DAA2D;IAC3D,EAAE,CAAC,MAAqB;;QACtB,OAAO,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,IAAI,0CAAE,EAAE,CAAC;IAClC,CAAC;IAES,eAAe,CAAC,GAAkB;;QAC1C,OAAO,MAAA,MAAA,GAAG,CAAC,MAAM,0CAAE,uBAAuB,0CAAE,SAAS,CAAC;IACxD,CAAC;IAES,kBAAkB,CAAC,GAAkB;;QAC7C,OAAO,CACL,MAAA,IAAA,6BAAiB,EACf,MAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,0CAAE,mBAAmB,EAC9C,qBAAqB,CACtB,mCAAI,EAAE,CACR,CAAC;IACJ,CAAC;IAES,oBAAoB,CAAC,GAAkB;;QAC/C,OAAO,CACL,MAAA,MAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,0CAAE,sBAAsB,mCACjD,eAAe,CAAC,sBAAsB,CACvC,CAAC;IACJ,CAAC;CACF;AA7BD,gDA6BC"}
|
|
@@ -3,13 +3,17 @@ import { PRActivity } from 'faros-airbyte-common/bitbucket';
|
|
|
3
3
|
import { DestinationModel, DestinationRecord, StreamContext } from '../converter';
|
|
4
4
|
import { BitbucketConverter } from './common';
|
|
5
5
|
export declare class PullRequestsWithActivities extends BitbucketConverter {
|
|
6
|
+
private readonly fileCollector;
|
|
6
7
|
readonly destinationModels: ReadonlyArray<DestinationModel>;
|
|
7
8
|
convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
|
|
8
9
|
private processPullRequest;
|
|
10
|
+
private processDiffStat;
|
|
11
|
+
onProcessingComplete(ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
|
|
9
12
|
private toPrState;
|
|
10
13
|
private processActivity;
|
|
11
14
|
reviewState(prActivity: PRActivity): {
|
|
12
15
|
category: string;
|
|
13
16
|
detail: string | null;
|
|
14
17
|
} | undefined;
|
|
18
|
+
private calculateDiffStats;
|
|
15
19
|
}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PullRequestsWithActivities = void 0;
|
|
4
4
|
const faros_js_client_1 = require("faros-js-client");
|
|
5
|
+
const lodash_1 = require("lodash");
|
|
6
|
+
const vcs_1 = require("../common/vcs");
|
|
5
7
|
const common_1 = require("./common");
|
|
6
8
|
var PullRequestStateCategory;
|
|
7
9
|
(function (PullRequestStateCategory) {
|
|
@@ -21,9 +23,12 @@ var PullRequestReviewStateCategory;
|
|
|
21
23
|
class PullRequestsWithActivities extends common_1.BitbucketConverter {
|
|
22
24
|
constructor() {
|
|
23
25
|
super(...arguments);
|
|
26
|
+
this.fileCollector = new vcs_1.FileCollector();
|
|
24
27
|
this.destinationModels = [
|
|
28
|
+
'vcs_File',
|
|
25
29
|
'vcs_PullRequest',
|
|
26
30
|
'vcs_PullRequestComment',
|
|
31
|
+
'vcs_PullRequestFile',
|
|
27
32
|
'vcs_PullRequestReview',
|
|
28
33
|
];
|
|
29
34
|
}
|
|
@@ -39,7 +44,7 @@ class PullRequestsWithActivities extends common_1.BitbucketConverter {
|
|
|
39
44
|
return [];
|
|
40
45
|
}
|
|
41
46
|
processPullRequest(pullRequest, ctx) {
|
|
42
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
47
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
43
48
|
const source = this.streamName.source;
|
|
44
49
|
const res = [];
|
|
45
50
|
const [workspace, repo] = (((_b = (_a = pullRequest === null || pullRequest === void 0 ? void 0 : pullRequest.source) === null || _a === void 0 ? void 0 : _a.repository) === null || _b === void 0 ? void 0 : _b.fullName) ||
|
|
@@ -47,15 +52,18 @@ class PullRequestsWithActivities extends common_1.BitbucketConverter {
|
|
|
47
52
|
'').split('/');
|
|
48
53
|
if (!workspace || !repo)
|
|
49
54
|
return res;
|
|
50
|
-
const
|
|
55
|
+
const repoKey = common_1.BitbucketCommon.vcs_Repository(workspace, repo, source);
|
|
51
56
|
const commitHash = (_e = pullRequest === null || pullRequest === void 0 ? void 0 : pullRequest.mergeCommit) === null || _e === void 0 ? void 0 : _e.hash;
|
|
52
57
|
const mergeCommit = commitHash
|
|
53
|
-
? { repository:
|
|
58
|
+
? { repository: repoKey, sha: commitHash, uid: commitHash }
|
|
54
59
|
: null;
|
|
55
60
|
let author = null;
|
|
56
61
|
if ((_f = pullRequest === null || pullRequest === void 0 ? void 0 : pullRequest.author) === null || _f === void 0 ? void 0 : _f.accountId) {
|
|
57
62
|
author = { uid: pullRequest.author.accountId, source };
|
|
58
63
|
}
|
|
64
|
+
(_g = pullRequest.diffStats) === null || _g === void 0 ? void 0 : _g.forEach((diff) => {
|
|
65
|
+
res.push(...this.processDiffStat(repoKey, pullRequest, diff));
|
|
66
|
+
});
|
|
59
67
|
res.push({
|
|
60
68
|
model: 'vcs_PullRequest',
|
|
61
69
|
record: {
|
|
@@ -64,20 +72,50 @@ class PullRequestsWithActivities extends common_1.BitbucketConverter {
|
|
|
64
72
|
title: pullRequest.title,
|
|
65
73
|
description: faros_js_client_1.Utils.cleanAndTruncate(pullRequest.description, this.maxDescriptionLength(ctx)),
|
|
66
74
|
state: this.toPrState(pullRequest.state),
|
|
67
|
-
htmlUrl: (
|
|
75
|
+
htmlUrl: (_h = pullRequest === null || pullRequest === void 0 ? void 0 : pullRequest.links) === null || _h === void 0 ? void 0 : _h.htmlUrl,
|
|
68
76
|
createdAt: faros_js_client_1.Utils.toDate(pullRequest.createdOn),
|
|
69
77
|
updatedAt: faros_js_client_1.Utils.toDate(pullRequest.updatedOn),
|
|
70
|
-
mergedAt: faros_js_client_1.Utils.toDate((
|
|
78
|
+
mergedAt: faros_js_client_1.Utils.toDate((_j = pullRequest.calculatedActivity) === null || _j === void 0 ? void 0 : _j.mergedAt),
|
|
71
79
|
commentCount: pullRequest.commentCount,
|
|
72
|
-
commitCount: (
|
|
73
|
-
diffStats: pullRequest
|
|
80
|
+
commitCount: (_k = pullRequest.calculatedActivity) === null || _k === void 0 ? void 0 : _k.commitCount,
|
|
81
|
+
diffStats: this.calculateDiffStats(pullRequest),
|
|
74
82
|
author,
|
|
75
83
|
mergeCommit,
|
|
76
|
-
repository:
|
|
84
|
+
repository: repoKey,
|
|
77
85
|
},
|
|
78
86
|
});
|
|
79
87
|
return res;
|
|
80
88
|
}
|
|
89
|
+
processDiffStat(repoKey, pullRequest, diff) {
|
|
90
|
+
var _a, _b, _c;
|
|
91
|
+
const res = [];
|
|
92
|
+
const processDiffPath = (path) => {
|
|
93
|
+
this.fileCollector.collectFile(path, repoKey);
|
|
94
|
+
return {
|
|
95
|
+
model: 'vcs_PullRequestFile',
|
|
96
|
+
record: {
|
|
97
|
+
pullRequest: {
|
|
98
|
+
number: pullRequest.id,
|
|
99
|
+
uid: pullRequest.id.toString(),
|
|
100
|
+
repository: repoKey,
|
|
101
|
+
},
|
|
102
|
+
file: { uid: path, repository: repoKey },
|
|
103
|
+
additions: diff.linesAdded,
|
|
104
|
+
deletions: diff.linesRemoved,
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
if ((_a = diff.old) === null || _a === void 0 ? void 0 : _a.path) {
|
|
109
|
+
res.push(processDiffPath(diff.old.path));
|
|
110
|
+
}
|
|
111
|
+
if (((_b = diff.new) === null || _b === void 0 ? void 0 : _b.path) && diff.new.path !== ((_c = diff.old) === null || _c === void 0 ? void 0 : _c.path)) {
|
|
112
|
+
res.push(processDiffPath(diff.new.path));
|
|
113
|
+
}
|
|
114
|
+
return res;
|
|
115
|
+
}
|
|
116
|
+
async onProcessingComplete(ctx) {
|
|
117
|
+
return [...this.fileCollector.convertFiles()];
|
|
118
|
+
}
|
|
81
119
|
toPrState(state) {
|
|
82
120
|
const stateLower = state === null || state === void 0 ? void 0 : state.toLowerCase();
|
|
83
121
|
switch (stateLower) {
|
|
@@ -93,7 +131,7 @@ class PullRequestsWithActivities extends common_1.BitbucketConverter {
|
|
|
93
131
|
}
|
|
94
132
|
}
|
|
95
133
|
processActivity(prActivity, ctx) {
|
|
96
|
-
var _a, _b, _c, _d, _e, _f, _g, _h
|
|
134
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
97
135
|
const source = this.streamName.source;
|
|
98
136
|
const res = [];
|
|
99
137
|
const change = (_c = (_b = (_a = prActivity === null || prActivity === void 0 ? void 0 : prActivity.comment) !== null && _a !== void 0 ? _a : prActivity === null || prActivity === void 0 ? void 0 : prActivity.approval) !== null && _b !== void 0 ? _b : prActivity === null || prActivity === void 0 ? void 0 : prActivity.changes_requested) !== null && _c !== void 0 ? _c : prActivity === null || prActivity === void 0 ? void 0 : prActivity.update;
|
|
@@ -108,31 +146,24 @@ class PullRequestsWithActivities extends common_1.BitbucketConverter {
|
|
|
108
146
|
}
|
|
109
147
|
const user = (_g = change === null || change === void 0 ? void 0 : change.author) !== null && _g !== void 0 ? _g : change === null || change === void 0 ? void 0 : change.user;
|
|
110
148
|
const reviewer = (user === null || user === void 0 ? void 0 : user.accountId) ? { uid: user.accountId, source } : null;
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
};
|
|
115
|
-
const repoRef = {
|
|
116
|
-
uid: (_l = (_k = prActivity === null || prActivity === void 0 ? void 0 : prActivity.pullRequest) === null || _k === void 0 ? void 0 : _k.repositorySlug) === null || _l === void 0 ? void 0 : _l.toLowerCase(),
|
|
117
|
-
name: (_o = (_m = prActivity === null || prActivity === void 0 ? void 0 : prActivity.pullRequest) === null || _m === void 0 ? void 0 : _m.repositorySlug) === null || _o === void 0 ? void 0 : _o.toLowerCase(),
|
|
118
|
-
organization: orgRef,
|
|
119
|
-
};
|
|
120
|
-
if (!orgRef.uid || !repoRef.uid) {
|
|
121
|
-
ctx.logger.info(`Pull request activity has no repo ref: ${JSON.stringify(prActivity)}`);
|
|
149
|
+
const { workspace, repositorySlug } = prActivity.pullRequest;
|
|
150
|
+
if (!workspace || !repositorySlug) {
|
|
151
|
+
ctx.logger.info(`Pull request activity has no repository or workspace ref: ${JSON.stringify(prActivity)}`);
|
|
122
152
|
return res;
|
|
123
153
|
}
|
|
154
|
+
const repoRef = common_1.BitbucketCommon.vcs_Repository(workspace, repositorySlug, source);
|
|
124
155
|
const pullRequest = {
|
|
125
156
|
repository: repoRef,
|
|
126
157
|
number: prActivity.pullRequest.id,
|
|
127
158
|
uid: prActivity.pullRequest.id.toString(),
|
|
128
159
|
};
|
|
129
|
-
if (
|
|
160
|
+
if (prActivity === null || prActivity === void 0 ? void 0 : prActivity.comment) {
|
|
130
161
|
res.push({
|
|
131
162
|
model: 'vcs_PullRequestComment',
|
|
132
163
|
record: {
|
|
133
164
|
number: id,
|
|
134
165
|
uid: id.toString(),
|
|
135
|
-
comment: faros_js_client_1.Utils.cleanAndTruncate((
|
|
166
|
+
comment: faros_js_client_1.Utils.cleanAndTruncate((_h = change === null || change === void 0 ? void 0 : change.content) === null || _h === void 0 ? void 0 : _h.raw, common_1.BitbucketCommon.MAX_DESCRIPTION_LENGTH),
|
|
136
167
|
createdAt: faros_js_client_1.Utils.toDate(change === null || change === void 0 ? void 0 : change.created_on),
|
|
137
168
|
updatedAt: faros_js_client_1.Utils.toDate(change === null || change === void 0 ? void 0 : change.updated_on),
|
|
138
169
|
author: reviewer,
|
|
@@ -140,20 +171,18 @@ class PullRequestsWithActivities extends common_1.BitbucketConverter {
|
|
|
140
171
|
},
|
|
141
172
|
});
|
|
142
173
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
});
|
|
156
|
-
}
|
|
174
|
+
res.push({
|
|
175
|
+
model: 'vcs_PullRequestReview',
|
|
176
|
+
record: {
|
|
177
|
+
number: id,
|
|
178
|
+
uid: id.toString(),
|
|
179
|
+
htmlUrl: prActivity.pullRequest.links.htmlUrl,
|
|
180
|
+
pullRequest,
|
|
181
|
+
reviewer,
|
|
182
|
+
state,
|
|
183
|
+
submittedAt: date,
|
|
184
|
+
},
|
|
185
|
+
});
|
|
157
186
|
return res;
|
|
158
187
|
}
|
|
159
188
|
reviewState(prActivity) {
|
|
@@ -172,6 +201,21 @@ class PullRequestsWithActivities extends common_1.BitbucketConverter {
|
|
|
172
201
|
return { category: PullRequestReviewStateCategory.DISMISSED, detail: null };
|
|
173
202
|
return undefined;
|
|
174
203
|
}
|
|
204
|
+
calculateDiffStats(pullRequest) {
|
|
205
|
+
if (!pullRequest.diffStats) {
|
|
206
|
+
return null;
|
|
207
|
+
}
|
|
208
|
+
const filesChanged = new Set(pullRequest.diffStats
|
|
209
|
+
.flatMap((diff) => { var _a, _b; return [(_a = diff.old) === null || _a === void 0 ? void 0 : _a.path, (_b = diff.new) === null || _b === void 0 ? void 0 : _b.path]; })
|
|
210
|
+
.filter((path) => !(0, lodash_1.isNil)(path))).size;
|
|
211
|
+
const linesAdded = pullRequest.diffStats.reduce((sum, diff) => sum + diff.linesAdded, 0);
|
|
212
|
+
const linesDeleted = pullRequest.diffStats.reduce((sum, diff) => sum + diff.linesRemoved, 0);
|
|
213
|
+
return {
|
|
214
|
+
filesChanged,
|
|
215
|
+
linesAdded,
|
|
216
|
+
linesDeleted,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
175
219
|
}
|
|
176
220
|
exports.PullRequestsWithActivities = PullRequestsWithActivities;
|
|
177
221
|
//# sourceMappingURL=pull_requests_with_activities.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull_requests_with_activities.js","sourceRoot":"","sources":["../../../src/converters/bitbucket/pull_requests_with_activities.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"pull_requests_with_activities.js","sourceRoot":"","sources":["../../../src/converters/bitbucket/pull_requests_with_activities.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,4 +18,18 @@ export type UserKey = {
|
|
|
18
18
|
uid: string;
|
|
19
19
|
source: string;
|
|
20
20
|
};
|
|
21
|
+
export type FileKey = {
|
|
22
|
+
uid: string;
|
|
23
|
+
repository: RepoKey;
|
|
24
|
+
};
|
|
25
|
+
export type File = FileKey & {
|
|
26
|
+
path: string;
|
|
27
|
+
};
|
|
28
|
+
export declare function fileKey(filePath: string, repoKey: RepoKey): FileKey;
|
|
29
|
+
export declare function fileKeyToString(fileKey: FileKey): string;
|
|
21
30
|
export declare function processPullRequestFileDiffs(files: ReadonlyArray<FileDiff>, pullRequest: PullRequestKey): DestinationRecord[];
|
|
31
|
+
export declare class FileCollector {
|
|
32
|
+
private readonly collectedFiles;
|
|
33
|
+
collectFile(filePath: string, repoKey: RepoKey): void;
|
|
34
|
+
convertFiles(): DestinationRecord[];
|
|
35
|
+
}
|
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.processPullRequestFileDiffs = void 0;
|
|
3
|
+
exports.FileCollector = exports.processPullRequestFileDiffs = exports.fileKeyToString = exports.fileKey = void 0;
|
|
4
4
|
const lodash_1 = require("lodash");
|
|
5
5
|
const NULL = '/dev/null';
|
|
6
|
+
function fileKey(filePath, repoKey) {
|
|
7
|
+
return {
|
|
8
|
+
uid: filePath,
|
|
9
|
+
repository: repoKey,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
exports.fileKey = fileKey;
|
|
13
|
+
function fileKeyToString(fileKey) {
|
|
14
|
+
return `${fileKey.repository.organization.uid}/${fileKey.repository.name}/${fileKey.uid}`;
|
|
15
|
+
}
|
|
16
|
+
exports.fileKeyToString = fileKeyToString;
|
|
6
17
|
function processPullRequestFileDiffs(files, pullRequest) {
|
|
7
18
|
const res = [];
|
|
8
19
|
const repository = pullRequest.repository;
|
|
@@ -65,4 +76,27 @@ function processPullRequestFileDiffs(files, pullRequest) {
|
|
|
65
76
|
return res;
|
|
66
77
|
}
|
|
67
78
|
exports.processPullRequestFileDiffs = processPullRequestFileDiffs;
|
|
79
|
+
class FileCollector {
|
|
80
|
+
constructor() {
|
|
81
|
+
this.collectedFiles = new Map();
|
|
82
|
+
}
|
|
83
|
+
collectFile(filePath, repoKey) {
|
|
84
|
+
const key = fileKey(filePath, repoKey);
|
|
85
|
+
const keyStr = fileKeyToString(key);
|
|
86
|
+
if (!this.collectedFiles.has(keyStr)) {
|
|
87
|
+
const file = {
|
|
88
|
+
...key,
|
|
89
|
+
path: filePath,
|
|
90
|
+
};
|
|
91
|
+
this.collectedFiles.set(keyStr, file);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
convertFiles() {
|
|
95
|
+
return Array.from(this.collectedFiles.values()).map((file) => ({
|
|
96
|
+
model: 'vcs_File',
|
|
97
|
+
record: file,
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
exports.FileCollector = FileCollector;
|
|
68
102
|
//# sourceMappingURL=vcs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vcs.js","sourceRoot":"","sources":["../../../src/converters/common/vcs.ts"],"names":[],"mappings":";;;AACA,mCAA4B;AAI5B,MAAM,IAAI,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"vcs.js","sourceRoot":"","sources":["../../../src/converters/common/vcs.ts"],"names":[],"mappings":";;;AACA,mCAA4B;AAI5B,MAAM,IAAI,GAAG,WAAW,CAAC;AAoBzB,SAAgB,OAAO,CAAC,QAAgB,EAAE,OAAgB;IACxD,OAAO;QACL,GAAG,EAAE,QAAQ;QACb,UAAU,EAAE,OAAO;KACpB,CAAC;AACJ,CAAC;AALD,0BAKC;AAED,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AAC5F,CAAC;AAFD,0CAEC;AAED,SAAgB,2BAA2B,CACzC,KAA8B,EAC9B,WAA2B;IAE3B,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;IAC1C,MAAM,YAAY,GAAG,IAAA,aAAI,EACvB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CACpE,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC;QACP,KAAK,EAAE,yBAAyB;QAChC,MAAM,EAAE;YACN,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YACd,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,CAAC,WAAW,CAAC;YACnB,KAAK,EAAE;gBACL,SAAS,EAAE;oBACT,YAAY,EAAE,YAAY,CAAC,MAAM;oBACjC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;oBACpE,YAAY,EAAE,KAAK,CAAC,MAAM,CACxB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EACvC,CAAC,CACF;iBACF;aACF;SACF;KACF,CAAC,CAAC;IAEH,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,EAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAC,EAAC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC7D,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,qBAAqB;gBAC5B,MAAM,EAAE;oBACN,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAC;oBACnD,WAAW;oBACX,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B;aACF,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACpC,GAAG,CAAC,IAAI,CAAC;oBACP,KAAK,EAAE,qBAAqB;oBAC5B,MAAM,EAAE;wBACN,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAC;wBACnD,WAAW;wBACX,SAAS,EAAE,CAAC;wBACZ,SAAS,EAAE,IAAI,CAAC,SAAS;qBAC1B;iBACF,CAAC,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChC,GAAG,CAAC,IAAI,CAAC;oBACP,KAAK,EAAE,qBAAqB;oBAC5B,MAAM,EAAE;wBACN,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAC;wBAC/C,WAAW;wBACX,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,SAAS,EAAE,CAAC;qBACb;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAvED,kEAuEC;AAED,MAAa,aAAa;IAA1B;QACmB,mBAAc,GAAG,IAAI,GAAG,EAAgB,CAAC;IAqB5D,CAAC;IAnBC,WAAW,CAAC,QAAgB,EAAE,OAAgB;QAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,GAAS;gBACjB,GAAG,GAAG;gBACN,IAAI,EAAE,QAAQ;aACf,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,YAAY;QACV,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7D,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,IAAI;SACb,CAAC,CAAC,CAAC;IACN,CAAC;CACF;AAtBD,sCAsBC"}
|
|
@@ -2,8 +2,8 @@ import { AirbyteRecord } from 'faros-airbyte-cdk';
|
|
|
2
2
|
import { DestinationModel, DestinationRecord, StreamContext } from '../converter';
|
|
3
3
|
import { GitHubConverter } from './common';
|
|
4
4
|
export declare class FarosPullRequests extends GitHubConverter {
|
|
5
|
-
private collectedBranches;
|
|
6
|
-
private
|
|
5
|
+
private readonly collectedBranches;
|
|
6
|
+
private readonly fileCollector;
|
|
7
7
|
readonly destinationModels: ReadonlyArray<DestinationModel>;
|
|
8
8
|
convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
|
|
9
9
|
private collectReviewRequestReviewers;
|
|
@@ -11,6 +11,4 @@ export declare class FarosPullRequests extends GitHubConverter {
|
|
|
11
11
|
onProcessingComplete(ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
|
|
12
12
|
private collectBranch;
|
|
13
13
|
private convertBranches;
|
|
14
|
-
private collectFile;
|
|
15
|
-
private convertFiles;
|
|
16
14
|
}
|
|
@@ -3,12 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.FarosPullRequests = void 0;
|
|
4
4
|
const faros_js_client_1 = require("faros-js-client");
|
|
5
5
|
const lodash_1 = require("lodash");
|
|
6
|
+
const vcs_1 = require("../common/vcs");
|
|
6
7
|
const common_1 = require("./common");
|
|
7
8
|
class FarosPullRequests extends common_1.GitHubConverter {
|
|
8
9
|
constructor() {
|
|
9
10
|
super(...arguments);
|
|
10
11
|
this.collectedBranches = new Map();
|
|
11
|
-
this.
|
|
12
|
+
this.fileCollector = new vcs_1.FileCollector();
|
|
12
13
|
this.destinationModels = [
|
|
13
14
|
'vcs_Branch',
|
|
14
15
|
'vcs_PullRequest',
|
|
@@ -43,7 +44,7 @@ class FarosPullRequests extends common_1.GitHubConverter {
|
|
|
43
44
|
const branchInfo = (0, lodash_1.omitBy)({ sourceBranch, targetBranch }, lodash_1.isNil);
|
|
44
45
|
const repoKey = common_1.GitHubCommon.repoKey(pr.org, pr.repo, this.streamName.source);
|
|
45
46
|
pr.files.forEach((file) => {
|
|
46
|
-
this.collectFile(file.path, repoKey);
|
|
47
|
+
this.fileCollector.collectFile(file.path, repoKey);
|
|
47
48
|
});
|
|
48
49
|
let reviewCommentCount = 0;
|
|
49
50
|
pr.reviews.forEach((review) => {
|
|
@@ -149,7 +150,7 @@ class FarosPullRequests extends common_1.GitHubConverter {
|
|
|
149
150
|
return [
|
|
150
151
|
...this.convertBranches(),
|
|
151
152
|
...this.convertUsers(),
|
|
152
|
-
...this.convertFiles(),
|
|
153
|
+
...this.fileCollector.convertFiles(),
|
|
153
154
|
];
|
|
154
155
|
}
|
|
155
156
|
collectBranch(branchName, branchRepo) {
|
|
@@ -170,23 +171,6 @@ class FarosPullRequests extends common_1.GitHubConverter {
|
|
|
170
171
|
record: branch,
|
|
171
172
|
}));
|
|
172
173
|
}
|
|
173
|
-
collectFile(filePath, repoKey) {
|
|
174
|
-
const key = fileKey(filePath, repoKey);
|
|
175
|
-
const keyStr = fileKeyToString(key);
|
|
176
|
-
if (!this.collectedFiles.has(keyStr)) {
|
|
177
|
-
const file = {
|
|
178
|
-
...key,
|
|
179
|
-
path: filePath,
|
|
180
|
-
};
|
|
181
|
-
this.collectedFiles.set(keyStr, file);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
convertFiles() {
|
|
185
|
-
return Array.from(this.collectedFiles.values()).map((file) => ({
|
|
186
|
-
model: 'vcs_File',
|
|
187
|
-
record: file,
|
|
188
|
-
}));
|
|
189
|
-
}
|
|
190
174
|
}
|
|
191
175
|
exports.FarosPullRequests = FarosPullRequests;
|
|
192
176
|
function branchKey(branchName, branchRepo, source) {
|
|
@@ -199,15 +183,6 @@ function branchKey(branchName, branchRepo, source) {
|
|
|
199
183
|
function branchKeyToString(branchKey) {
|
|
200
184
|
return `${branchKey.repository.organization.uid}/${branchKey.repository.name}/${branchKey.name}`;
|
|
201
185
|
}
|
|
202
|
-
function fileKey(filePath, repoKey) {
|
|
203
|
-
return {
|
|
204
|
-
uid: filePath,
|
|
205
|
-
repository: repoKey,
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
function fileKeyToString(fileKey) {
|
|
209
|
-
return `${fileKey.repository.organization.uid}/${fileKey.repository.name}/${fileKey.uid}`;
|
|
210
|
-
}
|
|
211
186
|
function getReviewState(state) {
|
|
212
187
|
const reviewStates = [
|
|
213
188
|
'approved',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faros_pull_requests.js","sourceRoot":"","sources":["../../../src/converters/github/faros_pull_requests.ts"],"names":[],"mappings":";;;AAKA,qDAAsC;AACtC,mCAA2E;
|
|
1
|
+
{"version":3,"file":"faros_pull_requests.js","sourceRoot":"","sources":["../../../src/converters/github/faros_pull_requests.ts"],"names":[],"mappings":"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"}
|
package/lib/destination.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.FarosDestination = exports.SEGMENT_KEY = void 0;
|
|
7
7
|
const analytics_node_1 = require("@segment/analytics-node");
|
|
8
8
|
const faros_airbyte_cdk_1 = require("faros-airbyte-cdk");
|
|
9
|
+
const runner_1 = require("faros-airbyte-cdk/lib/runner");
|
|
9
10
|
const faros_js_client_1 = require("faros-js-client");
|
|
10
11
|
const http_1 = __importDefault(require("http"));
|
|
11
12
|
const https_1 = __importDefault(require("https"));
|
|
@@ -356,6 +357,7 @@ class FarosDestination extends faros_airbyte_cdk_1.AirbyteDestination {
|
|
|
356
357
|
src: { fatal: [], nonFatal: [], warnings: [] },
|
|
357
358
|
dst: [],
|
|
358
359
|
};
|
|
360
|
+
const sourceVersion = {};
|
|
359
361
|
// Avoid creating a new revision and writer when dry run or community edition is enabled
|
|
360
362
|
try {
|
|
361
363
|
const streamContext = new converter_1.StreamContext(this.logger, config, streamsSyncMode, this.farosGraph, origin, this.edition === types_1.Edition.CLOUD ? this.getFarosClient() : undefined);
|
|
@@ -410,7 +412,7 @@ class FarosDestination extends faros_airbyte_cdk_1.AirbyteDestination {
|
|
|
410
412
|
if (account === null || account === void 0 ? void 0 : account.local) {
|
|
411
413
|
await this.getFarosClient().updateLocalAccount(accountId, this.farosGraph, { ...redactedConfig, ...msg.redactedConfig }, msg.sourceType, msg.sourceMode);
|
|
412
414
|
}
|
|
413
|
-
})) {
|
|
415
|
+
}, sourceVersion)) {
|
|
414
416
|
await graphQLClient.flush();
|
|
415
417
|
yield stateMessage;
|
|
416
418
|
}
|
|
@@ -437,6 +439,8 @@ class FarosDestination extends faros_airbyte_cdk_1.AirbyteDestination {
|
|
|
437
439
|
metrics: stats.asObject(),
|
|
438
440
|
errors: syncErrors.src.fatal.concat(syncErrors.src.nonFatal, syncErrors.dst),
|
|
439
441
|
warnings: syncErrors.src.warnings,
|
|
442
|
+
sourceVersion: sourceVersion.version,
|
|
443
|
+
destinationVersion: runner_1.ConnectorVersion,
|
|
440
444
|
});
|
|
441
445
|
}
|
|
442
446
|
}
|
|
@@ -476,7 +480,7 @@ class FarosDestination extends faros_airbyte_cdk_1.AirbyteDestination {
|
|
|
476
480
|
}
|
|
477
481
|
}
|
|
478
482
|
}
|
|
479
|
-
async *writeEntries(config, ctx, stdin, streams, converterDependencies, stats, syncErrors, writer, logFiles, resetData, updateLocalAccount) {
|
|
483
|
+
async *writeEntries(config, ctx, stdin, streams, converterDependencies, stats, syncErrors, writer, logFiles, resetData, updateLocalAccount, sourceVersion) {
|
|
480
484
|
const recordsToBeProcessedLast = [];
|
|
481
485
|
const convertersUsed = new Map();
|
|
482
486
|
// NOTE: readline.createInterface() will start to consume the input stream once invoked.
|
|
@@ -540,6 +544,7 @@ class FarosDestination extends faros_airbyte_cdk_1.AirbyteDestination {
|
|
|
540
544
|
}
|
|
541
545
|
sourceConfigReceived = true;
|
|
542
546
|
await (updateLocalAccount === null || updateLocalAccount === void 0 ? void 0 : updateLocalAccount(msg));
|
|
547
|
+
sourceVersion.version = msg.sourceVersion;
|
|
543
548
|
}
|
|
544
549
|
else if ((0, faros_airbyte_cdk_1.isSourceLogsMessage)(msg)) {
|
|
545
550
|
this.logger.debug(`Received ${msg.logs.length} source logs`);
|