airbyte-faros-destination 0.22.27 → 0.22.28

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.
@@ -3,6 +3,11 @@ import { AirbyteRecord } from 'faros-airbyte-cdk';
3
3
  import { VcsDiffStats } from '../common/vcs';
4
4
  import { DestinationModel, DestinationRecord, StreamContext } from '../converter';
5
5
  import { AzureReposConverter } from './common';
6
+ export declare function adoCommentNumber(threadId: number, commentId: number): number;
7
+ export declare function isTextComment(comment: {
8
+ commentType?: unknown;
9
+ }): boolean;
10
+ export declare function isDraftNowOff(value: unknown): boolean;
6
11
  export declare class PullRequests extends AzureReposConverter {
7
12
  private partialUserRecords;
8
13
  private readonly reviewThreads;
@@ -10,6 +15,9 @@ export declare class PullRequests extends AzureReposConverter {
10
15
  readonly destinationModels: ReadonlyArray<DestinationModel>;
11
16
  convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
12
17
  private getReviewComments;
18
+ private collectThreadComments;
19
+ private getReadyForReviewEventDate;
20
+ private collectReviewThread;
13
21
  onProcessingComplete(): Promise<ReadonlyArray<DestinationRecord>>;
14
22
  getDiffStats(changeCounts?: ChangeCountDictionary): VcsDiffStats | undefined;
15
23
  private getBranchName;
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PullRequests = void 0;
4
+ exports.adoCommentNumber = adoCommentNumber;
5
+ exports.isTextComment = isTextComment;
6
+ exports.isDraftNowOff = isDraftNowOff;
4
7
  const faros_js_client_1 = require("faros-js-client");
5
8
  const azure_devops_1 = require("../common/azure-devops");
6
9
  const common_1 = require("../common/common");
@@ -8,12 +11,37 @@ const vcs_1 = require("../common/vcs");
8
11
  const common_2 = require("./common");
9
12
  const AZURE_WORKITEMS_SOURCE = 'Azure-Workitems';
10
13
  const BRANCH_REF_NAME_PREFIX = 'refs/heads/';
14
+ // ADO comment IDs are scoped within a thread (the first comment in every
15
+ // thread is id=1), so on their own they collide across threads of the same
16
+ // PR. We pack thread.id and comment.id into a single Long so that
17
+ // vcs_PullRequestComment's (pullRequest, number) primary key stays unique.
18
+ const ADO_COMMENT_ID_MULTIPLIER = 1_000_000;
19
+ function adoCommentNumber(threadId, commentId) {
20
+ return threadId * ADO_COMMENT_ID_MULTIPLIER + commentId;
21
+ }
22
+ function firstValidDate(...values) {
23
+ for (const value of values) {
24
+ const date = faros_js_client_1.Utils.toDate(value);
25
+ if (date && !Number.isNaN(date.getTime())) {
26
+ return date;
27
+ }
28
+ }
29
+ return undefined;
30
+ }
11
31
  // ADO thread comments carry a commentType field. The azure-devops-node-api
12
32
  // types define it as a numeric enum (CommentType), but after JSON
13
33
  // serialization through Airbyte the runtime value is the string name
14
34
  // (e.g. 'text', 'system', 'codeChange').
15
35
  function isTextComment(comment) {
16
- return comment.commentType === 'text';
36
+ const commentType = comment.commentType;
37
+ return commentType === 'text' || commentType === 'Text' || commentType === 1;
38
+ }
39
+ // ADO's CodeReviewIsDraftNowSet thread property reports the draft state after
40
+ // the toggle. '0' (draft now off) means the PR was published / made ready for
41
+ // review. After JSON serialization the value can arrive as a string or its
42
+ // numeric/boolean form, so accept all falsy representations.
43
+ function isDraftNowOff(value) {
44
+ return value === '0' || value === 0 || value === false || value === 'false';
17
45
  }
18
46
  function getPartialUserRecord(user) {
19
47
  if (common_1.Common.isEmail(user.uniqueName)) {
@@ -95,6 +123,7 @@ class PullRequests extends common_2.AzureReposConverter {
95
123
  this.destinationModels = [
96
124
  'vcs_PullRequest',
97
125
  'vcs_PullRequestReview',
126
+ 'vcs_PullRequestReviewRequest',
98
127
  'vcs_PullRequestComment',
99
128
  'tms_TaskPullRequestAssociation',
100
129
  ];
@@ -117,7 +146,7 @@ class PullRequests extends common_2.AzureReposConverter {
117
146
  };
118
147
  const res = [];
119
148
  this.reviewThreads.length = 0; // clear array
120
- const { maxThreadLastUpdatedDate, comments } = this.getReviewComments(pullRequestItem.threads, pullRequest);
149
+ const { maxThreadLastUpdatedDate, readyForReviewEventDate, comments } = this.getReviewComments(pullRequestItem.threads, pullRequest);
121
150
  res.push(...comments);
122
151
  const mergeCommitId = pullRequestItem.lastMergeCommit?.commitId;
123
152
  const mergeCommit = mergeCommitId
@@ -136,6 +165,9 @@ class PullRequests extends common_2.AzureReposConverter {
136
165
  if (author?.uid && !this.partialUserRecords[author.uid]) {
137
166
  this.partialUserRecords[author.uid] = author;
138
167
  }
168
+ const readyForReviewAt = pullRequestItem.isDraft
169
+ ? null
170
+ : (readyForReviewEventDate ?? faros_js_client_1.Utils.toDate(pullRequestItem.creationDate));
139
171
  const sourceBranchName = this.getBranchName(pullRequestItem.sourceRefName);
140
172
  const targetBranchName = this.getBranchName(pullRequestItem.targetRefName);
141
173
  const sourceBranch = this.branchCollector.collectBranch(sourceBranchName, repository);
@@ -146,7 +178,8 @@ class PullRequests extends common_2.AzureReposConverter {
146
178
  state: convertPullRequestState(pullRequestItem.status, mergeCommitId),
147
179
  htmlUrl: pullRequestItem.url,
148
180
  createdAt: faros_js_client_1.Utils.toDate(pullRequestItem.creationDate),
149
- updatedAt: maxThreadLastUpdatedDate ?? faros_js_client_1.Utils.toDate(pullRequestItem.creationDate),
181
+ readyForReviewAt,
182
+ updatedAt: firstValidDate(pullRequestItem.updatedAt, maxThreadLastUpdatedDate, pullRequestItem.creationDate),
150
183
  mergedAt: mergeCommitId ? faros_js_client_1.Utils.toDate(mergedAtRawDate) : undefined,
151
184
  closedAt: faros_js_client_1.Utils.toDate(pullRequestItem.closedDate),
152
185
  commentCount: (pullRequestItem.threads ?? []).flatMap((t) => (t.comments ?? []).filter(isTextComment)).length,
@@ -169,21 +202,37 @@ class PullRequests extends common_2.AzureReposConverter {
169
202
  const reviewerUser = reviewer?.uniqueName
170
203
  ? getPartialUserRecord(reviewer)
171
204
  : undefined;
172
- const reviewThread = this.reviewThreads.find((ts) => ts.reviewerUid === reviewer.uniqueName && ts.vote === reviewer.vote);
173
- res.push({
174
- model: 'vcs_PullRequestReview',
175
- record: {
176
- number: this.convertStringToNumber(reviewer.id),
177
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
178
- // @ts-ignore uid may not exist depending on canonical-models version
179
- uid: reviewer.id,
180
- htmlUrl: reviewer.url,
181
- state: convertPullRequestReviewState(reviewer.vote),
182
- submittedAt: reviewThread?.publishedDate,
183
- reviewer: reviewerUser ? { uid: reviewerUser.uid, source } : undefined,
184
- pullRequest,
185
- },
186
- });
205
+ const isPendingRequest = reviewer.vote === 0 && reviewer.hasDeclined !== true;
206
+ if (isPendingRequest) {
207
+ if (reviewerUser) {
208
+ res.push({
209
+ model: 'vcs_PullRequestReviewRequest',
210
+ record: {
211
+ pullRequest,
212
+ requestedReviewer: { uid: reviewerUser.uid, source },
213
+ },
214
+ });
215
+ }
216
+ }
217
+ else {
218
+ const reviewThread = this.reviewThreads.find((ts) => ts.reviewerUid === reviewer.uniqueName && ts.vote === reviewer.vote);
219
+ res.push({
220
+ model: 'vcs_PullRequestReview',
221
+ record: {
222
+ number: this.convertStringToNumber(reviewer.id),
223
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
224
+ // @ts-ignore uid may not exist depending on canonical-models version
225
+ uid: reviewer.id,
226
+ htmlUrl: reviewer.url,
227
+ state: convertPullRequestReviewState(reviewer.vote),
228
+ submittedAt: reviewThread?.publishedDate,
229
+ reviewer: reviewerUser
230
+ ? { uid: reviewerUser.uid, source }
231
+ : undefined,
232
+ pullRequest,
233
+ },
234
+ });
235
+ }
187
236
  if (reviewerUser?.uid && !this.partialUserRecords[reviewerUser.uid]) {
188
237
  this.partialUserRecords[reviewerUser.uid] = reviewerUser;
189
238
  }
@@ -208,46 +257,77 @@ class PullRequests extends common_2.AzureReposConverter {
208
257
  getReviewComments(threads, pullRequest) {
209
258
  const comments = [];
210
259
  let maxThreadLastUpdatedDate;
260
+ let readyForReviewEventDate;
211
261
  for (const thread of threads ?? []) {
212
- for (const comment of thread.comments ?? []) {
213
- if (!isTextComment(comment))
214
- continue;
215
- const author = getPartialUserRecord(comment.author);
216
- comments.push({
217
- model: 'vcs_PullRequestComment',
218
- record: {
219
- number: comment.id,
220
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
221
- // @ts-ignore uid may not exist depending on canonical-models version
222
- uid: comment.id.toString(),
223
- comment: faros_js_client_1.Utils.cleanAndTruncate(comment.content, common_2.MAX_DESCRIPTION_LENGTH),
224
- createdAt: faros_js_client_1.Utils.toDate(comment.publishedDate),
225
- updatedAt: faros_js_client_1.Utils.toDate(comment.lastUpdatedDate),
226
- author: { uid: author.uid, source: this.streamName.source },
227
- pullRequest,
228
- },
229
- });
262
+ comments.push(...this.collectThreadComments(thread, pullRequest));
263
+ const readyDate = this.getReadyForReviewEventDate(thread);
264
+ if (readyDate &&
265
+ (!readyForReviewEventDate || readyDate > readyForReviewEventDate)) {
266
+ readyForReviewEventDate = readyDate;
230
267
  }
231
- const properties = thread.properties ?? {};
232
- const vote = parseInt(properties['CodeReviewVoteResult']?.$value);
233
- const voteIdentityRef = properties['CodeReviewVotedByIdentity']?.$value;
234
- const voteIdentity = thread.identities?.[voteIdentityRef];
235
- if (Number.isInteger(vote) && voteIdentity?.uniqueName) {
236
- this.reviewThreads.push({
237
- reviewerUid: voteIdentity.uniqueName,
238
- vote,
239
- publishedDate: faros_js_client_1.Utils.toDate(thread.publishedDate),
240
- });
268
+ this.collectReviewThread(thread);
269
+ const lastUpdatedDate = thread.lastUpdatedDate
270
+ ? faros_js_client_1.Utils.toDate(thread.lastUpdatedDate)
271
+ : undefined;
272
+ if (lastUpdatedDate &&
273
+ (!maxThreadLastUpdatedDate || lastUpdatedDate > maxThreadLastUpdatedDate)) {
274
+ maxThreadLastUpdatedDate = lastUpdatedDate;
241
275
  }
242
- if (thread.lastUpdatedDate) {
243
- const lastUpdatedDate = faros_js_client_1.Utils.toDate(thread.lastUpdatedDate);
244
- if (!maxThreadLastUpdatedDate ||
245
- lastUpdatedDate > maxThreadLastUpdatedDate) {
246
- maxThreadLastUpdatedDate = lastUpdatedDate;
247
- }
276
+ }
277
+ return { maxThreadLastUpdatedDate, readyForReviewEventDate, comments };
278
+ }
279
+ // Build vcs_PullRequestComment records for a thread's text comments, also
280
+ // collecting each comment author into partialUserRecords (comment authors
281
+ // aren't always the PR author or a reviewer).
282
+ collectThreadComments(thread, pullRequest) {
283
+ const comments = [];
284
+ for (const comment of thread.comments ?? []) {
285
+ if (!isTextComment(comment))
286
+ continue;
287
+ const author = getPartialUserRecord(comment.author);
288
+ if (author.uid && !this.partialUserRecords[author.uid]) {
289
+ this.partialUserRecords[author.uid] = author;
248
290
  }
291
+ comments.push({
292
+ model: 'vcs_PullRequestComment',
293
+ record: {
294
+ number: adoCommentNumber(thread.id, comment.id),
295
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
296
+ // @ts-ignore uid may not exist depending on canonical-models version
297
+ uid: `${thread.id}:${comment.id}`,
298
+ comment: faros_js_client_1.Utils.cleanAndTruncate(comment.content, common_2.MAX_DESCRIPTION_LENGTH),
299
+ createdAt: faros_js_client_1.Utils.toDate(comment.publishedDate),
300
+ updatedAt: faros_js_client_1.Utils.toDate(comment.lastUpdatedDate),
301
+ author: { uid: author.uid, source: this.streamName.source },
302
+ pullRequest,
303
+ },
304
+ });
305
+ }
306
+ return comments;
307
+ }
308
+ // When the PR is published CodeReviewIsDraftNowSet is '0'; this thread's
309
+ // publishedDate is a ready-for-review event. Returns undefined otherwise.
310
+ getReadyForReviewEventDate(thread) {
311
+ const properties = thread.properties ?? {};
312
+ if (properties['CodeReviewThreadType']?.$value !== 'IsDraftUpdate' ||
313
+ !isDraftNowOff(properties['CodeReviewIsDraftNowSet']?.$value)) {
314
+ return undefined;
315
+ }
316
+ return faros_js_client_1.Utils.toDate(thread.publishedDate);
317
+ }
318
+ // Record a reviewer vote captured in a thread's CodeReviewVoteResult property.
319
+ collectReviewThread(thread) {
320
+ const properties = thread.properties ?? {};
321
+ const vote = parseInt(properties['CodeReviewVoteResult']?.$value);
322
+ const voteIdentityRef = properties['CodeReviewVotedByIdentity']?.$value;
323
+ const voteIdentity = thread.identities?.[voteIdentityRef];
324
+ if (Number.isInteger(vote) && voteIdentity?.uniqueName) {
325
+ this.reviewThreads.push({
326
+ reviewerUid: voteIdentity.uniqueName,
327
+ vote,
328
+ publishedDate: faros_js_client_1.Utils.toDate(thread.publishedDate),
329
+ });
249
330
  }
250
- return { maxThreadLastUpdatedDate, comments };
251
331
  }
252
332
  async onProcessingComplete() {
253
333
  const source = this.streamName.source;
@@ -1 +1 @@
1
- {"version":3,"file":"pull_requests.js","sourceRoot":"","sources":["../../../src/converters/azure-repos/pull_requests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull_requests.js","sourceRoot":"","sources":["../../../src/converters/azure-repos/pull_requests.ts"],"names":[],"mappings":"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"}