@knpkv/codecommit-core 0.14.0 → 0.16.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.
Files changed (135) hide show
  1. package/README.md +7 -3
  2. package/dist/CacheService/Database.d.ts +1 -1
  3. package/dist/CacheService/Database.d.ts.map +1 -1
  4. package/dist/CacheService/Database.js +12 -2
  5. package/dist/CacheService/Database.js.map +1 -1
  6. package/dist/CacheService/diff.d.ts +5 -2
  7. package/dist/CacheService/diff.d.ts.map +1 -1
  8. package/dist/CacheService/diff.js +31 -13
  9. package/dist/CacheService/diff.js.map +1 -1
  10. package/dist/CacheService/migrations/0017_sandbox_region.d.ts +5 -0
  11. package/dist/CacheService/migrations/0017_sandbox_region.d.ts.map +1 -0
  12. package/dist/CacheService/migrations/0017_sandbox_region.js +4 -0
  13. package/dist/CacheService/migrations/0017_sandbox_region.js.map +1 -0
  14. package/dist/CacheService/migrations/0018_pull_request_coordinates.d.ts +6 -0
  15. package/dist/CacheService/migrations/0018_pull_request_coordinates.d.ts.map +1 -0
  16. package/dist/CacheService/migrations/0018_pull_request_coordinates.js +82 -0
  17. package/dist/CacheService/migrations/0018_pull_request_coordinates.js.map +1 -0
  18. package/dist/CacheService/migrations/0019_dependent_pr_coordinates.d.ts +6 -0
  19. package/dist/CacheService/migrations/0019_dependent_pr_coordinates.d.ts.map +1 -0
  20. package/dist/CacheService/migrations/0019_dependent_pr_coordinates.js +57 -0
  21. package/dist/CacheService/migrations/0019_dependent_pr_coordinates.js.map +1 -0
  22. package/dist/CacheService/migrations/0020_notification_coordinates.d.ts +6 -0
  23. package/dist/CacheService/migrations/0020_notification_coordinates.d.ts.map +1 -0
  24. package/dist/CacheService/migrations/0020_notification_coordinates.js +22 -0
  25. package/dist/CacheService/migrations/0020_notification_coordinates.js.map +1 -0
  26. package/dist/CacheService/migrations/0021_sandbox_legacy_retirement.d.ts +6 -0
  27. package/dist/CacheService/migrations/0021_sandbox_legacy_retirement.d.ts.map +1 -0
  28. package/dist/CacheService/migrations/0021_sandbox_legacy_retirement.js +5 -0
  29. package/dist/CacheService/migrations/0021_sandbox_legacy_retirement.js.map +1 -0
  30. package/dist/CacheService/repos/CommentRepo.d.ts +6 -2
  31. package/dist/CacheService/repos/CommentRepo.d.ts.map +1 -1
  32. package/dist/CacheService/repos/CommentRepo.js +46 -7
  33. package/dist/CacheService/repos/CommentRepo.js.map +1 -1
  34. package/dist/CacheService/repos/NotificationRepo.d.ts +2 -0
  35. package/dist/CacheService/repos/NotificationRepo.d.ts.map +1 -1
  36. package/dist/CacheService/repos/NotificationRepo.js +10 -3
  37. package/dist/CacheService/repos/NotificationRepo.js.map +1 -1
  38. package/dist/CacheService/repos/PullRequestRepo/index.d.ts +42 -7
  39. package/dist/CacheService/repos/PullRequestRepo/index.d.ts.map +1 -1
  40. package/dist/CacheService/repos/PullRequestRepo/index.js +2 -0
  41. package/dist/CacheService/repos/PullRequestRepo/index.js.map +1 -1
  42. package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts +9 -5
  43. package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts.map +1 -1
  44. package/dist/CacheService/repos/PullRequestRepo/mutations.js +61 -17
  45. package/dist/CacheService/repos/PullRequestRepo/mutations.js.map +1 -1
  46. package/dist/CacheService/repos/PullRequestRepo/queries.d.ts +48 -4
  47. package/dist/CacheService/repos/PullRequestRepo/queries.d.ts.map +1 -1
  48. package/dist/CacheService/repos/PullRequestRepo/queries.js +40 -5
  49. package/dist/CacheService/repos/PullRequestRepo/queries.js.map +1 -1
  50. package/dist/CacheService/repos/SandboxRepo.d.ts +53 -1
  51. package/dist/CacheService/repos/SandboxRepo.d.ts.map +1 -1
  52. package/dist/CacheService/repos/SandboxRepo.js +55 -8
  53. package/dist/CacheService/repos/SandboxRepo.js.map +1 -1
  54. package/dist/CacheService/repos/StatsRepo/index.d.ts +3 -0
  55. package/dist/CacheService/repos/StatsRepo/index.d.ts.map +1 -1
  56. package/dist/CacheService/repos/StatsRepo/internal.d.ts +6 -0
  57. package/dist/CacheService/repos/StatsRepo/internal.d.ts.map +1 -1
  58. package/dist/CacheService/repos/StatsRepo/internal.js +5 -5
  59. package/dist/CacheService/repos/StatsRepo/internal.js.map +1 -1
  60. package/dist/CacheService/repos/StatsRepo/queries.d.ts +1 -0
  61. package/dist/CacheService/repos/StatsRepo/queries.d.ts.map +1 -1
  62. package/dist/CacheService/repos/StatsRepo/queries.js +5 -4
  63. package/dist/CacheService/repos/StatsRepo/queries.js.map +1 -1
  64. package/dist/CacheService/repos/StatsRepo/reviewerData.d.ts +2 -0
  65. package/dist/CacheService/repos/StatsRepo/reviewerData.d.ts.map +1 -1
  66. package/dist/CacheService/repos/StatsRepo/reviewerData.js +38 -15
  67. package/dist/CacheService/repos/StatsRepo/reviewerData.js.map +1 -1
  68. package/dist/CacheService/repos/SubscriptionRepo.d.ts +11 -5
  69. package/dist/CacheService/repos/SubscriptionRepo.d.ts.map +1 -1
  70. package/dist/CacheService/repos/SubscriptionRepo.js +106 -12
  71. package/dist/CacheService/repos/SubscriptionRepo.js.map +1 -1
  72. package/dist/ChildEnv.d.ts.map +1 -1
  73. package/dist/ChildEnv.js +1 -0
  74. package/dist/ChildEnv.js.map +1 -1
  75. package/dist/ConfigService/index.d.ts +1 -1
  76. package/dist/ConfigService/index.d.ts.map +1 -1
  77. package/dist/ConfigService/index.js +1 -1
  78. package/dist/ConfigService/index.js.map +1 -1
  79. package/dist/ConfigService/internal.d.ts +3 -3
  80. package/dist/ConfigService/load.d.ts +3 -3
  81. package/dist/ConfigService/reset.d.ts +3 -3
  82. package/dist/ConfigService/save.d.ts +3 -3
  83. package/dist/Domain.d.ts +1 -0
  84. package/dist/Domain.d.ts.map +1 -1
  85. package/dist/Domain.js +1 -0
  86. package/dist/Domain.js.map +1 -1
  87. package/dist/PRService/index.d.ts +15 -8
  88. package/dist/PRService/index.d.ts.map +1 -1
  89. package/dist/PRService/index.js +5 -5
  90. package/dist/PRService/index.js.map +1 -1
  91. package/dist/PRService/refreshDiffs.d.ts.map +1 -1
  92. package/dist/PRService/refreshDiffs.js +12 -3
  93. package/dist/PRService/refreshDiffs.js.map +1 -1
  94. package/dist/PRService/refreshEnrich.d.ts.map +1 -1
  95. package/dist/PRService/refreshEnrich.js +28 -11
  96. package/dist/PRService/refreshEnrich.js.map +1 -1
  97. package/dist/PRService/refreshFetch.d.ts.map +1 -1
  98. package/dist/PRService/refreshFetch.js +25 -13
  99. package/dist/PRService/refreshFetch.js.map +1 -1
  100. package/dist/PRService/refreshHistory.d.ts +1 -1
  101. package/dist/PRService/refreshHistory.d.ts.map +1 -1
  102. package/dist/PRService/refreshHistory.js +6 -4
  103. package/dist/PRService/refreshHistory.js.map +1 -1
  104. package/dist/PRService/refreshResolve.d.ts +4 -1
  105. package/dist/PRService/refreshResolve.d.ts.map +1 -1
  106. package/dist/PRService/refreshResolve.js +19 -6
  107. package/dist/PRService/refreshResolve.js.map +1 -1
  108. package/dist/PRService/refreshScore.d.ts.map +1 -1
  109. package/dist/PRService/refreshScore.js +4 -1
  110. package/dist/PRService/refreshScore.js.map +1 -1
  111. package/dist/PRService/refreshSinglePR.d.ts +9 -2
  112. package/dist/PRService/refreshSinglePR.d.ts.map +1 -1
  113. package/dist/PRService/refreshSinglePR.js +99 -33
  114. package/dist/PRService/refreshSinglePR.js.map +1 -1
  115. package/dist/ReviewProfile.d.ts +14 -12
  116. package/dist/ReviewProfile.d.ts.map +1 -1
  117. package/dist/ReviewProfile.js +10 -3
  118. package/dist/ReviewProfile.js.map +1 -1
  119. package/dist/SandboxService/DockerService.d.ts +4 -0
  120. package/dist/SandboxService/DockerService.d.ts.map +1 -1
  121. package/dist/SandboxService/DockerService.js +60 -16
  122. package/dist/SandboxService/DockerService.js.map +1 -1
  123. package/dist/SandboxService/SandboxService.d.ts +8 -0
  124. package/dist/SandboxService/SandboxService.d.ts.map +1 -1
  125. package/dist/SandboxService/SandboxService.js +459 -77
  126. package/dist/SandboxService/SandboxService.js.map +1 -1
  127. package/dist/SandboxService/SandboxWorkerScope.d.ts +6 -1
  128. package/dist/SandboxService/SandboxWorkerScope.d.ts.map +1 -1
  129. package/dist/SandboxService/SandboxWorkerScope.js +6 -2
  130. package/dist/SandboxService/SandboxWorkerScope.js.map +1 -1
  131. package/dist/StatsService/WeeklyStats.d.ts +7 -0
  132. package/dist/StatsService/WeeklyStats.d.ts.map +1 -1
  133. package/dist/StatsService/WeeklyStats.js +3 -0
  134. package/dist/StatsService/WeeklyStats.js.map +1 -1
  135. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CommentRepo.js","sourceRoot":"","sources":["../../../src/CacheService/repos/CommentRepo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommentRepo.js","sourceRoot":"","sources":["../../../src/CacheService/repos/CommentRepo.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ declare const NotificationRow: Schema.Struct<{
12
12
  readonly message: Schema.String;
13
13
  readonly title: Schema.String;
14
14
  readonly profile: Schema.String;
15
+ readonly repositoryName: Schema.String;
16
+ readonly accountRegion: Schema.String;
15
17
  readonly createdAt: Schema.String;
16
18
  readonly read: Schema.Number;
17
19
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationRepo.d.ts","sourceRoot":"","sources":["../../../src/CacheService/repos/NotificationRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAA;AAEvD,QAAA,MAAM,eAAe;;;;;;;;;;EAUnB,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AACzD,YAAY,EAAE,eAAe,EAAE,CAAA;AAM/B,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,CAAA;IAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B;AAiBD,QAAA,MAAM,oBAAoB;qBAyEL;QACf,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;QAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;KACnC,KAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,UAAU,CAAC;aAoB5C,eAAe;mBAET;QACb,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAC/B;mBAwBc,MAAM;qBAEJ,MAAM;;;0CAWzB,CAAA;AAEF,MAAM,WAAW,wBAAyB,SAAQ,OAAO,CAAC,OAAO,oBAAoB,CAAC;CAAG;;AAEzF,qBAAa,gBAAiB,SAAQ,qBAGf;IACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,wMAEtB;CACF"}
1
+ {"version":3,"file":"NotificationRepo.d.ts","sourceRoot":"","sources":["../../../src/CacheService/repos/NotificationRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAA;AAEvD,QAAA,MAAM,eAAe;;;;;;;;;;;;EAYnB,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AACzD,YAAY,EAAE,eAAe,EAAE,CAAA;AAM/B,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,CAAA;IAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B;AAiBD,QAAA,MAAM,oBAAoB;qBA4EL;QACf,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;QAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;KACnC,KAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,UAAU,CAAC;aAoB5C,eAAe;mBAET;QACb,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAC/B;mBAwBc,MAAM;qBAEJ,MAAM;;;0CAWzB,CAAA;AAEF,MAAM,WAAW,wBAAyB,SAAQ,OAAO,CAAC,OAAO,oBAAoB,CAAC;CAAG;;AAEzF,qBAAa,gBAAiB,SAAQ,qBAGf;IACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,wMAEtB;CACF"}
@@ -12,6 +12,8 @@ const NotificationRow = Schema.Struct({
12
12
  message: Schema.String,
13
13
  title: Schema.String,
14
14
  profile: Schema.String,
15
+ repositoryName: Schema.String,
16
+ accountRegion: Schema.String,
15
17
  createdAt: Schema.String,
16
18
  read: Schema.Number
17
19
  });
@@ -77,8 +79,13 @@ const makeNotificationRepo = Effect.gen(function* () {
77
79
  return sql `SELECT * FROM notifications WHERE id < ${req.cursor} ORDER BY id DESC LIMIT ${req.limit}`;
78
80
  }
79
81
  });
80
- const add_ = (n) => Clock.currentTimeMillis.pipe(Effect.flatMap((nowMs) => sql `INSERT INTO notifications (pull_request_id, aws_account_id, type, message, title, profile, created_at)
81
- VALUES (${n.pullRequestId}, ${n.awsAccountId}, ${n.type}, ${n.message}, ${n.title ?? ""}, ${n.profile ?? ""}, ${new Date(nowMs).toISOString()})`), Effect.asVoid);
82
+ const add_ = (n) => Clock.currentTimeMillis.pipe(Effect.flatMap((nowMs) => sql `INSERT INTO notifications (
83
+ pull_request_id, aws_account_id, type, message, title, profile,
84
+ repository_name, account_region, created_at
85
+ ) VALUES (
86
+ ${n.pullRequestId}, ${n.awsAccountId}, ${n.type}, ${n.message}, ${n.title ?? ""}, ${n.profile ?? ""},
87
+ ${n.repositoryName ?? ""}, ${n.accountRegion ?? ""}, ${new Date(nowMs).toISOString()}
88
+ )`), Effect.asVoid);
82
89
  const markRead_ = (id) => sql `UPDATE notifications SET read = 1 WHERE id = ${id}`.pipe(Effect.asVoid);
83
90
  const markUnread_ = (id) => sql `UPDATE notifications SET read = 0 WHERE id = ${id}`.pipe(Effect.asVoid);
84
91
  const markAllRead_ = () => sql `UPDATE notifications SET read = 1 WHERE read = 0`.pipe(Effect.asVoid);
@@ -105,7 +112,7 @@ const makeNotificationRepo = Effect.gen(function* () {
105
112
  title: n.title,
106
113
  profile: n.profile ?? ""
107
114
  }).pipe(Effect.tap(() => publish));
108
- if (!n.deduplicate) {
115
+ if (n.deduplicate !== true) {
109
116
  return insert.pipe(cacheError("addSystem"));
110
117
  }
111
118
  // Skip if an unread system notification with same profile+type already exists
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationRepo.js","sourceRoot":"","sources":["../../../src/CacheService/repos/NotificationRepo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NotificationRepo.js","sourceRoot":"","sources":["../../../src/CacheService/repos/NotificationRepo.ts"],"names":[],"mappings":"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"}
@@ -11,18 +11,20 @@ import { Context, Effect, Layer } from "effect";
11
11
  import type { Success } from "effect/Effect";
12
12
  import * as SqlClient from "effect/unstable/sql/SqlClient";
13
13
  import { EventsHub } from "../../EventsHub.js";
14
+ import * as Q from "./queries.js";
14
15
  export { CachedPullRequest, type SearchResult, UpsertInput } from "./internal.js";
15
16
  export type { CachedPullRequest as CachedPullRequestType } from "./internal.js";
17
+ export { PullRequestAmbiguityError } from "./queries.js";
16
18
  declare const makePullRequestRepo: Effect.Effect<{
17
19
  upsert: (input: import("./internal.js").UpsertInput) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
18
20
  upsertMany: (prs: ReadonlyArray<import("./internal.js").UpsertInput>) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
19
21
  deleteStale: (olderThan: string) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
20
22
  deleteStaleOpen: (olderThan: string) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
21
- deleteOne: (awsAccountId: string, id: string) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
22
- updateDiffStats: (awsAccountId: string, id: string, filesAdded: number, filesModified: number, filesDeleted: number) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
23
- updateStatusAndClosedAt: (awsAccountId: string, id: string, status: string, closedAt: string, mergedBy?: string, approvedBy?: ReadonlyArray<string>) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
24
- updateCommentCount: (awsAccountId: string, id: string, count: number | null) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
25
- updateHealthScore: (awsAccountId: string, id: string, score: number) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
23
+ deleteOne: (awsAccountId: string, id: string, coordinates?: import("./mutations.js").PullRequestCoordinates) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
24
+ updateDiffStats: (awsAccountId: string, id: string, filesAdded: number, filesModified: number, filesDeleted: number, coordinates?: import("./mutations.js").PullRequestCoordinates) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
25
+ updateStatusAndClosedAt: (awsAccountId: string, id: string, status: string, closedAt: string, mergedBy?: string, approvedBy?: ReadonlyArray<string>, coordinates?: import("./mutations.js").PullRequestCoordinates) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
26
+ updateCommentCount: (awsAccountId: string, id: string, count: number | null, coordinates?: import("./mutations.js").PullRequestCoordinates) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
27
+ updateHealthScore: (awsAccountId: string, id: string, score: number, coordinates?: import("./mutations.js").PullRequestCoordinates) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
26
28
  refreshCommentedBy: () => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
27
29
  propagateRepoAccountId: () => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
28
30
  findAll: () => Effect.Effect<{
@@ -87,7 +89,7 @@ declare const makePullRequestRepo: Effect.Effect<{
87
89
  readonly commentedBy: readonly string[];
88
90
  readonly approvalRules: readonly import("../../../Domain.ts").ApprovalRule[];
89
91
  }[], import("../../CacheError.ts").CacheError, never>;
90
- findByAccountAndId: (awsAccountId: string, id: string) => Effect.Effect<{
92
+ findByAccountAndId: (awsAccountId: string, id: string) => Effect.Effect<import("effect/Option").Option<{
91
93
  readonly id: string & import("effect/Brand").Brand<"PullRequestId">;
92
94
  readonly awsAccountId: string;
93
95
  readonly repoAccountId: string | null;
@@ -117,7 +119,38 @@ declare const makePullRequestRepo: Effect.Effect<{
117
119
  readonly approvedByArns: readonly string[];
118
120
  readonly commentedBy: readonly string[];
119
121
  readonly approvalRules: readonly import("../../../Domain.ts").ApprovalRule[];
120
- }, import("../../CacheError.ts").CacheError, never>;
122
+ }>, import("../../CacheError.ts").CacheError | Q.PullRequestAmbiguityError, never>;
123
+ findByCoordinates: (awsAccountId: string, id: string, repositoryName: string, accountRegion: string) => Effect.Effect<import("effect/Option").Option<{
124
+ readonly id: string & import("effect/Brand").Brand<"PullRequestId">;
125
+ readonly awsAccountId: string;
126
+ readonly repoAccountId: string | null;
127
+ readonly accountProfile: string;
128
+ readonly accountRegion: string;
129
+ readonly title: string;
130
+ readonly description: string | null;
131
+ readonly author: string;
132
+ readonly repositoryName: string & import("effect/Brand").Brand<"RepositoryName">;
133
+ readonly creationDate: Date;
134
+ readonly lastModifiedDate: Date;
135
+ readonly status: "CLOSED" | "MERGED" | "OPEN";
136
+ readonly sourceBranch: string;
137
+ readonly destinationBranch: string;
138
+ readonly isMergeable: boolean;
139
+ readonly isApproved: boolean;
140
+ readonly commentCount: number | null;
141
+ readonly healthScore: number | null;
142
+ readonly link: string;
143
+ readonly fetchedAt: string;
144
+ readonly filesAdded: number | null;
145
+ readonly filesModified: number | null;
146
+ readonly filesDeleted: number | null;
147
+ readonly closedAt: string | null;
148
+ readonly mergedBy: string | null;
149
+ readonly approvedBy: readonly string[];
150
+ readonly approvedByArns: readonly string[];
151
+ readonly commentedBy: readonly string[];
152
+ readonly approvalRules: readonly import("../../../Domain.ts").ApprovalRule[];
153
+ }>, import("../../CacheError.ts").CacheError, never>;
121
154
  search: (query: string, opts?: {
122
155
  readonly limit?: number;
123
156
  readonly offset?: number;
@@ -125,12 +158,14 @@ declare const makePullRequestRepo: Effect.Effect<{
125
158
  findStaleOpen: (olderThan: string) => Effect.Effect<{
126
159
  readonly id: string;
127
160
  readonly awsAccountId: string;
161
+ readonly repositoryName: string;
128
162
  readonly accountProfile: string & import("effect/Brand").Brand<"AwsProfileName">;
129
163
  readonly accountRegion: string & import("effect/Brand").Brand<"AwsRegion">;
130
164
  }[], import("../../CacheError.ts").CacheError, never>;
131
165
  findOpenInRange: (weekStart: string, weekEnd: string) => Effect.Effect<{
132
166
  readonly id: string;
133
167
  readonly awsAccountId: string;
168
+ readonly repositoryName: string;
134
169
  readonly accountProfile: string & import("effect/Brand").Brand<"AwsProfileName">;
135
170
  readonly accountRegion: string & import("effect/Brand").Brand<"AwsRegion">;
136
171
  }[], import("../../CacheError.ts").CacheError, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D,OAAO,EAAE,SAAS,EAAc,MAAM,oBAAoB,CAAA;AAI1D,OAAO,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACjF,YAAY,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/E,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAevB,CAAA;AAEF,MAAM,WAAW,uBAAwB,SAAQ,OAAO,CAAC,OAAO,mBAAmB,CAAC;CAAG;;AAEvF,qBAAa,eAAgB,SAAQ,oBAGf;IACpB,MAAM,CAAC,QAAQ,CAAC,OAAO,qOAEtB;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D,OAAO,EAAE,SAAS,EAAc,MAAM,oBAAoB,CAAA;AAE1D,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAEjC,OAAO,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACjF,YAAY,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAExD,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAgBvB,CAAA;AAEF,MAAM,WAAW,uBAAwB,SAAQ,OAAO,CAAC,OAAO,mBAAmB,CAAC;CAAG;;AAEvF,qBAAa,eAAgB,SAAQ,oBAGf;IACpB,MAAM,CAAC,QAAQ,CAAC,OAAO,qOAEtB;CACF"}
@@ -14,6 +14,7 @@ import { EventsHub, RepoChange } from "../../EventsHub.js";
14
14
  import { mutations } from "./mutations.js";
15
15
  import * as Q from "./queries.js";
16
16
  export { CachedPullRequest, UpsertInput } from "./internal.js";
17
+ export { PullRequestAmbiguityError } from "./queries.js";
17
18
  const makePullRequestRepo = Effect.gen(function* () {
18
19
  const sql = yield* SqlClient.SqlClient;
19
20
  const hub = yield* EventsHub;
@@ -22,6 +23,7 @@ const makePullRequestRepo = Effect.gen(function* () {
22
23
  findAll: Q.findAll(sql),
23
24
  findMissingDiffStats: Q.findMissingDiffStats(sql),
24
25
  findByAccountAndId: Q.findByAccountAndId(sql),
26
+ findByCoordinates: Q.findByCoordinates(sql),
25
27
  search: Q.search(sql),
26
28
  findStaleOpen: Q.findStaleOpen(sql),
27
29
  findOpenInRange: Q.findOpenInRange(sql),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAEjC,OAAO,EAAE,iBAAiB,EAAqB,WAAW,EAAE,MAAM,eAAe,CAAA;AAGjF,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAA;IACtC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAA;IAEtD,MAAM,OAAO,GAAG;QACd,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QACvB,oBAAoB,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC;QACjD,kBAAkB,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC;QAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QACrB,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC;QACnC,eAAe,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC;QACvC,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC;KAC3B,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAC,CAAA;AAIF,MAAM,OAAO,eAAgB,SAAQ,OAAO,CAAC,OAAO,EAGjD,CAAC,iBAAiB,CAAC;IACpB,MAAM,CAAU,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAC/E,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAC/D,CAAA;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAEjC,OAAO,EAAE,iBAAiB,EAAqB,WAAW,EAAE,MAAM,eAAe,CAAA;AAEjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAExD,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAA;IACtC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAA;IAEtD,MAAM,OAAO,GAAG;QACd,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QACvB,oBAAoB,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC;QACjD,kBAAkB,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC;QAC7C,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC;QAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QACrB,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC;QACnC,eAAe,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC;QACvC,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC;KAC3B,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAC,CAAA;AAIF,MAAM,OAAO,eAAgB,SAAQ,OAAO,CAAC,OAAO,EAGjD,CAAC,iBAAiB,CAAC;IACpB,MAAM,CAAU,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAC/E,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAC/D,CAAA;CACF"}
@@ -18,16 +18,20 @@
18
18
  import { Effect } from "effect";
19
19
  import type * as SqlClient from "effect/unstable/sql/SqlClient";
20
20
  import { UpsertInput } from "./internal.js";
21
+ export interface PullRequestCoordinates {
22
+ readonly repositoryName: string;
23
+ readonly accountRegion: string;
24
+ }
21
25
  export declare const mutations: (sql: SqlClient.SqlClient, publish: Effect.Effect<void>) => {
22
26
  upsert: (input: UpsertInput) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
23
27
  upsertMany: (prs: ReadonlyArray<UpsertInput>) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
24
28
  deleteStale: (olderThan: string) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
25
29
  deleteStaleOpen: (olderThan: string) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
26
- deleteOne: (awsAccountId: string, id: string) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
27
- updateDiffStats: (awsAccountId: string, id: string, filesAdded: number, filesModified: number, filesDeleted: number) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
28
- updateStatusAndClosedAt: (awsAccountId: string, id: string, status: string, closedAt: string, mergedBy?: string, approvedBy?: ReadonlyArray<string>) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
29
- updateCommentCount: (awsAccountId: string, id: string, count: number | null) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
30
- updateHealthScore: (awsAccountId: string, id: string, score: number) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
30
+ deleteOne: (awsAccountId: string, id: string, coordinates?: PullRequestCoordinates) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
31
+ updateDiffStats: (awsAccountId: string, id: string, filesAdded: number, filesModified: number, filesDeleted: number, coordinates?: PullRequestCoordinates) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
32
+ updateStatusAndClosedAt: (awsAccountId: string, id: string, status: string, closedAt: string, mergedBy?: string, approvedBy?: ReadonlyArray<string>, coordinates?: PullRequestCoordinates) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
33
+ updateCommentCount: (awsAccountId: string, id: string, count: number | null, coordinates?: PullRequestCoordinates) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
34
+ updateHealthScore: (awsAccountId: string, id: string, score: number, coordinates?: PullRequestCoordinates) => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
31
35
  refreshCommentedBy: () => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
32
36
  propagateRepoAccountId: () => Effect.Effect<void, import("../../CacheError.ts").CacheError, never>;
33
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/mutations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AACvC,OAAO,KAAK,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAG/D,OAAO,EAA8B,WAAW,EAAE,MAAM,eAAe,CAAA;AAEvE,eAAO,MAAM,SAAS,QAAS,SAAS,CAAC,SAAS,WAAW,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBAwD5D,WAAW;sBAET,aAAa,CAAC,WAAW,CAAC;6BAMnB,MAAM;iCAGF,MAAM;8BAGT,MAAM,MAAM,MAAM;oCAQ5B,MAAM,MAChB,MAAM,cACE,MAAM,iBACH,MAAM,gBACP,MAAM;4CAUN,MAAM,MAChB,MAAM,UACF,MAAM,YACJ,MAAM,aACL,MAAM,eACJ,aAAa,CAAC,MAAM,CAAC;uCAaD,MAAM,MAAM,MAAM,SAAS,MAAM,GAAG,IAAI;sCAQzC,MAAM,MAAM,MAAM,SAAS,MAAM;;;CAkDtE,CAAA"}
1
+ {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/mutations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AACvC,OAAO,KAAK,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAG/D,OAAO,EAA8B,WAAW,EAAE,MAAM,eAAe,CAAA;AAGvE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B;AAED,eAAO,MAAM,SAAS,QAAS,SAAS,CAAC,SAAS,WAAW,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBAqF5D,WAAW;sBAET,aAAa,CAAC,WAAW,CAAC;6BAMnB,MAAM;iCAGF,MAAM;8BAGT,MAAM,MAAM,MAAM,gBAAgB,sBAAsB;oCASlE,MAAM,MAChB,MAAM,cACE,MAAM,iBACH,MAAM,gBACP,MAAM,gBACN,sBAAsB;4CAatB,MAAM,MAChB,MAAM,UACF,MAAM,YACJ,MAAM,aACL,MAAM,eACJ,aAAa,CAAC,MAAM,CAAC,gBACpB,sBAAsB;uCAiBtB,MAAM,MAChB,MAAM,SACH,MAAM,GAAG,IAAI,gBACN,sBAAsB;sCAYJ,MAAM,MAAM,MAAM,SAAS,MAAM,gBAAgB,sBAAsB;;;CAuF5G,CAAA"}
@@ -19,13 +19,30 @@ import { Effect, Schema } from "effect";
19
19
  import * as SqlSchema from "effect/unstable/sql/SqlSchema";
20
20
  import { decodeCommentLocationJson } from "../commentLocations.js";
21
21
  import { cacheError, joinApprovedBy, UpsertInput } from "./internal.js";
22
+ import { PullRequestAmbiguityError } from "./queries.js";
22
23
  export const mutations = (sql, publish) => {
24
+ const countByLegacyIdentity_ = SqlSchema.findOne({
25
+ Result: Schema.Struct({ count: Schema.Number }),
26
+ Request: Schema.Struct({ awsAccountId: Schema.String, id: Schema.String }),
27
+ execute: (req) => sql `SELECT count(*) AS count FROM pull_requests
28
+ WHERE aws_account_id = ${req.awsAccountId} AND id = ${req.id}`
29
+ });
30
+ const ensureUnambiguous = (awsAccountId, id, coordinates) => coordinates !== undefined
31
+ ? Effect.void
32
+ : countByLegacyIdentity_({ awsAccountId, id }).pipe(Effect.flatMap(({ count }) => count > 1
33
+ ? Effect.fail(new PullRequestAmbiguityError({ awsAccountId, pullRequestId: id, matches: count }))
34
+ : Effect.void));
35
+ const pullRequestWhere = (awsAccountId, id, coordinates) => coordinates === undefined
36
+ ? sql `aws_account_id = ${awsAccountId} AND id = ${id}`
37
+ : sql `aws_account_id = ${awsAccountId} AND id = ${id}
38
+ AND repository_name = ${coordinates.repositoryName}
39
+ AND account_region = ${coordinates.accountRegion}`;
23
40
  const upsert_ = SqlSchema.void({
24
41
  Request: UpsertInput,
25
42
  execute: (req) => {
26
43
  const approvedByStr = joinApprovedBy(req.approvedBy);
27
44
  const approvedByArnsStr = joinApprovedBy(req.approvedByArns);
28
- const approvalRulesJson = req.approvalRules && req.approvalRules.length > 0
45
+ const approvalRulesJson = req.approvalRules !== undefined && req.approvalRules.length > 0
29
46
  ? JSON.stringify(req.approvalRules)
30
47
  : "[]";
31
48
  return sql `INSERT INTO pull_requests
@@ -38,7 +55,7 @@ export const mutations = (sql, publish) => {
38
55
  ${req.creationDate}, ${req.lastModifiedDate}, ${req.status},
39
56
  ${req.sourceBranch}, ${req.destinationBranch}, ${req.isMergeable}, ${req.isApproved},
40
57
  ${req.commentCount}, ${req.link}, ${approvedByStr}, ${approvedByArnsStr}, ${approvalRulesJson}, strftime('%Y-%m-%dT%H:%M:%SZ', 'now'))
41
- ON CONFLICT (aws_account_id, id) DO UPDATE SET
58
+ ON CONFLICT (aws_account_id, id, repository_name, account_region) DO UPDATE SET
42
59
  account_profile = excluded.account_profile,
43
60
  account_region = excluded.account_region,
44
61
  title = excluded.title,
@@ -53,7 +70,7 @@ export const mutations = (sql, publish) => {
53
70
  is_mergeable = excluded.is_mergeable,
54
71
  is_approved = excluded.is_approved,
55
72
  comment_count = COALESCE(excluded.comment_count, pull_requests.comment_count),
56
- health_score = COALESCE(excluded.health_score, pull_requests.health_score),
73
+ health_score = pull_requests.health_score,
57
74
  link = excluded.link,
58
75
  approved_by = COALESCE(excluded.approved_by, pull_requests.approved_by),
59
76
  approved_by_arns = COALESCE(excluded.approved_by_arns, pull_requests.approved_by_arns),
@@ -76,25 +93,47 @@ export const mutations = (sql, publish) => {
76
93
  upsertMany: (prs) => sql.withTransaction(Effect.forEach(prs, (pr) => upsert_(pr), { discard: true })).pipe(Effect.tap(() => publish), cacheError("upsertMany")),
77
94
  deleteStale: (olderThan) => deleteStale_({ olderThan }).pipe(Effect.tap(() => publish), cacheError("deleteStale")),
78
95
  deleteStaleOpen: (olderThan) => deleteStaleOpen_({ olderThan }).pipe(Effect.tap(() => publish), cacheError("deleteStaleOpen")),
79
- deleteOne: (awsAccountId, id) => sql `DELETE FROM pull_requests WHERE aws_account_id = ${awsAccountId} AND id = ${id}`.pipe(Effect.asVoid, Effect.tap(() => publish), cacheError("deleteOne")),
80
- updateDiffStats: (awsAccountId, id, filesAdded, filesModified, filesDeleted) => sql `UPDATE pull_requests SET files_added = ${filesAdded}, files_modified = ${filesModified}, files_deleted = ${filesDeleted}
81
- WHERE id = ${id} AND aws_account_id = ${awsAccountId}`.pipe(Effect.asVoid, Effect.tap(() => publish), cacheError("updateDiffStats")),
82
- updateStatusAndClosedAt: (awsAccountId, id, status, closedAt, mergedBy, approvedBy) => {
83
- const approvedByStr = approvedBy ? joinApprovedBy([...approvedBy]) : null;
84
- return sql `UPDATE pull_requests SET status = ${status}, closed_at = ${closedAt}, merged_by = ${mergedBy ?? null},
96
+ deleteOne: (awsAccountId, id, coordinates) => ensureUnambiguous(awsAccountId, id, coordinates).pipe(Effect.andThen(sql `DELETE FROM pull_requests WHERE ${pullRequestWhere(awsAccountId, id, coordinates)}`), Effect.asVoid, Effect.tap(() => publish), cacheError("deleteOne")),
97
+ updateDiffStats: (awsAccountId, id, filesAdded, filesModified, filesDeleted, coordinates) => ensureUnambiguous(awsAccountId, id, coordinates).pipe(Effect.andThen(sql `UPDATE pull_requests SET files_added = ${filesAdded}, files_modified = ${filesModified}, files_deleted = ${filesDeleted}
98
+ WHERE ${pullRequestWhere(awsAccountId, id, coordinates)}`), Effect.asVoid, Effect.tap(() => publish), cacheError("updateDiffStats")),
99
+ updateStatusAndClosedAt: (awsAccountId, id, status, closedAt, mergedBy, approvedBy, coordinates) => {
100
+ const approvedByStr = approvedBy !== undefined ? joinApprovedBy([...approvedBy]) : null;
101
+ return ensureUnambiguous(awsAccountId, id, coordinates).pipe(Effect.andThen(sql `UPDATE pull_requests SET status = ${status}, closed_at = ${closedAt}, merged_by = ${mergedBy ?? null},
85
102
  approved_by = COALESCE(${approvedByStr}, approved_by),
86
103
  last_modified_date = ${closedAt}
87
- WHERE id = ${id} AND aws_account_id = ${awsAccountId}`.pipe(Effect.asVoid, Effect.tap(() => publish), cacheError("updateStatusAndClosedAt"));
104
+ WHERE ${pullRequestWhere(awsAccountId, id, coordinates)}`), Effect.asVoid, Effect.tap(() => publish), cacheError("updateStatusAndClosedAt"));
88
105
  },
89
- updateCommentCount: (awsAccountId, id, count) => sql `UPDATE pull_requests SET comment_count = ${count}
90
- WHERE id = ${id} AND aws_account_id = ${awsAccountId}`.pipe(Effect.asVoid, Effect.tap(() => publish), cacheError("updateCommentCount")),
91
- updateHealthScore: (awsAccountId, id, score) => sql `UPDATE pull_requests SET health_score = ${score}
92
- WHERE id = ${id} AND aws_account_id = ${awsAccountId}`.pipe(Effect.asVoid, Effect.tap(() => publish), cacheError("updateHealthScore")),
106
+ updateCommentCount: (awsAccountId, id, count, coordinates) => ensureUnambiguous(awsAccountId, id, coordinates).pipe(Effect.andThen(sql `UPDATE pull_requests SET comment_count = ${count}
107
+ WHERE ${pullRequestWhere(awsAccountId, id, coordinates)}`), Effect.asVoid, Effect.tap(() => publish), cacheError("updateCommentCount")),
108
+ updateHealthScore: (awsAccountId, id, score, coordinates) => ensureUnambiguous(awsAccountId, id, coordinates).pipe(Effect.andThen(sql `UPDATE pull_requests SET health_score = ${score}
109
+ WHERE ${pullRequestWhere(awsAccountId, id, coordinates)}`), Effect.asVoid, Effect.tap(() => publish), cacheError("updateHealthScore")),
93
110
  refreshCommentedBy: () => sql.withTransaction(Effect.gen(function* () {
94
111
  const rows = yield* sql `
95
- SELECT c.aws_account_id, c.pull_request_id, p.author, c.locations_json
112
+ SELECT c.aws_account_id AS awsAccountId, c.pull_request_id AS pullRequestId,
113
+ p.repository_name AS repositoryName, p.account_region AS accountRegion,
114
+ p.author AS author, c.locations_json AS locationsJson
96
115
  FROM pr_comments c
97
- INNER JOIN pull_requests p ON p.id = c.pull_request_id AND p.aws_account_id = c.aws_account_id
116
+ INNER JOIN pull_requests p
117
+ ON p.id = c.pull_request_id
118
+ AND p.aws_account_id = c.aws_account_id
119
+ AND (
120
+ (p.repository_name = c.repository_name AND p.account_region = c.account_region)
121
+ OR (
122
+ c.repository_name = ''
123
+ AND c.account_region = ''
124
+ AND (
125
+ SELECT count(*) FROM pull_requests p2
126
+ WHERE p2.aws_account_id = c.aws_account_id AND p2.id = c.pull_request_id
127
+ ) = 1
128
+ AND NOT EXISTS (
129
+ SELECT 1 FROM pr_comments c2
130
+ WHERE c2.aws_account_id = c.aws_account_id
131
+ AND c2.pull_request_id = c.pull_request_id
132
+ AND c2.repository_name = p.repository_name
133
+ AND c2.account_region = p.account_region
134
+ )
135
+ )
136
+ )
98
137
  `;
99
138
  for (const row of rows) {
100
139
  const parsed = yield* decodeCommentLocationJson(row.locationsJson);
@@ -110,14 +149,19 @@ export const mutations = (sql, publish) => {
110
149
  walk(loc.comments);
111
150
  const commentedBy = commenters.size > 0 ? [...commenters].join(",") : null;
112
151
  yield* sql `UPDATE pull_requests SET commented_by = ${commentedBy}
113
- WHERE id = ${row.pullRequestId} AND aws_account_id = ${row.awsAccountId}`;
152
+ WHERE id = ${row.pullRequestId}
153
+ AND aws_account_id = ${row.awsAccountId}
154
+ AND repository_name = ${row.repositoryName}
155
+ AND account_region = ${row.accountRegion}`;
114
156
  }
115
157
  })).pipe(Effect.asVoid, cacheError("refreshCommentedBy")),
116
158
  propagateRepoAccountId: () => sql `UPDATE pull_requests
117
159
  SET repo_account_id = (
118
160
  SELECT p2.repo_account_id FROM pull_requests p2
119
161
  WHERE p2.repo_account_id IS NOT NULL
162
+ AND p2.aws_account_id = pull_requests.aws_account_id
120
163
  AND p2.repository_name = pull_requests.repository_name
164
+ AND p2.account_region = pull_requests.account_region
121
165
  LIMIT 1
122
166
  )
123
167
  WHERE repo_account_id IS NULL`.pipe(Effect.asVoid, cacheError("propagateRepoAccountId"))
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/mutations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/mutations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEvC,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAC1D,OAAO,EAA0B,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAC1F,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAOxD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAwB,EAAE,OAA4B,EAAE,EAAE;IAClF,MAAM,sBAAsB,GAAG,SAAS,CAAC,OAAO,CAAC;QAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC/C,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC1E,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,GAAG,CAAA;mCAC0B,GAAG,CAAC,YAAY,aAAa,GAAG,CAAC,EAAE,EAAE;KACrE,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAG,CAAC,YAAoB,EAAE,EAAU,EAAE,WAAoC,EAAE,EAAE,CACnG,WAAW,KAAK,SAAS;QACvB,CAAC,CAAC,MAAM,CAAC,IAAI;QACb,CAAC,CAAC,sBAAsB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CACjD,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAC3B,KAAK,GAAG,CAAC;YACP,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,yBAAyB,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACjG,CAAC,CAAC,MAAM,CAAC,IAAI,CAChB,CACF,CAAA;IAEL,MAAM,gBAAgB,GAAG,CACvB,YAAoB,EACpB,EAAU,EACV,WAAoC,EACpC,EAAE,CACF,WAAW,KAAK,SAAS;QACvB,CAAC,CAAC,GAAG,CAAA,oBAAoB,YAAY,aAAa,EAAE,EAAE;QACtD,CAAC,CAAC,GAAG,CAAA,oBAAoB,YAAY,aAAa,EAAE;gCAC1B,WAAW,CAAC,cAAc;+BAC3B,WAAW,CAAC,aAAa,EAAE,CAAA;IACxD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC;QAC7B,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACf,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACpD,MAAM,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YAC5D,MAAM,iBAAiB,GAAG,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;gBACvF,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;gBACnC,CAAC,CAAC,IAAI,CAAA;YACR,OAAO,GAAG,CAAA;;;;;kBAKE,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,aAAa,KAAK,GAAG,CAAC,cAAc,KAAK,GAAG,CAAC,aAAa;YACpG,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,cAAc;YACnE,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,gBAAgB,KAAK,GAAG,CAAC,MAAM;YACxD,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,iBAAiB,KAAK,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,UAAU;YACjF,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,IAAI,KAAK,aAAa,KAAK,iBAAiB,KAAK,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;2CAuB5D,CAAA;QACvC,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC;QAClC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QACpD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAA,gDAAgD,GAAG,CAAC,SAAS,EAAE;KACrF,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC;QACtC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QACpD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAA,oEAAoE,GAAG,CAAC,SAAS,EAAE;KACzG,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG;QACX,MAAM,EAAE,CAAC,KAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEpG,UAAU,EAAE,CAAC,GAA+B,EAAE,EAAE,CAC9C,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CACnF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EACzB,UAAU,CAAC,YAAY,CAAC,CACzB;QAEH,WAAW,EAAE,CAAC,SAAiB,EAAE,EAAE,CACjC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;QAExF,eAAe,EAAE,CAAC,SAAiB,EAAE,EAAE,CACrC,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAEhG,SAAS,EAAE,CAAC,YAAoB,EAAE,EAAU,EAAE,WAAoC,EAAE,EAAE,CACpF,iBAAiB,CAAC,YAAY,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,IAAI,CACnD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAA,mCAAmC,gBAAgB,CAAC,YAAY,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,EACvG,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EACzB,UAAU,CAAC,WAAW,CAAC,CACxB;QAEH,eAAe,EAAE,CACf,YAAoB,EACpB,EAAU,EACV,UAAkB,EAClB,aAAqB,EACrB,YAAoB,EACpB,WAAoC,EACpC,EAAE,CACF,iBAAiB,CAAC,YAAY,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,IAAI,CACnD,MAAM,CAAC,OAAO,CACZ,GAAG,CAAA,0CAA0C,UAAU,sBAAsB,aAAa,qBAAqB,YAAY;kBACnH,gBAAgB,CAAC,YAAY,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,CAC1D,EACD,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EACzB,UAAU,CAAC,iBAAiB,CAAC,CAC9B;QAEH,uBAAuB,EAAE,CACvB,YAAoB,EACpB,EAAU,EACV,MAAc,EACd,QAAgB,EAChB,QAAiB,EACjB,UAAkC,EAClC,WAAoC,EACpC,EAAE;YACF,MAAM,aAAa,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACvF,OAAO,iBAAiB,CAAC,YAAY,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,IAAI,CAC1D,MAAM,CAAC,OAAO,CACZ,GAAG,CAAA,qCAAqC,MAAM,iBAAiB,QAAQ,iBAAiB,QAAQ,IAAI,IAAI;mCAC/E,aAAa;iCACf,QAAQ;kBACvB,gBAAgB,CAAC,YAAY,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,CAC1D,EACD,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EACzB,UAAU,CAAC,yBAAyB,CAAC,CACtC,CAAA;QACH,CAAC;QAED,kBAAkB,EAAE,CAClB,YAAoB,EACpB,EAAU,EACV,KAAoB,EACpB,WAAoC,EACpC,EAAE,CACF,iBAAiB,CAAC,YAAY,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,IAAI,CACnD,MAAM,CAAC,OAAO,CACZ,GAAG,CAAA,4CAA4C,KAAK;kBAC5C,gBAAgB,CAAC,YAAY,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,CAC1D,EACD,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EACzB,UAAU,CAAC,oBAAoB,CAAC,CACjC;QAEH,iBAAiB,EAAE,CAAC,YAAoB,EAAE,EAAU,EAAE,KAAa,EAAE,WAAoC,EAAE,EAAE,CAC3G,iBAAiB,CAAC,YAAY,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,IAAI,CACnD,MAAM,CAAC,OAAO,CACZ,GAAG,CAAA,2CAA2C,KAAK;kBAC3C,gBAAgB,CAAC,YAAY,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,CAC1D,EACD,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EACzB,UAAU,CAAC,mBAAmB,CAAC,CAChC;QAEH,kBAAkB,EAAE,GAAG,EAAE,CACvB,GAAG,CAAC,eAAe,CACjB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAStB;;;;;;;;;;;;;;;;;;;;;;;;;;WA0BA,CAAA;YACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;gBAClE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;gBACpC,MAAM,IAAI,GAAG,CAAC,OAAyC,EAAE,EAAE;oBACzD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;wBACxB,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;4BAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;wBAC/D,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;oBACjB,CAAC;gBACH,CAAC,CAAA;gBACD,KAAK,MAAM,GAAG,IAAI,MAAM;oBAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC5C,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;gBAC1E,KAAK,CAAC,CAAC,GAAG,CAAA,2CAA2C,WAAW;qCACvC,GAAG,CAAC,aAAa;iDACL,GAAG,CAAC,YAAY;kDACf,GAAG,CAAC,cAAc;iDACnB,GAAG,CAAC,aAAa,EAAE,CAAA;YAC1D,CAAC;QACH,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAEzD,sBAAsB,EAAE,GAAG,EAAE,CAC3B,GAAG,CAAA;;;;;;;;;wCAS+B,CAAC,IAAI,CACrC,MAAM,CAAC,MAAM,EACb,UAAU,CAAC,wBAAwB,CAAC,CACrC;KACJ,CAAA;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
@@ -6,10 +6,20 @@
6
6
  *
7
7
  * @category CacheService
8
8
  */
9
- import { Effect } from "effect";
9
+ import { Effect, Option } from "effect";
10
10
  import type * as SqlClient from "effect/unstable/sql/SqlClient";
11
- import type { CacheError } from "../../CacheError.js";
11
+ import { CacheError } from "../../CacheError.js";
12
12
  import { type SearchResult } from "./internal.js";
13
+ declare const PullRequestAmbiguityError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
14
+ readonly _tag: "PullRequestAmbiguityError";
15
+ } & Readonly<A>;
16
+ /** Coordinate-free lookup is unsafe once one account can contain duplicate PR IDs. */
17
+ export declare class PullRequestAmbiguityError extends PullRequestAmbiguityError_base<{
18
+ readonly awsAccountId: string;
19
+ readonly pullRequestId: string;
20
+ readonly matches: number;
21
+ }> {
22
+ }
13
23
  export declare const findAll: (sql: SqlClient.SqlClient) => () => Effect.Effect<{
14
24
  readonly id: string & import("effect/Brand").Brand<"PullRequestId">;
15
25
  readonly awsAccountId: string;
@@ -72,7 +82,38 @@ export declare const findMissingDiffStats: (sql: SqlClient.SqlClient) => () => E
72
82
  readonly commentedBy: readonly string[];
73
83
  readonly approvalRules: readonly import("../../../Domain.js").ApprovalRule[];
74
84
  }[], CacheError, never>;
75
- export declare const findByAccountAndId: (sql: SqlClient.SqlClient) => (awsAccountId: string, id: string) => Effect.Effect<{
85
+ export declare const findByAccountAndId: (sql: SqlClient.SqlClient) => (awsAccountId: string, id: string) => Effect.Effect<Option.Option<{
86
+ readonly id: string & import("effect/Brand").Brand<"PullRequestId">;
87
+ readonly awsAccountId: string;
88
+ readonly repoAccountId: string | null;
89
+ readonly accountProfile: string;
90
+ readonly accountRegion: string;
91
+ readonly title: string;
92
+ readonly description: string | null;
93
+ readonly author: string;
94
+ readonly repositoryName: string & import("effect/Brand").Brand<"RepositoryName">;
95
+ readonly creationDate: Date;
96
+ readonly lastModifiedDate: Date;
97
+ readonly status: "CLOSED" | "MERGED" | "OPEN";
98
+ readonly sourceBranch: string;
99
+ readonly destinationBranch: string;
100
+ readonly isMergeable: boolean;
101
+ readonly isApproved: boolean;
102
+ readonly commentCount: number | null;
103
+ readonly healthScore: number | null;
104
+ readonly link: string;
105
+ readonly fetchedAt: string;
106
+ readonly filesAdded: number | null;
107
+ readonly filesModified: number | null;
108
+ readonly filesDeleted: number | null;
109
+ readonly closedAt: string | null;
110
+ readonly mergedBy: string | null;
111
+ readonly approvedBy: readonly string[];
112
+ readonly approvedByArns: readonly string[];
113
+ readonly commentedBy: readonly string[];
114
+ readonly approvalRules: readonly import("../../../Domain.js").ApprovalRule[];
115
+ }>, CacheError | PullRequestAmbiguityError, never>;
116
+ export declare const findByCoordinates: (sql: SqlClient.SqlClient) => (awsAccountId: string, id: string, repositoryName: string, accountRegion: string) => Effect.Effect<Option.Option<{
76
117
  readonly id: string & import("effect/Brand").Brand<"PullRequestId">;
77
118
  readonly awsAccountId: string;
78
119
  readonly repoAccountId: string | null;
@@ -102,7 +143,7 @@ export declare const findByAccountAndId: (sql: SqlClient.SqlClient) => (awsAccou
102
143
  readonly approvedByArns: readonly string[];
103
144
  readonly commentedBy: readonly string[];
104
145
  readonly approvalRules: readonly import("../../../Domain.js").ApprovalRule[];
105
- }, CacheError, never>;
146
+ }>, CacheError, never>;
106
147
  export declare const search: (sql: SqlClient.SqlClient) => (query: string, opts?: {
107
148
  readonly limit?: number;
108
149
  readonly offset?: number;
@@ -110,13 +151,16 @@ export declare const search: (sql: SqlClient.SqlClient) => (query: string, opts?
110
151
  export declare const findStaleOpen: (sql: SqlClient.SqlClient) => (olderThan: string) => Effect.Effect<{
111
152
  readonly id: string;
112
153
  readonly awsAccountId: string;
154
+ readonly repositoryName: string;
113
155
  readonly accountProfile: string & import("effect/Brand").Brand<"AwsProfileName">;
114
156
  readonly accountRegion: string & import("effect/Brand").Brand<"AwsRegion">;
115
157
  }[], CacheError, never>;
116
158
  export declare const findOpenInRange: (sql: SqlClient.SqlClient) => (weekStart: string, weekEnd: string) => Effect.Effect<{
117
159
  readonly id: string;
118
160
  readonly awsAccountId: string;
161
+ readonly repositoryName: string;
119
162
  readonly accountProfile: string & import("effect/Brand").Brand<"AwsProfileName">;
120
163
  readonly accountRegion: string & import("effect/Brand").Brand<"AwsRegion">;
121
164
  }[], CacheError, never>;
165
+ export {};
122
166
  //# sourceMappingURL=queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/queries.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AACvC,OAAO,KAAK,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAG/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAA4D,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AAS3G,eAAO,MAAM,OAAO,QAAS,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAQ/C,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAS,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAQ5D,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAS,SAAS,CAAC,SAAS,oBAQnC,MAAM,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBACzC,CAAA;AAED,eAAO,MAAM,MAAM,QAAS,SAAS,CAAC,SAAS,aAsBpC,MAAM,SACN;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAC3D,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,CAqBjD,CAAA;AAED,eAAO,MAAM,aAAa,QAAS,SAAS,CAAC,SAAS,iBASjC,MAAM;;;;;uBAC1B,CAAA;AAED,eAAO,MAAM,eAAe,QAAS,SAAS,CAAC,SAAS,iBAanC,MAAM,WAAW,MAAM;;;;;uBAC3C,CAAA"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/queries.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAQ,MAAM,EAAE,MAAM,EAAqB,MAAM,QAAQ,CAAA;AAChE,OAAO,KAAK,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAG/D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAA4D,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;;;;AAE3G,sFAAsF;AACtF,qBAAa,yBAA0B,SAAQ,+BAA8C;IAC3F,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAC;CAAG;AAUL,eAAO,MAAM,OAAO,QAAS,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAQ/C,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAS,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAQ5D,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAS,SAAS,CAAC,SAAS,oBAQnC,MAAM,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDA0BzC,CAAA;AAED,eAAO,MAAM,iBAAiB,QAAS,SAAS,CAAC,SAAS,oBAgBlC,MAAM,MAAM,MAAM,kBAAkB,MAAM,iBAAiB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAExF,CAAA;AAED,eAAO,MAAM,MAAM,QAAS,SAAS,CAAC,SAAS,aAsBpC,MAAM,SACN;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAC3D,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,CAqBjD,CAAA;AAED,eAAO,MAAM,aAAa,QAAS,SAAS,CAAC,SAAS,iBASjC,MAAM;;;;;;uBAC1B,CAAA;AAED,eAAO,MAAM,eAAe,QAAS,SAAS,CAAC,SAAS,iBAanC,MAAM,WAAW,MAAM;;;;;;uBAC3C,CAAA"}