@ya-accelerators/web-backend-framework 0.0.128 → 0.0.130
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/.generated/policy/error-log.d.ts +1 -0
- package/dist/.generated/policy/error-log.js +1 -0
- package/dist/.generated/policy/error-log.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +3 -1
- package/dist/constants.js.map +1 -1
- package/dist/context/audit/index.d.ts +7 -3
- package/dist/context/audit/index.js +7 -7
- package/dist/context/audit/index.js.map +1 -1
- package/dist/context/request/index.js +4 -2
- package/dist/context/request/index.js.map +1 -1
- package/dist/coordination/lock/index.js +1 -2
- package/dist/coordination/lock/index.js.map +1 -1
- package/dist/coordination/throttle/index.js +1 -2
- package/dist/coordination/throttle/index.js.map +1 -1
- package/dist/repository/prisma/index.js +7 -9
- package/dist/repository/prisma/index.js.map +1 -1
- package/dist/repository/prisma/lock.js +3 -6
- package/dist/repository/prisma/lock.js.map +1 -1
- package/dist/repository/redis/index.js +10 -21
- package/dist/repository/redis/index.js.map +1 -1
- package/dist/repository/s3/index.d.ts +8 -8
- package/dist/repository/s3/index.js +48 -49
- package/dist/repository/s3/index.js.map +1 -1
- package/dist/server/express/index.js +14 -18
- package/dist/server/express/index.js.map +1 -1
- package/dist/server/trpc/declaration/index.d.ts +1 -1
- package/dist/server/trpc/declaration/index.js +5 -5
- package/dist/server/trpc/declaration/index.js.map +1 -1
- package/dist/server/trpc/error-log/index.d.ts +3 -2
- package/dist/server/trpc/error-log/index.js +9 -6
- package/dist/server/trpc/error-log/index.js.map +1 -1
- package/dist/server/trpc/index.d.ts +3 -1
- package/dist/server/trpc/index.js +21 -23
- package/dist/server/trpc/index.js.map +1 -1
- package/dist/server/uploads/index.d.ts +1 -1
- package/dist/server/uploads/index.js +20 -16
- package/dist/server/uploads/index.js.map +1 -1
- package/dist/util/index.js +1 -2
- package/dist/util/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-log.js","sourceRoot":"","sources":["../../../src/.generated/policy/error-log.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,CAAC,MAAM,EAAE,WAAW,CAAU;IAC/C,eAAe,EAAE,CAAC,SAAS,EAAE,OAAO,CAAU;CAC/C,CAAA"}
|
|
1
|
+
{"version":3,"file":"error-log.js","sourceRoot":"","sources":["../../../src/.generated/policy/error-log.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,gBAAgB,EAAE,IAAI;IACtB,mBAAmB,EAAE,EAAE;IACvB,eAAe,EAAE,CAAC,MAAM,EAAE,WAAW,CAAU;IAC/C,eAAe,EAAE,CAAC,SAAS,EAAE,OAAO,CAAU;CAC/C,CAAA"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -13,5 +13,6 @@ export declare const constants: {
|
|
|
13
13
|
ERROR_LOG_RATE_LIMIT_MAX: number;
|
|
14
14
|
ERROR_LOG_RATE_LIMIT_WINDOW_SEC: number;
|
|
15
15
|
ERROR_LOG_DROP_NOTICE_WINDOW_SEC: number;
|
|
16
|
+
ERROR_LOG_REPORTER_KEY_LENGTH: number;
|
|
16
17
|
PII_ALLOWED_AWS_REGIONS: readonly ['eu-north-1', 'eu-west-1', 'eu-west-3', 'eu-central-1', 'eu-south-1', 'eu-south-2'];
|
|
17
18
|
};
|
package/dist/constants.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { errorLogPayloadPolicy } from './.generated/policy/error-log.js';
|
|
1
2
|
import { sanitizeKeys } from './.generated/policy/sanitize.js';
|
|
2
3
|
export const constants = {
|
|
3
4
|
OAUTH_DEV_REDIRECTOR_URL: 'https://jbilvarnjxcewv7spngtoaowia0krqmu.lambda-url.eu-north-1.on.aws/',
|
|
@@ -11,8 +12,9 @@ export const constants = {
|
|
|
11
12
|
ERROR_LOG_RATE_LIMIT_MAX: 20,
|
|
12
13
|
ERROR_LOG_RATE_LIMIT_WINDOW_SEC: 60,
|
|
13
14
|
ERROR_LOG_DROP_NOTICE_WINDOW_SEC: 60,
|
|
15
|
+
ERROR_LOG_REPORTER_KEY_LENGTH: errorLogPayloadPolicy.REPORTER_KEY_LENGTH,
|
|
14
16
|
// The AWS regions inside the EU / EEA, which is where every resource processing or storing personal data is
|
|
15
|
-
// provisioned (
|
|
17
|
+
// provisioned (GDPR Art. 44-49). Removing an entry closes a region every consumer's S3 / SES /
|
|
16
18
|
// STS clients may bind; an entry outside the EEA takes a documented Art. 46 transfer mechanism, recorded in
|
|
17
19
|
// the Sub-processors page, before it is added.
|
|
18
20
|
PII_ALLOWED_AWS_REGIONS: [
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAE9D,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,wBAAwB,EAAE,wEAAwE;IAClG,cAAc,EAAE,WAAW;IAC3B,mBAAmB,EAAE,CAAC;IACtB,mBAAmB,EAAE,EAAE;IACvB,wBAAwB,EAAE,EAAE;IAC5B,0BAA0B,EAAE,GAAG;IAC/B,8BAA8B,EAAE,GAAG;IACnC,0BAA0B,EAAE,0BAA0B;IACtD,wBAAwB,EAAE,EAAE;IAC5B,+BAA+B,EAAE,EAAE;IACnC,gCAAgC,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAE9D,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,wBAAwB,EAAE,wEAAwE;IAClG,cAAc,EAAE,WAAW;IAC3B,mBAAmB,EAAE,CAAC;IACtB,mBAAmB,EAAE,EAAE;IACvB,wBAAwB,EAAE,EAAE;IAC5B,0BAA0B,EAAE,GAAG;IAC/B,8BAA8B,EAAE,GAAG;IACnC,0BAA0B,EAAE,0BAA0B;IACtD,wBAAwB,EAAE,EAAE;IAC5B,+BAA+B,EAAE,EAAE;IACnC,gCAAgC,EAAE,EAAE;IACpC,6BAA6B,EAAE,qBAAqB,CAAC,mBAAmB;IAExE,4GAA4G;IAC5G,+FAA+F;IAC/F,4GAA4G;IAC5G,+CAA+C;IAC/C,uBAAuB,EAAE;QACvB,YAAY;QACZ,WAAW;QACX,WAAW;QACX,cAAc;QACd,YAAY;QACZ,YAAY;KACJ;IAEV,GAAG,YAAY;CAChB,CAAA"}
|
|
@@ -7,10 +7,14 @@ export interface AuditContext {
|
|
|
7
7
|
export type AuditOperationReason = 'account-type-update' | 'contact-update' | 'document-write' | 'legal-hold-create' | 'legal-hold-release' | 'partner-termination' | 'personnel-contract-write' | 'personnel-termination' | 'profile-update' | 'processing-restriction-create' | 'processing-restriction-lift';
|
|
8
8
|
export declare const auditContextStorage: AsyncLocalStorage<AuditContext>;
|
|
9
9
|
export declare const getCurrentAuditContext: () => AuditContext | undefined;
|
|
10
|
-
export declare const
|
|
10
|
+
export declare const runWithAuditActorFor: <TReason extends string>() => <T>({ actorUserId, reason }: {
|
|
11
11
|
actorUserId?: string;
|
|
12
|
-
reason?:
|
|
12
|
+
reason?: TReason;
|
|
13
13
|
}, fn: () => Promise<T>) => Promise<T>;
|
|
14
|
-
export declare const
|
|
14
|
+
export declare const runWithAuditActor: <T>({ actorUserId, reason }: {
|
|
15
|
+
actorUserId?: string;
|
|
16
|
+
reason?: AuditOperationReason | undefined;
|
|
17
|
+
}, fn: () => Promise<T>) => Promise<T>;
|
|
18
|
+
export declare const runAsSystemAction: <T>({ reason }: {
|
|
15
19
|
reason?: string;
|
|
16
20
|
}, fn: () => Promise<T>) => Promise<T>;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from 'async_hooks';
|
|
2
2
|
export const auditContextStorage = new AsyncLocalStorage();
|
|
3
3
|
export const getCurrentAuditContext = () => auditContextStorage.getStore();
|
|
4
|
-
export const
|
|
5
|
-
const parent = auditContextStorage.getStore();
|
|
4
|
+
export const runWithAuditActorFor = () => ({ actorUserId, reason }, fn) => {
|
|
6
5
|
return auditContextStorage.run({
|
|
7
|
-
actorUserId
|
|
8
|
-
reason
|
|
9
|
-
suppress:
|
|
6
|
+
actorUserId,
|
|
7
|
+
reason,
|
|
8
|
+
suppress: auditContextStorage.getStore()?.suppress ?? false,
|
|
10
9
|
}, fn);
|
|
11
10
|
};
|
|
12
|
-
export const
|
|
13
|
-
|
|
11
|
+
export const runWithAuditActor = runWithAuditActorFor();
|
|
12
|
+
export const runAsSystemAction = ({ reason }, fn) => auditContextStorage.run({
|
|
13
|
+
reason,
|
|
14
14
|
suppress: true,
|
|
15
15
|
}, fn);
|
|
16
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/context/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAyB/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,iBAAiB,EAAgB,CAAA;AAExE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAA;AAE1E,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/context/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAyB/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,iBAAiB,EAAgB,CAAA;AAExE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAA;AAE1E,MAAM,CAAC,MAAM,oBAAoB,GAC/B,GAA2B,EAAE,CAC7B,CAAI,EAAE,WAAW,EAAE,MAAM,EAA8C,EAAE,EAAoB,EAAE,EAAE;IAC/F,OAAO,mBAAmB,CAAC,GAAG,CAC5B;QACE,WAAW;QACX,MAAM;QACN,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,EAAE,EAAE,QAAQ,IAAI,KAAK;KAC5D,EACD,EAAE,CACH,CAAA;AACH,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,EAAwB,CAAA;AAE7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAI,EAAE,MAAM,EAAuB,EAAE,EAAoB,EAAE,EAAE,CAC5F,mBAAmB,CAAC,GAAG,CACrB;IACE,MAAM;IACN,QAAQ,EAAE,IAAI;CACf,EACD,EAAE,CACH,CAAA"}
|
|
@@ -7,10 +7,12 @@ export const getCurrentRequestPath = () => requestContextStorage.getStore()?.pat
|
|
|
7
7
|
// MUST be host-bound to stay contained.
|
|
8
8
|
export const runWithRequestHeaders = (headers, fn, options) => {
|
|
9
9
|
const current = requestContextStorage.getStore();
|
|
10
|
-
const scope = options?.forHost === undefined ? { headers } : { headers, forHost: options.forHost.toLowerCase() };
|
|
11
10
|
return requestContextStorage.run({
|
|
12
11
|
headers: current?.headers ?? {},
|
|
13
|
-
forwardHeaderScopes: [
|
|
12
|
+
forwardHeaderScopes: [
|
|
13
|
+
...(current?.forwardHeaderScopes ?? []),
|
|
14
|
+
options?.forHost === undefined ? { headers } : { headers, forHost: options.forHost.toLowerCase() },
|
|
15
|
+
],
|
|
14
16
|
...(current?.nonForwardableHeaders === undefined ? {} : { nonForwardableHeaders: current.nonForwardableHeaders }),
|
|
15
17
|
...(current?.path === undefined ? {} : { path: current.path }),
|
|
16
18
|
}, fn);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/context/request/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,iBAAiB,EAKtD,CAAA;AAEJ,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,qBAAqB,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAA;AAEjF,kGAAkG;AAClG,uGAAuG;AACvG,oGAAoG;AACpG,wCAAwC;AACxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,OAA+B,EAC/B,EAAoB,EACpB,OAA8B,EAC9B,EAAE;IACF,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,EAAE,CAAA;IAChD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/context/request/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,7 @@ end
|
|
|
18
18
|
export const lock = {
|
|
19
19
|
acquire: async ({ key, ttlSec }) => {
|
|
20
20
|
const token = Util.createULID();
|
|
21
|
-
|
|
22
|
-
return ok != null ? token : null;
|
|
21
|
+
return (await redis.setNx(key, token, ttlSec)) != null ? token : null;
|
|
23
22
|
},
|
|
24
23
|
release: async ({ key, token }) => {
|
|
25
24
|
await redis.invokeScript(RELEASE_SCRIPT, { keys: [key], args: [token] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/coordination/lock/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE1C,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC;;;;;;CAMjC,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC;;;;;;CAM/B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAmC,EAAE,EAAE;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QAC/B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/coordination/lock/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE1C,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC;;;;;;CAMjC,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC;;;;;;CAM/B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAmC,EAAE,EAAE;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QAC/B,OAAO,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IACvE,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAkC,EAAE,EAAE;QAChE,MAAM,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC1E,CAAC;IACD,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAkD,EAAE,EAAE,CACtF,CAAC,MAAM,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;IAC7F,QAAQ,EAAE,KAAK,EACb,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAA0D,EACrF,EAAoB,EACpB,EAAE;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;QACjD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;QAC5B,CAAC;QACD,MAAM,SAAS,GACb,YAAY,KAAK,SAAS;YACxB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;YAC3D,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC,CAAA;QAC7B,IAAI,CAAC;YACH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QAC9C,CAAC;gBAAS,CAAC;YACT,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,aAAa,CAAC,SAAS,CAAC,CAAA;YAC1B,CAAC;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC;CACF,CAAA"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { redis } from '../../repository/redis/index.js';
|
|
2
2
|
export const throttle = {
|
|
3
3
|
tryAcquire: async ({ key, windowSec }) => {
|
|
4
|
-
|
|
5
|
-
return ok != null;
|
|
4
|
+
return (await redis.setNx(key, '1', windowSec)) != null;
|
|
6
5
|
},
|
|
7
6
|
};
|
|
8
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/coordination/throttle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAEvD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,EAAsC,EAAE,EAAE;QAC3E,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/coordination/throttle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAEvD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,EAAsC,EAAE,EAAE;QAC3E,OAAO,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,IAAI,CAAA;IACzD,CAAC;CACF,CAAA"}
|
|
@@ -55,8 +55,7 @@ class Singleton {
|
|
|
55
55
|
return this.replicaInstances.get(databaseName);
|
|
56
56
|
}
|
|
57
57
|
static getTransaction() {
|
|
58
|
-
|
|
59
|
-
return context?.transaction;
|
|
58
|
+
return this.storage.getStore()?.transaction;
|
|
60
59
|
}
|
|
61
60
|
static setTransaction(transaction) {
|
|
62
61
|
const context = this.storage.getStore();
|
|
@@ -138,10 +137,11 @@ export const prisma = {
|
|
|
138
137
|
getCurrentTransactionClient: () => Singleton.getTransaction(),
|
|
139
138
|
getRawPrimaryClient: () => Singleton.getPrimaryInstance(databaseName),
|
|
140
139
|
});
|
|
141
|
-
const
|
|
140
|
+
const instance = primary
|
|
141
|
+
.$extends(readReplicas({
|
|
142
142
|
replicas: [replica],
|
|
143
|
-
}))
|
|
144
|
-
|
|
143
|
+
}))
|
|
144
|
+
.$extends(lifecycleExtension);
|
|
145
145
|
instance.health = async () => {
|
|
146
146
|
const primary = Singleton.getPrimaryInstance(databaseName);
|
|
147
147
|
const replica = Singleton.getReplicaInstance(databaseName);
|
|
@@ -182,13 +182,11 @@ export const prisma = {
|
|
|
182
182
|
return primary;
|
|
183
183
|
},
|
|
184
184
|
transaction: async (client, operation) => {
|
|
185
|
-
|
|
186
|
-
if (existingTx) {
|
|
185
|
+
if (Singleton.getTransaction()) {
|
|
187
186
|
return operation();
|
|
188
187
|
}
|
|
189
188
|
return client.$transaction(async (tx) => {
|
|
190
|
-
|
|
191
|
-
return Singleton.storage.run({ ...store, transaction: tx }, operation);
|
|
189
|
+
return Singleton.storage.run({ ...(Singleton.storage.getStore() || {}), transaction: tx }, operation);
|
|
192
190
|
}, { maxWait: 20000, timeout: 60000 });
|
|
193
191
|
},
|
|
194
192
|
paginate: ({ page, perPage }) => async ({ queryFn, countFn, }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repository/prisma/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAA;AAEtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACnG,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAYlD,MAAM,SAAS;IACb,MAAM,CAAC,OAAO,GAAG,IAAI,iBAAiB,EAAiB,CAAA;IAC/C,MAAM,CAAC,SAAS,GAAG,IAAI,GAAG,EAA4B,CAAA;IACtD,MAAM,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAA4B,CAAA;IAC7D,MAAM,CAAC,yBAAyB,GAAG,IAAI,GAAG,EAA4B,CAAA;IACtE,MAAM,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAA4B,CAAA;IAErE,MAAM,CAAC,UAAU;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;QAClF,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,MAAM,CAAC,GAAG,CAAI,EAAoB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,YAAqB;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;QACvC,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,WAAW,CAAA;QAC5B,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QACzC,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,YAAoB,EAAE,QAA0B;QACjE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,YAAoB,EAAE,QAA0B;QACxE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,CAAC,2BAA2B,CAAC,YAAoB,EAAE,QAA0B;QACjF,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAC5D,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,YAAoB,EAAE,QAA0B;QACxE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,YAAoB;QAC5C,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,2BAA2B,CAAC,YAAoB;QACrD,OAAO,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,YAAoB;QAC5C,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repository/prisma/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,7 @@
|
|
|
8
8
|
// transaction ends.
|
|
9
9
|
const quoteIdentifier = (identifier) => `\`${identifier.replaceAll('`', '``')}\``;
|
|
10
10
|
export const lockRow = async (client, { table, id, select }) => {
|
|
11
|
-
|
|
12
|
-
return rows[0];
|
|
11
|
+
return (await client.$queryRawUnsafe(`SELECT ${select?.length ? select.map(quoteIdentifier).join(', ') : '*'} FROM ${quoteIdentifier(table)} WHERE ${quoteIdentifier('id')} = ? FOR UPDATE`, id))[0];
|
|
13
12
|
};
|
|
14
13
|
// Locks by an arbitrary equality condition (a natural or composite unique key) rather than `id`. An
|
|
15
14
|
// unlocked `findUnique` to resolve a natural key to its `id` before calling `lockRow` establishes the
|
|
@@ -22,11 +21,9 @@ export const lockRowBy = async (client, { table, where, select }) => {
|
|
|
22
21
|
if (keys.length === 0) {
|
|
23
22
|
throw new Error('lockRowBy requires at least one condition in where');
|
|
24
23
|
}
|
|
25
|
-
|
|
26
|
-
return rows[0];
|
|
24
|
+
return (await client.$queryRawUnsafe(`SELECT ${select?.length ? select.map(quoteIdentifier).join(', ') : '*'} FROM ${quoteIdentifier(table)} WHERE ${keys.map((key) => `${quoteIdentifier(key)} = ?`).join(' AND ')} FOR UPDATE`, ...keys.map((key) => where[key])))[0];
|
|
27
25
|
};
|
|
28
26
|
export const lockChildren = async (client, { table, foreignKey, parentId }) => {
|
|
29
|
-
|
|
30
|
-
return Number(rows[0].count);
|
|
27
|
+
return Number((await client.$queryRawUnsafe(`SELECT COUNT(*) AS count FROM ${quoteIdentifier(table)} WHERE ${quoteIdentifier(foreignKey)} = ? FOR UPDATE`, parentId))[0].count);
|
|
31
28
|
};
|
|
32
29
|
//# sourceMappingURL=lock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../src/repository/prisma/lock.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,qGAAqG;AACrG,oGAAoG;AACpG,iGAAiG;AACjG,4FAA4F;AAC5F,iGAAiG;AACjG,2FAA2F;AAC3F,oBAAoB;AAMpB,MAAM,eAAe,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,KAAK,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAA;AAEzF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,MAAsB,EACtB,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAoD,EAC/C,EAAE;IAC1B,
|
|
1
|
+
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../src/repository/prisma/lock.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,qGAAqG;AACrG,oGAAoG;AACpG,iGAAiG;AACjG,4FAA4F;AAC5F,iGAAiG;AACjG,2FAA2F;AAC3F,oBAAoB;AAMpB,MAAM,eAAe,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,KAAK,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAA;AAEzF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,MAAsB,EACtB,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAoD,EAC/C,EAAE;IAC1B,OAAO,CACL,MAAM,MAAM,CAAC,eAAe,CAC1B,UAAU,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,eAAe,CAAC,KAAK,CAAC,UAAU,eAAe,CAAC,IAAI,CAAC,iBAAiB,EACtJ,EAAE,CACH,CACF,CAAC,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAED,oGAAoG;AACpG,sGAAsG;AACtG,oGAAoG;AACpG,yGAAyG;AACzG,uGAAuG;AACvG,iFAAiF;AACjF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC5B,MAAsB,EACtB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAuE,EACrE,EAAE;IAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IACvE,CAAC;IACD,OAAO,CACL,MAAM,MAAM,CAAC,eAAe,CAC1B,UAAU,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,eAAe,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAC3L,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CACjC,CACF,CAAC,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,MAAsB,EACtB,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAA2D,EACxF,EAAE;IACF,OAAO,MAAM,CACX,CACE,MAAM,MAAM,CAAC,eAAe,CAC1B,iCAAiC,eAAe,CAAC,KAAK,CAAC,UAAU,eAAe,CAAC,UAAU,CAAC,iBAAiB,EAC7G,QAAQ,CACT,CACF,CAAC,CAAC,CAAC,CAAC,KAAK,CACX,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -26,9 +26,7 @@ const getClient = async () => {
|
|
|
26
26
|
export const redis = {
|
|
27
27
|
health: async () => {
|
|
28
28
|
try {
|
|
29
|
-
|
|
30
|
-
const ret = await client.ping();
|
|
31
|
-
return ret === 'PONG' ? 'OK' : 'NG';
|
|
29
|
+
return (await (await getClient()).ping()) === 'PONG' ? 'OK' : 'NG';
|
|
32
30
|
}
|
|
33
31
|
catch {
|
|
34
32
|
return 'NG';
|
|
@@ -36,8 +34,7 @@ export const redis = {
|
|
|
36
34
|
},
|
|
37
35
|
set: async (key, value, expirationSeconds) => {
|
|
38
36
|
try {
|
|
39
|
-
|
|
40
|
-
await client.set(key, value, expirationSeconds ? { expiry: { type: TimeUnit.Seconds, count: expirationSeconds } } : undefined);
|
|
37
|
+
await (await getClient()).set(key, value, expirationSeconds ? { expiry: { type: TimeUnit.Seconds, count: expirationSeconds } } : undefined);
|
|
41
38
|
}
|
|
42
39
|
catch (e) {
|
|
43
40
|
logger.error('cache', { op: 'set', ...keyShape(key), error: e });
|
|
@@ -46,8 +43,7 @@ export const redis = {
|
|
|
46
43
|
},
|
|
47
44
|
setNx: async (key, value, expirationSeconds) => {
|
|
48
45
|
try {
|
|
49
|
-
|
|
50
|
-
return await client.set(key, value, {
|
|
46
|
+
return await (await getClient()).set(key, value, {
|
|
51
47
|
conditionalSet: 'onlyIfDoesNotExist',
|
|
52
48
|
expiry: {
|
|
53
49
|
type: TimeUnit.Seconds,
|
|
@@ -62,8 +58,7 @@ export const redis = {
|
|
|
62
58
|
},
|
|
63
59
|
get: async (key) => {
|
|
64
60
|
try {
|
|
65
|
-
|
|
66
|
-
return await client.get(key).then((x) => x?.toString());
|
|
61
|
+
return await (await getClient()).get(key).then((x) => x?.toString());
|
|
67
62
|
}
|
|
68
63
|
catch (e) {
|
|
69
64
|
logger.error('cache', { op: 'get', ...keyShape(key), error: e });
|
|
@@ -72,8 +67,7 @@ export const redis = {
|
|
|
72
67
|
},
|
|
73
68
|
remove: async (key) => {
|
|
74
69
|
try {
|
|
75
|
-
|
|
76
|
-
await client.del([key]);
|
|
70
|
+
await (await getClient()).del([key]);
|
|
77
71
|
}
|
|
78
72
|
catch (e) {
|
|
79
73
|
logger.error('cache', { op: 'remove', ...keyShape(key), error: e });
|
|
@@ -82,8 +76,7 @@ export const redis = {
|
|
|
82
76
|
},
|
|
83
77
|
getdel: async (key) => {
|
|
84
78
|
try {
|
|
85
|
-
|
|
86
|
-
return await client.getdel(key).then((x) => x?.toString());
|
|
79
|
+
return await (await getClient()).getdel(key).then((x) => x?.toString());
|
|
87
80
|
}
|
|
88
81
|
catch (e) {
|
|
89
82
|
logger.error('cache', { op: 'getdel', ...keyShape(key), error: e });
|
|
@@ -92,8 +85,7 @@ export const redis = {
|
|
|
92
85
|
},
|
|
93
86
|
incr: async (key) => {
|
|
94
87
|
try {
|
|
95
|
-
|
|
96
|
-
return await client.incr(key);
|
|
88
|
+
return await (await getClient()).incr(key);
|
|
97
89
|
}
|
|
98
90
|
catch (e) {
|
|
99
91
|
logger.error('cache', { op: 'incr', ...keyShape(key), error: e });
|
|
@@ -102,8 +94,7 @@ export const redis = {
|
|
|
102
94
|
},
|
|
103
95
|
expire: async (key, expirationSeconds) => {
|
|
104
96
|
try {
|
|
105
|
-
|
|
106
|
-
return await client.expire(key, expirationSeconds);
|
|
97
|
+
return await (await getClient()).expire(key, expirationSeconds);
|
|
107
98
|
}
|
|
108
99
|
catch (e) {
|
|
109
100
|
logger.error('cache', { op: 'expire', ...keyShape(key), error: e });
|
|
@@ -112,8 +103,7 @@ export const redis = {
|
|
|
112
103
|
},
|
|
113
104
|
decr: async (key) => {
|
|
114
105
|
try {
|
|
115
|
-
|
|
116
|
-
return await client.decr(key);
|
|
106
|
+
return await (await getClient()).decr(key);
|
|
117
107
|
}
|
|
118
108
|
catch (e) {
|
|
119
109
|
logger.error('cache', { op: 'decr', ...keyShape(key), error: e });
|
|
@@ -122,8 +112,7 @@ export const redis = {
|
|
|
122
112
|
},
|
|
123
113
|
invokeScript: async (script, opts) => {
|
|
124
114
|
try {
|
|
125
|
-
|
|
126
|
-
return await client.invokeScript(script, opts);
|
|
115
|
+
return await (await getClient()).invokeScript(script, opts);
|
|
127
116
|
}
|
|
128
117
|
catch (e) {
|
|
129
118
|
logger.error('cache', { op: 'invokeScript', ...keyShape(opts.keys[0]), error: e });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repository/redis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAe,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE7F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAE9C,IAAI,aAA4E,CAAA;AAEhF,MAAM,YAAY,GAAG,GAAG,EAAE,CACxB,UAAU,CAAC,aAAa;IACtB,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;QACzE,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,KAAK;KACtB,CAAC;IACJ,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;QACvB,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;QACzE,MAAM,EAAE,UAAU,CAAC,UAAU,KAAK,KAAK;QACvC,cAAc,EAAE,KAAK;KACtB,CAAC,CAAA;AAER,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;AAEhH,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;IAC3B,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,aAAa,GAAG,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACzC,aAAa,GAAG,SAAS,CAAA;YACzB,MAAM,CAAC,CAAA;QACT,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,MAAM,EAAE,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repository/redis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAe,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE7F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAE9C,IAAI,aAA4E,CAAA;AAEhF,MAAM,YAAY,GAAG,GAAG,EAAE,CACxB,UAAU,CAAC,aAAa;IACtB,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;QACzE,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,KAAK;KACtB,CAAC;IACJ,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;QACvB,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;QACzE,MAAM,EAAE,UAAU,CAAC,UAAU,KAAK,KAAK;QACvC,cAAc,EAAE,KAAK;KACtB,CAAC,CAAA;AAER,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;AAEhH,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;IAC3B,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,aAAa,GAAG,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACzC,aAAa,GAAG,SAAS,CAAA;YACzB,MAAM,CAAC,CAAA;QACT,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,MAAM,EAAE,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,GAAG,EAAE,KAAK,EAAE,GAAW,EAAE,KAAa,EAAE,iBAA0B,EAAE,EAAE;QACpE,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,GAAG,CAC3B,GAAG,EACH,KAAK,EACL,iBAAiB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CACjG,CAAA;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;YAChE,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;IACD,KAAK,EAAE,KAAK,EAAE,GAAW,EAAE,KAAa,EAAE,iBAAyB,EAAE,EAAE;QACrE,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE;gBAC/C,cAAc,EAAE,oBAAoB;gBACpC,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ,CAAC,OAAO;oBACtB,KAAK,EAAE,iBAAiB;iBACzB;aACF,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;YAClE,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;IACD,GAAG,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;QACzB,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;QACtE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;YAChE,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;QAC5B,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACtC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;YACnE,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;QAC5B,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;QACzE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;YACnE,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;IACD,IAAI,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;QAC1B,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC5C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;YACjE,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,GAAW,EAAE,iBAAyB,EAAE,EAAE;QACvD,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAA;QACjE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;YACnE,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;IACD,IAAI,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;QAC1B,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC5C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;YACjE,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,MAAc,EAAE,IAAwC,EAAE,EAAE;QAC/E,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC7D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;YAClF,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;CACF,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { S3Client } from '@aws-sdk/client-s3';
|
|
|
2
2
|
declare const client: () => S3Client;
|
|
3
3
|
export declare const s3: {
|
|
4
4
|
client: typeof client;
|
|
5
|
-
getObject: (
|
|
5
|
+
getObject: ({ bucket, key, versionId }: {
|
|
6
6
|
bucket: string;
|
|
7
7
|
key: string;
|
|
8
8
|
versionId?: string;
|
|
@@ -11,29 +11,29 @@ export declare const s3: {
|
|
|
11
11
|
contentType: string | undefined;
|
|
12
12
|
metadata: Record<string, string> | undefined;
|
|
13
13
|
} | undefined>;
|
|
14
|
-
putObject: (
|
|
14
|
+
putObject: ({ bucket, key, body, contentType, metadata, }: {
|
|
15
15
|
bucket: string;
|
|
16
16
|
key: string;
|
|
17
17
|
body: Buffer | Uint8Array | string;
|
|
18
18
|
contentType?: string;
|
|
19
19
|
metadata?: Record<string, string>;
|
|
20
20
|
}) => Promise<void>;
|
|
21
|
-
deleteObject: (
|
|
21
|
+
deleteObject: ({ bucket, key, versionId }: {
|
|
22
22
|
bucket: string;
|
|
23
23
|
key: string;
|
|
24
24
|
versionId?: string;
|
|
25
25
|
}) => Promise<void>;
|
|
26
|
-
createBucket: (
|
|
26
|
+
createBucket: ({ bucket, objectLock }: {
|
|
27
27
|
bucket: string;
|
|
28
28
|
objectLock?: boolean;
|
|
29
29
|
}) => Promise<void>;
|
|
30
|
-
ensureBucketLifecycleRule: (
|
|
30
|
+
ensureBucketLifecycleRule: ({ bucket, ruleId, prefix, expireDays, }: {
|
|
31
31
|
bucket: string;
|
|
32
32
|
ruleId: string;
|
|
33
33
|
prefix: string;
|
|
34
34
|
expireDays: number;
|
|
35
35
|
}) => Promise<void>;
|
|
36
|
-
putObjectWorm: (
|
|
36
|
+
putObjectWorm: ({ bucket, key, body, mode, retainUntil, contentType, }: {
|
|
37
37
|
bucket: string;
|
|
38
38
|
key: string;
|
|
39
39
|
body: Buffer | Uint8Array | string;
|
|
@@ -43,7 +43,7 @@ export declare const s3: {
|
|
|
43
43
|
}) => Promise<{
|
|
44
44
|
versionId: string;
|
|
45
45
|
}>;
|
|
46
|
-
listObjectVersions: (
|
|
46
|
+
listObjectVersions: ({ bucket, key }: {
|
|
47
47
|
bucket: string;
|
|
48
48
|
key: string;
|
|
49
49
|
}) => Promise<{
|
|
@@ -52,7 +52,7 @@ export declare const s3: {
|
|
|
52
52
|
lastModified?: Date;
|
|
53
53
|
size?: number;
|
|
54
54
|
}[]>;
|
|
55
|
-
deleteOrphanVersions: (
|
|
55
|
+
deleteOrphanVersions: ({ bucket, key, keepVersionIds, governanceBypass, }: {
|
|
56
56
|
bucket: string;
|
|
57
57
|
key: string;
|
|
58
58
|
keepVersionIds: string[];
|