@ya-accelerators/web-backend-framework 0.0.134 → 0.0.137
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/constants.d.ts +3 -0
- package/dist/constants.js +9 -0
- package/dist/constants.js.map +1 -1
- package/dist/coordination/index.d.ts +5 -2
- package/dist/coordination/lock/index.d.ts +5 -2
- package/dist/coordination/lock/index.js +14 -7
- package/dist/coordination/lock/index.js.map +1 -1
- package/dist/repository/s3/index.js +19 -8
- package/dist/repository/s3/index.js.map +1 -1
- package/package.json +2 -2
package/dist/constants.d.ts
CHANGED
|
@@ -22,5 +22,8 @@ export declare const constants: {
|
|
|
22
22
|
ERROR_LOG_DROP_NOTICE_WINDOW_SEC: number;
|
|
23
23
|
ERROR_LOG_REPORTER_KEY_LENGTH: number;
|
|
24
24
|
MAX_LOG_STRING_LENGTH: number;
|
|
25
|
+
S3_CONNECTION_TIMEOUT_MS: number;
|
|
26
|
+
S3_REQUEST_TIMEOUT_MS: number;
|
|
27
|
+
S3_SOCKET_TIMEOUT_MS: number;
|
|
25
28
|
PII_ALLOWED_AWS_REGIONS: readonly ['eu-north-1', 'eu-west-1', 'eu-west-3', 'eu-central-1', 'eu-south-1', 'eu-south-2'];
|
|
26
29
|
};
|
package/dist/constants.js
CHANGED
|
@@ -21,6 +21,15 @@ export const constants = {
|
|
|
21
21
|
ERROR_LOG_DROP_NOTICE_WINDOW_SEC: 60,
|
|
22
22
|
ERROR_LOG_REPORTER_KEY_LENGTH: errorLogPayloadPolicy.REPORTER_KEY_LENGTH,
|
|
23
23
|
MAX_LOG_STRING_LENGTH: 8192,
|
|
24
|
+
// Each of these bounds one ATTEMPT. A `TimeoutError` is retryable, so the SDK's default `maxAttempts` of 3
|
|
25
|
+
// multiplies whichever one trips: a caller sizing its own budget against them multiplies by 3 and adds the
|
|
26
|
+
// retry backoff.
|
|
27
|
+
S3_CONNECTION_TIMEOUT_MS: 30000,
|
|
28
|
+
// `requestTimeout` spans the request body write as well as the wait for the response, which is why it is
|
|
29
|
+
// passed per send rather than on the client. The node request handler warns and leaves the promise pending
|
|
30
|
+
// when it passes; `throwOnRequestTimeout` is what makes it destroy the request and reject.
|
|
31
|
+
S3_REQUEST_TIMEOUT_MS: 30000,
|
|
32
|
+
S3_SOCKET_TIMEOUT_MS: 30000,
|
|
24
33
|
// The AWS regions inside the EU / EEA, which is where every resource processing or storing personal data is
|
|
25
34
|
// provisioned (GDPR Art. 44-49). Removing an entry closes a region every consumer's S3 / SES /
|
|
26
35
|
// STS clients may bind; an entry outside the EEA takes a documented Art. 46 transfer mechanism, recorded in
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AAErE,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,wBAAwB,EAAE,wEAAwE;IAClG,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAC9B,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,UAAU;IAC1B,mBAAmB,EAAE,CAAC;IACtB,mBAAmB,EAAE,EAAE;IACvB,wBAAwB,EAAE,EAAE;IAC5B,eAAe,EAAE,EAAE;IACnB,sBAAsB,EAAE,EAAE;IAC1B,oBAAoB,EAAE,CAAC,GAAG,EAAE;IAC5B,0BAA0B,EAAE,GAAG;IAC/B,8BAA8B,EAAE,GAAG;IACnC,0BAA0B,EAAE,0BAA0B;IACtD,gBAAgB,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;IACnC,wBAAwB,EAAE,EAAE;IAC5B,+BAA+B,EAAE,EAAE;IACnC,gCAAgC,EAAE,EAAE;IACpC,6BAA6B,EAAE,qBAAqB,CAAC,mBAAmB;IACxE,qBAAqB,EAAE,IAAI;IAE3B,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"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AAErE,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,wBAAwB,EAAE,wEAAwE;IAClG,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAC9B,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,UAAU;IAC1B,mBAAmB,EAAE,CAAC;IACtB,mBAAmB,EAAE,EAAE;IACvB,wBAAwB,EAAE,EAAE;IAC5B,eAAe,EAAE,EAAE;IACnB,sBAAsB,EAAE,EAAE;IAC1B,oBAAoB,EAAE,CAAC,GAAG,EAAE;IAC5B,0BAA0B,EAAE,GAAG;IAC/B,8BAA8B,EAAE,GAAG;IACnC,0BAA0B,EAAE,0BAA0B;IACtD,gBAAgB,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;IACnC,wBAAwB,EAAE,EAAE;IAC5B,+BAA+B,EAAE,EAAE;IACnC,gCAAgC,EAAE,EAAE;IACpC,6BAA6B,EAAE,qBAAqB,CAAC,mBAAmB;IACxE,qBAAqB,EAAE,IAAI;IAE3B,2GAA2G;IAC3G,2GAA2G;IAC3G,iBAAiB;IACjB,wBAAwB,EAAE,KAAK;IAC/B,yGAAyG;IACzG,2GAA2G;IAC3G,2FAA2F;IAC3F,qBAAqB,EAAE,KAAK;IAC5B,oBAAoB,EAAE,KAAK;IAE3B,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"}
|
|
@@ -13,10 +13,13 @@ export declare const coordination: {
|
|
|
13
13
|
token: string;
|
|
14
14
|
ttlSec: number;
|
|
15
15
|
}) => Promise<boolean>;
|
|
16
|
-
withLock: <T>({ key, ttlSec,
|
|
16
|
+
withLock: <T>({ key, ttlSec, heartbeat, }: {
|
|
17
17
|
key: string;
|
|
18
18
|
ttlSec: number;
|
|
19
|
-
|
|
19
|
+
heartbeat?: {
|
|
20
|
+
intervalSec: number;
|
|
21
|
+
maxHoldSec: number;
|
|
22
|
+
};
|
|
20
23
|
}, fn: () => Promise<T>) => Promise<{
|
|
21
24
|
acquired: boolean;
|
|
22
25
|
value?: undefined;
|
|
@@ -12,10 +12,13 @@ export declare const lock: {
|
|
|
12
12
|
token: string;
|
|
13
13
|
ttlSec: number;
|
|
14
14
|
}) => Promise<boolean>;
|
|
15
|
-
withLock: <T>({ key, ttlSec,
|
|
15
|
+
withLock: <T>({ key, ttlSec, heartbeat, }: {
|
|
16
16
|
key: string;
|
|
17
17
|
ttlSec: number;
|
|
18
|
-
|
|
18
|
+
heartbeat?: {
|
|
19
|
+
intervalSec: number;
|
|
20
|
+
maxHoldSec: number;
|
|
21
|
+
};
|
|
19
22
|
}, fn: () => Promise<T>) => Promise<{
|
|
20
23
|
acquired: boolean;
|
|
21
24
|
value?: undefined;
|
|
@@ -24,22 +24,29 @@ export const lock = {
|
|
|
24
24
|
await redis.invokeScript(RELEASE_SCRIPT, { keys: [key], args: [token] });
|
|
25
25
|
},
|
|
26
26
|
renew: async ({ key, token, ttlSec }) => (await redis.invokeScript(RENEW_SCRIPT, { keys: [key], args: [token, `${ttlSec}`] })) === 1,
|
|
27
|
-
withLock: async ({ key, ttlSec,
|
|
27
|
+
withLock: async ({ key, ttlSec, heartbeat, }, fn) => {
|
|
28
28
|
const token = await lock.acquire({ key, ttlSec });
|
|
29
29
|
if (token === null) {
|
|
30
30
|
return { acquired: false };
|
|
31
31
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
let renewal;
|
|
33
|
+
if (heartbeat !== undefined) {
|
|
34
|
+
const holdUntil = Date.now() + heartbeat.maxHoldSec * 1000;
|
|
35
|
+
renewal = setInterval(() => {
|
|
36
|
+
if (Date.now() >= holdUntil) {
|
|
37
|
+
clearInterval(renewal);
|
|
38
|
+
renewal = undefined;
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
35
41
|
lock.renew({ key, token, ttlSec }).catch(() => undefined);
|
|
36
|
-
},
|
|
42
|
+
}, heartbeat.intervalSec * 1000);
|
|
43
|
+
}
|
|
37
44
|
try {
|
|
38
45
|
return { acquired: true, value: await fn() };
|
|
39
46
|
}
|
|
40
47
|
finally {
|
|
41
|
-
if (
|
|
42
|
-
clearInterval(
|
|
48
|
+
if (renewal !== undefined) {
|
|
49
|
+
clearInterval(renewal);
|
|
43
50
|
}
|
|
44
51
|
await lock.release({ key, token }).catch(() => undefined);
|
|
45
52
|
}
|
|
@@ -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,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,
|
|
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,EACE,GAAG,EACH,MAAM,EACN,SAAS,GACgF,EAC3F,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,IAAI,OAAmD,CAAA;QACvD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,UAAU,GAAG,IAAI,CAAA;YAC1D,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;gBACzB,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,SAAS,EAAE,CAAC;oBAC5B,aAAa,CAAC,OAAO,CAAC,CAAA;oBACtB,OAAO,GAAG,SAAS,CAAA;oBACnB,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;YAC3D,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;QAClC,CAAC;QACD,IAAI,CAAC;YACH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QAC9C,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,aAAa,CAAC,OAAO,CAAC,CAAA;YACxB,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,4 +1,5 @@
|
|
|
1
1
|
import { CreateBucketCommand, DeleteObjectCommand, GetBucketLifecycleConfigurationCommand, GetObjectCommand, ListObjectVersionsCommand, PutBucketLifecycleConfigurationCommand, PutObjectCommand, S3Client, } from '@aws-sdk/client-s3';
|
|
2
|
+
import { constants } from '../../constants.js';
|
|
2
3
|
import { defaultEnv } from '../../env.js';
|
|
3
4
|
import { logger } from '../../logger/index.js';
|
|
4
5
|
let clientInstance;
|
|
@@ -11,23 +12,33 @@ let clientInstance;
|
|
|
11
12
|
const keyShape = (key) => ({ keyPrefix: key.slice(0, key.lastIndexOf('/') + 1), keyLength: key.length });
|
|
12
13
|
const client = () => {
|
|
13
14
|
if (clientInstance === undefined) {
|
|
15
|
+
const requestHandler = {
|
|
16
|
+
connectionTimeout: constants.S3_CONNECTION_TIMEOUT_MS,
|
|
17
|
+
throwOnRequestTimeout: true,
|
|
18
|
+
socketTimeout: constants.S3_SOCKET_TIMEOUT_MS,
|
|
19
|
+
};
|
|
14
20
|
clientInstance =
|
|
15
21
|
defaultEnv.LOCAL_S3_ENDPOINT === undefined
|
|
16
|
-
? new S3Client({ region: defaultEnv.AWS_REGION })
|
|
22
|
+
? new S3Client({ region: defaultEnv.AWS_REGION, requestHandler })
|
|
17
23
|
: new S3Client({
|
|
18
24
|
region: defaultEnv.AWS_REGION,
|
|
19
25
|
endpoint: defaultEnv.LOCAL_S3_ENDPOINT,
|
|
20
26
|
credentials: { accessKeyId: 'minioadmin', secretAccessKey: 'minioadmin123' },
|
|
21
27
|
forcePathStyle: true,
|
|
28
|
+
requestHandler,
|
|
22
29
|
});
|
|
23
30
|
}
|
|
24
31
|
return clientInstance;
|
|
25
32
|
};
|
|
33
|
+
// `requestTimeout` spans the request body write as well as the wait for the response, so a fixed value on a
|
|
34
|
+
// send carrying a caller's body is a throughput floor on that body: those sends take none and are bounded by
|
|
35
|
+
// the client's socket-inactivity timeout. It is a per-attempt deadline, and the SDK retries.
|
|
36
|
+
const boundedSend = { requestTimeout: constants.S3_REQUEST_TIMEOUT_MS };
|
|
26
37
|
export const s3 = {
|
|
27
38
|
client,
|
|
28
39
|
getObject: async ({ bucket, key, versionId }) => {
|
|
29
40
|
try {
|
|
30
|
-
const result = await client().send(new GetObjectCommand({ Bucket: bucket, Key: key, VersionId: versionId }));
|
|
41
|
+
const result = await client().send(new GetObjectCommand({ Bucket: bucket, Key: key, VersionId: versionId }), boundedSend);
|
|
31
42
|
if (result.Body === undefined) {
|
|
32
43
|
return undefined;
|
|
33
44
|
}
|
|
@@ -62,7 +73,7 @@ export const s3 = {
|
|
|
62
73
|
},
|
|
63
74
|
deleteObject: async ({ bucket, key, versionId }) => {
|
|
64
75
|
try {
|
|
65
|
-
await client().send(new DeleteObjectCommand({ Bucket: bucket, Key: key, VersionId: versionId }));
|
|
76
|
+
await client().send(new DeleteObjectCommand({ Bucket: bucket, Key: key, VersionId: versionId }), boundedSend);
|
|
66
77
|
}
|
|
67
78
|
catch (e) {
|
|
68
79
|
logger.error('storage', { op: 'deleteObject', bucket, ...keyShape(key), error: e });
|
|
@@ -71,7 +82,7 @@ export const s3 = {
|
|
|
71
82
|
},
|
|
72
83
|
createBucket: async ({ bucket, objectLock }) => {
|
|
73
84
|
try {
|
|
74
|
-
await client().send(new CreateBucketCommand({ Bucket: bucket, ObjectLockEnabledForBucket: objectLock }));
|
|
85
|
+
await client().send(new CreateBucketCommand({ Bucket: bucket, ObjectLockEnabledForBucket: objectLock }), boundedSend);
|
|
75
86
|
}
|
|
76
87
|
catch (e) {
|
|
77
88
|
if (e instanceof Error && e.name === 'BucketAlreadyOwnedByYou') {
|
|
@@ -84,7 +95,7 @@ export const s3 = {
|
|
|
84
95
|
ensureBucketLifecycleRule: async ({ bucket, ruleId, prefix, expireDays, }) => {
|
|
85
96
|
try {
|
|
86
97
|
const rules = ((await client()
|
|
87
|
-
.send(new GetBucketLifecycleConfigurationCommand({ Bucket: bucket }))
|
|
98
|
+
.send(new GetBucketLifecycleConfigurationCommand({ Bucket: bucket }), boundedSend)
|
|
88
99
|
.catch((e) => {
|
|
89
100
|
if (e instanceof Error && e.name === 'NoSuchLifecycleConfiguration') {
|
|
90
101
|
return undefined;
|
|
@@ -100,7 +111,7 @@ export const s3 = {
|
|
|
100
111
|
await client().send(new PutBucketLifecycleConfigurationCommand({
|
|
101
112
|
Bucket: bucket,
|
|
102
113
|
LifecycleConfiguration: { Rules: rules },
|
|
103
|
-
}));
|
|
114
|
+
}), boundedSend);
|
|
104
115
|
}
|
|
105
116
|
catch (e) {
|
|
106
117
|
logger.error('storage', { op: 'ensureBucketLifecycleRule', bucket, error: e });
|
|
@@ -138,7 +149,7 @@ export const s3 = {
|
|
|
138
149
|
Prefix: key,
|
|
139
150
|
KeyMarker: keyMarker,
|
|
140
151
|
VersionIdMarker: versionIdMarker,
|
|
141
|
-
}));
|
|
152
|
+
}), boundedSend);
|
|
142
153
|
for (const version of result.Versions ?? []) {
|
|
143
154
|
if (version.Key === key && version.VersionId) {
|
|
144
155
|
versions.push({
|
|
@@ -174,7 +185,7 @@ export const s3 = {
|
|
|
174
185
|
Key: key,
|
|
175
186
|
VersionId: version.versionId,
|
|
176
187
|
BypassGovernanceRetention: governanceBypass,
|
|
177
|
-
}));
|
|
188
|
+
}), boundedSend);
|
|
178
189
|
deletedVersionIds.push(version.versionId);
|
|
179
190
|
}
|
|
180
191
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repository/s3/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,sCAAsC,EACtC,gBAAgB,EAChB,yBAAyB,EACzB,sCAAsC,EACtC,gBAAgB,EAChB,QAAQ,GACT,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAE9C,IAAI,cAAoC,CAAA;AACxC,uGAAuG;AACvG,qGAAqG;AACrG,qGAAqG;AACrG,+FAA+F;AAC/F,yFAAyF;AACzF,wFAAwF;AACxF,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,MAAM,GAAG,GAAG,EAAE;IAClB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,cAAc;YACZ,UAAU,CAAC,iBAAiB,KAAK,SAAS;gBACxC,CAAC,CAAC,IAAI,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repository/s3/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ya-accelerators/web-backend-framework",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.137",
|
|
4
4
|
"packageRole": "library",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"test:integration": "jest --testPathPatterns=integration"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@aws-sdk/client-s3": "^3.
|
|
55
|
+
"@aws-sdk/client-s3": "^3.1137.0",
|
|
56
56
|
"@aws-sdk/credential-provider-node": "^3.972.83",
|
|
57
57
|
"@prisma/adapter-mariadb": "^7.10.0",
|
|
58
58
|
"@prisma/extension-read-replicas": "^0.5.0",
|