Skip to content

Commit 6bb6fd0

Browse files
reviewers are now optional since you can request teams as well as individuals (#381)
1 parent bb06364 commit 6bb6fd0

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

packages/functions/transform/src/merge-request-metrics.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -846,14 +846,14 @@ async function selectForgeUsers<K>(db: TransformDatabase, users: { key: K, userI
846846
break;
847847
case 'review_requested':
848848
const requestedReviewerId = (u.data as extract.ReviewRequestedEvent).requestedReviewerId;
849-
if (!uniqueUserQuery.has(requestedReviewerId)) {
849+
if (requestedReviewerId !== undefined && !uniqueUserQuery.has(requestedReviewerId)) {
850850
uniqueUserQuery.set(requestedReviewerId, requestedReviewerId);
851851
userQuery.push(eq(transformForgeUsers.externalId, requestedReviewerId));
852852
}
853853
break;
854854
case 'review_request_removed':
855-
const requestedReviewerRemovedId = (u.data as extract.ReviewRequestedEvent).requestedReviewerId;
856-
if (!uniqueUserQuery.has(requestedReviewerRemovedId)) {
855+
const requestedReviewerRemovedId = (u.data as extract.ReviewRequestRemovedEvent).requestedReviewerId;
856+
if (requestedReviewerRemovedId !== undefined && !uniqueUserQuery.has(requestedReviewerRemovedId)) {
857857
uniqueUserQuery.set(requestedReviewerRemovedId, requestedReviewerRemovedId);
858858
userQuery.push(eq(transformForgeUsers.externalId, requestedReviewerRemovedId));
859859
}
@@ -893,10 +893,12 @@ async function selectForgeUsers<K>(db: TransformDatabase, users: { key: K, userI
893893
userIdentifier = (u.data as extract.UnassignedEvent).assigneeId;
894894
break;
895895
case 'review_requested':
896-
userIdentifier = (u.data as extract.ReviewRequestedEvent).requestedReviewerId;
896+
const requestedReviewerId = (u.data as extract.ReviewRequestedEvent).requestedReviewerId;
897+
userIdentifier = requestedReviewerId === undefined ? null : requestedReviewerId;
897898
break;
898899
case 'review_request_removed':
899-
userIdentifier = (u.data as extract.ReviewRequestRemovedEvent).requestedReviewerId;
900+
const unrequestedReviewerId = (u.data as extract.ReviewRequestRemovedEvent).requestedReviewerId
901+
userIdentifier = unrequestedReviewerId === undefined ? null : unrequestedReviewerId;
900902
break;
901903
default:
902904
userIdentifier = null;

packages/schemas/extract/src/timeline-events.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,13 @@ export const CommittedEventSchema = z.object({
6565

6666

6767
export const ReviewRequestRemovedEventSchema = z.object({
68-
requestedReviewerId: z.number(),
69-
requestedReviewerName: z.string(),
68+
requestedReviewerId: z.number().optional(),
69+
requestedReviewerName: z.string().optional(),
7070
});
7171

7272
export const ReviewRequestedEventSchema = z.object({
73-
requestedReviewerId: z.number(),
74-
requestedReviewerName: z.string(),
73+
requestedReviewerId: z.number().optional(),
74+
requestedReviewerName: z.string().optional(),
7575
});
7676

7777
export const ReviewedEventSchema = z.object({

0 commit comments

Comments
 (0)