@knpkv/codecommit-core 0.14.0 → 0.15.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 (114) hide show
  1. package/dist/CacheService/Database.d.ts +1 -1
  2. package/dist/CacheService/Database.d.ts.map +1 -1
  3. package/dist/CacheService/Database.js +10 -2
  4. package/dist/CacheService/Database.js.map +1 -1
  5. package/dist/CacheService/diff.d.ts +5 -2
  6. package/dist/CacheService/diff.d.ts.map +1 -1
  7. package/dist/CacheService/diff.js +31 -13
  8. package/dist/CacheService/diff.js.map +1 -1
  9. package/dist/CacheService/migrations/0017_sandbox_region.d.ts +5 -0
  10. package/dist/CacheService/migrations/0017_sandbox_region.d.ts.map +1 -0
  11. package/dist/CacheService/migrations/0017_sandbox_region.js +4 -0
  12. package/dist/CacheService/migrations/0017_sandbox_region.js.map +1 -0
  13. package/dist/CacheService/migrations/0018_pull_request_coordinates.d.ts +6 -0
  14. package/dist/CacheService/migrations/0018_pull_request_coordinates.d.ts.map +1 -0
  15. package/dist/CacheService/migrations/0018_pull_request_coordinates.js +82 -0
  16. package/dist/CacheService/migrations/0018_pull_request_coordinates.js.map +1 -0
  17. package/dist/CacheService/migrations/0019_dependent_pr_coordinates.d.ts +6 -0
  18. package/dist/CacheService/migrations/0019_dependent_pr_coordinates.d.ts.map +1 -0
  19. package/dist/CacheService/migrations/0019_dependent_pr_coordinates.js +57 -0
  20. package/dist/CacheService/migrations/0019_dependent_pr_coordinates.js.map +1 -0
  21. package/dist/CacheService/migrations/0020_notification_coordinates.d.ts +6 -0
  22. package/dist/CacheService/migrations/0020_notification_coordinates.d.ts.map +1 -0
  23. package/dist/CacheService/migrations/0020_notification_coordinates.js +22 -0
  24. package/dist/CacheService/migrations/0020_notification_coordinates.js.map +1 -0
  25. package/dist/CacheService/repos/CommentRepo.d.ts +6 -2
  26. package/dist/CacheService/repos/CommentRepo.d.ts.map +1 -1
  27. package/dist/CacheService/repos/CommentRepo.js +46 -7
  28. package/dist/CacheService/repos/CommentRepo.js.map +1 -1
  29. package/dist/CacheService/repos/NotificationRepo.d.ts +2 -0
  30. package/dist/CacheService/repos/NotificationRepo.d.ts.map +1 -1
  31. package/dist/CacheService/repos/NotificationRepo.js +10 -3
  32. package/dist/CacheService/repos/NotificationRepo.js.map +1 -1
  33. package/dist/CacheService/repos/PullRequestRepo/index.d.ts +42 -7
  34. package/dist/CacheService/repos/PullRequestRepo/index.d.ts.map +1 -1
  35. package/dist/CacheService/repos/PullRequestRepo/index.js +2 -0
  36. package/dist/CacheService/repos/PullRequestRepo/index.js.map +1 -1
  37. package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts +9 -5
  38. package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts.map +1 -1
  39. package/dist/CacheService/repos/PullRequestRepo/mutations.js +61 -17
  40. package/dist/CacheService/repos/PullRequestRepo/mutations.js.map +1 -1
  41. package/dist/CacheService/repos/PullRequestRepo/queries.d.ts +48 -4
  42. package/dist/CacheService/repos/PullRequestRepo/queries.d.ts.map +1 -1
  43. package/dist/CacheService/repos/PullRequestRepo/queries.js +40 -5
  44. package/dist/CacheService/repos/PullRequestRepo/queries.js.map +1 -1
  45. package/dist/CacheService/repos/SandboxRepo.d.ts +45 -1
  46. package/dist/CacheService/repos/SandboxRepo.d.ts.map +1 -1
  47. package/dist/CacheService/repos/SandboxRepo.js +53 -8
  48. package/dist/CacheService/repos/SandboxRepo.js.map +1 -1
  49. package/dist/CacheService/repos/StatsRepo/index.d.ts +3 -0
  50. package/dist/CacheService/repos/StatsRepo/index.d.ts.map +1 -1
  51. package/dist/CacheService/repos/StatsRepo/internal.d.ts +6 -0
  52. package/dist/CacheService/repos/StatsRepo/internal.d.ts.map +1 -1
  53. package/dist/CacheService/repos/StatsRepo/internal.js +5 -5
  54. package/dist/CacheService/repos/StatsRepo/internal.js.map +1 -1
  55. package/dist/CacheService/repos/StatsRepo/queries.d.ts +1 -0
  56. package/dist/CacheService/repos/StatsRepo/queries.d.ts.map +1 -1
  57. package/dist/CacheService/repos/StatsRepo/queries.js +5 -4
  58. package/dist/CacheService/repos/StatsRepo/queries.js.map +1 -1
  59. package/dist/CacheService/repos/StatsRepo/reviewerData.d.ts +2 -0
  60. package/dist/CacheService/repos/StatsRepo/reviewerData.d.ts.map +1 -1
  61. package/dist/CacheService/repos/StatsRepo/reviewerData.js +38 -15
  62. package/dist/CacheService/repos/StatsRepo/reviewerData.js.map +1 -1
  63. package/dist/CacheService/repos/SubscriptionRepo.d.ts +11 -5
  64. package/dist/CacheService/repos/SubscriptionRepo.d.ts.map +1 -1
  65. package/dist/CacheService/repos/SubscriptionRepo.js +106 -12
  66. package/dist/CacheService/repos/SubscriptionRepo.js.map +1 -1
  67. package/dist/ChildEnv.d.ts.map +1 -1
  68. package/dist/ChildEnv.js +1 -0
  69. package/dist/ChildEnv.js.map +1 -1
  70. package/dist/Domain.d.ts +1 -0
  71. package/dist/Domain.d.ts.map +1 -1
  72. package/dist/Domain.js +1 -0
  73. package/dist/Domain.js.map +1 -1
  74. package/dist/PRService/index.d.ts +15 -8
  75. package/dist/PRService/index.d.ts.map +1 -1
  76. package/dist/PRService/index.js +5 -5
  77. package/dist/PRService/index.js.map +1 -1
  78. package/dist/PRService/refreshDiffs.d.ts.map +1 -1
  79. package/dist/PRService/refreshDiffs.js +12 -3
  80. package/dist/PRService/refreshDiffs.js.map +1 -1
  81. package/dist/PRService/refreshEnrich.d.ts.map +1 -1
  82. package/dist/PRService/refreshEnrich.js +28 -11
  83. package/dist/PRService/refreshEnrich.js.map +1 -1
  84. package/dist/PRService/refreshFetch.d.ts.map +1 -1
  85. package/dist/PRService/refreshFetch.js +25 -13
  86. package/dist/PRService/refreshFetch.js.map +1 -1
  87. package/dist/PRService/refreshHistory.d.ts +1 -1
  88. package/dist/PRService/refreshHistory.d.ts.map +1 -1
  89. package/dist/PRService/refreshHistory.js +6 -4
  90. package/dist/PRService/refreshHistory.js.map +1 -1
  91. package/dist/PRService/refreshResolve.d.ts +4 -1
  92. package/dist/PRService/refreshResolve.d.ts.map +1 -1
  93. package/dist/PRService/refreshResolve.js +19 -6
  94. package/dist/PRService/refreshResolve.js.map +1 -1
  95. package/dist/PRService/refreshScore.d.ts.map +1 -1
  96. package/dist/PRService/refreshScore.js +4 -1
  97. package/dist/PRService/refreshScore.js.map +1 -1
  98. package/dist/PRService/refreshSinglePR.d.ts +9 -2
  99. package/dist/PRService/refreshSinglePR.d.ts.map +1 -1
  100. package/dist/PRService/refreshSinglePR.js +99 -33
  101. package/dist/PRService/refreshSinglePR.js.map +1 -1
  102. package/dist/SandboxService/DockerService.d.ts +2 -0
  103. package/dist/SandboxService/DockerService.d.ts.map +1 -1
  104. package/dist/SandboxService/DockerService.js +47 -16
  105. package/dist/SandboxService/DockerService.js.map +1 -1
  106. package/dist/SandboxService/SandboxService.d.ts +4 -0
  107. package/dist/SandboxService/SandboxService.d.ts.map +1 -1
  108. package/dist/SandboxService/SandboxService.js +112 -25
  109. package/dist/SandboxService/SandboxService.js.map +1 -1
  110. package/dist/StatsService/WeeklyStats.d.ts +7 -0
  111. package/dist/StatsService/WeeklyStats.d.ts.map +1 -1
  112. package/dist/StatsService/WeeklyStats.js +3 -0
  113. package/dist/StatsService/WeeklyStats.js.map +1 -1
  114. package/package.json +1 -1
