@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.
- package/dist/CacheService/Database.d.ts +1 -1
- package/dist/CacheService/Database.d.ts.map +1 -1
- package/dist/CacheService/Database.js +10 -2
- package/dist/CacheService/Database.js.map +1 -1
- package/dist/CacheService/diff.d.ts +5 -2
- package/dist/CacheService/diff.d.ts.map +1 -1
- package/dist/CacheService/diff.js +31 -13
- package/dist/CacheService/diff.js.map +1 -1
- package/dist/CacheService/migrations/0017_sandbox_region.d.ts +5 -0
- package/dist/CacheService/migrations/0017_sandbox_region.d.ts.map +1 -0
- package/dist/CacheService/migrations/0017_sandbox_region.js +4 -0
- package/dist/CacheService/migrations/0017_sandbox_region.js.map +1 -0
- package/dist/CacheService/migrations/0018_pull_request_coordinates.d.ts +6 -0
- package/dist/CacheService/migrations/0018_pull_request_coordinates.d.ts.map +1 -0
- package/dist/CacheService/migrations/0018_pull_request_coordinates.js +82 -0
- package/dist/CacheService/migrations/0018_pull_request_coordinates.js.map +1 -0
- package/dist/CacheService/migrations/0019_dependent_pr_coordinates.d.ts +6 -0
- package/dist/CacheService/migrations/0019_dependent_pr_coordinates.d.ts.map +1 -0
- package/dist/CacheService/migrations/0019_dependent_pr_coordinates.js +57 -0
- package/dist/CacheService/migrations/0019_dependent_pr_coordinates.js.map +1 -0
- package/dist/CacheService/migrations/0020_notification_coordinates.d.ts +6 -0
- package/dist/CacheService/migrations/0020_notification_coordinates.d.ts.map +1 -0
- package/dist/CacheService/migrations/0020_notification_coordinates.js +22 -0
- package/dist/CacheService/migrations/0020_notification_coordinates.js.map +1 -0
- package/dist/CacheService/repos/CommentRepo.d.ts +6 -2
- package/dist/CacheService/repos/CommentRepo.d.ts.map +1 -1
- package/dist/CacheService/repos/CommentRepo.js +46 -7
- package/dist/CacheService/repos/CommentRepo.js.map +1 -1
- package/dist/CacheService/repos/NotificationRepo.d.ts +2 -0
- package/dist/CacheService/repos/NotificationRepo.d.ts.map +1 -1
- package/dist/CacheService/repos/NotificationRepo.js +10 -3
- package/dist/CacheService/repos/NotificationRepo.js.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/index.d.ts +42 -7
- package/dist/CacheService/repos/PullRequestRepo/index.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/index.js +2 -0
- package/dist/CacheService/repos/PullRequestRepo/index.js.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts +9 -5
- package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/mutations.js +61 -17
- package/dist/CacheService/repos/PullRequestRepo/mutations.js.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/queries.d.ts +48 -4
- package/dist/CacheService/repos/PullRequestRepo/queries.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/queries.js +40 -5
- package/dist/CacheService/repos/PullRequestRepo/queries.js.map +1 -1
- package/dist/CacheService/repos/SandboxRepo.d.ts +45 -1
- package/dist/CacheService/repos/SandboxRepo.d.ts.map +1 -1
- package/dist/CacheService/repos/SandboxRepo.js +53 -8
- package/dist/CacheService/repos/SandboxRepo.js.map +1 -1
- package/dist/CacheService/repos/StatsRepo/index.d.ts +3 -0
- package/dist/CacheService/repos/StatsRepo/index.d.ts.map +1 -1
- package/dist/CacheService/repos/StatsRepo/internal.d.ts +6 -0
- package/dist/CacheService/repos/StatsRepo/internal.d.ts.map +1 -1
- package/dist/CacheService/repos/StatsRepo/internal.js +5 -5
- package/dist/CacheService/repos/StatsRepo/internal.js.map +1 -1
- package/dist/CacheService/repos/StatsRepo/queries.d.ts +1 -0
- package/dist/CacheService/repos/StatsRepo/queries.d.ts.map +1 -1
- package/dist/CacheService/repos/StatsRepo/queries.js +5 -4
- package/dist/CacheService/repos/StatsRepo/queries.js.map +1 -1
- package/dist/CacheService/repos/StatsRepo/reviewerData.d.ts +2 -0
- package/dist/CacheService/repos/StatsRepo/reviewerData.d.ts.map +1 -1
- package/dist/CacheService/repos/StatsRepo/reviewerData.js +38 -15
- package/dist/CacheService/repos/StatsRepo/reviewerData.js.map +1 -1
- package/dist/CacheService/repos/SubscriptionRepo.d.ts +11 -5
- package/dist/CacheService/repos/SubscriptionRepo.d.ts.map +1 -1
- package/dist/CacheService/repos/SubscriptionRepo.js +106 -12
- package/dist/CacheService/repos/SubscriptionRepo.js.map +1 -1
- package/dist/ChildEnv.d.ts.map +1 -1
- package/dist/ChildEnv.js +1 -0
- package/dist/ChildEnv.js.map +1 -1
- package/dist/Domain.d.ts +1 -0
- package/dist/Domain.d.ts.map +1 -1
- package/dist/Domain.js +1 -0
- package/dist/Domain.js.map +1 -1
- package/dist/PRService/index.d.ts +15 -8
- package/dist/PRService/index.d.ts.map +1 -1
- package/dist/PRService/index.js +5 -5
- package/dist/PRService/index.js.map +1 -1
- package/dist/PRService/refreshDiffs.d.ts.map +1 -1
- package/dist/PRService/refreshDiffs.js +12 -3
- package/dist/PRService/refreshDiffs.js.map +1 -1
- package/dist/PRService/refreshEnrich.d.ts.map +1 -1
- package/dist/PRService/refreshEnrich.js +28 -11
- package/dist/PRService/refreshEnrich.js.map +1 -1
- package/dist/PRService/refreshFetch.d.ts.map +1 -1
- package/dist/PRService/refreshFetch.js +25 -13
- package/dist/PRService/refreshFetch.js.map +1 -1
- package/dist/PRService/refreshHistory.d.ts +1 -1
- package/dist/PRService/refreshHistory.d.ts.map +1 -1
- package/dist/PRService/refreshHistory.js +6 -4
- package/dist/PRService/refreshHistory.js.map +1 -1
- package/dist/PRService/refreshResolve.d.ts +4 -1
- package/dist/PRService/refreshResolve.d.ts.map +1 -1
- package/dist/PRService/refreshResolve.js +19 -6
- package/dist/PRService/refreshResolve.js.map +1 -1
- package/dist/PRService/refreshScore.d.ts.map +1 -1
- package/dist/PRService/refreshScore.js +4 -1
- package/dist/PRService/refreshScore.js.map +1 -1
- package/dist/PRService/refreshSinglePR.d.ts +9 -2
- package/dist/PRService/refreshSinglePR.d.ts.map +1 -1
- package/dist/PRService/refreshSinglePR.js +99 -33
- package/dist/PRService/refreshSinglePR.js.map +1 -1
- package/dist/SandboxService/DockerService.d.ts +2 -0
- package/dist/SandboxService/DockerService.d.ts.map +1 -1
- package/dist/SandboxService/DockerService.js +47 -16
- package/dist/SandboxService/DockerService.js.map +1 -1
- package/dist/SandboxService/SandboxService.d.ts +4 -0
- package/dist/SandboxService/SandboxService.d.ts.map +1 -1
- package/dist/SandboxService/SandboxService.js +112 -25
- package/dist/SandboxService/SandboxService.js.map +1 -1
- package/dist/StatsService/WeeklyStats.d.ts +7 -0
- package/dist/StatsService/WeeklyStats.d.ts.map +1 -1
- package/dist/StatsService/WeeklyStats.js +3 -0
- package/dist/StatsService/WeeklyStats.js.map +1 -1
- 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
|
|
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({
|
|
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
|
|
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
|
|
64
|
-
|
|
65
|
-
|
|
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":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEtE,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAC1D,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEvD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,aAAa,EAAE,MAAM,CAAC,MAAM;IAC5B,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,cAAc,EAAE,MAAM,CAAC,MAAM;IAC7B,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC,MAAM;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,cAAc,EAAE,MAAM,CAAC,MAAM;CAC9B,CAAC,CAAA;
|
|
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
|
|
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(
|
|
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(
|
|
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)}
|
|
38
|
-
author: authors ? sql `AND ${col("author")} IN ${sql.in(authors)}
|
|
39
|
-
account: accounts ? sql `AND ${col("aws_account_id")} IN ${sql.in(accounts)}`
|
|
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":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGhD,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
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 (
|
|
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":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAGL,UAAU,EAWV,YAAY,EACb,MAAM,eAAe,CAAA;AAEtB,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAEnE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAwB,EAAE,EAAE,CAAC,CAAC,SAAiB,EAAE,OAAe,EAAE,OAAgB,EAAE,EAAE;IACjH,MAAM,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACpC,OAAO,GAAG,CAAW;;2CAEoB,SAAS,wBAAwB,OAAO;2FACQ,SAAS,kDAAkD,OAAO;2FAClE,SAAS,kDAAkD,OAAO;;gCAE7H,SAAS,kDAAkD,SAAS;UAC1F,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO;KACpC,CAAC,IAAI,CACN,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAC9E,UAAU,CAAC,cAAc,CAAC,CAC3B,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAC1B,CAAC,GAAwB,EAAE,EAAE,CAAC,CAAC,SAAiB,EAAE,OAAe,EAAE,OAAgB,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE;IACjG,MAAM,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACpC,OAAO,GAAG,CAAgB;;;+BAGC,SAAS,wBAAwB,OAAO;;UAE7D,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO;;;cAG3B,KAAK;KACd,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAA;AACvC,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,aAAa,GACxB,CAAC,GAAwB,EAAE,EAAE,CAAC,CAAC,SAAiB,EAAE,OAAe,EAAE,OAAgB,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE;IACjG,MAAM,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACpC,OAAO,GAAG,CAAa;;;yDAG8B,SAAS,kDAAkD,OAAO;;;UAGjH,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO;;cAE3B,KAAK;KACd,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAA;AACrC,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAC7B,CAAC,GAAwB,EAAE,EAAE,CAAC,CAAC,SAAiB,EAAE,OAAe,EAAE,OAAgB,EAAE,EAAE;IACrF,MAAM,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACpC,OAAO,GAAG,CAAqB;;;;;;;+BAOJ,SAAS,wBAAwB,OAAO;;;UAG7D,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO;KACpC,CAAC,IAAI,CACJ,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EACjF,UAAU,CAAC,oBAAoB,CAAC,CACjC,CAAA;AACH,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAwB,EAAE,EAAE,CAAC,CAAC,SAAiB,EAAE,OAAe,EAAE,OAAgB,EAAE,EAAE;IAChH,MAAM,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACpC,OAAO,GAAG,CAAY;;;;;;+BAMO,SAAS,wBAAwB,OAAO;;;UAG7D,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO;KACpC,CAAC,IAAI,CACN,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAClB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,IAAI,CAAC,
|
|
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;;;;;;;;;;;;;
|
|
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
|
|
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)
|
|
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
|
-
?
|
|
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 (
|
|
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 (
|
|
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),
|