@knpkv/codecommit-core 0.21.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AwsClient/AwsClientGated.d.ts.map +1 -1
- package/dist/AwsClient/AwsClientGated.js +6 -1
- package/dist/AwsClient/AwsClientGated.js.map +1 -1
- package/dist/AwsClient/getPullRequest.d.ts.map +1 -1
- package/dist/AwsClient/getPullRequest.js +2 -3
- package/dist/AwsClient/getPullRequest.js.map +1 -1
- package/dist/AwsClient/getPullRequests.d.ts +17 -4
- package/dist/AwsClient/getPullRequests.d.ts.map +1 -1
- package/dist/AwsClient/getPullRequests.js +28 -13
- package/dist/AwsClient/getPullRequests.js.map +1 -1
- package/dist/AwsClient/internal.d.ts +2 -0
- package/dist/AwsClient/internal.d.ts.map +1 -1
- package/dist/AwsClient/internal.js +2 -0
- package/dist/AwsClient/internal.js.map +1 -1
- package/dist/CacheService/Database.d.ts +1 -1
- package/dist/CacheService/Database.d.ts.map +1 -1
- package/dist/CacheService/Database.js +4 -2
- package/dist/CacheService/Database.js.map +1 -1
- package/dist/CacheService/migrations/0003_add_health_score.js +3 -1
- package/dist/CacheService/migrations/0003_add_health_score.js.map +1 -1
- package/dist/CacheService/migrations/0004_unify_notifications.js +6 -2
- package/dist/CacheService/migrations/0004_unify_notifications.js.map +1 -1
- package/dist/CacheService/migrations/0007_stats_columns.js +12 -4
- package/dist/CacheService/migrations/0007_stats_columns.js.map +1 -1
- package/dist/CacheService/migrations/0008_merged_by.js +3 -1
- package/dist/CacheService/migrations/0008_merged_by.js.map +1 -1
- package/dist/CacheService/migrations/0009_approved_by.js +3 -1
- package/dist/CacheService/migrations/0009_approved_by.js.map +1 -1
- package/dist/CacheService/migrations/0010_commented_by.js +3 -1
- package/dist/CacheService/migrations/0010_commented_by.js.map +1 -1
- package/dist/CacheService/migrations/0011_audit_log.js +1 -0
- package/dist/CacheService/migrations/0011_audit_log.js.map +1 -1
- package/dist/CacheService/migrations/0012_audit_log_indexes.js +1 -0
- package/dist/CacheService/migrations/0012_audit_log_indexes.js.map +1 -1
- package/dist/CacheService/migrations/0013_approval_rules.js +3 -1
- package/dist/CacheService/migrations/0013_approval_rules.js.map +1 -1
- package/dist/CacheService/migrations/0014_approved_by_arns.js +3 -1
- package/dist/CacheService/migrations/0014_approved_by_arns.js.map +1 -1
- package/dist/CacheService/migrations/0015_repo_account_id.js +3 -1
- package/dist/CacheService/migrations/0015_repo_account_id.js.map +1 -1
- package/dist/CacheService/migrations/0025_pull_request_approvers_unknown.d.ts +11 -0
- package/dist/CacheService/migrations/0025_pull_request_approvers_unknown.d.ts.map +1 -0
- package/dist/CacheService/migrations/0025_pull_request_approvers_unknown.js +10 -0
- package/dist/CacheService/migrations/0025_pull_request_approvers_unknown.js.map +1 -0
- package/dist/CacheService/repos/PullRequestRepo/index.d.ts +15 -0
- package/dist/CacheService/repos/PullRequestRepo/index.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/index.js +1 -0
- package/dist/CacheService/repos/PullRequestRepo/index.js.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/internal.d.ts +7 -2
- package/dist/CacheService/repos/PullRequestRepo/internal.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/internal.js +11 -7
- package/dist/CacheService/repos/PullRequestRepo/internal.js.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/queries.d.ts +20 -0
- package/dist/CacheService/repos/PullRequestRepo/queries.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/queries.js +18 -0
- package/dist/CacheService/repos/PullRequestRepo/queries.js.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/rowWrites.d.ts +7 -7
- package/dist/CacheService/repos/PullRequestRepo/rowWrites.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/rowWrites.js +19 -6
- package/dist/CacheService/repos/PullRequestRepo/rowWrites.js.map +1 -1
- package/dist/CacheService/repos/StatsRepo/reviewerData.d.ts.map +1 -1
- package/dist/CacheService/repos/StatsRepo/reviewerData.js +3 -2
- package/dist/CacheService/repos/StatsRepo/reviewerData.js.map +1 -1
- package/dist/ConfigService/detectProfiles.d.ts +15 -2
- package/dist/ConfigService/detectProfiles.d.ts.map +1 -1
- package/dist/ConfigService/detectProfiles.js +24 -6
- package/dist/ConfigService/detectProfiles.js.map +1 -1
- package/dist/ConfigService/index.d.ts +1 -1
- package/dist/ConfigService/index.d.ts.map +1 -1
- package/dist/ConfigService/index.js +1 -1
- package/dist/ConfigService/index.js.map +1 -1
- package/dist/ConfigService/load.d.ts.map +1 -1
- package/dist/ConfigService/load.js +6 -2
- package/dist/ConfigService/load.js.map +1 -1
- package/dist/ConfigService/reset.d.ts.map +1 -1
- package/dist/ConfigService/reset.js +6 -2
- package/dist/ConfigService/reset.js.map +1 -1
- package/dist/Domain.d.ts +30 -0
- package/dist/Domain.d.ts.map +1 -1
- package/dist/Domain.js +26 -2
- package/dist/Domain.js.map +1 -1
- package/dist/Errors.d.ts +6 -0
- package/dist/Errors.d.ts.map +1 -1
- package/dist/Errors.js +21 -1
- package/dist/Errors.js.map +1 -1
- package/dist/PRService/index.d.ts.map +1 -1
- package/dist/PRService/index.js +15 -4
- package/dist/PRService/index.js.map +1 -1
- package/dist/PRService/internal.d.ts +9 -0
- package/dist/PRService/internal.d.ts.map +1 -1
- package/dist/PRService/internal.js +10 -0
- package/dist/PRService/internal.js.map +1 -1
- package/dist/PRService/refresh.d.ts.map +1 -1
- package/dist/PRService/refresh.js +3 -1
- package/dist/PRService/refresh.js.map +1 -1
- package/dist/PRService/refreshDiffs.d.ts.map +1 -1
- package/dist/PRService/refreshDiffs.js +6 -2
- package/dist/PRService/refreshDiffs.js.map +1 -1
- package/dist/PRService/refreshEnrich.d.ts.map +1 -1
- package/dist/PRService/refreshEnrich.js +18 -6
- package/dist/PRService/refreshEnrich.js.map +1 -1
- package/dist/PRService/refreshFetch.d.ts.map +1 -1
- package/dist/PRService/refreshFetch.js +40 -7
- package/dist/PRService/refreshFetch.js.map +1 -1
- package/dist/PRService/refreshHistory.d.ts.map +1 -1
- package/dist/PRService/refreshHistory.js +13 -4
- package/dist/PRService/refreshHistory.js.map +1 -1
- package/dist/PRService/refreshResolve.d.ts +1 -1
- package/dist/PRService/refreshResolve.d.ts.map +1 -1
- package/dist/PRService/refreshResolve.js +15 -3
- package/dist/PRService/refreshResolve.js.map +1 -1
- package/dist/PRService/refreshScore.d.ts.map +1 -1
- package/dist/PRService/refreshScore.js +3 -1
- package/dist/PRService/refreshScore.js.map +1 -1
- package/dist/PRService/refreshSinglePR.d.ts.map +1 -1
- package/dist/PRService/refreshSinglePR.js +27 -11
- package/dist/PRService/refreshSinglePR.js.map +1 -1
- package/dist/PRService/visibility.d.ts.map +1 -1
- package/dist/PRService/visibility.js +3 -1
- package/dist/PRService/visibility.js.map +1 -1
- package/dist/PermissionService/PermissionGate.d.ts +9 -1
- package/dist/PermissionService/PermissionGate.d.ts.map +1 -1
- package/dist/PermissionService/PermissionGate.js.map +1 -1
- package/dist/PermissionService/PermissionGateLive.d.ts +17 -2
- package/dist/PermissionService/PermissionGateLive.d.ts.map +1 -1
- package/dist/PermissionService/PermissionGateLive.js +13 -3
- package/dist/PermissionService/PermissionGateLive.js.map +1 -1
- package/dist/PermissionService/index.d.ts +9 -0
- package/dist/PermissionService/index.d.ts.map +1 -1
- package/dist/PermissionService/index.js +31 -5
- package/dist/PermissionService/index.js.map +1 -1
- package/dist/SandboxService/DockerService.d.ts.map +1 -1
- package/dist/SandboxService/DockerService.js +3 -1
- package/dist/SandboxService/DockerService.js.map +1 -1
- package/dist/SandboxService/SandboxService.d.ts.map +1 -1
- package/dist/SandboxService/SandboxService.js +23 -6
- package/dist/SandboxService/SandboxService.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as SqlClient from "effect/sql/SqlClient";
|
|
3
|
-
export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE pull_requests ADD COLUMN commented_by TEXT`.pipe(
|
|
3
|
+
export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE pull_requests ADD COLUMN commented_by TEXT`.pipe(
|
|
4
|
+
// ast-grep-ignore: no-silent-catch-all -- follow-up: silent fallback; fail with a typed error, log it, or mark it best-effort
|
|
5
|
+
Effect.catchIf(() => true, () => Effect.void)));
|
|
4
6
|
//# sourceMappingURL=0010_commented_by.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"0010_commented_by.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0010_commented_by.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAA,wDAAwD,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"0010_commented_by.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0010_commented_by.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAA,wDAAwD,CAAC,IAAI;AAC9D,8HAA8H;AAC9H,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9C,CACJ,CAAA"}
|
|
@@ -15,5 +15,6 @@ export default Effect.flatMap(SqlClient.SqlClient, (sql) => Effect.all([
|
|
|
15
15
|
sql `CREATE INDEX IF NOT EXISTS idx_audit_log_operation ON audit_log(operation)`,
|
|
16
16
|
sql `CREATE INDEX IF NOT EXISTS idx_audit_log_permission_state ON audit_log(permission_state)`,
|
|
17
17
|
sql `CREATE INDEX IF NOT EXISTS idx_audit_log_account_profile ON audit_log(account_profile)`
|
|
18
|
+
// ast-grep-ignore: no-silent-catch-all -- follow-up: silent fallback; fail with a typed error, log it, or mark it best-effort
|
|
18
19
|
]).pipe(Effect.asVoid, Effect.catchIf(() => true, () => Effect.void)));
|
|
19
20
|
//# sourceMappingURL=0011_audit_log.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"0011_audit_log.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0011_audit_log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,MAAM,CAAC,GAAG,CAAC;IACT,GAAG,CAAA;;;;;;;;;QASD;IACF,GAAG,CAAA,4EAA4E;IAC/E,GAAG,CAAA,4EAA4E;IAC/E,GAAG,CAAA,0FAA0F;IAC7F,GAAG,CAAA,wFAAwF;
|
|
1
|
+
{"version":3,"file":"0011_audit_log.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0011_audit_log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,MAAM,CAAC,GAAG,CAAC;IACT,GAAG,CAAA;;;;;;;;;QASD;IACF,GAAG,CAAA,4EAA4E;IAC/E,GAAG,CAAA,4EAA4E;IAC/E,GAAG,CAAA,0FAA0F;IAC7F,GAAG,CAAA,wFAAwF;IAC3F,8HAA8H;CAC/H,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACxE,CAAA"}
|
|
@@ -3,5 +3,6 @@ import * as SqlClient from "effect/sql/SqlClient";
|
|
|
3
3
|
export default Effect.flatMap(SqlClient.SqlClient, (sql) => Effect.all([
|
|
4
4
|
sql `CREATE INDEX IF NOT EXISTS idx_audit_log_permission_state ON audit_log(permission_state)`,
|
|
5
5
|
sql `CREATE INDEX IF NOT EXISTS idx_audit_log_account_profile ON audit_log(account_profile)`
|
|
6
|
+
// ast-grep-ignore: no-silent-catch-all -- follow-up: silent fallback; fail with a typed error, log it, or mark it best-effort
|
|
6
7
|
]).pipe(Effect.asVoid, Effect.catchIf(() => true, () => Effect.void)));
|
|
7
8
|
//# sourceMappingURL=0012_audit_log_indexes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"0012_audit_log_indexes.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0012_audit_log_indexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,MAAM,CAAC,GAAG,CAAC;IACT,GAAG,CAAA,0FAA0F;IAC7F,GAAG,CAAA,wFAAwF;
|
|
1
|
+
{"version":3,"file":"0012_audit_log_indexes.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0012_audit_log_indexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,MAAM,CAAC,GAAG,CAAC;IACT,GAAG,CAAA,0FAA0F;IAC7F,GAAG,CAAA,wFAAwF;IAC3F,8HAA8H;CAC/H,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACxE,CAAA"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as SqlClient from "effect/sql/SqlClient";
|
|
3
|
-
export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE pull_requests ADD COLUMN approval_rules TEXT DEFAULT '[]'`.pipe(Effect.asVoid,
|
|
3
|
+
export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE pull_requests ADD COLUMN approval_rules TEXT DEFAULT '[]'`.pipe(Effect.asVoid,
|
|
4
|
+
// ast-grep-ignore: no-silent-catch-all -- follow-up: silent fallback; fail with a typed error, log it, or mark it best-effort
|
|
5
|
+
Effect.catchIf(() => true, () => Effect.void)));
|
|
4
6
|
//# sourceMappingURL=0013_approval_rules.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"0013_approval_rules.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0013_approval_rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAA,uEAAuE,CAAC,IAAI,CAC7E,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"0013_approval_rules.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0013_approval_rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAA,uEAAuE,CAAC,IAAI,CAC7E,MAAM,CAAC,MAAM;AACb,8HAA8H;AAC9H,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9C,CACJ,CAAA"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as SqlClient from "effect/sql/SqlClient";
|
|
3
|
-
export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE pull_requests ADD COLUMN approved_by_arns TEXT`.pipe(Effect.asVoid,
|
|
3
|
+
export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE pull_requests ADD COLUMN approved_by_arns TEXT`.pipe(Effect.asVoid,
|
|
4
|
+
// ast-grep-ignore: no-silent-catch-all -- follow-up: silent fallback; fail with a typed error, log it, or mark it best-effort
|
|
5
|
+
Effect.catchIf(() => true, () => Effect.void)));
|
|
4
6
|
//# sourceMappingURL=0014_approved_by_arns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"0014_approved_by_arns.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0014_approved_by_arns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAA,4DAA4D,CAAC,IAAI,CAClE,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"0014_approved_by_arns.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0014_approved_by_arns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAA,4DAA4D,CAAC,IAAI,CAClE,MAAM,CAAC,MAAM;AACb,8HAA8H;AAC9H,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9C,CACJ,CAAA"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as SqlClient from "effect/sql/SqlClient";
|
|
3
|
-
export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE pull_requests ADD COLUMN repo_account_id TEXT`.pipe(Effect.asVoid,
|
|
3
|
+
export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE pull_requests ADD COLUMN repo_account_id TEXT`.pipe(Effect.asVoid,
|
|
4
|
+
// ast-grep-ignore: no-silent-catch-all -- follow-up: silent fallback; fail with a typed error, log it, or mark it best-effort
|
|
5
|
+
Effect.catchIf(() => true, () => Effect.void)));
|
|
4
6
|
//# sourceMappingURL=0015_repo_account_id.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"0015_repo_account_id.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0015_repo_account_id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAA,2DAA2D,CAAC,IAAI,CACjE,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"0015_repo_account_id.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0015_repo_account_id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAA,2DAA2D,CAAC,IAAI,CACjE,MAAM,CAAC,MAAM;AACb,8HAA8H;AAC9H,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9C,CACJ,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as SqlClient from "effect/sql/SqlClient";
|
|
3
|
+
/**
|
|
4
|
+
* Whether the last approver read failed (1): `approved_by` then holds only the last known approvers.
|
|
5
|
+
* Before this column a revoked approver was never cleared and a failed read kept the old list, so every
|
|
6
|
+
* existing row starts unknown: an open row until the next refresh re-reads it, a merged or closed one
|
|
7
|
+
* until the refresh's capped repair pass does. Every new write states it.
|
|
8
|
+
*/
|
|
9
|
+
declare const _default: Effect.Effect<readonly import("effect/sql/SqlConnection").Row[], import("effect/sql/SqlError").SqlError, SqlClient.SqlClient>;
|
|
10
|
+
export default _default;
|
|
11
|
+
//# sourceMappingURL=0025_pull_request_approvers_unknown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"0025_pull_request_approvers_unknown.d.ts","sourceRoot":"","sources":["../../../src/CacheService/migrations/0025_pull_request_approvers_unknown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD;;;;;GAKG"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as SqlClient from "effect/sql/SqlClient";
|
|
3
|
+
/**
|
|
4
|
+
* Whether the last approver read failed (1): `approved_by` then holds only the last known approvers.
|
|
5
|
+
* Before this column a revoked approver was never cleared and a failed read kept the old list, so every
|
|
6
|
+
* existing row starts unknown: an open row until the next refresh re-reads it, a merged or closed one
|
|
7
|
+
* until the refresh's capped repair pass does. Every new write states it.
|
|
8
|
+
*/
|
|
9
|
+
export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE pull_requests ADD COLUMN approvers_unknown INTEGER NOT NULL DEFAULT 0`.pipe(Effect.andThen(sql `UPDATE pull_requests SET approvers_unknown = 1`)));
|
|
10
|
+
//# sourceMappingURL=0025_pull_request_approvers_unknown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"0025_pull_request_approvers_unknown.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0025_pull_request_approvers_unknown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD;;;;;GAKG;AACH,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAA,mFAAmF,CAAC,IAAI,CACzF,MAAM,CAAC,OAAO,CAAC,GAAG,CAAA,gDAAgD,CAAC,CACpE,CACJ,CAAA"}
|
|
@@ -51,6 +51,7 @@ declare const makePullRequestRepo: Effect.Effect<{
|
|
|
51
51
|
readonly isApproved: boolean;
|
|
52
52
|
readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
|
|
53
53
|
readonly approvalBaselineKnown: boolean;
|
|
54
|
+
readonly approversUnknown: boolean;
|
|
54
55
|
readonly commentCount: number | null;
|
|
55
56
|
readonly healthScore: number | null;
|
|
56
57
|
readonly link: string;
|
|
@@ -87,6 +88,7 @@ declare const makePullRequestRepo: Effect.Effect<{
|
|
|
87
88
|
readonly isApproved: boolean;
|
|
88
89
|
readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
|
|
89
90
|
readonly approvalBaselineKnown: boolean;
|
|
91
|
+
readonly approversUnknown: boolean;
|
|
90
92
|
readonly commentCount: number | null;
|
|
91
93
|
readonly healthScore: number | null;
|
|
92
94
|
readonly link: string;
|
|
@@ -123,6 +125,7 @@ declare const makePullRequestRepo: Effect.Effect<{
|
|
|
123
125
|
readonly isApproved: boolean;
|
|
124
126
|
readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
|
|
125
127
|
readonly approvalBaselineKnown: boolean;
|
|
128
|
+
readonly approversUnknown: boolean;
|
|
126
129
|
readonly commentCount: number | null;
|
|
127
130
|
readonly healthScore: number | null;
|
|
128
131
|
readonly link: string;
|
|
@@ -159,6 +162,7 @@ declare const makePullRequestRepo: Effect.Effect<{
|
|
|
159
162
|
readonly isApproved: boolean;
|
|
160
163
|
readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
|
|
161
164
|
readonly approvalBaselineKnown: boolean;
|
|
165
|
+
readonly approversUnknown: boolean;
|
|
162
166
|
readonly commentCount: number | null;
|
|
163
167
|
readonly healthScore: number | null;
|
|
164
168
|
readonly link: string;
|
|
@@ -199,6 +203,17 @@ declare const makePullRequestRepo: Effect.Effect<{
|
|
|
199
203
|
readonly approvalVersion: Date;
|
|
200
204
|
readonly approvalObservationSeq: number;
|
|
201
205
|
}[], import("../../CacheError.ts").CacheError, never>;
|
|
206
|
+
findClosedWithUnknownApprovers: (limit: number) => Effect.Effect<{
|
|
207
|
+
readonly id: string;
|
|
208
|
+
readonly awsAccountId: string;
|
|
209
|
+
readonly repositoryName: string;
|
|
210
|
+
readonly accountProfile: string & import("effect/Brand").Brand<"AwsProfileName">;
|
|
211
|
+
readonly accountRegion: string & import("effect/Brand").Brand<"AwsRegion">;
|
|
212
|
+
readonly lastModifiedDate: Date;
|
|
213
|
+
readonly observationSeq: number;
|
|
214
|
+
readonly approvalVersion: Date;
|
|
215
|
+
readonly approvalObservationSeq: number;
|
|
216
|
+
}[], import("../../CacheError.ts").CacheError, never>;
|
|
202
217
|
}, never, EventsHub | SqlClient.SqlClient>;
|
|
203
218
|
export interface PullRequestRepoContract extends Success<typeof makePullRequestRepo> {
|
|
204
219
|
}
|
|
@@ -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,sBAAsB,CAAA;AAEjD,OAAO,EAAE,SAAS,EAAc,MAAM,oBAAoB,CAAA;AAE1D,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAEjC,OAAO,EACL,iBAAiB,EACjB,KAAK,YAAY,EACjB,iBAAiB,EACjB,KAAK,YAAY,EACjB,WAAW,EACX,UAAU,EACX,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC/E,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAErH,QAAA,MAAM,mBAAmB
|
|
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,sBAAsB,CAAA;AAEjD,OAAO,EAAE,SAAS,EAAc,MAAM,oBAAoB,CAAA;AAE1D,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAEjC,OAAO,EACL,iBAAiB,EACjB,KAAK,YAAY,EACjB,iBAAiB,EACjB,KAAK,YAAY,EACjB,WAAW,EACX,UAAU,EACX,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC/E,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAErH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAiBvB,CAAA;AAEF,MAAM,WAAW,uBAAwB,SAAQ,OAAO,CAAC,OAAO,mBAAmB,CAAC;CAAG;;AAEvF,qBAAa,eAAgB,SAAQ,oBAGf;IACpB,MAAM,CAAC,QAAQ,CAAC,OAAO,8MAEtB;CACF"}
|
|
@@ -27,6 +27,7 @@ const makePullRequestRepo = Effect.gen(function* () {
|
|
|
27
27
|
search: Q.search(sql),
|
|
28
28
|
findStaleOpen: Q.findStaleOpen(sql),
|
|
29
29
|
findOpenInRange: Q.findOpenInRange(sql),
|
|
30
|
+
findClosedWithUnknownApprovers: Q.findClosedWithUnknownApprovers(sql),
|
|
30
31
|
...mutations(sql, publish)
|
|
31
32
|
};
|
|
32
33
|
return service;
|
|
@@ -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,sBAAsB,CAAA;AACjD,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,EACL,iBAAiB,EAEjB,iBAAiB,EAEjB,WAAW,EACX,UAAU,EACX,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAGxD,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"}
|
|
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,sBAAsB,CAAA;AACjD,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,EACL,iBAAiB,EAEjB,iBAAiB,EAEjB,WAAW,EACX,UAAU,EACX,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAGxD,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,8BAA8B,EAAE,CAAC,CAAC,8BAA8B,CAAC,GAAG,CAAC;QACrE,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"}
|
|
@@ -46,6 +46,8 @@ export declare const CachedPullRequest: Schema.Struct<{
|
|
|
46
46
|
readonly approvalUnknownReason: Schema.NullOr<Schema.Literals<readonly ["NotPermitted", "Throttled", "ProviderFailed"]>>;
|
|
47
47
|
/** The `approval_baseline_known` column: whether `isApproved` came from a successful evaluation. */
|
|
48
48
|
readonly approvalBaselineKnown: Schema.decodeTo<Schema.Boolean, Schema.Number, never, never>;
|
|
49
|
+
/** Set when the last approver read failed: `approvedBy` is then only the last known list. */
|
|
50
|
+
readonly approversUnknown: Schema.decodeTo<Schema.Boolean, Schema.Number, never, never>;
|
|
49
51
|
readonly commentCount: Schema.NullOr<Schema.Number>;
|
|
50
52
|
readonly healthScore: Schema.NullOr<Schema.Number>;
|
|
51
53
|
readonly link: Schema.String;
|
|
@@ -88,6 +90,8 @@ export declare const UpsertInput: Schema.Struct<{
|
|
|
88
90
|
readonly link: Schema.String;
|
|
89
91
|
readonly approvedBy: Schema.$Array<Schema.String>;
|
|
90
92
|
readonly approvedByArns: Schema.$Array<Schema.String>;
|
|
93
|
+
/** Set when the read couldn't fetch its approvers: `approvedBy` is then a placeholder, not "none". */
|
|
94
|
+
readonly approversUnknown: Schema.optional<Schema.Boolean>;
|
|
91
95
|
readonly approvalRules: Schema.withDecodingDefaultTypeKey<Schema.$Array<Schema.Struct<{
|
|
92
96
|
readonly ruleName: Schema.String;
|
|
93
97
|
readonly requiredApprovals: Schema.Number;
|
|
@@ -106,6 +110,9 @@ export interface ApprovalRead {
|
|
|
106
110
|
readonly isApproved: boolean;
|
|
107
111
|
readonly approvalRules: UpsertInput["approvalRules"];
|
|
108
112
|
readonly approvalUnknown?: ApprovalUnknownReason | undefined;
|
|
113
|
+
readonly approvedBy: ReadonlyArray<string>;
|
|
114
|
+
readonly approvedByArns: ReadonlyArray<string>;
|
|
115
|
+
readonly approversUnknown?: boolean | undefined;
|
|
109
116
|
}
|
|
110
117
|
/** Both groups' versions as a read of the row saw them: what a recomputed write must still find. */
|
|
111
118
|
export declare const versionsOf: (row: {
|
|
@@ -132,8 +139,6 @@ export declare const rowGroupOfRead: (read: {
|
|
|
132
139
|
readonly sourceBranch: string;
|
|
133
140
|
readonly destinationBranch: string;
|
|
134
141
|
readonly isMergeable: boolean;
|
|
135
|
-
readonly approvedBy: ReadonlyArray<string>;
|
|
136
|
-
readonly approvedByArns: ReadonlyArray<string>;
|
|
137
142
|
readonly mergedBy?: string | undefined;
|
|
138
143
|
}) => RowGroup;
|
|
139
144
|
/** A provider read's approval group, complete. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @category CacheService
|
|
13
13
|
*/
|
|
14
|
-
import { Effect, Schema, SchemaGetter } from "effect";
|
|
14
|
+
import { Effect, Option, Schema, SchemaGetter } from "effect";
|
|
15
15
|
import { ApprovalRule, ApprovalUnknownTag, PullRequestId, PullRequestStatus, RepositoryName } from "../../../Domain.js";
|
|
16
16
|
import { CacheError } from "../../CacheError.js";
|
|
17
17
|
/** DB column `TEXT` (comma-separated) <-> `readonly string[]` */
|
|
@@ -66,6 +66,8 @@ export const CachedPullRequest = Schema.Struct({
|
|
|
66
66
|
approvalUnknownReason: ApprovalUnknownColumn,
|
|
67
67
|
/** The `approval_baseline_known` column: whether `isApproved` came from a successful evaluation. */
|
|
68
68
|
approvalBaselineKnown: BooleanFromNumber,
|
|
69
|
+
/** Set when the last approver read failed: `approvedBy` is then only the last known list. */
|
|
70
|
+
approversUnknown: BooleanFromNumber,
|
|
69
71
|
commentCount: Schema.NullOr(Schema.Number),
|
|
70
72
|
healthScore: Schema.NullOr(Schema.Number),
|
|
71
73
|
link: Schema.String,
|
|
@@ -102,10 +104,14 @@ export const UpsertInput = Schema.Struct({
|
|
|
102
104
|
link: Schema.String,
|
|
103
105
|
approvedBy: Schema.Array(Schema.String),
|
|
104
106
|
approvedByArns: Schema.Array(Schema.String),
|
|
107
|
+
/** Set when the read couldn't fetch its approvers: `approvedBy` is then a placeholder, not "none". */
|
|
108
|
+
approversUnknown: Schema.optional(Schema.Boolean),
|
|
105
109
|
// The rule's plain shape, not the class: callers pass the provider's rules as plain objects, and the
|
|
106
110
|
// cache stores them as JSON either way.
|
|
107
111
|
approvalRules: Schema.Array(Schema.Struct(ApprovalRule.fields)).pipe(Schema.withDecodingDefaultTypeKey(Effect.succeed([])))
|
|
108
112
|
});
|
|
113
|
+
/** A read's approvers: who approved now, or none when the read couldn't fetch them. */
|
|
114
|
+
const approversOf = (read) => read.approversUnknown === true ? Option.none() : Option.some({ names: read.approvedBy, arns: read.approvedByArns });
|
|
109
115
|
/** Both groups' versions as a read of the row saw them: what a recomputed write must still find. */
|
|
110
116
|
export const versionsOf = (row) => ({
|
|
111
117
|
row: { lastActivity: row.lastModifiedDate, observation: row.observationSeq },
|
|
@@ -124,8 +130,6 @@ export const rowGroupOfListing = (input) => ({
|
|
|
124
130
|
sourceBranch: input.sourceBranch,
|
|
125
131
|
destinationBranch: input.destinationBranch,
|
|
126
132
|
isMergeable: input.isMergeable === 1,
|
|
127
|
-
approvedBy: input.approvedBy,
|
|
128
|
-
approvedByArns: input.approvedByArns,
|
|
129
133
|
mergedBy: null,
|
|
130
134
|
closedAt: null
|
|
131
135
|
});
|
|
@@ -133,7 +137,8 @@ export const rowGroupOfListing = (input) => ({
|
|
|
133
137
|
export const approvalGroupOfListing = (input) => ({
|
|
134
138
|
isApproved: input.isApproved === 1,
|
|
135
139
|
approvalRules: input.approvalRules,
|
|
136
|
-
unknownReason: input.approvalUnknownReason
|
|
140
|
+
unknownReason: input.approvalUnknownReason,
|
|
141
|
+
approvers: approversOf(input)
|
|
137
142
|
});
|
|
138
143
|
/** A provider re-read's row group, complete: a closed or merged read also carries when and by whom. */
|
|
139
144
|
export const rowGroupOfRead = (read) => ({
|
|
@@ -145,8 +150,6 @@ export const rowGroupOfRead = (read) => ({
|
|
|
145
150
|
sourceBranch: read.sourceBranch,
|
|
146
151
|
destinationBranch: read.destinationBranch,
|
|
147
152
|
isMergeable: read.isMergeable,
|
|
148
|
-
approvedBy: read.approvedBy,
|
|
149
|
-
approvedByArns: read.approvedByArns,
|
|
150
153
|
mergedBy: read.mergedBy ?? null,
|
|
151
154
|
closedAt: read.status === "OPEN" ? null : read.lastActivityDate.toISOString()
|
|
152
155
|
});
|
|
@@ -154,7 +157,8 @@ export const rowGroupOfRead = (read) => ({
|
|
|
154
157
|
export const approvalGroupOfRead = (read) => ({
|
|
155
158
|
isApproved: read.isApproved,
|
|
156
159
|
approvalRules: read.approvalRules,
|
|
157
|
-
unknownReason: read.approvalUnknown?._tag ?? null
|
|
160
|
+
unknownReason: read.approvalUnknown?._tag ?? null,
|
|
161
|
+
approvers: approversOf(read)
|
|
158
162
|
});
|
|
159
163
|
/**
|
|
160
164
|
* The approval columns an upsert input carries for a provider read. While approval is unknown,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,7 @@ export declare const findAll: (sql: SqlClient.SqlClient) => () => Effect.Effect<
|
|
|
42
42
|
readonly isApproved: boolean;
|
|
43
43
|
readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
|
|
44
44
|
readonly approvalBaselineKnown: boolean;
|
|
45
|
+
readonly approversUnknown: boolean;
|
|
45
46
|
readonly commentCount: number | null;
|
|
46
47
|
readonly healthScore: number | null;
|
|
47
48
|
readonly link: string;
|
|
@@ -78,6 +79,7 @@ export declare const findMissingDiffStats: (sql: SqlClient.SqlClient) => () => E
|
|
|
78
79
|
readonly isApproved: boolean;
|
|
79
80
|
readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
|
|
80
81
|
readonly approvalBaselineKnown: boolean;
|
|
82
|
+
readonly approversUnknown: boolean;
|
|
81
83
|
readonly commentCount: number | null;
|
|
82
84
|
readonly healthScore: number | null;
|
|
83
85
|
readonly link: string;
|
|
@@ -114,6 +116,7 @@ export declare const findByAccountAndId: (sql: SqlClient.SqlClient) => (awsAccou
|
|
|
114
116
|
readonly isApproved: boolean;
|
|
115
117
|
readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
|
|
116
118
|
readonly approvalBaselineKnown: boolean;
|
|
119
|
+
readonly approversUnknown: boolean;
|
|
117
120
|
readonly commentCount: number | null;
|
|
118
121
|
readonly healthScore: number | null;
|
|
119
122
|
readonly link: string;
|
|
@@ -150,6 +153,7 @@ export declare const findByCoordinates: (sql: SqlClient.SqlClient) => (awsAccoun
|
|
|
150
153
|
readonly isApproved: boolean;
|
|
151
154
|
readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
|
|
152
155
|
readonly approvalBaselineKnown: boolean;
|
|
156
|
+
readonly approversUnknown: boolean;
|
|
153
157
|
readonly commentCount: number | null;
|
|
154
158
|
readonly healthScore: number | null;
|
|
155
159
|
readonly link: string;
|
|
@@ -179,6 +183,22 @@ export declare const findStaleOpen: (sql: SqlClient.SqlClient) => (olderThan: st
|
|
|
179
183
|
readonly approvalVersion: Date;
|
|
180
184
|
readonly approvalObservationSeq: number;
|
|
181
185
|
}[], CacheError, never>;
|
|
186
|
+
/**
|
|
187
|
+
* Merged or closed pull requests whose approvers couldn't be read, oldest-updated first, at most
|
|
188
|
+
* `limit`. A terminal pull request is never listed again, so the refresh re-reads these in batches
|
|
189
|
+
* until none is left.
|
|
190
|
+
*/
|
|
191
|
+
export declare const findClosedWithUnknownApprovers: (sql: SqlClient.SqlClient) => (limit: number) => Effect.Effect<{
|
|
192
|
+
readonly id: string;
|
|
193
|
+
readonly awsAccountId: string;
|
|
194
|
+
readonly repositoryName: string;
|
|
195
|
+
readonly accountProfile: string & import("effect/Brand").Brand<"AwsProfileName">;
|
|
196
|
+
readonly accountRegion: string & import("effect/Brand").Brand<"AwsRegion">;
|
|
197
|
+
readonly lastModifiedDate: Date;
|
|
198
|
+
readonly observationSeq: number;
|
|
199
|
+
readonly approvalVersion: Date;
|
|
200
|
+
readonly approvalObservationSeq: number;
|
|
201
|
+
}[], CacheError, never>;
|
|
182
202
|
export declare const findOpenInRange: (sql: SqlClient.SqlClient) => (weekStart: string, weekEnd: string) => Effect.Effect<{
|
|
183
203
|
readonly id: string;
|
|
184
204
|
readonly awsAccountId: string;
|
|
@@ -1 +1 @@
|
|
|
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,sBAAsB,CAAA;AAGtD,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;AAeL,eAAO,MAAM,OAAO,QAAS,SAAS,CAAC,SAAS
|
|
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,sBAAsB,CAAA;AAGtD,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;AAeL,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,iBAUjC,MAAM;;;;;;;;;;uBAC1B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,QAAS,SAAS,CAAC,SAAS,aAYtD,MAAM;;;;;;;;;;uBACtB,CAAA;AAED,eAAO,MAAM,eAAe,QAAS,SAAS,CAAC,SAAS,iBAcnC,MAAM,WAAW,MAAM;;;;;;;;;;uBAC3C,CAAA"}
|
|
@@ -124,6 +124,24 @@ export const findStaleOpen = (sql) => {
|
|
|
124
124
|
});
|
|
125
125
|
return (olderThan) => run({ olderThan }).pipe(cacheError("findStaleOpen"));
|
|
126
126
|
};
|
|
127
|
+
/**
|
|
128
|
+
* Merged or closed pull requests whose approvers couldn't be read, oldest-updated first, at most
|
|
129
|
+
* `limit`. A terminal pull request is never listed again, so the refresh re-reads these in batches
|
|
130
|
+
* until none is left.
|
|
131
|
+
*/
|
|
132
|
+
export const findClosedWithUnknownApprovers = (sql) => {
|
|
133
|
+
const run = SqlSchema.findAll({
|
|
134
|
+
Result: StaleOpenRow,
|
|
135
|
+
Request: Schema.Struct({ limit: Schema.Number }),
|
|
136
|
+
execute: (req) => sql `SELECT id, aws_account_id, repository_name, account_profile, account_region, last_modified_date, observation_seq,
|
|
137
|
+
approval_version, approval_observation_seq
|
|
138
|
+
FROM pull_requests
|
|
139
|
+
WHERE status != 'OPEN' AND approvers_unknown = 1
|
|
140
|
+
ORDER BY last_modified_date ASC
|
|
141
|
+
LIMIT ${req.limit}`
|
|
142
|
+
});
|
|
143
|
+
return (limit) => run({ limit }).pipe(cacheError("findClosedWithUnknownApprovers"));
|
|
144
|
+
};
|
|
127
145
|
export const findOpenInRange = (sql) => {
|
|
128
146
|
const run = SqlSchema.findAll({
|
|
129
147
|
Result: StaleOpenRow,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/queries.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
*
|
|
30
30
|
* @category CacheService
|
|
31
31
|
*/
|
|
32
|
-
import { Effect } from "effect";
|
|
32
|
+
import { Effect, Option } from "effect";
|
|
33
33
|
import type * as SqlClient from "effect/sql/SqlClient";
|
|
34
34
|
import type * as Statement from "effect/sql/Statement";
|
|
35
35
|
import { type UpsertInput } from "./internal.js";
|
|
@@ -52,10 +52,7 @@ export interface RowVersions {
|
|
|
52
52
|
readonly row: RowVersion;
|
|
53
53
|
readonly approval: RowVersion;
|
|
54
54
|
}
|
|
55
|
-
/**
|
|
56
|
-
* The row group, complete: a provider read has every column of it. `approvedBy` null keeps the
|
|
57
|
-
* approvers already stored (they accumulate across reads).
|
|
58
|
-
*/
|
|
55
|
+
/** The row group, complete: a provider read has every column of it. */
|
|
59
56
|
export interface RowGroup {
|
|
60
57
|
readonly title: string;
|
|
61
58
|
readonly description: string | null;
|
|
@@ -65,8 +62,6 @@ export interface RowGroup {
|
|
|
65
62
|
readonly sourceBranch: string;
|
|
66
63
|
readonly destinationBranch: string;
|
|
67
64
|
readonly isMergeable: boolean;
|
|
68
|
-
readonly approvedBy: ReadonlyArray<string>;
|
|
69
|
-
readonly approvedByArns: ReadonlyArray<string>;
|
|
70
65
|
readonly mergedBy: string | null;
|
|
71
66
|
readonly closedAt: string | null;
|
|
72
67
|
}
|
|
@@ -78,6 +73,11 @@ export interface ApprovalGroup {
|
|
|
78
73
|
readonly isApproved: boolean;
|
|
79
74
|
readonly approvalRules: UpsertInput["approvalRules"];
|
|
80
75
|
readonly unknownReason: string | null;
|
|
76
|
+
/** Who approved now, from the same read; none when the read couldn't fetch them (the stored ones stay). */
|
|
77
|
+
readonly approvers: Option.Option<{
|
|
78
|
+
readonly names: ReadonlyArray<string>;
|
|
79
|
+
readonly arns: ReadonlyArray<string>;
|
|
80
|
+
}>;
|
|
81
81
|
}
|
|
82
82
|
/** Recomputed columns: any subset, written without a version. */
|
|
83
83
|
export interface DerivedColumns {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rowWrites.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/rowWrites.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAAQ,MAAM,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"rowWrites.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/rowWrites.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
*
|
|
30
30
|
* @category CacheService
|
|
31
31
|
*/
|
|
32
|
-
import { Data, Effect } from "effect";
|
|
32
|
+
import { Data, Effect, Option } from "effect";
|
|
33
33
|
import { joinApprovedBy } from "./internal.js";
|
|
34
34
|
/**
|
|
35
35
|
* The `observation_sequence` row is missing, so no observation number can be taken. Without one, reads
|
|
@@ -80,14 +80,22 @@ export const rowWrites = (sql) => {
|
|
|
80
80
|
rowSet("source_branch", row.sourceBranch),
|
|
81
81
|
rowSet("destination_branch", row.destinationBranch),
|
|
82
82
|
rowSet("is_mergeable", row.isMergeable ? 1 : 0),
|
|
83
|
-
rowSet("approved_by", sql `COALESCE(${joinApprovedBy([...row.approvedBy])}, pull_requests.approved_by)`),
|
|
84
|
-
rowSet("approved_by_arns", sql `COALESCE(${joinApprovedBy([...row.approvedByArns])}, pull_requests.approved_by_arns)`),
|
|
85
83
|
rowSet("merged_by", row.mergedBy),
|
|
86
84
|
rowSet("closed_at", row.closedAt),
|
|
87
85
|
// An unknown evaluation keeps the last known approval and rules; a successful one replaces both.
|
|
88
86
|
approvalSet("is_approved", known ? (approval.isApproved ? 1 : 0) : keep("is_approved")),
|
|
89
87
|
approvalSet("approval_rules", known ? rulesJson(approval.approvalRules) : keep("approval_rules")),
|
|
90
88
|
approvalSet("approval_unknown_reason", approval.unknownReason),
|
|
89
|
+
// Approvers are who approved now: a read with none clears them; one that couldn't fetch keeps them.
|
|
90
|
+
approvalSet("approved_by", Option.match(approval.approvers, {
|
|
91
|
+
onNone: () => keep("approved_by"),
|
|
92
|
+
onSome: ({ names }) => joinApprovedBy(names)
|
|
93
|
+
})),
|
|
94
|
+
approvalSet("approvers_unknown", Option.isNone(approval.approvers) ? 1 : 0),
|
|
95
|
+
approvalSet("approved_by_arns", Option.match(approval.approvers, {
|
|
96
|
+
onNone: () => keep("approved_by_arns"),
|
|
97
|
+
onSome: ({ arns }) => joinApprovedBy(arns)
|
|
98
|
+
})),
|
|
91
99
|
// A successful evaluation makes the baseline known; an unknown one keeps whatever it was.
|
|
92
100
|
approvalSet("approval_baseline_known", known ? 1 : keep("approval_baseline_known")),
|
|
93
101
|
// SQLite evaluates every SET expression on the row as it was, so each guard sees the old versions.
|
|
@@ -112,19 +120,24 @@ export const rowWrites = (sql) => {
|
|
|
112
120
|
*/
|
|
113
121
|
upsert: (req, row, approval, observation) => {
|
|
114
122
|
const version = { lastActivity: new Date(req.lastModifiedDate), observation };
|
|
123
|
+
// A first read that couldn't fetch its approvers stores none; its refresh is reported partial.
|
|
124
|
+
const insertedApprovers = Option.match(approval.approvers, {
|
|
125
|
+
onNone: () => ({ names: null, arns: null }),
|
|
126
|
+
onSome: ({ arns, names }) => ({ names: joinApprovedBy(names), arns: joinApprovedBy(arns) })
|
|
127
|
+
});
|
|
115
128
|
return sql `INSERT INTO pull_requests
|
|
116
129
|
(id, aws_account_id, repo_account_id, account_profile, account_region, title, description,
|
|
117
130
|
author, repository_name, creation_date, last_modified_date, status,
|
|
118
131
|
source_branch, destination_branch, is_mergeable, is_approved, approval_unknown_reason,
|
|
119
|
-
approval_baseline_known, comment_count, link, approved_by, approved_by_arns, approval_rules, merged_by, closed_at, fetched_at,
|
|
132
|
+
approval_baseline_known, approvers_unknown, comment_count, link, approved_by, approved_by_arns, approval_rules, merged_by, closed_at, fetched_at,
|
|
120
133
|
observation_seq, approval_version, approval_observation_seq)
|
|
121
134
|
SELECT ${req.id}, ${req.awsAccountId}, ${req.repoAccountId}, ${req.accountProfile}, ${req.accountRegion},
|
|
122
135
|
${row.title}, ${row.description}, ${row.author}, ${req.repositoryName},
|
|
123
136
|
${row.creationDate}, ${req.lastModifiedDate}, ${row.status},
|
|
124
137
|
${row.sourceBranch}, ${row.destinationBranch}, ${row.isMergeable ? 1 : 0},
|
|
125
138
|
${approval.isApproved ? 1 : 0}, ${approval.unknownReason},
|
|
126
|
-
${approval.unknownReason === null ? 1 : 0}, ${req.commentCount}, ${req.link}, ${
|
|
127
|
-
${
|
|
139
|
+
${approval.unknownReason === null ? 1 : 0}, ${Option.isNone(approval.approvers) ? 1 : 0}, ${req.commentCount}, ${req.link}, ${insertedApprovers.names},
|
|
140
|
+
${insertedApprovers.arns}, ${rulesJson(approval.approvalRules)},
|
|
128
141
|
${row.mergedBy}, ${row.closedAt}, strftime('%Y-%m-%dT%H:%M:%SZ', 'now'),
|
|
129
142
|
${observation}, ${req.lastModifiedDate}, ${observation}
|
|
130
143
|
WHERE NOT EXISTS (
|