@@ -9,6 +9,7 @@ export declare const SandboxRow: Schema.Struct<{
9
9
  readonly pullRequestId: Schema.String;
10
10
  readonly awsAccountId: Schema.String;
11
11
  readonly repositoryName: Schema.String;
12
+ readonly region: Schema.optional<Schema.NullOr<Schema.String>>;
12
13
  readonly sourceBranch: Schema.String;
13
14
  readonly accessPassword: Schema.NullOr<Schema.String>;
14
15
  readonly containerId: Schema.NullOr<Schema.String>;
@@ -27,6 +28,7 @@ export interface InsertSandbox {
27
28
  readonly pullRequestId: string;
28
29
  readonly awsAccountId: string;
29
30
  readonly repositoryName: string;
31
+ readonly region: string;
30
32
  readonly sourceBranch: string;
31
33
  readonly accessPassword: string;
32
34
  readonly workspacePath: string;
@@ -46,6 +48,7 @@ declare const makeSandboxRepo: Effect.Effect<{
46
48
  readonly pullRequestId: string;
47
49
  readonly awsAccountId: string;
48
50
  readonly repositoryName: string;
51
+ readonly region?: string | null | undefined;
49
52
  readonly sourceBranch: string;
50
53
  readonly accessPassword: string | null;
51
54
  readonly containerId: string | null;
@@ -58,11 +61,12 @@ declare const makeSandboxRepo: Effect.Effect<{
58
61
  readonly createdAt: string;
59
62
  readonly lastActivityAt: string;
60
63
  }, CacheError | Schema.SchemaError | import("effect/unstable/sql/SqlError").SqlError, never>;
61
- findByPr: (awsAccountId: string, pullRequestId: string) => Effect.Effect<Option.Option<{
64
+ findByPr: (awsAccountId: string, pullRequestId: string, repositoryName: string, region: string) => Effect.Effect<Option.Option<{
62
65
  readonly id: string;
63
66
  readonly pullRequestId: string;
64
67
  readonly awsAccountId: string;
65
68
  readonly repositoryName: string;
69
+ readonly region?: string | null | undefined;
66
70
  readonly sourceBranch: string;
67
71
  readonly accessPassword: string | null;
68
72
  readonly containerId: string | null;
@@ -75,11 +79,50 @@ declare const makeSandboxRepo: Effect.Effect<{
75
79
  readonly createdAt: string;
76
80
  readonly lastActivityAt: string;
77
81
  }>, CacheError, never>;
82
+ findRegionlessByPr: (awsAccountId: string, pullRequestId: string, repositoryName: string) => Effect.Effect<Option.Option<{
83
+ readonly id: string;
84
+ readonly pullRequestId: string;
85
+ readonly awsAccountId: string;
86
+ readonly repositoryName: string;
87
+ readonly region?: string | null | undefined;
88
+ readonly sourceBranch: string;
89
+ readonly accessPassword: string | null;
90
+ readonly containerId: string | null;
91
+ readonly port: number | null;
92
+ readonly workspacePath: string;
93
+ readonly status: string;
94
+ readonly statusDetail: string | null;
95
+ readonly logs: string | null;
96
+ readonly error: string | null;
97
+ readonly createdAt: string;
98
+ readonly lastActivityAt: string;
99
+ }>, CacheError, never>;
100
+ findRegionlessByPrAll: (awsAccountId: string, pullRequestId: string, repositoryName: string) => Effect.Effect<{
101
+ readonly id: string;
102
+ readonly pullRequestId: string;
103
+ readonly awsAccountId: string;
104
+ readonly repositoryName: string;
105
+ readonly region?: string | null | undefined;
106
+ readonly sourceBranch: string;
107
+ readonly accessPassword: string | null;
108
+ readonly containerId: string | null;
109
+ readonly port: number | null;
110
+ readonly workspacePath: string;
111
+ readonly status: string;
112
+ readonly statusDetail: string | null;
113
+ readonly logs: string | null;
114
+ readonly error: string | null;
115
+ readonly createdAt: string;
116
+ readonly lastActivityAt: string;
117
+ }[], CacheError, never>;
118
+ /** Retained for migrations that can prove a legacy row's region out of band. */
119
+ updateRegion: (id: SandboxId, region: string) => Effect.Effect<readonly import("effect/unstable/sql/SqlConnection").Row[], CacheError, never>;
78
120
  findActive: () => Effect.Effect<{
79
121
  readonly id: string;
80
122
  readonly pullRequestId: string;
81
123
  readonly awsAccountId: string;
82
124
  readonly repositoryName: string;
125
+ readonly region?: string | null | undefined;
83
126
  readonly sourceBranch: string;
84
127
  readonly accessPassword: string | null;
85
128
  readonly containerId: string | null;
@@ -97,6 +140,7 @@ declare const makeSandboxRepo: Effect.Effect<{
97
140
  readonly pullRequestId: string;
98
141
  readonly awsAccountId: string;
99
142
  readonly repositoryName: string;
143
+ readonly region?: string | null | undefined;
100
144
  readonly sourceBranch: string;
101
145
  readonly accessPassword: string | null;
102
146
  readonly containerId: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxRepo.d.ts","sourceRoot":"","sources":["../../../src/CacheService/repos/SandboxRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAA;AAEvD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;EAgBrB,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAUD,QAAA,MAAM,eAAe;sBAuCC,aAAa;uBASzB,SAAS,UACL,aAAa,UACb;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;mBAiBlD,SAAS;;;;;;;;;;;;;;;;;6BAUC,MAAM,iBAAiB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOzC,SAAS;uBAMH,SAAS,UAAU,MAAM;oBAa5B,SAAS,QAAQ,MAAM;yBAalB,SAAS;0CAOhC,CAAA;AAEF,MAAM,WAAW,mBAAoB,SAAQ,OAAO,CAAC,OAAO,eAAe,CAAC;CAAG;;AAE/E,qBAAa,WAAY,SAAQ,gBAGf;IAChB,MAAM,CAAC,QAAQ,CAAC,OAAO,mMAEtB;CACF"}
1
+ {"version":3,"file":"SandboxRepo.d.ts","sourceRoot":"","sources":["../../../src/CacheService/repos/SandboxRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAA;AAEvD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;EAiBrB,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAUD,QAAA,MAAM,eAAe;sBAiFC,aAAa;uBASzB,SAAS,UACL,aAAa,UACb;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;mBAqBlD,SAAS;;;;;;;;;;;;;;;;;;6BAUC,MAAM,iBAAiB,MAAM,kBAAkB,MAAM,UAAU,MAAM;;;;;;;;;;;;;;;;;;uCAG3D,MAAM,iBAAiB,MAAM,kBAAkB,MAAM;;;;;;;;;;;;;;;;;;0CAGlD,MAAM,iBAAiB,MAAM,kBAAkB,MAAM;;;;;;;;;;;;;;;;;;IAK3F,gFAAgF;uBAC7D,SAAS,UAAU,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU/B,SAAS;uBAMH,SAAS,UAAU,MAAM;oBAa5B,SAAS,QAAQ,MAAM;yBAalB,SAAS;0CAOhC,CAAA;AAEF,MAAM,WAAW,mBAAoB,SAAQ,OAAO,CAAC,OAAO,eAAe,CAAC;CAAG;;AAE/E,qBAAa,WAAY,SAAQ,gBAGf;IAChB,MAAM,CAAC,QAAQ,CAAC,OAAO,mMAEtB;CACF"}
@@ -9,6 +9,7 @@ export const SandboxRow = Schema.Struct({
9
9
  pullRequestId: Schema.String,
10
10
  awsAccountId: Schema.String,
11
11
  repositoryName: Schema.String,
12
+ region: Schema.optional(Schema.NullOr(Schema.String)),
12
13
  sourceBranch: Schema.String,
13
14
  accessPassword: Schema.NullOr(Schema.String),
14
15
  containerId: Schema.NullOr(Schema.String),
@@ -34,11 +35,49 @@ const makeSandboxRepo = Effect.gen(function* () {
34
35
  });
35
36
  const findByPr_ = SqlSchema.findOneOption({
36
37
  Result: SandboxRow,
37
- Request: Schema.Struct({ awsAccountId: Schema.String, pullRequestId: Schema.String }),
38
+ Request: Schema.Struct({
39
+ awsAccountId: Schema.String,
40
+ pullRequestId: Schema.String,
41
+ repositoryName: Schema.String,
42
+ region: Schema.String
43
+ }),
38
44
  execute: (req) => sql `SELECT * FROM sandboxes
39
45
  WHERE aws_account_id = ${req.awsAccountId}
40
46
  AND pull_request_id = ${req.pullRequestId}
41
- AND status NOT IN ('stopped', 'error')`
47
+ AND repository_name = ${req.repositoryName}
48
+ AND region = ${req.region}
49
+ AND status NOT IN ('stopped', 'error')
50
+ LIMIT 1`
51
+ });
52
+ const findRegionlessByPr_ = SqlSchema.findOneOption({
53
+ Result: SandboxRow,
54
+ Request: Schema.Struct({
55
+ awsAccountId: Schema.String,
56
+ pullRequestId: Schema.String,
57
+ repositoryName: Schema.String
58
+ }),
59
+ execute: (req) => sql `SELECT * FROM sandboxes
60
+ WHERE aws_account_id = ${req.awsAccountId}
61
+ AND pull_request_id = ${req.pullRequestId}
62
+ AND repository_name = ${req.repositoryName}
63
+ AND (region IS NULL OR region = '')
64
+ AND status NOT IN ('stopped', 'error')
65
+ ORDER BY created_at DESC
66
+ LIMIT 1`
67
+ });
68
+ const findRegionlessByPrAll_ = SqlSchema.findAll({
69
+ Result: SandboxRow,
70
+ Request: Schema.Struct({
71
+ awsAccountId: Schema.String,
72
+ pullRequestId: Schema.String,
73
+ repositoryName: Schema.String
74
+ }),
75
+ execute: (req) => sql `SELECT * FROM sandboxes
76
+ WHERE aws_account_id = ${req.awsAccountId}
77
+ AND pull_request_id = ${req.pullRequestId}
78
+ AND repository_name = ${req.repositoryName}
79
+ AND (region IS NULL OR region = '')
80
+ ORDER BY created_at DESC`
42
81
  });
43
82
  const findActive_ = SqlSchema.findAll({
44
83
  Result: SandboxRow,
@@ -54,21 +93,27 @@ const makeSandboxRepo = Effect.gen(function* () {
54
93
  });
55
94
  const voidRequest = undefined;
56
95
  const service = {
57
- insert: (sandbox) => sql `INSERT INTO sandboxes (id, pull_request_id, aws_account_id, repository_name, source_branch, access_password, workspace_path, status, created_at, last_activity_at)
58
- VALUES (${sandbox.id}, ${sandbox.pullRequestId}, ${sandbox.awsAccountId}, ${sandbox.repositoryName}, ${sandbox.sourceBranch}, ${sandbox.accessPassword}, ${sandbox.workspacePath}, ${sandbox.status}, ${sandbox.createdAt}, ${sandbox.lastActivityAt})`
96
+ insert: (sandbox) => sql `INSERT INTO sandboxes (id, pull_request_id, aws_account_id, repository_name, region, source_branch, access_password, workspace_path, status, created_at, last_activity_at)
97
+ VALUES (${sandbox.id}, ${sandbox.pullRequestId}, ${sandbox.awsAccountId}, ${sandbox.repositoryName}, ${sandbox.region}, ${sandbox.sourceBranch}, ${sandbox.accessPassword}, ${sandbox.workspacePath}, ${sandbox.status}, ${sandbox.createdAt}, ${sandbox.lastActivityAt})`
59
98
  .pipe(Effect.tap(() => publish), cacheError("insert")),
60
99
  updateStatus: (id, status, extra) => isoNow.pipe(Effect.flatMap((now) => sql `UPDATE sandboxes SET
61
100
  status = ${status},
62
101
  last_activity_at = ${now}
63
- ${extra?.containerId ? sql `, container_id = ${extra.containerId}` : sql ``}
64
- ${extra?.port ? sql `, port = ${extra.port}` : sql ``}
65
- ${extra?.error ? sql `, error = ${extra.error}` : sql ``}
102
+ ${extra?.containerId !== undefined && extra.containerId.length > 0
103
+ ? sql `, container_id = ${extra.containerId}`
104
+ : sql ``}
105
+ ${extra?.port !== undefined ? sql `, port = ${extra.port}` : sql ``}
106
+ ${extra?.error !== undefined && extra.error.length > 0 ? sql `, error = ${extra.error}` : sql ``}
66
107
  WHERE id = ${id}`.pipe(Effect.tap(() => publish))), cacheError("updateStatus")),
67
108
  findById: (id) => findById_({ id }).pipe(Effect.flatMap(Option.match({
68
109
  onNone: () => Effect.fail(new CacheError({ operation: "SandboxRepo.findById", cause: `Sandbox ${id} not found` })),
69
110
  onSome: Effect.succeed
70
111
  })), Effect.withSpan("SandboxRepo.findById")),
71
- findByPr: (awsAccountId, pullRequestId) => findByPr_({ awsAccountId, pullRequestId }).pipe(cacheError("findByPr")),
112
+ findByPr: (awsAccountId, pullRequestId, repositoryName, region) => findByPr_({ awsAccountId, pullRequestId, repositoryName, region }).pipe(cacheError("findByPr")),
113
+ findRegionlessByPr: (awsAccountId, pullRequestId, repositoryName) => findRegionlessByPr_({ awsAccountId, pullRequestId, repositoryName }).pipe(cacheError("findRegionlessByPr")),
114
+ findRegionlessByPrAll: (awsAccountId, pullRequestId, repositoryName) => findRegionlessByPrAll_({ awsAccountId, pullRequestId, repositoryName }).pipe(cacheError("findRegionlessByPrAll")),
115
+ /** Retained for migrations that can prove a legacy row's region out of band. */
116
+ updateRegion: (id, region) => sql `UPDATE sandboxes SET region = ${region} WHERE id = ${id}`.pipe(Effect.tap(() => publish), cacheError("updateRegion")),
72
117
  findActive: () => findActive_(voidRequest).pipe(cacheError("findActive")),
73
118
  findAll: () => findAll_(voidRequest).pipe(cacheError("findAll")),
74
119
  delete: (id) => sql `DELETE FROM sandboxes WHERE id = ${id}`.pipe(Effect.tap(() => publish), cacheError("delete")),
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxRepo.js","sourceRoot":"","sources":["../../../src/CacheService/repos/SandboxRepo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SandboxRepo.js","sourceRoot":"","sources":["../../../src/CacheService/repos/SandboxRepo.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ declare const makeStatsRepo: Effect.Effect<{
46
46
  prTitle: string;
47
47
  author: string;
48
48
  repositoryName: string;
49
+ accountRegion: string;
49
50
  awsAccountId: string;
50
51
  durationMs: number;
51
52
  fromLabel: string;
@@ -56,6 +57,7 @@ declare const makeStatsRepo: Effect.Effect<{
56
57
  prTitle: string;
57
58
  author: string;
58
59
  repositoryName: string;
60
+ accountRegion: string;
59
61
  awsAccountId: string;
60
62
  durationMs: number;
61
63
  fromLabel: string;
@@ -67,6 +69,7 @@ declare const makeStatsRepo: Effect.Effect<{
67
69
  prTitle: string;
68
70
  author: string;
69
71
  repositoryName: string;
72
+ accountRegion: string;
70
73
  awsAccountId: string;
71
74
  durationMs: number;
72
75
  fromLabel: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/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;AAS1D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAoBjB,CAAA;AAEF,MAAM,WAAW,iBAAkB,SAAQ,OAAO,CAAC,OAAO,aAAa,CAAC;CAAG;;AAE3E,qBAAa,SAAU,SAAQ,cAGf;IACd,MAAM,CAAC,QAAQ,CAAC,OAAO,+NAEtB;CACF;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC;;OAEG;IACH,UAAiB,OAAO;QACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACtC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/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;AAS1D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAoBjB,CAAA;AAEF,MAAM,WAAW,iBAAkB,SAAQ,OAAO,CAAC,OAAO,aAAa,CAAC;CAAG;;AAE3E,qBAAa,SAAU,SAAQ,cAGf;IACd,MAAM,CAAC,QAAQ,CAAC,OAAO,+NAEtB;CACF;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC;;OAEG;IACH,UAAiB,OAAO;QACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACtC;CACF"}
@@ -25,6 +25,7 @@ export interface ActivePRRow {
25
25
  readonly title: string;
26
26
  readonly author: string;
27
27
  readonly repositoryName: string;
28
+ readonly accountRegion: string;
28
29
  readonly commentCount: number | null;
29
30
  readonly awsAccountId: string;
30
31
  }
@@ -49,6 +50,7 @@ export interface StalePRRow {
49
50
  readonly title: string;
50
51
  readonly author: string;
51
52
  readonly repositoryName: string;
53
+ readonly accountRegion: string;
52
54
  readonly daysSinceActivity: number;
53
55
  readonly awsAccountId: string;
54
56
  }
@@ -65,6 +67,8 @@ export interface FilterOptionsRow {
65
67
  export interface CommentRow {
66
68
  readonly pullRequestId: string;
67
69
  readonly awsAccountId: string;
70
+ readonly repositoryName: string;
71
+ readonly accountRegion: string;
68
72
  readonly locationsJson: string;
69
73
  }
70
74
  export interface PRForReviewRow {
@@ -73,6 +77,7 @@ export interface PRForReviewRow {
73
77
  readonly approvedBy: string | null;
74
78
  readonly author: string;
75
79
  readonly awsAccountId: string;
80
+ readonly accountRegion: string;
76
81
  readonly creationDate: string;
77
82
  readonly closedAt: string | null;
78
83
  readonly lastModifiedDate: string;
@@ -86,6 +91,7 @@ export interface MergeTimeDetailRow {
86
91
  readonly title: string;
87
92
  readonly author: string;
88
93
  readonly repositoryName: string;
94
+ readonly accountRegion: string;
89
95
  readonly awsAccountId: string;
90
96
  readonly creationDate: string;
91
97
  readonly lastModifiedDate: string;
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/internal.ts"],"names":[],"mappings":"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"}
@@ -26,17 +26,17 @@ export const extractComments = (locations) => {
26
26
  }
27
27
  return result;
28
28
  };
29
- export const parseFilter = (v) => v ? v.split(",").map((s) => s.trim()).filter(Boolean) : undefined;
29
+ export const parseFilter = (v) => v === undefined || v === "" ? undefined : v.split(",").map((s) => s.trim()).filter((s) => s !== "");
30
30
  export const whereFilters = (sql, filters, table) => {
31
31
  const repos = parseFilter(filters.repo);
32
32
  const authors = parseFilter(filters.author);
33
33
  const accounts = parseFilter(filters.account);
34
34
  // Column references use sql.literal for the table prefix — no user input, only hardcoded table names
35
- const col = (name) => table ? sql.literal(`${table}.${name}`) : sql.literal(name);
35
+ const col = (name) => table === undefined ? sql.literal(name) : sql.literal(`${table}.${name}`);
36
36
  return {
37
- repo: repos ? sql `AND ${col("repository_name")} IN ${sql.in(repos)}` : sql ``,
38
- author: authors ? sql `AND ${col("author")} IN ${sql.in(authors)}` : sql ``,
39
- account: accounts ? sql `AND ${col("aws_account_id")} IN ${sql.in(accounts)}` : sql ``
37
+ repo: repos === undefined ? sql `` : sql `AND ${col("repository_name")} IN ${sql.in(repos)}`,
38
+ author: authors === undefined ? sql `` : sql `AND ${col("author")} IN ${sql.in(authors)}`,
39
+ account: accounts === undefined ? sql `` : sql `AND ${col("aws_account_id")} IN ${sql.in(accounts)}`
40
40
  };
41
41
  };
42
42
  //# sourceMappingURL=internal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/internal.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ export declare const mergeTimeDetails: (sql: SqlClient.SqlClient) => (weekStart:
32
32
  prTitle: string;
33
33
  author: string;
34
34
  repositoryName: string;
35
+ accountRegion: string;
35
36
  awsAccountId: string;
36
37
  durationMs: number;
37
38
  fromLabel: string;
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/queries.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EACL,KAAK,WAAW,EAGhB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAGzB,KAAK,OAAO,EACZ,KAAK,SAAS,EAEd,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,SAAS,EAEf,MAAM,eAAe,CAAA;AAItB,eAAO,MAAM,YAAY,QAAS,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,8EAc9G,CAAA;AAED,eAAO,MAAM,eAAe,QACpB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,8GAYlF,CAAA;AAEH,eAAO,MAAM,aAAa,QAClB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,2GAYlF,CAAA;AAEH,eAAO,MAAM,kBAAkB,QACvB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,wFAiBlF,CAAA;AAEH,eAAO,MAAM,WAAW,QAAS,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO;;;;0DAoB7G,CAAA;AAED,eAAO,MAAM,qBAAqB,QAC1B,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,oHAgBlF,CAAA;AAEH,eAAO,MAAM,QAAQ,QAAS,SAAS,CAAC,SAAS,cAAc,MAAM,WAAW,OAAO,0GAatF,CAAA;AAED,eAAO,MAAM,gBAAgB,QACrB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,8EAelF,CAAA;AAEH,eAAO,MAAM,aAAa,QAAS,SAAS,CAAC,SAAS;;;;mDAkBnD,CAAA;AAEH,eAAO,MAAM,aAAa,QAAS,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,2EAY/G,CAAA;AAED,eAAO,MAAM,gBAAgB,QACrB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO;;;;;;;;;qDA0BlF,CAAA;AAEH,eAAO,MAAM,cAAc,QAAS,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,kFAchH,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAS,SAAS,CAAC,SAAS,wFAMxD,CAAA"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/queries.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EACL,KAAK,WAAW,EAGhB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAGzB,KAAK,OAAO,EACZ,KAAK,SAAS,EAEd,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,SAAS,EAEf,MAAM,eAAe,CAAA;AAItB,eAAO,MAAM,YAAY,QAAS,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,8EAc9G,CAAA;AAED,eAAO,MAAM,eAAe,QACpB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,8GAYlF,CAAA;AAEH,eAAO,MAAM,aAAa,QAClB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,2GAYlF,CAAA;AAEH,eAAO,MAAM,kBAAkB,QACvB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,wFAiBlF,CAAA;AAEH,eAAO,MAAM,WAAW,QAAS,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO;;;;0DAoB7G,CAAA;AAED,eAAO,MAAM,qBAAqB,QAC1B,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,oHAgBlF,CAAA;AAEH,eAAO,MAAM,QAAQ,QAAS,SAAS,CAAC,SAAS,cAAc,MAAM,WAAW,OAAO,0GAatF,CAAA;AAED,eAAO,MAAM,gBAAgB,QACrB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,8EAelF,CAAA;AAEH,eAAO,MAAM,aAAa,QAAS,SAAS,CAAC,SAAS;;;;mDAkBnD,CAAA;AAEH,eAAO,MAAM,aAAa,QAAS,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,2EAY/G,CAAA;AAED,eAAO,MAAM,gBAAgB,QACrB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO;;;;;;;;;;qDA2BlF,CAAA;AAEH,eAAO,MAAM,cAAc,QAAS,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,kFAchH,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAS,SAAS,CAAC,SAAS,wFAMxD,CAAA"}
@@ -37,7 +37,7 @@ export const topContributors = (sql) => (weekStart, weekEnd, filters, limit = 10
37
37
  export const mostActivePRs = (sql) => (weekStart, weekEnd, filters, limit = 10) => {
38
38
  const f = whereFilters(sql, filters);
39
39
  return sql `
40
- SELECT id, title, author, repository_name, comment_count, aws_account_id
40
+ SELECT id, title, author, repository_name, account_region, comment_count, aws_account_id
41
41
  FROM pull_requests
42
42
  WHERE COALESCE(closed_at, last_modified_date) >= ${weekStart} AND COALESCE(closed_at, last_modified_date) < ${weekEnd}
43
43
  AND comment_count > 0
@@ -76,7 +76,7 @@ export const avgDiffSize = (sql) => (weekStart, weekEnd, filters) => {
76
76
  ${f.repo} ${f.author} ${f.account}
77
77
  `.pipe(Effect.map((rows) => {
78
78
  const r = rows[0];
79
- if (!r || r.avgAdded == null)
79
+ if (r === undefined || r.avgAdded === null)
80
80
  return null;
81
81
  return { filesAdded: r.avgAdded, filesModified: r.avgModified ?? 0, filesDeleted: r.avgDeleted ?? 0 };
82
82
  }), cacheError("avgDiffSize"));
@@ -102,7 +102,7 @@ export const stalePRs = (sql) => (nowISO, filters, limit = 10) => {
102
102
  const f = whereFilters(sql, filters);
103
103
  return sql `
104
104
  SELECT
105
- id, title, author, repository_name, aws_account_id,
105
+ id, title, author, repository_name, account_region, aws_account_id,
106
106
  CAST((julianday(${nowISO}) - julianday(last_modified_date)) AS INTEGER) as days_since_activity
107
107
  FROM pull_requests
108
108
  WHERE status = 'OPEN'
@@ -153,7 +153,7 @@ export const totalComments = (sql) => (weekStart, weekEnd, filters) => {
153
153
  export const mergeTimeDetails = (sql) => (weekStart, weekEnd, filters) => {
154
154
  const f = whereFilters(sql, filters);
155
155
  return sql `
156
- SELECT id, title, author, repository_name, aws_account_id, creation_date,
156
+ SELECT id, title, author, repository_name, account_region, aws_account_id, creation_date,
157
157
  COALESCE(closed_at, last_modified_date) as last_modified_date,
158
158
  CAST((julianday(COALESCE(closed_at, last_modified_date)) - julianday(creation_date)) * 86400000 AS INTEGER) as duration_ms
159
159
  FROM pull_requests
@@ -166,6 +166,7 @@ export const mergeTimeDetails = (sql) => (weekStart, weekEnd, filters) => {
166
166
  prTitle: r.title,
167
167
  author: r.author,
168
168
  repositoryName: r.repositoryName,
169
+ accountRegion: r.accountRegion,
169
170
  awsAccountId: r.awsAccountId,
170
171
  durationMs: r.durationMs,
171
172
  fromLabel: fmtDate(r.creationDate),
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/queries.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ export declare const reviewerData: (sql: SqlClient.SqlClient) => (weekStart: str
28
28
  prTitle: string;
29
29
  author: string;
30
30
  repositoryName: string;
31
+ accountRegion: string;
31
32
  awsAccountId: string;
32
33
  durationMs: number;
33
34
  fromLabel: string;
@@ -38,6 +39,7 @@ export declare const reviewerData: (sql: SqlClient.SqlClient) => (weekStart: str
38
39
  prTitle: string;
39
40
  author: string;
40
41
  repositoryName: string;
42
+ accountRegion: string;
41
43
  awsAccountId: string;
42
44
  durationMs: number;
43
45
  fromLabel: string;
@@ -1 +1 @@
1
- {"version":3,"file":"reviewerData.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/reviewerData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAKL,KAAK,OAAO,EAGb,MAAM,eAAe,CAAA;AAEtB,eAAO,MAAM,YAAY,QAAS,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO;;;;;;;;;;;;;cA2D/F,MAAM;iBACH,MAAM;gBACP,MAAM;wBACE,MAAM;sBACR,MAAM;oBACR,MAAM;mBACP,MAAM;iBACR,MAAM;;;;;;;;;;;;mDAmIxB,CAAA"}
1
+ {"version":3,"file":"reviewerData.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/reviewerData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAKL,KAAK,OAAO,EAGb,MAAM,eAAe,CAAA;AAEtB,eAAO,MAAM,YAAY,QAAS,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO;;;;;;;;;;;;;cA+E/F,MAAM;iBACH,MAAM;gBACP,MAAM;wBACE,MAAM;uBACP,MAAM;sBACP,MAAM;oBACR,MAAM;mBACP,MAAM;iBACR,MAAM;;;;;;;;;;;;;mDAsIxB,CAAA"}
@@ -15,7 +15,7 @@ export const reviewerData = (sql) => (weekStart, weekEnd, filters) => {
15
15
  const fJoin = whereFilters(sql, filters, "p");
16
16
  return Effect.all({
17
17
  prs: sql `
18
- SELECT id, title, author, aws_account_id, repository_name, creation_date, closed_at,
18
+ SELECT id, title, author, aws_account_id, repository_name, account_region, creation_date, closed_at,
19
19
  COALESCE(closed_at, last_modified_date) as last_modified_date, is_approved, status, merged_by, approved_by
20
20
  FROM pull_requests
21
21
  WHERE COALESCE(closed_at, last_modified_date) >= ${weekStart} AND COALESCE(closed_at, last_modified_date) < ${weekEnd}
@@ -23,40 +23,60 @@ export const reviewerData = (sql) => (weekStart, weekEnd, filters) => {
23
23
  ${f.repo} ${f.author} ${f.account}
24
24
  `,
25
25
  comments: sql `
26
- SELECT c.pull_request_id, c.aws_account_id, c.locations_json
26
+ SELECT c.pull_request_id, c.aws_account_id, p.repository_name, p.account_region, c.locations_json
27
27
  FROM pr_comments c
28
- INNER JOIN pull_requests p ON p.id = c.pull_request_id AND p.aws_account_id = c.aws_account_id
28
+ INNER JOIN pull_requests p ON p.id = c.pull_request_id
29
+ AND p.aws_account_id = c.aws_account_id
30
+ AND (
31
+ (p.repository_name = c.repository_name AND p.account_region = c.account_region)
32
+ OR (
33
+ c.repository_name = ''
34
+ AND c.account_region = ''
35
+ AND (
36
+ SELECT count(*) FROM pull_requests p2
37
+ WHERE p2.aws_account_id = c.aws_account_id AND p2.id = c.pull_request_id
38
+ ) = 1
39
+ AND NOT EXISTS (
40
+ SELECT 1 FROM pr_comments c2
41
+ WHERE c2.pull_request_id = c.pull_request_id
42
+ AND c2.aws_account_id = c.aws_account_id
43
+ AND c2.repository_name = p.repository_name
44
+ AND c2.account_region = p.account_region
45
+ )
46
+ )
47
+ )
29
48
  WHERE COALESCE(p.closed_at, p.last_modified_date) >= ${weekStart} AND COALESCE(p.closed_at, p.last_modified_date) < ${weekEnd}
30
49
  AND p.status != 'CLOSED'
31
50
  ${fJoin.repo} ${fJoin.author} ${fJoin.account}
32
51
  `
33
52
  }).pipe(Effect.flatMap(({ comments, prs }) => Effect.gen(function* () {
34
53
  const prAuthors = new Map(prs.map((p) => [
35
- `${p.awsAccountId}:${p.id}`,
54
+ `${p.awsAccountId}:${p.id}:${p.repositoryName}:${p.accountRegion}`,
36
55
  {
37
56
  id: p.id,
38
57
  title: p.title,
39
58
  author: p.author,
40
59
  repositoryName: p.repositoryName,
41
60
  awsAccountId: p.awsAccountId,
61
+ accountRegion: p.accountRegion,
42
62
  creationDate: new Date(p.creationDate),
43
- closedAt: p.closedAt ? new Date(p.closedAt) : null,
63
+ closedAt: p.closedAt === null ? null : new Date(p.closedAt),
44
64
  lastModifiedDate: new Date(p.lastModifiedDate),
45
65
  isApproved: p.isApproved === 1,
46
66
  isMerged: p.status === "MERGED",
47
67
  mergedBy: p.mergedBy,
48
- approvedBy: p.approvedBy
49
- ? p.approvedBy.split(",").map((s) => s.trim()).filter((s) => s && s !== p.author)
50
- : []
68
+ approvedBy: p.approvedBy === null
69
+ ? []
70
+ : p.approvedBy.split(",").map((s) => s.trim()).filter((s) => s !== "" && s !== p.author)
51
71
  }
52
72
  ]));
53
73
  // Top approvers — from approved_by column (comma-separated names)
54
74
  const approverCounts = new Map();
55
75
  for (const p of prs) {
56
- if (p.approvedBy) {
76
+ if (p.approvedBy !== null) {
57
77
  for (const name of p.approvedBy.split(",")) {
58
78
  const trimmed = name.trim();
59
- if (trimmed && trimmed !== p.author) {
79
+ if (trimmed !== "" && trimmed !== p.author) {
60
80
  approverCounts.set(trimmed, (approverCounts.get(trimmed) ?? 0) + 1);
61
81
  }
62
82
  }
@@ -72,9 +92,9 @@ export const reviewerData = (sql) => (weekStart, weekEnd, filters) => {
72
92
  const weMs = new Date(weekEnd).getTime();
73
93
  const fmtTs = (d) => d.toISOString().slice(0, 16).replace("T", " ");
74
94
  for (const row of comments) {
75
- const key = `${row.awsAccountId}:${row.pullRequestId}`;
95
+ const key = `${row.awsAccountId}:${row.pullRequestId}:${row.repositoryName}:${row.accountRegion}`;
76
96
  const prInfo = prAuthors.get(key);
77
- if (!prInfo)
97
+ if (prInfo === undefined)
78
98
  continue;
79
99
  const parsed = yield* decodeCommentLocationJson(row.locationsJson);
80
100
  const allComments = extractComments(parsed);
@@ -90,7 +110,7 @@ export const reviewerData = (sql) => (weekStart, weekEnd, filters) => {
90
110
  // (mergedBy-based approver counting moved above comment loop)
91
111
  // Time to first review (comment action)
92
112
  const firstReview = sorted.find((c) => c.author !== prInfo.author);
93
- if (firstReview) {
113
+ if (firstReview !== undefined) {
94
114
  prsWithCommentReview.add(key);
95
115
  const durationMs = firstReview.creationDate.getTime() - prInfo.creationDate.getTime();
96
116
  firstReviewDeltas.push(durationMs);
@@ -99,6 +119,7 @@ export const reviewerData = (sql) => (weekStart, weekEnd, filters) => {
99
119
  prTitle: prInfo.title,
100
120
  author: prInfo.author,
101
121
  repositoryName: prInfo.repositoryName,
122
+ accountRegion: prInfo.accountRegion,
102
123
  awsAccountId: prInfo.awsAccountId,
103
124
  durationMs,
104
125
  fromLabel: fmtTs(prInfo.creationDate),
@@ -112,11 +133,11 @@ export const reviewerData = (sql) => (weekStart, weekEnd, filters) => {
112
133
  for (let i = 0; i < sorted.length; i++) {
113
134
  if (sorted[i].author !== prInfo.author) {
114
135
  const nextAuthorReply = sorted.slice(i + 1).find((c) => c.author === prInfo.author);
115
- if (nextAuthorReply) {
136
+ if (nextAuthorReply !== undefined) {
116
137
  const dMs = nextAuthorReply.creationDate.getTime() - sorted[i].creationDate.getTime();
117
138
  feedbackDeltas.push(dMs);
118
139
  prFeedbackDeltas.push(dMs);
119
- if (!firstFeedbackFrom)
140
+ if (firstFeedbackFrom === undefined)
120
141
  firstFeedbackFrom = sorted[i].creationDate;
121
142
  lastFeedbackTo = nextAuthorReply.creationDate;
122
143
  }
@@ -129,6 +150,7 @@ export const reviewerData = (sql) => (weekStart, weekEnd, filters) => {
129
150
  prTitle: prInfo.title,
130
151
  author: prInfo.author,
131
152
  repositoryName: prInfo.repositoryName,
153
+ accountRegion: prInfo.accountRegion,
132
154
  awsAccountId: prInfo.awsAccountId,
133
155
  durationMs: avgMs,
134
156
  fromLabel: `${fmtTs(firstFeedbackFrom)} (${prFeedbackDeltas.length} rounds)`,
@@ -153,6 +175,7 @@ export const reviewerData = (sql) => (weekStart, weekEnd, filters) => {
153
175
  prTitle: prInfo.title,
154
176
  author: prInfo.author,
155
177
  repositoryName: prInfo.repositoryName,
178
+ accountRegion: prInfo.accountRegion,
156
179
  awsAccountId: prInfo.awsAccountId,
157
180
  durationMs,
158
181
  fromLabel: fmtTs(prInfo.creationDate),