@knpkv/codecommit-core 0.5.1 → 0.7.0
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/AwsClient/AwsClientGated.d.ts +30 -0
- package/dist/AwsClient/AwsClientGated.d.ts.map +1 -0
- package/dist/AwsClient/AwsClientGated.js +111 -0
- package/dist/AwsClient/AwsClientGated.js.map +1 -0
- package/dist/AwsClient/createApprovalRule.d.ts +4 -0
- package/dist/AwsClient/createApprovalRule.d.ts.map +1 -0
- package/dist/AwsClient/createApprovalRule.js +17 -0
- package/dist/AwsClient/createApprovalRule.js.map +1 -0
- package/dist/AwsClient/deleteApprovalRule.d.ts +4 -0
- package/dist/AwsClient/deleteApprovalRule.d.ts.map +1 -0
- package/dist/AwsClient/deleteApprovalRule.js +16 -0
- package/dist/AwsClient/deleteApprovalRule.js.map +1 -0
- package/dist/AwsClient/getPullRequest.d.ts.map +1 -1
- package/dist/AwsClient/getPullRequest.js +34 -7
- package/dist/AwsClient/getPullRequest.js.map +1 -1
- package/dist/AwsClient/getPullRequests.d.ts +81 -1
- package/dist/AwsClient/getPullRequests.d.ts.map +1 -1
- package/dist/AwsClient/getPullRequests.js +123 -17
- package/dist/AwsClient/getPullRequests.js.map +1 -1
- package/dist/AwsClient/index.d.ts +13 -1
- package/dist/AwsClient/index.d.ts.map +1 -1
- package/dist/AwsClient/index.js +16 -1
- package/dist/AwsClient/index.js.map +1 -1
- package/dist/AwsClient/internal.d.ts +63 -1
- package/dist/AwsClient/internal.d.ts.map +1 -1
- package/dist/AwsClient/internal.js +37 -3
- package/dist/AwsClient/internal.js.map +1 -1
- package/dist/AwsClient/updateApprovalRule.d.ts +4 -0
- package/dist/AwsClient/updateApprovalRule.d.ts.map +1 -0
- package/dist/AwsClient/updateApprovalRule.js +17 -0
- package/dist/AwsClient/updateApprovalRule.js.map +1 -0
- package/dist/CacheService/Database.d.ts +4 -0
- package/dist/CacheService/Database.d.ts.map +1 -1
- package/dist/CacheService/Database.js +15 -1
- package/dist/CacheService/Database.js.map +1 -1
- package/dist/CacheService/EventsHub.d.ts +44 -4
- package/dist/CacheService/EventsHub.d.ts.map +1 -1
- package/dist/CacheService/EventsHub.js.map +1 -1
- package/dist/CacheService/diff.d.ts +17 -1
- package/dist/CacheService/diff.d.ts.map +1 -1
- package/dist/CacheService/diff.js +34 -0
- package/dist/CacheService/diff.js.map +1 -1
- package/dist/CacheService/index.d.ts +5 -1
- package/dist/CacheService/index.d.ts.map +1 -1
- package/dist/CacheService/index.js +5 -1
- package/dist/CacheService/index.js.map +1 -1
- package/dist/CacheService/migrations/0011_audit_log.d.ts +5 -0
- package/dist/CacheService/migrations/0011_audit_log.d.ts.map +1 -0
- package/dist/CacheService/migrations/0011_audit_log.js +19 -0
- package/dist/CacheService/migrations/0011_audit_log.js.map +1 -0
- package/dist/CacheService/migrations/0012_audit_log_indexes.d.ts +5 -0
- package/dist/CacheService/migrations/0012_audit_log_indexes.d.ts.map +1 -0
- package/dist/CacheService/migrations/0012_audit_log_indexes.js +7 -0
- package/dist/CacheService/migrations/0012_audit_log_indexes.js.map +1 -0
- package/dist/CacheService/migrations/0013_approval_rules.d.ts +5 -0
- package/dist/CacheService/migrations/0013_approval_rules.d.ts.map +1 -0
- package/dist/CacheService/migrations/0013_approval_rules.js +4 -0
- package/dist/CacheService/migrations/0013_approval_rules.js.map +1 -0
- package/dist/CacheService/migrations/0014_approved_by_arns.d.ts +5 -0
- package/dist/CacheService/migrations/0014_approved_by_arns.d.ts.map +1 -0
- package/dist/CacheService/migrations/0014_approved_by_arns.js +4 -0
- package/dist/CacheService/migrations/0014_approved_by_arns.js.map +1 -0
- package/dist/CacheService/migrations/0015_repo_account_id.d.ts +5 -0
- package/dist/CacheService/migrations/0015_repo_account_id.d.ts.map +1 -0
- package/dist/CacheService/migrations/0015_repo_account_id.js +4 -0
- package/dist/CacheService/migrations/0015_repo_account_id.js.map +1 -0
- package/dist/CacheService/repos/NotificationRepo.d.ts.map +1 -1
- package/dist/CacheService/repos/NotificationRepo.js +2 -2
- package/dist/CacheService/repos/NotificationRepo.js.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/index.d.ts +10 -0
- package/dist/CacheService/repos/PullRequestRepo/index.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/internal.d.ts +15 -0
- package/dist/CacheService/repos/PullRequestRepo/internal.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/internal.js +30 -4
- package/dist/CacheService/repos/PullRequestRepo/internal.js.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts +12 -2
- package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/mutations.js +21 -5
- package/dist/CacheService/repos/PullRequestRepo/mutations.js.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/queries.d.ts +9 -0
- package/dist/CacheService/repos/PullRequestRepo/queries.d.ts.map +1 -1
- package/dist/CacheService/repos/StatsRepo/internal.d.ts.map +1 -1
- package/dist/CacheService/repos/StatsRepo/internal.js +5 -4
- package/dist/CacheService/repos/StatsRepo/internal.js.map +1 -1
- package/dist/Domain.d.ts +106 -7
- package/dist/Domain.d.ts.map +1 -1
- package/dist/Domain.js +66 -6
- package/dist/Domain.js.map +1 -1
- package/dist/Errors.d.ts +14 -1
- package/dist/Errors.d.ts.map +1 -1
- package/dist/Errors.js +10 -0
- package/dist/Errors.js.map +1 -1
- package/dist/PRService/internal.d.ts +23 -0
- package/dist/PRService/internal.d.ts.map +1 -1
- package/dist/PRService/internal.js +20 -5
- package/dist/PRService/internal.js.map +1 -1
- package/dist/PRService/refreshFetch.d.ts +5 -1
- package/dist/PRService/refreshFetch.d.ts.map +1 -1
- package/dist/PRService/refreshFetch.js +15 -4
- package/dist/PRService/refreshFetch.js.map +1 -1
- package/dist/PRService/refreshSinglePR.d.ts +7 -0
- package/dist/PRService/refreshSinglePR.d.ts.map +1 -1
- package/dist/PRService/refreshSinglePR.js +16 -3
- package/dist/PRService/refreshSinglePR.js.map +1 -1
- package/dist/PermissionService/AuditLog.d.ts +63 -0
- package/dist/PermissionService/AuditLog.d.ts.map +1 -0
- package/dist/PermissionService/AuditLog.js +127 -0
- package/dist/PermissionService/AuditLog.js.map +1 -0
- package/dist/PermissionService/PermissionGate.d.ts +47 -0
- package/dist/PermissionService/PermissionGate.d.ts.map +1 -0
- package/dist/PermissionService/PermissionGate.js +14 -0
- package/dist/PermissionService/PermissionGate.js.map +1 -0
- package/dist/PermissionService/PermissionGateLive.d.ts +41 -0
- package/dist/PermissionService/PermissionGateLive.d.ts.map +1 -0
- package/dist/PermissionService/PermissionGateLive.js +83 -0
- package/dist/PermissionService/PermissionGateLive.js.map +1 -0
- package/dist/PermissionService/index.d.ts +39 -0
- package/dist/PermissionService/index.d.ts.map +1 -0
- package/dist/PermissionService/index.js +87 -0
- package/dist/PermissionService/index.js.map +1 -0
- package/dist/PermissionService/operations.d.ts +53 -0
- package/dist/PermissionService/operations.d.ts.map +1 -0
- package/dist/PermissionService/operations.js +51 -0
- package/dist/PermissionService/operations.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/Domain.js
CHANGED
|
@@ -1,9 +1,41 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Domain models for CodeCommit operations.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Provides branded types for compile-time ID safety, `Schema.Class` models
|
|
5
|
+
* with computed properties, and `Schema.Literal` enumerations. Central types
|
|
6
|
+
* include {@link PullRequest} (with approval rules, approver ARNs, and
|
|
7
|
+
* review detection), {@link ApprovalRule} (per-PR rule with pool members
|
|
8
|
+
* and satisfaction state), and {@link PersistentNotification} (including
|
|
9
|
+
* approval_requested and review_reminder types).
|
|
10
|
+
*
|
|
11
|
+
* **Mental model**
|
|
12
|
+
*
|
|
13
|
+
* - ApprovalRule: per-PR rule with pool members (normalized names) + raw ARNs
|
|
14
|
+
* - needsMyReview: standalone fn (not method) so it works with wire objects too
|
|
15
|
+
* - PersistentNotificationType: includes approval_requested, review_reminder
|
|
16
|
+
*
|
|
17
|
+
* **Gotchas**
|
|
18
|
+
*
|
|
19
|
+
* - ApprovalRule uses `Schema.Class`, but instances round-trip as plain objects
|
|
20
|
+
* through JSON without class instance checks
|
|
21
|
+
*
|
|
22
|
+
* **Common tasks**
|
|
23
|
+
*
|
|
24
|
+
* - Define approval rule: {@link ApprovalRule}
|
|
25
|
+
* - Check review needed: {@link needsMyReview}
|
|
26
|
+
* - PR console URL: {@link codecommitConsoleUrl}
|
|
27
|
+
* - Notification types: {@link PersistentNotificationType}
|
|
28
|
+
*
|
|
29
|
+
* **Quickstart**
|
|
30
|
+
*
|
|
31
|
+
* ```ts
|
|
32
|
+
* import { needsMyReview, PullRequest } from "./Domain.js"
|
|
33
|
+
*
|
|
34
|
+
* declare const pr: PullRequest
|
|
35
|
+
* if (needsMyReview(pr, "alice")) {
|
|
36
|
+
* console.log(`Review needed: ${pr.consoleUrl}`)
|
|
37
|
+
* }
|
|
38
|
+
* ```
|
|
7
39
|
*
|
|
8
40
|
* @category Domain
|
|
9
41
|
* @module
|
|
@@ -86,7 +118,22 @@ export const SandboxStatus = Schema.Literal("creating", "cloning", "starting", "
|
|
|
86
118
|
export class Account extends Schema.Class("Account")({
|
|
87
119
|
profile: AwsProfileName,
|
|
88
120
|
region: AwsRegion,
|
|
89
|
-
awsAccountId: Schema.optional(Schema.String)
|
|
121
|
+
awsAccountId: Schema.optional(Schema.String),
|
|
122
|
+
repoAccountId: Schema.optional(Schema.String)
|
|
123
|
+
}) {
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Approval rule attached to a pull request.
|
|
127
|
+
*
|
|
128
|
+
* @category Domain
|
|
129
|
+
*/
|
|
130
|
+
export class ApprovalRule extends Schema.Class("ApprovalRule")({
|
|
131
|
+
ruleName: Schema.String,
|
|
132
|
+
requiredApprovals: Schema.Number,
|
|
133
|
+
poolMembers: Schema.Array(Schema.String),
|
|
134
|
+
poolMemberArns: Schema.optionalWith(Schema.Array(Schema.String), { default: () => [] }),
|
|
135
|
+
satisfied: Schema.Boolean,
|
|
136
|
+
fromTemplate: Schema.optional(Schema.String)
|
|
90
137
|
}) {
|
|
91
138
|
}
|
|
92
139
|
/**
|
|
@@ -113,13 +160,26 @@ export class PullRequest extends Schema.Class("PullRequest")({
|
|
|
113
160
|
healthScore: Schema.optional(Schema.Number),
|
|
114
161
|
fetchedAt: Schema.optional(Schema.DateFromSelf),
|
|
115
162
|
approvedBy: Schema.Array(Schema.String),
|
|
163
|
+
approvedByArns: Schema.optionalWith(Schema.Array(Schema.String), { default: () => [] }),
|
|
116
164
|
commentedBy: Schema.Array(Schema.String),
|
|
117
|
-
filesChanged: Schema.optional(Schema.Number)
|
|
165
|
+
filesChanged: Schema.optional(Schema.Number),
|
|
166
|
+
approvalRules: Schema.optionalWith(Schema.Array(ApprovalRule), { default: () => [] })
|
|
118
167
|
}) {
|
|
119
168
|
get consoleUrl() {
|
|
120
169
|
return codecommitConsoleUrl(this.account.region, this.repositoryName, this.id);
|
|
121
170
|
}
|
|
122
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Check if a PR needs review from the given user.
|
|
174
|
+
* Standalone function so it works with both Schema.Class instances and plain wire objects.
|
|
175
|
+
*/
|
|
176
|
+
export const needsMyReview = (pr, currentUser) => {
|
|
177
|
+
if (!currentUser)
|
|
178
|
+
return false;
|
|
179
|
+
if (pr.approvedBy.includes(currentUser))
|
|
180
|
+
return false;
|
|
181
|
+
return pr.approvalRules.some((rule) => !rule.satisfied && rule.poolMembers.includes(currentUser));
|
|
182
|
+
};
|
|
123
183
|
export const codecommitConsoleUrl = (region, repo, prId) => `https://${region}.console.aws.amazon.com/codesuite/codecommit/repositories/${repo}/pull-requests/${prId}?region=${region}`;
|
|
124
184
|
/**
|
|
125
185
|
* Code sandbox instance for a pull request.
|
|
@@ -215,7 +275,7 @@ export const encodeCommentLocations = (locations) => locations.map((loc) => ({
|
|
|
215
275
|
// ---------------------------------------------------------------------------
|
|
216
276
|
// Persistent Notification Types
|
|
217
277
|
// ---------------------------------------------------------------------------
|
|
218
|
-
export const PersistentNotificationType = Schema.Literal("new_comment", "comment_edited", "comment_deleted", "approval_changed", "merge_changed", "title_changed", "description_changed", "pr_merged", "pr_closed", "pr_reopened");
|
|
278
|
+
export const PersistentNotificationType = Schema.Literal("new_comment", "comment_edited", "comment_deleted", "approval_changed", "approval_requested", "review_reminder", "merge_changed", "title_changed", "description_changed", "pr_merged", "pr_closed", "pr_reopened");
|
|
219
279
|
export class PersistentNotification extends Schema.Class("PersistentNotification")({
|
|
220
280
|
id: Schema.Number,
|
|
221
281
|
pullRequestId: PullRequestId,
|
package/dist/Domain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Domain.js","sourceRoot":"","sources":["../src/Domain.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Domain.js","sourceRoot":"","sources":["../src/Domain.ts"],"names":[],"mappings":"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"}
|
package/dist/Errors.d.ts
CHANGED
|
@@ -146,6 +146,19 @@ declare const SandboxError_base: Schema.TaggedErrorClass<SandboxError, "SandboxE
|
|
|
146
146
|
*/
|
|
147
147
|
export declare class SandboxError extends SandboxError_base {
|
|
148
148
|
}
|
|
149
|
+
declare const PermissionDeniedError_base: Schema.TaggedErrorClass<PermissionDeniedError, "PermissionDeniedError", {
|
|
150
|
+
readonly _tag: Schema.tag<"PermissionDeniedError">;
|
|
151
|
+
} & {
|
|
152
|
+
operation: typeof Schema.String;
|
|
153
|
+
reason: Schema.Literal<["denied", "timeout"]>;
|
|
154
|
+
}>;
|
|
155
|
+
/**
|
|
156
|
+
* API call blocked by permission gate.
|
|
157
|
+
*
|
|
158
|
+
* @category Errors
|
|
159
|
+
*/
|
|
160
|
+
export declare class PermissionDeniedError extends PermissionDeniedError_base {
|
|
161
|
+
}
|
|
149
162
|
/**
|
|
150
163
|
* Union of errors from AwsClient methods.
|
|
151
164
|
*
|
|
@@ -157,6 +170,6 @@ export type AwsClientError = AwsCredentialError | AwsThrottleError | AwsApiError
|
|
|
157
170
|
*
|
|
158
171
|
* @category Errors
|
|
159
172
|
*/
|
|
160
|
-
export type CodeCommitError = AwsCredentialError | AwsThrottleError | AwsApiError | ConfigError | ConfigParseError | ProfileDetectionError | RefreshError | DockerError | SandboxError;
|
|
173
|
+
export type CodeCommitError = AwsCredentialError | AwsThrottleError | AwsApiError | ConfigError | ConfigParseError | ProfileDetectionError | RefreshError | DockerError | SandboxError | PermissionDeniedError;
|
|
161
174
|
export {};
|
|
162
175
|
//# sourceMappingURL=Errors.d.ts.map
|
package/dist/Errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;;;;;;;;AAG/B;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,uBAOvC;CAAG;;;;;;;;AAEJ;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,qBAOrC;CAAG;;;;;;;;;AAEJ;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,gBAQhC;CAAG;;;;;;;AAEJ;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,gBAMhC;CAAG;;;;;;;AAEJ;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,qBAMrC;CAAG;;;;;;;AAEJ;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,0BAM1C;CAAG;;;;;;;AAEJ;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,iBAMjC;CAAG;;;;;;;AAEJ;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,gBAMhC;CAAG;;;;;;;;AAEJ;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,iBAOjC;CAAG;AAEJ;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,WAAW,CAAA;AAEhF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB,kBAAkB,GAClB,gBAAgB,GAChB,WAAW,GACX,WAAW,GACX,gBAAgB,GAChB,qBAAqB,GACrB,YAAY,GACZ,WAAW,GACX,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;;;;;;;;AAG/B;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,uBAOvC;CAAG;;;;;;;;AAEJ;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,qBAOrC;CAAG;;;;;;;;;AAEJ;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,gBAQhC;CAAG;;;;;;;AAEJ;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,gBAMhC;CAAG;;;;;;;AAEJ;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,qBAMrC;CAAG;;;;;;;AAEJ;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,0BAM1C;CAAG;;;;;;;AAEJ;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,iBAMjC;CAAG;;;;;;;AAEJ;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,gBAMhC;CAAG;;;;;;;;AAEJ;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,iBAOjC;CAAG;;;;;;;AAEJ;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,0BAM1C;CAAG;AAEJ;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,WAAW,CAAA;AAEhF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB,kBAAkB,GAClB,gBAAgB,GAChB,WAAW,GACX,WAAW,GACX,gBAAgB,GAChB,qBAAqB,GACrB,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,qBAAqB,CAAA"}
|
package/dist/Errors.js
CHANGED
|
@@ -120,4 +120,14 @@ export class SandboxError extends Schema.TaggedError()("SandboxError", {
|
|
|
120
120
|
cause: Schema.optional(Schema.Defect)
|
|
121
121
|
}) {
|
|
122
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* API call blocked by permission gate.
|
|
125
|
+
*
|
|
126
|
+
* @category Errors
|
|
127
|
+
*/
|
|
128
|
+
export class PermissionDeniedError extends Schema.TaggedError()("PermissionDeniedError", {
|
|
129
|
+
operation: Schema.String,
|
|
130
|
+
reason: Schema.Literal("denied", "timeout")
|
|
131
|
+
}) {
|
|
132
|
+
}
|
|
123
133
|
//# sourceMappingURL=Errors.js.map
|
package/dist/Errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Errors.js","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAElE;;;;GAIG;AACH,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAC9E,oBAAoB,EACpB;IACE,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CACF;CAAG;AAEJ;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAC1E,kBAAkB,EAClB;IACE,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,UAAU,EAAE,MAAM,CAAC,MAAM;IACzB,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CACF;CAAG;AAEJ;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,MAAM,CAAC,WAAW,EAAe,CAChE,aAAa,EACb;IACE,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CACF;CAAG;AAEJ;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,MAAM,CAAC,WAAW,EAAe,CAChE,aAAa,EACb;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACtC,CACF;CAAG;AAEJ;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAC1E,kBAAkB,EAClB;IACE,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CACF;CAAG;AAEJ;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,WAAW,EAAyB,CACpF,uBAAuB,EACvB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACtC,CACF;CAAG;AAEJ;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,WAAW,EAAgB,CAClE,cAAc,EACd;IACE,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACtC,CACF;CAAG;AAEJ;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,MAAM,CAAC,WAAW,EAAe,CAChE,aAAa,EACb;IACE,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACtC,CACF;CAAG;AAEJ;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,WAAW,EAAgB,CAClE,cAAc,EACd;IACE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACtC,CACF;CAAG"}
|
|
1
|
+
{"version":3,"file":"Errors.js","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAElE;;;;GAIG;AACH,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAC9E,oBAAoB,EACpB;IACE,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CACF;CAAG;AAEJ;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAC1E,kBAAkB,EAClB;IACE,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,UAAU,EAAE,MAAM,CAAC,MAAM;IACzB,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CACF;CAAG;AAEJ;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,MAAM,CAAC,WAAW,EAAe,CAChE,aAAa,EACb;IACE,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CACF;CAAG;AAEJ;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,MAAM,CAAC,WAAW,EAAe,CAChE,aAAa,EACb;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACtC,CACF;CAAG;AAEJ;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAC1E,kBAAkB,EAClB;IACE,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CACF;CAAG;AAEJ;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,WAAW,EAAyB,CACpF,uBAAuB,EACvB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACtC,CACF;CAAG;AAEJ;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,WAAW,EAAgB,CAClE,cAAc,EACd;IACE,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACtC,CACF;CAAG;AAEJ;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,MAAM,CAAC,WAAW,EAAe,CAChE,aAAa,EACb;IACE,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACtC,CACF;CAAG;AAEJ;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,WAAW,EAAgB,CAClE,cAAc,EACd;IACE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACtC,CACF;CAAG;AAEJ;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,WAAW,EAAyB,CACpF,uBAAuB,EACvB;IACE,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC;CAC5C,CACF;CAAG"}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* PRService internal transforms and helpers.
|
|
3
|
+
*
|
|
4
|
+
* Provides bidirectional Schema transforms between cache rows, domain objects,
|
|
5
|
+
* and SQL upsert inputs: {@link CachedPRToPullRequest} (cache row → PullRequest,
|
|
6
|
+
* including repoAccountId on Account), {@link PullRequestToUpsertInput}
|
|
7
|
+
* (PullRequest → UpsertInput), and {@link prToUpsertInput} (convenience
|
|
8
|
+
* wrapper that ensures approvalRules is always present). Also provides
|
|
9
|
+
* {@link countAllComments} for flattening comment thread trees.
|
|
10
|
+
*
|
|
2
11
|
* @internal
|
|
3
12
|
*/
|
|
4
13
|
import type { SubscriptionRef } from "effect";
|
|
@@ -9,6 +18,7 @@ export type PRState = SubscriptionRef.SubscriptionRef<AppState>;
|
|
|
9
18
|
export declare const CachedPRToPullRequest: Schema.transform<Schema.SchemaClass<{
|
|
10
19
|
readonly link: string;
|
|
11
20
|
readonly awsAccountId: string;
|
|
21
|
+
readonly repoAccountId: string | null;
|
|
12
22
|
readonly id: string & import("effect/Brand").Brand<"PullRequestId">;
|
|
13
23
|
readonly title: string;
|
|
14
24
|
readonly author: string;
|
|
@@ -25,7 +35,9 @@ export declare const CachedPRToPullRequest: Schema.transform<Schema.SchemaClass<
|
|
|
25
35
|
readonly healthScore: number | null;
|
|
26
36
|
readonly fetchedAt: string;
|
|
27
37
|
readonly approvedBy: readonly string[];
|
|
38
|
+
readonly approvedByArns: readonly string[];
|
|
28
39
|
readonly commentedBy: readonly string[];
|
|
40
|
+
readonly approvalRules: readonly import("../Domain.js").ApprovalRule[];
|
|
29
41
|
readonly mergedBy: string | null;
|
|
30
42
|
readonly accountProfile: string & import("effect/Brand").Brand<"AwsProfileName">;
|
|
31
43
|
readonly accountRegion: string & import("effect/Brand").Brand<"AwsRegion">;
|
|
@@ -36,6 +48,7 @@ export declare const CachedPRToPullRequest: Schema.transform<Schema.SchemaClass<
|
|
|
36
48
|
}, {
|
|
37
49
|
readonly link: string;
|
|
38
50
|
readonly awsAccountId: string;
|
|
51
|
+
readonly repoAccountId: string | null;
|
|
39
52
|
readonly id: string & import("effect/Brand").Brand<"PullRequestId">;
|
|
40
53
|
readonly title: string;
|
|
41
54
|
readonly author: string;
|
|
@@ -52,7 +65,9 @@ export declare const CachedPRToPullRequest: Schema.transform<Schema.SchemaClass<
|
|
|
52
65
|
readonly healthScore: number | null;
|
|
53
66
|
readonly fetchedAt: string;
|
|
54
67
|
readonly approvedBy: readonly string[];
|
|
68
|
+
readonly approvedByArns: readonly string[];
|
|
55
69
|
readonly commentedBy: readonly string[];
|
|
70
|
+
readonly approvalRules: readonly import("../Domain.js").ApprovalRule[];
|
|
56
71
|
readonly mergedBy: string | null;
|
|
57
72
|
readonly accountProfile: string & import("effect/Brand").Brand<"AwsProfileName">;
|
|
58
73
|
readonly accountRegion: string & import("effect/Brand").Brand<"AwsRegion">;
|
|
@@ -64,6 +79,7 @@ export declare const CachedPRToPullRequest: Schema.transform<Schema.SchemaClass<
|
|
|
64
79
|
export declare const decodeCachedPR: (i: {
|
|
65
80
|
readonly link: string;
|
|
66
81
|
readonly awsAccountId: string;
|
|
82
|
+
readonly repoAccountId: string | null;
|
|
67
83
|
readonly id: string & import("effect/Brand").Brand<"PullRequestId">;
|
|
68
84
|
readonly title: string;
|
|
69
85
|
readonly author: string;
|
|
@@ -80,7 +96,9 @@ export declare const decodeCachedPR: (i: {
|
|
|
80
96
|
readonly healthScore: number | null;
|
|
81
97
|
readonly fetchedAt: string;
|
|
82
98
|
readonly approvedBy: readonly string[];
|
|
99
|
+
readonly approvedByArns: readonly string[];
|
|
83
100
|
readonly commentedBy: readonly string[];
|
|
101
|
+
readonly approvalRules: readonly import("../Domain.js").ApprovalRule[];
|
|
84
102
|
readonly mergedBy: string | null;
|
|
85
103
|
readonly accountProfile: string & import("effect/Brand").Brand<"AwsProfileName">;
|
|
86
104
|
readonly accountRegion: string & import("effect/Brand").Brand<"AwsRegion">;
|
|
@@ -92,6 +110,7 @@ export declare const decodeCachedPR: (i: {
|
|
|
92
110
|
export declare const PullRequestToUpsertInput: Schema.transform<Schema.Struct<{
|
|
93
111
|
id: typeof Schema.String;
|
|
94
112
|
awsAccountId: typeof Schema.String;
|
|
113
|
+
repoAccountId: Schema.NullOr<typeof Schema.String>;
|
|
95
114
|
accountProfile: typeof Schema.String;
|
|
96
115
|
accountRegion: typeof Schema.String;
|
|
97
116
|
title: typeof Schema.String;
|
|
@@ -108,6 +127,10 @@ export declare const PullRequestToUpsertInput: Schema.transform<Schema.Struct<{
|
|
|
108
127
|
commentCount: Schema.NullOr<typeof Schema.Number>;
|
|
109
128
|
link: typeof Schema.String;
|
|
110
129
|
approvedBy: Schema.Array$<typeof Schema.String>;
|
|
130
|
+
approvedByArns: Schema.Array$<typeof Schema.String>;
|
|
131
|
+
approvalRules: Schema.optionalWith<Schema.Array$<typeof import("../Domain.js").ApprovalRule>, {
|
|
132
|
+
default: () => never[];
|
|
133
|
+
}>;
|
|
111
134
|
}>, typeof PullRequest>;
|
|
112
135
|
export declare const prToUpsertInput: (pr: PullRequest, awsAccountId: string) => UpsertInput;
|
|
113
136
|
export declare const countAllComments: (locations: ReadonlyArray<PRCommentLocation>) => number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/PRService/internal.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/PRService/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAqB,WAAW,EAAE,MAAM,gDAAgD,CAAA;AAC/F,OAAO,EAAE,KAAK,QAAQ,EAAsB,KAAK,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAErG,MAAM,MAAM,OAAO,GAAG,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;AAO/D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAkEjC,CAAA;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAA2C,CAAA;AAEtE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;uBA0DpC,CAAA;AAID,eAAO,MAAM,eAAe,GAAI,IAAI,WAAW,EAAE,cAAc,MAAM,KAAG,WAMtE,CAAA;AAKF,eAAO,MAAM,gBAAgB,GAAI,WAAW,aAAa,CAAC,iBAAiB,CAAC,KAAG,MAI5E,CAAA"}
|
|
@@ -19,7 +19,8 @@ export const CachedPRToPullRequest = Schema.transform(Schema.typeSchema(CachedPu
|
|
|
19
19
|
account: {
|
|
20
20
|
profile: row.accountProfile,
|
|
21
21
|
region: row.accountRegion,
|
|
22
|
-
awsAccountId: row.awsAccountId
|
|
22
|
+
awsAccountId: row.awsAccountId,
|
|
23
|
+
repoAccountId: row.repoAccountId ?? undefined
|
|
23
24
|
},
|
|
24
25
|
status: row.status,
|
|
25
26
|
sourceBranch: row.sourceBranch,
|
|
@@ -30,12 +31,15 @@ export const CachedPRToPullRequest = Schema.transform(Schema.typeSchema(CachedPu
|
|
|
30
31
|
healthScore: row.healthScore ?? undefined,
|
|
31
32
|
fetchedAt: row.fetchedAt ? new Date(row.fetchedAt) : undefined,
|
|
32
33
|
approvedBy: row.approvedBy,
|
|
34
|
+
approvedByArns: row.approvedByArns,
|
|
33
35
|
commentedBy: row.commentedBy,
|
|
36
|
+
approvalRules: row.approvalRules,
|
|
34
37
|
filesChanged: sumFileChanges(row.filesAdded, row.filesModified, row.filesDeleted)
|
|
35
38
|
}),
|
|
36
39
|
encode: (_encoded, pr) => ({
|
|
37
40
|
id: pr.id,
|
|
38
41
|
awsAccountId: pr.account.awsAccountId ?? "",
|
|
42
|
+
repoAccountId: pr.account.repoAccountId ?? null,
|
|
39
43
|
accountProfile: pr.account.profile,
|
|
40
44
|
accountRegion: pr.account.region,
|
|
41
45
|
title: pr.title,
|
|
@@ -59,7 +63,9 @@ export const CachedPRToPullRequest = Schema.transform(Schema.typeSchema(CachedPu
|
|
|
59
63
|
closedAt: null,
|
|
60
64
|
mergedBy: null,
|
|
61
65
|
approvedBy: pr.approvedBy,
|
|
62
|
-
|
|
66
|
+
approvedByArns: pr.approvedByArns,
|
|
67
|
+
commentedBy: pr.commentedBy,
|
|
68
|
+
approvalRules: pr.approvalRules
|
|
63
69
|
})
|
|
64
70
|
});
|
|
65
71
|
export const decodeCachedPR = Schema.decodeSync(CachedPRToPullRequest);
|
|
@@ -77,7 +83,8 @@ export const PullRequestToUpsertInput = Schema.transform(UpsertInput, PullReques
|
|
|
77
83
|
account: {
|
|
78
84
|
profile: row.accountProfile,
|
|
79
85
|
region: row.accountRegion,
|
|
80
|
-
awsAccountId: row.awsAccountId
|
|
86
|
+
awsAccountId: row.awsAccountId,
|
|
87
|
+
repoAccountId: row.repoAccountId ?? undefined
|
|
81
88
|
},
|
|
82
89
|
status: row.status,
|
|
83
90
|
sourceBranch: row.sourceBranch,
|
|
@@ -88,12 +95,15 @@ export const PullRequestToUpsertInput = Schema.transform(UpsertInput, PullReques
|
|
|
88
95
|
healthScore: undefined,
|
|
89
96
|
fetchedAt: undefined,
|
|
90
97
|
approvedBy: row.approvedBy,
|
|
98
|
+
approvedByArns: row.approvedByArns,
|
|
99
|
+
approvalRules: row.approvalRules ?? [],
|
|
91
100
|
commentedBy: [],
|
|
92
101
|
filesChanged: undefined
|
|
93
102
|
}),
|
|
94
103
|
encode: (_encoded, pr) => ({
|
|
95
104
|
id: pr.id,
|
|
96
105
|
awsAccountId: pr.account.awsAccountId ?? "",
|
|
106
|
+
repoAccountId: pr.account.repoAccountId ?? null,
|
|
97
107
|
accountProfile: pr.account.profile,
|
|
98
108
|
accountRegion: pr.account.region,
|
|
99
109
|
title: pr.title,
|
|
@@ -109,13 +119,18 @@ export const PullRequestToUpsertInput = Schema.transform(UpsertInput, PullReques
|
|
|
109
119
|
isApproved: pr.isApproved ? 1 : 0,
|
|
110
120
|
commentCount: pr.commentCount ?? null,
|
|
111
121
|
link: pr.link,
|
|
112
|
-
approvedBy: pr.approvedBy
|
|
122
|
+
approvedBy: pr.approvedBy,
|
|
123
|
+
approvedByArns: pr.approvedByArns,
|
|
124
|
+
approvalRules: pr.approvalRules
|
|
113
125
|
})
|
|
114
126
|
});
|
|
115
127
|
const encodePRToUpsert = Schema.encodeSync(PullRequestToUpsertInput);
|
|
116
128
|
export const prToUpsertInput = (pr, awsAccountId) => ({
|
|
117
129
|
...encodePRToUpsert(pr),
|
|
118
|
-
awsAccountId
|
|
130
|
+
awsAccountId,
|
|
131
|
+
// Explicit: encodePRToUpsert's Encoded type makes approvalRules optional (Schema.optionalWith default),
|
|
132
|
+
// but UpsertInput.Type requires it. Guarantee it's always present.
|
|
133
|
+
approvalRules: pr.approvalRules
|
|
119
134
|
});
|
|
120
135
|
const countThreadComments = (thread) => 1 + thread.replies.reduce((sum, r) => sum + countThreadComments(r), 0);
|
|
121
136
|
export const countAllComments = (locations) => locations.reduce((sum, loc) => sum + loc.comments.reduce((s, t) => s + countThreadComments(t), 0), 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/PRService/internal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/PRService/internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* Phase 3 of the PR refresh cycle: streams PRs from AWS, diffs subscribed
|
|
3
|
+
* PRs against cache (field changes via {@link diffPR} and approval pool
|
|
4
|
+
* membership via {@link diffApprovalPools}), upserts to cache, and
|
|
5
|
+
* transitions stale OPEN PRs by re-fetching their status.
|
|
6
|
+
*
|
|
2
7
|
* @internal
|
|
3
|
-
* Phase 3: Stream PRs from AWS, diff subscribed PRs, upsert to cache.
|
|
4
8
|
*/
|
|
5
9
|
import { Effect, Ref } from "effect";
|
|
6
10
|
import { AwsClient } from "../AwsClient/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refreshFetch.d.ts","sourceRoot":"","sources":["../../src/PRService/refreshFetch.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"refreshFetch.d.ts","sourceRoot":"","sources":["../../src/PRService/refreshFetch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAS,MAAM,EAAU,GAAG,EAA2B,MAAM,QAAQ,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAGjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAA;AAoB7D,eAAO,MAAM,iBAAiB,GAAI,QAAQ;IACxC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;IACtD,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5C,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC,KAAG,MAAM,CAAC,MAAM,CACf,IAAI,EACJ,KAAK,EACL,SAAS,GAAG,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,CA+H/D,CAAA"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* Phase 3 of the PR refresh cycle: streams PRs from AWS, diffs subscribed
|
|
3
|
+
* PRs against cache (field changes via {@link diffPR} and approval pool
|
|
4
|
+
* membership via {@link diffApprovalPools}), upserts to cache, and
|
|
5
|
+
* transitions stale OPEN PRs by re-fetching their status.
|
|
6
|
+
*
|
|
2
7
|
* @internal
|
|
3
|
-
* Phase 3: Stream PRs from AWS, diff subscribed PRs, upsert to cache.
|
|
4
8
|
*/
|
|
5
9
|
import { Cause, Effect, Option, Ref, Stream, SubscriptionRef } from "effect";
|
|
6
10
|
import { AwsClient } from "../AwsClient/index.js";
|
|
7
|
-
import { diffPR } from "../CacheService/diff.js";
|
|
11
|
+
import { diffApprovalPools, diffPR } from "../CacheService/diff.js";
|
|
8
12
|
import { NotificationRepo } from "../CacheService/repos/NotificationRepo.js";
|
|
9
13
|
import { PullRequestRepo } from "../CacheService/repos/PullRequestRepo/index.js";
|
|
10
14
|
import { SubscriptionRepo } from "../CacheService/repos/SubscriptionRepo.js";
|
|
@@ -60,13 +64,18 @@ export const fetchAndUpsertPRs = (params) => Effect.gen(function* () {
|
|
|
60
64
|
const cached = yield* prRepo.findByAccountAndId(awsAccountId, pr.id).pipe(Effect.catchAll(() => Effect.succeed(Option.none())));
|
|
61
65
|
if (Option.isSome(cached)) {
|
|
62
66
|
const notifications = diffPR(cached.value, prToUpsertInput(pr, awsAccountId), awsAccountId);
|
|
63
|
-
|
|
67
|
+
const poolNotifications = diffApprovalPools(cached.value.approvalRules ?? [], pr.approvalRules, currentUser, pr.id, awsAccountId, pr.title, pr.account.profile);
|
|
68
|
+
yield* Effect.forEach([...notifications, ...poolNotifications], (n) => notificationRepo.add(n), {
|
|
69
|
+
discard: true
|
|
70
|
+
}).pipe(Effect.catchAll(() => Effect.void));
|
|
64
71
|
}
|
|
65
72
|
}
|
|
66
73
|
// Upsert to cache + auto-subscribe current user's PRs
|
|
67
74
|
if (awsAccountId) {
|
|
68
75
|
yield* prRepo.upsert(prToUpsertInput(pr, awsAccountId)).pipe(Effect.tapError((e) => Effect.logWarning("cache upsert error", e)), Effect.catchAll(() => Effect.void));
|
|
69
|
-
|
|
76
|
+
const isAuthor = currentUser && pr.author === currentUser;
|
|
77
|
+
const isApprover = currentUser && pr.approvalRules.some((r) => r.poolMembers.includes(currentUser));
|
|
78
|
+
if (isAuthor || isApprover) {
|
|
70
79
|
yield* subscriptionRepo.subscribe(awsAccountId, pr.id).pipe(Effect.catchAll(() => Effect.void));
|
|
71
80
|
yield* Ref.update(subscribedRef, (s) => new Set(s).add(`${awsAccountId}:${pr.id}`));
|
|
72
81
|
}
|
|
@@ -83,5 +92,7 @@ export const fetchAndUpsertPRs = (params) => Effect.gen(function* () {
|
|
|
83
92
|
pullRequestId: pr.id
|
|
84
93
|
})
|
|
85
94
|
.pipe(Effect.flatMap((detail) => resolveStaleStatus(prRepo, detail, pr.awsAccountId, pr.id)), Effect.catchAll(() => prRepo.deleteOne(pr.awsAccountId, pr.id)), Effect.catchAll(() => Effect.void)), { concurrency: 5, discard: true })), Effect.catchAll(() => Effect.void));
|
|
95
|
+
// Propagate repoAccountId from any PR that has it to all PRs that don't
|
|
96
|
+
yield* prRepo.propagateRepoAccountId().pipe(Effect.catchAll(() => Effect.void));
|
|
86
97
|
});
|
|
87
98
|
//# sourceMappingURL=refreshFetch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refreshFetch.js","sourceRoot":"","sources":["../../src/PRService/refreshFetch.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"refreshFetch.js","sourceRoot":"","sources":["../../src/PRService/refreshFetch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAE5E,OAAO,EAAgB,eAAe,EAAE,MAAM,eAAe,CAAA;AAE7D,qFAAqF;AACrF,MAAM,kBAAkB,GAAG,CACzB,MAAuB,EACvB,MAAyB,EACzB,YAAoB,EACpB,EAAU,EACV,EAAE,CACF,MAAM,CAAC,MAAM,KAAK,MAAM;IACtB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC;IACpC,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAC9B,YAAY,EACZ,EAAE,EACF,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,EACrC,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,UAAU,CAClB,CAAA;AAEL,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAOjC,EAIC,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAClC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,eAAe,CAAA;IACrC,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAA;IAChD,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAA;IAEhD,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;IAEnG,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACxG,KAAK,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,GAAG,CAAC;QACJ,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;KACvC,CAAC,CAAC,CAAA;IAEH,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAClD,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,GAAG,OAAO,CAAC,OAAO,KAAK,MAAM,GAAG,CAAA;QAC9C,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QAC5D,OAAO,SAAS,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CACzE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EACjD,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACpC,MAAM,QAAQ,GAAG,QAAQ,YAAY,KAAK;gBACxC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAChE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAA;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC7B,SAAS,EAAE,iBAAiB;gBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM;gBACN,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAA;YACF,MAAM,WAAW,GAAG,oDAAoD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACvF,OAAO,MAAM,CAAC,OAAO,CACnB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAClB,KAAK,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC;oBAChC,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,KAAK;oBACZ,OAAO;oBACP,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC3C,IAAI,WAAW,EAAE,CAAC;oBAChB,KAAK,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;gBAC7E,CAAC;YACH,CAAC,CAAC,CACH,CAAA;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CACH,CAAA;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CACtD,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,oCAAoC;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAChD,IAAI,YAAY,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,YAAY,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CACvE,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CACrD,CAAA;YACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,CAAA;gBAC3F,MAAM,iBAAiB,GAAG,iBAAiB,CACzC,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,EAChC,EAAE,CAAC,aAAa,EAChB,WAAW,EACX,EAAE,CAAC,EAAE,EACL,YAAY,EACZ,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,OAAO,CAAC,OAAO,CACnB,CAAA;gBACD,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBAC9F,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CACnC,CAAA;YACH,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAC1D,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAClE,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CACnC,CAAA;YACD,MAAM,QAAQ,GAAG,WAAW,IAAI,EAAE,CAAC,MAAM,KAAK,WAAW,CAAA;YACzD,MAAM,UAAU,GAAG,WAAW,IAAI,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAA;YACnG,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;gBAC3B,KAAK,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC/F,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;YACrF,CAAC;QACH,CAAC;QAED,KAAK,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3C,GAAG,CAAC;YACJ,YAAY,EAAE,GAAG,KAAK,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE;SACxD,CAAC,CAAC,CAAA;IACL,CAAC,CAAC,CACH,CACF,CAAA;IAED,6EAA6E;IAC7E,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,IAAI,CAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1B,MAAM,CAAC,OAAO,CACZ,QAAQ,EACR,CAAC,EAAE,EAAE,EAAE,CACL,SAAS;SACN,cAAc,CAAC;QACd,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,EAAE;QACjE,aAAa,EAAE,EAAE,CAAC,EAAE;KACrB,CAAC;SACD,IAAI,CACH,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EACtF,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAC/D,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CACnC,EACL,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAClC,CACF,EACD,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CACnC,CAAA;IAED,wEAAwE;IACxE,KAAK,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;AACjF,CAAC,CAAC,CAAA"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* Refreshes a single PR by ID (e.g. from webhook or manual refresh).
|
|
3
|
+
*
|
|
4
|
+
* Fetches fresh detail and comments from AWS, diffs against cache (field
|
|
5
|
+
* changes, approval pool membership, comment changes), emits notifications,
|
|
6
|
+
* and upserts the result. Uses `detail.repoAccountId` from getPullRequest
|
|
7
|
+
* with fallback to cached value.
|
|
8
|
+
*
|
|
2
9
|
* @internal
|
|
3
10
|
*/
|
|
4
11
|
import { Effect } from "effect";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refreshSinglePR.d.ts","sourceRoot":"","sources":["../../src/PRService/refreshSinglePR.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"refreshSinglePR.d.ts","sourceRoot":"","sources":["../../src/PRService/refreshSinglePR.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAS,MAAM,EAA2B,MAAM,QAAQ,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEzD,OAAO,EAAoB,KAAK,OAAO,EAAE,MAAM,eAAe,CAAA;AAqB9D,eAAO,MAAM,mBAAmB,GAC9B,OAAO,OAAO,wNAoHV,CAAA"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* Refreshes a single PR by ID (e.g. from webhook or manual refresh).
|
|
3
|
+
*
|
|
4
|
+
* Fetches fresh detail and comments from AWS, diffs against cache (field
|
|
5
|
+
* changes, approval pool membership, comment changes), emits notifications,
|
|
6
|
+
* and upserts the result. Uses `detail.repoAccountId` from getPullRequest
|
|
7
|
+
* with fallback to cached value.
|
|
8
|
+
*
|
|
2
9
|
* @internal
|
|
3
10
|
*/
|
|
4
11
|
import { Cause, Effect, Option, SubscriptionRef } from "effect";
|
|
5
12
|
import { AwsClient } from "../AwsClient/index.js";
|
|
6
|
-
import { diffComments, diffPR } from "../CacheService/diff.js";
|
|
13
|
+
import { diffApprovalPools, diffComments, diffPR } from "../CacheService/diff.js";
|
|
7
14
|
import { CommentRepo } from "../CacheService/repos/CommentRepo.js";
|
|
8
15
|
import { NotificationRepo } from "../CacheService/repos/NotificationRepo.js";
|
|
9
16
|
import { PullRequestRepo } from "../CacheService/repos/PullRequestRepo/index.js";
|
|
@@ -64,6 +71,7 @@ export const makeRefreshSinglePR = (state) => Effect.fn("PRService.refreshSingle
|
|
|
64
71
|
const freshUpsert = {
|
|
65
72
|
id: prId,
|
|
66
73
|
awsAccountId,
|
|
74
|
+
repoAccountId: detail.repoAccountId ?? cached?.repoAccountId ?? null,
|
|
67
75
|
accountProfile: account.profile,
|
|
68
76
|
accountRegion: account.region,
|
|
69
77
|
title: detail.title,
|
|
@@ -79,13 +87,18 @@ export const makeRefreshSinglePR = (state) => Effect.fn("PRService.refreshSingle
|
|
|
79
87
|
isApproved: cached ? (cached.isApproved ? 1 : 0) : detail.status === "MERGED" ? 1 : 0,
|
|
80
88
|
commentCount: countAllComments(locs),
|
|
81
89
|
link: cached?.link ?? pr?.link ?? codecommitConsoleUrl(account.region, detail.repositoryName, prId),
|
|
82
|
-
approvedBy:
|
|
90
|
+
approvedBy: detail.approvedBy,
|
|
91
|
+
approvedByArns: detail.approvedByArns,
|
|
92
|
+
approvalRules: detail.approvalRules
|
|
83
93
|
};
|
|
84
94
|
// Diff for subscribed PRs
|
|
85
95
|
const isSubscribed = yield* subscriptionRepo.isSubscribed(awsAccountId, prId).pipe(Effect.catchAll(() => Effect.succeed(false)));
|
|
86
96
|
if (isSubscribed && Option.isSome(cachedPR)) {
|
|
87
97
|
const prNotifications = diffPR(cachedPR.value, freshUpsert, awsAccountId);
|
|
88
|
-
|
|
98
|
+
const poolNotifications = diffApprovalPools(cachedPR.value.approvalRules ?? [], freshUpsert.approvalRules, currentState.currentUser, prId, awsAccountId, detail.title, account.profile);
|
|
99
|
+
yield* Effect.forEach([...prNotifications, ...poolNotifications], (n) => notificationRepo.add(n), {
|
|
100
|
+
discard: true
|
|
101
|
+
}).pipe(Effect.catchAll(() => Effect.void));
|
|
89
102
|
// Diff comments
|
|
90
103
|
const cachedComments = yield* commentRepo.find(awsAccountId, prId).pipe(Effect.catchAll(() => Effect.succeed(Option.none())));
|
|
91
104
|
if (Option.isSome(cachedComments)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refreshSinglePR.js","sourceRoot":"","sources":["../../src/PRService/refreshSinglePR.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"refreshSinglePR.js","sourceRoot":"","sources":["../../src/PRService/refreshSinglePR.ts"],"names":[],"mappings":"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"}
|