@webiny/api-file-manager-s3 6.4.12-beta.5 → 6.5.0-beta.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/assetDelivery/abstractions.d.ts +2 -0
- package/assetDelivery/abstractions.js.map +1 -1
- package/assetDelivery/assetDeliveryConfig.d.ts +1 -1
- package/assetDelivery/createAssetDelivery.js +1 -1
- package/assetDelivery/createAssetDelivery.js.map +1 -1
- package/assetDelivery/feature.js +2 -1
- package/assetDelivery/feature.js.map +1 -1
- package/assetDelivery/index.d.ts +1 -2
- package/assetDelivery/index.js +1 -2
- package/assetDelivery/s3/S3AssetResolver.d.ts +10 -9
- package/assetDelivery/s3/S3AssetResolver.js +10 -8
- package/assetDelivery/s3/S3AssetResolver.js.map +1 -1
- package/assetDelivery/s3/S3ContentsReader.d.ts +6 -5
- package/assetDelivery/s3/S3ContentsReader.js +3 -0
- package/assetDelivery/s3/S3ContentsReader.js.map +1 -1
- package/assetDelivery/s3/S3ErrorAssetReply.d.ts +3 -2
- package/assetDelivery/s3/S3ErrorAssetReply.js +4 -1
- package/assetDelivery/s3/S3ErrorAssetReply.js.map +1 -1
- package/assetDelivery/s3/S3OutputStrategy.d.ts +8 -6
- package/assetDelivery/s3/S3OutputStrategy.js +6 -5
- package/assetDelivery/s3/S3OutputStrategy.js.map +1 -1
- package/assetDelivery/s3/S3RedirectAssetReply.d.ts +1 -1
- package/assetDelivery/s3/S3RedirectAssetReply.js +1 -1
- package/assetDelivery/s3/S3RedirectAssetReply.js.map +1 -1
- package/assetDelivery/s3/SharpTransform.d.ts +13 -5
- package/assetDelivery/s3/SharpTransform.js +98 -74
- package/assetDelivery/s3/SharpTransform.js.map +1 -1
- package/assetDelivery/threatDetection/createThreatDetectionEventHandler.d.ts +1 -1
- package/assetDelivery/threatDetection/createThreatDetectionEventHandler.js +4 -3
- package/assetDelivery/threatDetection/createThreatDetectionEventHandler.js.map +1 -1
- package/assetDelivery/threatDetection/processThreatScanResult.js +10 -8
- package/assetDelivery/threatDetection/processThreatScanResult.js.map +1 -1
- package/assetDelivery/types.d.ts +3 -0
- package/features/CompleteMultiPartUpload/CompleteMultiPartUploadUseCase.d.ts +8 -0
- package/features/CompleteMultiPartUpload/CompleteMultiPartUploadUseCase.js +51 -0
- package/features/CompleteMultiPartUpload/CompleteMultiPartUploadUseCase.js.map +1 -0
- package/features/CompleteMultiPartUpload/feature.d.ts +4 -0
- package/features/CompleteMultiPartUpload/feature.js +11 -0
- package/features/CompleteMultiPartUpload/feature.js.map +1 -0
- package/features/CreateMultiPartUpload/CreateMultiPartUploadUseCase.d.ts +9 -0
- package/features/CreateMultiPartUpload/CreateMultiPartUploadUseCase.js +40 -0
- package/features/CreateMultiPartUpload/CreateMultiPartUploadUseCase.js.map +1 -0
- package/features/CreateMultiPartUpload/feature.d.ts +4 -0
- package/features/CreateMultiPartUpload/feature.js +11 -0
- package/features/CreateMultiPartUpload/feature.js.map +1 -0
- package/features/DeleteFileFromBucket/DeleteS3FolderTask.d.ts +1 -1
- package/features/ExtractMetadata/ExtractMetadataHandler.d.ts +1 -11
- package/features/ExtractMetadata/ExtractMetadataHandler.js +1 -25
- package/features/ExtractMetadata/ExtractMetadataTask.d.ts +15 -17
- package/features/ExtractMetadata/ExtractMetadataTask.js +8 -10
- package/features/ExtractMetadata/ExtractMetadataTask.js.map +1 -1
- package/features/FlushCache/InvalidateCacheTask.d.ts +2 -2
- package/features/FlushCache/InvalidateCacheTask.js +1 -1
- package/features/FlushCache/InvalidateCacheTask.js.map +1 -1
- package/features/GetFileContentsById/GetFileContentsByIdUseCase.d.ts +3 -3
- package/features/GetFileContentsById/GetFileContentsByIdUseCase.js +4 -5
- package/features/GetFileContentsById/GetFileContentsByIdUseCase.js.map +1 -1
- package/features/GetUploadPayload/GetUploadPayloadUseCase.d.ts +14 -0
- package/features/GetUploadPayload/GetUploadPayloadUseCase.js +54 -0
- package/features/GetUploadPayload/GetUploadPayloadUseCase.js.map +1 -0
- package/features/{WriteFileMetadata → GetUploadPayload}/feature.d.ts +1 -1
- package/features/GetUploadPayload/feature.js +11 -0
- package/features/GetUploadPayload/feature.js.map +1 -0
- package/index.d.ts +2 -2
- package/index.js +8 -6
- package/index.js.map +1 -1
- package/package.json +18 -24
- package/types.d.ts +2 -20
- package/utils/uploadFileToS3.d.ts +1 -1
- package/assetDelivery/s3/S3StreamAssetReply.d.ts +0 -5
- package/assetDelivery/s3/S3StreamAssetReply.js +0 -17
- package/assetDelivery/s3/S3StreamAssetReply.js.map +0 -1
- package/assetDelivery/s3/transformation/AssetKeyGenerator.d.ts +0 -8
- package/assetDelivery/s3/transformation/AssetKeyGenerator.js +0 -21
- package/assetDelivery/s3/transformation/AssetKeyGenerator.js.map +0 -1
- package/assetDelivery/s3/transformation/CallableContentsReader.d.ts +0 -10
- package/assetDelivery/s3/transformation/CallableContentsReader.js +0 -11
- package/assetDelivery/s3/transformation/CallableContentsReader.js.map +0 -1
- package/assetDelivery/s3/transformation/WidthCollection.d.ts +0 -7
- package/assetDelivery/s3/transformation/WidthCollection.js +0 -19
- package/assetDelivery/s3/transformation/WidthCollection.js.map +0 -1
- package/assetDelivery/s3/transformation/utils.d.ts +0 -9
- package/assetDelivery/s3/transformation/utils.js +0 -31
- package/assetDelivery/s3/transformation/utils.js.map +0 -1
- package/assetDelivery/threatDetection/ObjectKey.d.ts +0 -7
- package/assetDelivery/threatDetection/ObjectKey.js +0 -18
- package/assetDelivery/threatDetection/ObjectKey.js.map +0 -1
- package/features/ExtractMetadata/ExtractMetadataHandler.js.map +0 -1
- package/features/WriteFileMetadata/MetadataReader.d.ts +0 -14
- package/features/WriteFileMetadata/MetadataReader.js +0 -13
- package/features/WriteFileMetadata/MetadataReader.js.map +0 -1
- package/features/WriteFileMetadata/MetadataWriter.d.ts +0 -10
- package/features/WriteFileMetadata/MetadataWriter.js +0 -26
- package/features/WriteFileMetadata/MetadataWriter.js.map +0 -1
- package/features/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.d.ts +0 -12
- package/features/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js +0 -23
- package/features/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js.map +0 -1
- package/features/WriteFileMetadata/WriteMetadataAfterCreateHandler.d.ts +0 -12
- package/features/WriteFileMetadata/WriteMetadataAfterCreateHandler.js +0 -25
- package/features/WriteFileMetadata/WriteMetadataAfterCreateHandler.js.map +0 -1
- package/features/WriteFileMetadata/feature.js +0 -13
- package/features/WriteFileMetadata/feature.js.map +0 -1
- package/graphql/checkPermissions.d.ts +0 -5
- package/graphql/checkPermissions.js +0 -22
- package/graphql/checkPermissions.js.map +0 -1
- package/graphql/schema.d.ts +0 -1
- package/graphql/schema.js +0 -203
- package/graphql/schema.js.map +0 -1
- package/multiPartUpload/CompleteMultiPartUploadUseCase.d.ts +0 -15
- package/multiPartUpload/CompleteMultiPartUploadUseCase.js +0 -55
- package/multiPartUpload/CompleteMultiPartUploadUseCase.js.map +0 -1
- package/multiPartUpload/CreateMultiPartUploadUseCase.d.ts +0 -20
- package/multiPartUpload/CreateMultiPartUploadUseCase.js +0 -34
- package/multiPartUpload/CreateMultiPartUploadUseCase.js.map +0 -1
- package/utils/FileExtension.d.ts +0 -6
- package/utils/FileExtension.js +0 -16
- package/utils/FileExtension.js.map +0 -1
- package/utils/FileKey.d.ts +0 -11
- package/utils/FileKey.js +0 -33
- package/utils/FileKey.js.map +0 -1
- package/utils/FileKey.test.d.ts +0 -1
- package/utils/FileKey.test.js +0 -59
- package/utils/FileKey.test.js.map +0 -1
- package/utils/FileNormalizer.d.ts +0 -18
- package/utils/FileNormalizer.js +0 -41
- package/utils/FileNormalizer.js.map +0 -1
- package/utils/FileUploadModifier.d.ts +0 -30
- package/utils/FileUploadModifier.js +0 -39
- package/utils/FileUploadModifier.js.map +0 -1
- package/utils/createFileNormalizerFromContext.d.ts +0 -3
- package/utils/createFileNormalizerFromContext.js +0 -9
- package/utils/createFileNormalizerFromContext.js.map +0 -1
- package/utils/getPresignedPostPayload.d.ts +0 -4
- package/utils/getPresignedPostPayload.js +0 -43
- package/utils/getPresignedPostPayload.js.map +0 -1
- package/utils/mimeTypes.d.ts +0 -5
- package/utils/mimeTypes.js +0 -9
- package/utils/mimeTypes.js.map +0 -1
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { AssetReply } from "@webiny/api-file-manager";
|
|
2
|
-
import { ResponseHeaders } from "@webiny/handler";
|
|
3
|
-
class S3StreamAssetReply extends AssetReply {
|
|
4
|
-
constructor(asset){
|
|
5
|
-
super({
|
|
6
|
-
code: 200,
|
|
7
|
-
headers: ResponseHeaders.create({
|
|
8
|
-
"cache-control": "public, max-age=31536000",
|
|
9
|
-
"content-type": asset.getContentType()
|
|
10
|
-
}),
|
|
11
|
-
body: ()=>asset.getContents()
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
export { S3StreamAssetReply };
|
|
16
|
-
|
|
17
|
-
//# sourceMappingURL=S3StreamAssetReply.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assetDelivery/s3/S3StreamAssetReply.js","sources":["../../../src/assetDelivery/s3/S3StreamAssetReply.ts"],"sourcesContent":["import type { Asset } from \"@webiny/api-file-manager\";\nimport { AssetReply } from \"@webiny/api-file-manager\";\nimport { ResponseHeaders } from \"@webiny/handler\";\n\nexport class S3StreamAssetReply extends AssetReply {\n constructor(asset: Asset) {\n super({\n code: 200,\n headers: ResponseHeaders.create({\n \"cache-control\": `public, max-age=${86400 * 365}`,\n \"content-type\": asset.getContentType()\n }),\n body: () => asset.getContents()\n });\n }\n}\n"],"names":["S3StreamAssetReply","AssetReply","asset","ResponseHeaders"],"mappings":";;AAIO,MAAMA,2BAA2BC;IACpC,YAAYC,KAAY,CAAE;QACtB,KAAK,CAAC;YACF,MAAM;YACN,SAASC,gBAAgB,MAAM,CAAC;gBAC5B,iBAAiB;gBACjB,gBAAgBD,MAAM,cAAc;YACxC;YACA,MAAM,IAAMA,MAAM,WAAW;QACjC;IACJ;AACJ"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Asset } from "@webiny/api-file-manager";
|
|
2
|
-
export declare class AssetKeyGenerator {
|
|
3
|
-
private utils;
|
|
4
|
-
private asset;
|
|
5
|
-
constructor(asset: Asset);
|
|
6
|
-
getOptimizedImageKey(): string;
|
|
7
|
-
getTransformedImageKey(transformations: Record<string, any>): string;
|
|
8
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import * as __rspack_external__utils_js_a9c81ddd from "./utils.js";
|
|
2
|
-
class AssetKeyGenerator {
|
|
3
|
-
constructor(asset){
|
|
4
|
-
this.asset = asset;
|
|
5
|
-
this.utils = __rspack_external__utils_js_a9c81ddd;
|
|
6
|
-
}
|
|
7
|
-
getOptimizedImageKey() {
|
|
8
|
-
return this.utils.getImageKey({
|
|
9
|
-
key: this.asset.getKey()
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
getTransformedImageKey(transformations) {
|
|
13
|
-
return this.utils.getImageKey({
|
|
14
|
-
key: this.asset.getKey(),
|
|
15
|
-
transformations
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
export { AssetKeyGenerator };
|
|
20
|
-
|
|
21
|
-
//# sourceMappingURL=AssetKeyGenerator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assetDelivery/s3/transformation/AssetKeyGenerator.js","sources":["../../../../src/assetDelivery/s3/transformation/AssetKeyGenerator.ts"],"sourcesContent":["import type { Asset } from \"@webiny/api-file-manager\";\nimport * as newUtils from \"./utils.js\";\n\nexport class AssetKeyGenerator {\n private utils: typeof newUtils;\n private asset: Asset;\n\n constructor(asset: Asset) {\n this.asset = asset;\n this.utils = newUtils;\n }\n\n getOptimizedImageKey() {\n return this.utils.getImageKey({ key: this.asset.getKey() });\n }\n getTransformedImageKey(transformations: Record<string, any>) {\n return this.utils.getImageKey({ key: this.asset.getKey(), transformations });\n }\n}\n"],"names":["AssetKeyGenerator","asset","newUtils","transformations"],"mappings":";AAGO,MAAMA;IAIT,YAAYC,KAAY,CAAE;QACtB,IAAI,CAAC,KAAK,GAAGA;QACb,IAAI,CAAC,KAAK,GAAGC;IACjB;IAEA,uBAAuB;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAAE,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;QAAG;IAC7D;IACA,uBAAuBC,eAAoC,EAAE;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAAE,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;YAAIA;QAAgB;IAC9E;AACJ"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { AssetContentsReader } from "@webiny/api-file-manager";
|
|
2
|
-
interface ContentsCallable {
|
|
3
|
-
(): Promise<Buffer> | Buffer;
|
|
4
|
-
}
|
|
5
|
-
export declare class CallableContentsReader implements AssetContentsReader {
|
|
6
|
-
private readonly callable;
|
|
7
|
-
constructor(callable: ContentsCallable);
|
|
8
|
-
read(): Promise<Buffer>;
|
|
9
|
-
}
|
|
10
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assetDelivery/s3/transformation/CallableContentsReader.js","sources":["../../../../src/assetDelivery/s3/transformation/CallableContentsReader.ts"],"sourcesContent":["import type { AssetContentsReader } from \"@webiny/api-file-manager\";\n\ninterface ContentsCallable {\n (): Promise<Buffer> | Buffer;\n}\n\nexport class CallableContentsReader implements AssetContentsReader {\n private readonly callable: ContentsCallable;\n\n constructor(callable: ContentsCallable) {\n this.callable = callable;\n }\n\n async read(): Promise<Buffer> {\n return this.callable();\n }\n}\n"],"names":["CallableContentsReader","callable"],"mappings":"AAMO,MAAMA;IAGT,YAAYC,QAA0B,CAAE;QACpC,IAAI,CAAC,QAAQ,GAAGA;IACpB;IAEA,MAAM,OAAwB;QAC1B,OAAO,IAAI,CAAC,QAAQ;IACxB;AACJ"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
class WidthCollection {
|
|
2
|
-
constructor(values){
|
|
3
|
-
this.values = values.sort((a, b)=>a - b);
|
|
4
|
-
}
|
|
5
|
-
max() {
|
|
6
|
-
return Math.max(...this.values);
|
|
7
|
-
}
|
|
8
|
-
min() {
|
|
9
|
-
return Math.min(...this.values);
|
|
10
|
-
}
|
|
11
|
-
getClosestOrMax(value) {
|
|
12
|
-
if (!value) return this.max();
|
|
13
|
-
const gteGivenValue = this.values.filter((w)=>w >= value);
|
|
14
|
-
return gteGivenValue.length > 0 ? gteGivenValue[0] : this.max();
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
export { WidthCollection };
|
|
18
|
-
|
|
19
|
-
//# sourceMappingURL=WidthCollection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assetDelivery/s3/transformation/WidthCollection.js","sources":["../../../../src/assetDelivery/s3/transformation/WidthCollection.ts"],"sourcesContent":["export class WidthCollection {\n private readonly values: number[];\n\n constructor(values: number[]) {\n this.values = values.sort((a, b) => a - b);\n }\n\n max() {\n return Math.max(...this.values);\n }\n\n min() {\n return Math.min(...this.values);\n }\n\n getClosestOrMax(value: number | undefined): number {\n if (!value) {\n return this.max();\n }\n const gteGivenValue = this.values.filter(w => w >= value);\n return gteGivenValue.length > 0 ? gteGivenValue[0] : this.max();\n }\n}\n"],"names":["WidthCollection","values","a","b","Math","value","gteGivenValue","w"],"mappings":"AAAO,MAAMA;IAGT,YAAYC,MAAgB,CAAE;QAC1B,IAAI,CAAC,MAAM,GAAGA,OAAO,IAAI,CAAC,CAACC,GAAGC,IAAMD,IAAIC;IAC5C;IAEA,MAAM;QACF,OAAOC,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM;IAClC;IAEA,MAAM;QACF,OAAOA,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM;IAClC;IAEA,gBAAgBC,KAAyB,EAAU;QAC/C,IAAI,CAACA,OACD,OAAO,IAAI,CAAC,GAAG;QAEnB,MAAMC,gBAAgB,IAAI,CAAC,MAAM,CAAC,MAAM,CAACC,CAAAA,IAAKA,KAAKF;QACnD,OAAOC,cAAc,MAAM,GAAG,IAAIA,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG;IACjE;AACJ"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
declare const SUPPORTED_TRANSFORMABLE_IMAGES: string[];
|
|
2
|
-
declare const getOptimizedImageKeyPrefix: (key: string) => string;
|
|
3
|
-
declare const getOptimizedTransformedImageKeyPrefix: (key: string, transformationsHash: string) => string;
|
|
4
|
-
interface GetImageKeyParams {
|
|
5
|
-
key: string;
|
|
6
|
-
transformations?: any;
|
|
7
|
-
}
|
|
8
|
-
declare const getImageKey: ({ key, transformations }: GetImageKeyParams) => string;
|
|
9
|
-
export { SUPPORTED_TRANSFORMABLE_IMAGES, getImageKey, getOptimizedImageKeyPrefix, getOptimizedTransformedImageKeyPrefix };
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import object_hash from "object-hash";
|
|
2
|
-
import node_path from "node:path";
|
|
3
|
-
const SUPPORTED_TRANSFORMABLE_IMAGES = [
|
|
4
|
-
"jpg",
|
|
5
|
-
"jpeg",
|
|
6
|
-
"png",
|
|
7
|
-
"webp"
|
|
8
|
-
];
|
|
9
|
-
const parseKey = (key)=>{
|
|
10
|
-
const filename = node_path.basename(key);
|
|
11
|
-
const dirname = node_path.dirname(key);
|
|
12
|
-
return {
|
|
13
|
-
filename,
|
|
14
|
-
dirname
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
const getOptimizedImageKeyPrefix = (key)=>{
|
|
18
|
-
const { filename, dirname } = parseKey(key);
|
|
19
|
-
return `${dirname}/optimized/${filename}`;
|
|
20
|
-
};
|
|
21
|
-
const getOptimizedTransformedImageKeyPrefix = (key, transformationsHash)=>{
|
|
22
|
-
const { filename, dirname } = parseKey(key);
|
|
23
|
-
return `${dirname}/optimized/${transformationsHash}-${filename}`;
|
|
24
|
-
};
|
|
25
|
-
const getImageKey = ({ key, transformations })=>{
|
|
26
|
-
if (!transformations) return getOptimizedImageKeyPrefix(key);
|
|
27
|
-
return getOptimizedTransformedImageKeyPrefix(key, object_hash(transformations));
|
|
28
|
-
};
|
|
29
|
-
export { SUPPORTED_TRANSFORMABLE_IMAGES, getImageKey, getOptimizedImageKeyPrefix, getOptimizedTransformedImageKeyPrefix };
|
|
30
|
-
|
|
31
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assetDelivery/s3/transformation/utils.js","sources":["../../../../src/assetDelivery/s3/transformation/utils.ts"],"sourcesContent":["import objectHash from \"object-hash\";\nimport path from \"node:path\";\n\nconst SUPPORTED_TRANSFORMABLE_IMAGES = [\"jpg\", \"jpeg\", \"png\", \"webp\"];\n\nconst parseKey = (key: string) => {\n const filename = path.basename(key);\n const dirname = path.dirname(key);\n\n return { filename, dirname };\n};\n\nconst getOptimizedImageKeyPrefix = (key: string): string => {\n const { filename, dirname } = parseKey(key);\n\n return `${dirname}/optimized/${filename}`;\n};\n\nconst getOptimizedTransformedImageKeyPrefix = (\n key: string,\n transformationsHash: string\n): string => {\n const { filename, dirname } = parseKey(key);\n\n return `${dirname}/optimized/${transformationsHash}-${filename}`;\n};\n\ninterface GetImageKeyParams {\n key: string;\n transformations?: any;\n}\n\nconst getImageKey = ({ key, transformations }: GetImageKeyParams): string => {\n if (!transformations) {\n return getOptimizedImageKeyPrefix(key);\n }\n\n return getOptimizedTransformedImageKeyPrefix(key, objectHash(transformations));\n};\n\nexport {\n SUPPORTED_TRANSFORMABLE_IMAGES,\n getImageKey,\n getOptimizedImageKeyPrefix,\n getOptimizedTransformedImageKeyPrefix\n};\n"],"names":["SUPPORTED_TRANSFORMABLE_IMAGES","parseKey","key","filename","path","dirname","getOptimizedImageKeyPrefix","getOptimizedTransformedImageKeyPrefix","transformationsHash","getImageKey","transformations","objectHash"],"mappings":";;AAGA,MAAMA,iCAAiC;IAAC;IAAO;IAAQ;IAAO;CAAO;AAErE,MAAMC,WAAW,CAACC;IACd,MAAMC,WAAWC,UAAAA,QAAa,CAACF;IAC/B,MAAMG,UAAUD,UAAAA,OAAY,CAACF;IAE7B,OAAO;QAAEC;QAAUE;IAAQ;AAC/B;AAEA,MAAMC,6BAA6B,CAACJ;IAChC,MAAM,EAAEC,QAAQ,EAAEE,OAAO,EAAE,GAAGJ,SAASC;IAEvC,OAAO,GAAGG,QAAQ,WAAW,EAAEF,UAAU;AAC7C;AAEA,MAAMI,wCAAwC,CAC1CL,KACAM;IAEA,MAAM,EAAEL,QAAQ,EAAEE,OAAO,EAAE,GAAGJ,SAASC;IAEvC,OAAO,GAAGG,QAAQ,WAAW,EAAEG,oBAAoB,CAAC,EAAEL,UAAU;AACpE;AAOA,MAAMM,cAAc,CAAC,EAAEP,GAAG,EAAEQ,eAAe,EAAqB;IAC5D,IAAI,CAACA,iBACD,OAAOJ,2BAA2BJ;IAGtC,OAAOK,sCAAsCL,KAAKS,YAAWD;AACjE"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
class ObjectKey {
|
|
2
|
-
static from(key) {
|
|
3
|
-
return new ObjectKey(key);
|
|
4
|
-
}
|
|
5
|
-
constructor(key){
|
|
6
|
-
this.bucketKey = key;
|
|
7
|
-
}
|
|
8
|
-
id() {
|
|
9
|
-
const [id] = this.relativeKey().split("/");
|
|
10
|
-
return id;
|
|
11
|
-
}
|
|
12
|
-
relativeKey() {
|
|
13
|
-
return this.bucketKey.replace(/^tenants\/[^/]+\/files\//, "");
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
export { ObjectKey };
|
|
17
|
-
|
|
18
|
-
//# sourceMappingURL=ObjectKey.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assetDelivery/threatDetection/ObjectKey.js","sources":["../../../src/assetDelivery/threatDetection/ObjectKey.ts"],"sourcesContent":["export class ObjectKey {\n private bucketKey: string;\n\n static from(key: string) {\n return new ObjectKey(key);\n }\n\n private constructor(key: string) {\n this.bucketKey = key;\n }\n\n id() {\n const [id] = this.relativeKey().split(\"/\");\n return id;\n }\n\n relativeKey() {\n return this.bucketKey.replace(/^tenants\\/[^/]+\\/files\\//, \"\");\n }\n}\n"],"names":["ObjectKey","key","id"],"mappings":"AAAO,MAAMA;IAGT,OAAO,KAAKC,GAAW,EAAE;QACrB,OAAO,IAAID,UAAUC;IACzB;IAEA,YAAoBA,GAAW,CAAE;QAC7B,IAAI,CAAC,SAAS,GAAGA;IACrB;IAEA,KAAK;QACD,MAAM,CAACC,GAAG,GAAG,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACtC,OAAOA;IACX;IAEA,cAAc;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,4BAA4B;IAC9D;AACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"features/ExtractMetadata/ExtractMetadataHandler.js","sources":["../../../src/features/ExtractMetadata/ExtractMetadataHandler.ts"],"sourcesContent":["import { FileAfterCreateEventHandler } from \"@webiny/api-file-manager/features/file/CreateFile/events.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\nimport type { ExtractMetadataInput } from \"./ExtractMetadataTask.js\";\n\nclass ExtractMetadataHandlerImpl implements FileAfterCreateEventHandler.Interface {\n constructor(private taskService: TaskService.Interface) {}\n\n async handle(event: FileAfterCreateEventHandler.Event): Promise<void> {\n const { file } = event.payload;\n\n // Trigger the metadata extraction task\n await this.taskService.trigger<ExtractMetadataInput>({\n definition: \"fileManagerExtractMetadata\",\n input: {\n fileId: file.id\n }\n });\n }\n}\n\nexport const ExtractMetadataHandler = FileAfterCreateEventHandler.createImplementation({\n implementation: ExtractMetadataHandlerImpl,\n dependencies: [TaskService]\n});\n"],"names":["ExtractMetadataHandlerImpl","taskService","event","file","ExtractMetadataHandler","FileAfterCreateEventHandler","TaskService"],"mappings":";;AAIA,MAAMA;IACF,YAAoBC,WAAkC,CAAE;aAApCA,WAAW,GAAXA;IAAqC;IAEzD,MAAM,OAAOC,KAAwC,EAAiB;QAClE,MAAM,EAAEC,IAAI,EAAE,GAAGD,MAAM,OAAO;QAG9B,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAuB;YACjD,YAAY;YACZ,OAAO;gBACH,QAAQC,KAAK,EAAE;YACnB;QACJ;IACJ;AACJ;AAEO,MAAMC,yBAAyBC,4BAA4B,oBAAoB,CAAC;IACnF,gBAAgBL;IAChB,cAAc;QAACM;KAAY;AAC/B"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { GlobalKeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
|
|
2
|
-
interface AssetMetadata {
|
|
3
|
-
id: string;
|
|
4
|
-
tenant: string;
|
|
5
|
-
size: number;
|
|
6
|
-
contentType: string;
|
|
7
|
-
bucketKey: string;
|
|
8
|
-
}
|
|
9
|
-
export declare class MetadataReader {
|
|
10
|
-
private keyValueStore;
|
|
11
|
-
constructor(keyValueStore: GlobalKeyValueStore.Interface);
|
|
12
|
-
read(fileId: string): Promise<AssetMetadata | undefined>;
|
|
13
|
-
}
|
|
14
|
-
export {};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
class MetadataReader {
|
|
2
|
-
constructor(keyValueStore){
|
|
3
|
-
this.keyValueStore = keyValueStore;
|
|
4
|
-
}
|
|
5
|
-
async read(fileId) {
|
|
6
|
-
const result = await this.keyValueStore.get(`FileManager/File/${fileId}/Metadata`);
|
|
7
|
-
if (result.isFail()) return;
|
|
8
|
-
return result.value;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export { MetadataReader };
|
|
12
|
-
|
|
13
|
-
//# sourceMappingURL=MetadataReader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"features/WriteFileMetadata/MetadataReader.js","sources":["../../../src/features/WriteFileMetadata/MetadataReader.ts"],"sourcesContent":["import { GlobalKeyValueStore } from \"@webiny/api-core/features/keyValueStore/index.js\";\n\ninterface AssetMetadata {\n id: string;\n tenant: string;\n size: number;\n contentType: string;\n bucketKey: string;\n}\n\nexport class MetadataReader {\n constructor(private keyValueStore: GlobalKeyValueStore.Interface) {}\n\n async read(fileId: string): Promise<AssetMetadata | undefined> {\n const result = await this.keyValueStore.get<AssetMetadata>(\n `FileManager/File/${fileId}/Metadata`\n );\n\n if (result.isFail()) {\n return undefined;\n }\n\n return result.value;\n }\n}\n"],"names":["MetadataReader","keyValueStore","fileId","result"],"mappings":"AAUO,MAAMA;IACT,YAAoBC,aAA4C,CAAE;aAA9CA,aAAa,GAAbA;IAA+C;IAEnE,MAAM,KAAKC,MAAc,EAAsC;QAC3D,MAAMC,SAAS,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CACvC,CAAC,iBAAiB,EAAED,OAAO,SAAS,CAAC;QAGzC,IAAIC,OAAO,MAAM,IACb;QAGJ,OAAOA,OAAO,KAAK;IACvB;AACJ"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
|
|
2
|
-
import type { File } from "@webiny/api-file-manager/domain/file/types.js";
|
|
3
|
-
import { GlobalKeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
|
|
4
|
-
export declare class MetadataWriter {
|
|
5
|
-
private tenantContext;
|
|
6
|
-
private keyValueStore;
|
|
7
|
-
constructor(tenantContext: TenantContext.Interface, keyValueStore: GlobalKeyValueStore.Interface);
|
|
8
|
-
write(files: File[]): Promise<void>;
|
|
9
|
-
private getMetadata;
|
|
10
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
class MetadataWriter {
|
|
2
|
-
constructor(tenantContext, keyValueStore){
|
|
3
|
-
this.tenantContext = tenantContext;
|
|
4
|
-
this.keyValueStore = keyValueStore;
|
|
5
|
-
}
|
|
6
|
-
async write(files) {
|
|
7
|
-
const writers = files.map(async (file)=>{
|
|
8
|
-
const metadata = this.getMetadata(file);
|
|
9
|
-
await this.keyValueStore.set(`FileManager/File/${file.id}/Metadata`, metadata);
|
|
10
|
-
});
|
|
11
|
-
await Promise.all(writers);
|
|
12
|
-
}
|
|
13
|
-
getMetadata(file) {
|
|
14
|
-
const tenant = this.tenantContext.getTenant();
|
|
15
|
-
return {
|
|
16
|
-
id: file.id,
|
|
17
|
-
bucketKey: `tenants/${tenant.id}/files/${file.key}`,
|
|
18
|
-
tenant: tenant.id,
|
|
19
|
-
size: file.size,
|
|
20
|
-
contentType: file.type
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export { MetadataWriter };
|
|
25
|
-
|
|
26
|
-
//# sourceMappingURL=MetadataWriter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"features/WriteFileMetadata/MetadataWriter.js","sources":["../../../src/features/WriteFileMetadata/MetadataWriter.ts"],"sourcesContent":["import { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport type { File } from \"@webiny/api-file-manager/domain/file/types.js\";\nimport { GlobalKeyValueStore } from \"@webiny/api-core/features/keyValueStore/index.js\";\n\nexport class MetadataWriter {\n constructor(\n private tenantContext: TenantContext.Interface,\n private keyValueStore: GlobalKeyValueStore.Interface\n ) {}\n\n async write(files: File[]) {\n /**\n * We need to write each file with retry.\n */\n const writers = files.map(async file => {\n const metadata = this.getMetadata(file);\n await this.keyValueStore.set(`FileManager/File/${file.id}/Metadata`, metadata);\n });\n\n await Promise.all(writers);\n }\n\n private getMetadata(file: File) {\n const tenant = this.tenantContext.getTenant();\n return {\n id: file.id,\n bucketKey: `tenants/${tenant.id}/files/${file.key}`,\n tenant: tenant.id,\n size: file.size,\n contentType: file.type\n };\n }\n}\n"],"names":["MetadataWriter","tenantContext","keyValueStore","files","writers","file","metadata","Promise","tenant"],"mappings":"AAIO,MAAMA;IACT,YACYC,aAAsC,EACtCC,aAA4C,CACtD;aAFUD,aAAa,GAAbA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,MAAMC,KAAa,EAAE;QAIvB,MAAMC,UAAUD,MAAM,GAAG,CAAC,OAAME;YAC5B,MAAMC,WAAW,IAAI,CAAC,WAAW,CAACD;YAClC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAEA,KAAK,EAAE,CAAC,SAAS,CAAC,EAAEC;QACzE;QAEA,MAAMC,QAAQ,GAAG,CAACH;IACtB;IAEQ,YAAYC,IAAU,EAAE;QAC5B,MAAMG,SAAS,IAAI,CAAC,aAAa,CAAC,SAAS;QAC3C,OAAO;YACH,IAAIH,KAAK,EAAE;YACX,WAAW,CAAC,QAAQ,EAAEG,OAAO,EAAE,CAAC,OAAO,EAAEH,KAAK,GAAG,EAAE;YACnD,QAAQG,OAAO,EAAE;YACjB,MAAMH,KAAK,IAAI;YACf,aAAaA,KAAK,IAAI;QAC1B;IACJ;AACJ"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
|
|
2
|
-
import { FileAfterBatchCreateEventHandler } from "@webiny/api-file-manager/features/file/CreateFilesInBatch/events.js";
|
|
3
|
-
import { GlobalKeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
|
|
4
|
-
declare class WriteMetadataAfterBatchCreateHandlerImpl implements FileAfterBatchCreateEventHandler.Interface {
|
|
5
|
-
private readonly metadataWriter;
|
|
6
|
-
constructor(tenantContext: TenantContext.Interface, keyValueStore: GlobalKeyValueStore.Interface);
|
|
7
|
-
handle(event: FileAfterBatchCreateEventHandler.Event): Promise<void>;
|
|
8
|
-
}
|
|
9
|
-
export declare const WriteMetadataAfterBatchCreateHandler: typeof WriteMetadataAfterBatchCreateHandlerImpl & {
|
|
10
|
-
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<import("@webiny/api-file-manager/features/file/CreateFilesInBatch/events.js").FileAfterBatchCreateEvent>>;
|
|
11
|
-
};
|
|
12
|
-
export {};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
|
|
2
|
-
import { FileAfterBatchCreateEventHandler } from "@webiny/api-file-manager/features/file/CreateFilesInBatch/events.js";
|
|
3
|
-
import { MetadataWriter } from "./MetadataWriter.js";
|
|
4
|
-
import { GlobalKeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
|
|
5
|
-
class WriteMetadataAfterBatchCreateHandlerImpl {
|
|
6
|
-
constructor(tenantContext, keyValueStore){
|
|
7
|
-
this.metadataWriter = new MetadataWriter(tenantContext, keyValueStore);
|
|
8
|
-
}
|
|
9
|
-
async handle(event) {
|
|
10
|
-
const { files } = event.payload;
|
|
11
|
-
await this.metadataWriter.write(files);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
const WriteMetadataAfterBatchCreateHandler = FileAfterBatchCreateEventHandler.createImplementation({
|
|
15
|
-
implementation: WriteMetadataAfterBatchCreateHandlerImpl,
|
|
16
|
-
dependencies: [
|
|
17
|
-
TenantContext,
|
|
18
|
-
GlobalKeyValueStore
|
|
19
|
-
]
|
|
20
|
-
});
|
|
21
|
-
export { WriteMetadataAfterBatchCreateHandler };
|
|
22
|
-
|
|
23
|
-
//# sourceMappingURL=WriteMetadataAfterBatchCreateHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"features/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.js","sources":["../../../src/features/WriteFileMetadata/WriteMetadataAfterBatchCreateHandler.ts"],"sourcesContent":["import { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { FileAfterBatchCreateEventHandler } from \"@webiny/api-file-manager/features/file/CreateFilesInBatch/events.js\";\nimport { MetadataWriter } from \"./MetadataWriter.js\";\nimport { GlobalKeyValueStore } from \"@webiny/api-core/features/keyValueStore/index.js\";\n\nclass WriteMetadataAfterBatchCreateHandlerImpl\n implements FileAfterBatchCreateEventHandler.Interface\n{\n private readonly metadataWriter: MetadataWriter;\n\n constructor(\n tenantContext: TenantContext.Interface,\n keyValueStore: GlobalKeyValueStore.Interface\n ) {\n this.metadataWriter = new MetadataWriter(tenantContext, keyValueStore);\n }\n\n async handle(event: FileAfterBatchCreateEventHandler.Event): Promise<void> {\n const { files } = event.payload;\n await this.metadataWriter.write(files);\n }\n}\n\nexport const WriteMetadataAfterBatchCreateHandler =\n FileAfterBatchCreateEventHandler.createImplementation({\n implementation: WriteMetadataAfterBatchCreateHandlerImpl,\n dependencies: [TenantContext, GlobalKeyValueStore]\n });\n"],"names":["WriteMetadataAfterBatchCreateHandlerImpl","tenantContext","keyValueStore","MetadataWriter","event","files","WriteMetadataAfterBatchCreateHandler","FileAfterBatchCreateEventHandler","TenantContext","GlobalKeyValueStore"],"mappings":";;;;AAKA,MAAMA;IAKF,YACIC,aAAsC,EACtCC,aAA4C,CAC9C;QACE,IAAI,CAAC,cAAc,GAAG,IAAIC,eAAeF,eAAeC;IAC5D;IAEA,MAAM,OAAOE,KAA6C,EAAiB;QACvE,MAAM,EAAEC,KAAK,EAAE,GAAGD,MAAM,OAAO;QAC/B,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAACC;IACpC;AACJ;AAEO,MAAMC,uCACTC,iCAAiC,oBAAoB,CAAC;IAClD,gBAAgBP;IAChB,cAAc;QAACQ;QAAeC;KAAoB;AACtD"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { FileAfterCreateEventHandler } from "@webiny/api-file-manager/features/file/CreateFile/events.js";
|
|
2
|
-
import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
|
|
3
|
-
import { GlobalKeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
|
|
4
|
-
declare class WriteMetadataAfterCreateHandlerImpl implements FileAfterCreateEventHandler.Interface {
|
|
5
|
-
private readonly metadataWriter;
|
|
6
|
-
constructor(tenantContext: TenantContext.Interface, keyValueStore: GlobalKeyValueStore.Interface);
|
|
7
|
-
handle(event: FileAfterCreateEventHandler.Event): Promise<void>;
|
|
8
|
-
}
|
|
9
|
-
export declare const WriteMetadataAfterCreateHandler: typeof WriteMetadataAfterCreateHandlerImpl & {
|
|
10
|
-
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<import("@webiny/api-file-manager/features/file/CreateFile/events.js").FileAfterCreateEvent>>;
|
|
11
|
-
};
|
|
12
|
-
export {};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { FileAfterCreateEventHandler } from "@webiny/api-file-manager/features/file/CreateFile/events.js";
|
|
2
|
-
import { MetadataWriter } from "./MetadataWriter.js";
|
|
3
|
-
import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
|
|
4
|
-
import { GlobalKeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
|
|
5
|
-
class WriteMetadataAfterCreateHandlerImpl {
|
|
6
|
-
constructor(tenantContext, keyValueStore){
|
|
7
|
-
this.metadataWriter = new MetadataWriter(tenantContext, keyValueStore);
|
|
8
|
-
}
|
|
9
|
-
async handle(event) {
|
|
10
|
-
const { file } = event.payload;
|
|
11
|
-
await this.metadataWriter.write([
|
|
12
|
-
file
|
|
13
|
-
]);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
const WriteMetadataAfterCreateHandler = FileAfterCreateEventHandler.createImplementation({
|
|
17
|
-
implementation: WriteMetadataAfterCreateHandlerImpl,
|
|
18
|
-
dependencies: [
|
|
19
|
-
TenantContext,
|
|
20
|
-
GlobalKeyValueStore
|
|
21
|
-
]
|
|
22
|
-
});
|
|
23
|
-
export { WriteMetadataAfterCreateHandler };
|
|
24
|
-
|
|
25
|
-
//# sourceMappingURL=WriteMetadataAfterCreateHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"features/WriteFileMetadata/WriteMetadataAfterCreateHandler.js","sources":["../../../src/features/WriteFileMetadata/WriteMetadataAfterCreateHandler.ts"],"sourcesContent":["import { FileAfterCreateEventHandler } from \"@webiny/api-file-manager/features/file/CreateFile/events.js\";\nimport { MetadataWriter } from \"./MetadataWriter.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { GlobalKeyValueStore } from \"@webiny/api-core/features/keyValueStore/index.js\";\n\nclass WriteMetadataAfterCreateHandlerImpl implements FileAfterCreateEventHandler.Interface {\n private readonly metadataWriter: MetadataWriter;\n\n constructor(\n tenantContext: TenantContext.Interface,\n keyValueStore: GlobalKeyValueStore.Interface\n ) {\n this.metadataWriter = new MetadataWriter(tenantContext, keyValueStore);\n }\n\n async handle(event: FileAfterCreateEventHandler.Event): Promise<void> {\n const { file } = event.payload;\n await this.metadataWriter.write([file]);\n }\n}\n\nexport const WriteMetadataAfterCreateHandler = FileAfterCreateEventHandler.createImplementation({\n implementation: WriteMetadataAfterCreateHandlerImpl,\n dependencies: [TenantContext, GlobalKeyValueStore]\n});\n"],"names":["WriteMetadataAfterCreateHandlerImpl","tenantContext","keyValueStore","MetadataWriter","event","file","WriteMetadataAfterCreateHandler","FileAfterCreateEventHandler","TenantContext","GlobalKeyValueStore"],"mappings":";;;;AAKA,MAAMA;IAGF,YACIC,aAAsC,EACtCC,aAA4C,CAC9C;QACE,IAAI,CAAC,cAAc,GAAG,IAAIC,eAAeF,eAAeC;IAC5D;IAEA,MAAM,OAAOE,KAAwC,EAAiB;QAClE,MAAM,EAAEC,IAAI,EAAE,GAAGD,MAAM,OAAO;QAC9B,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAACC;SAAK;IAC1C;AACJ;AAEO,MAAMC,kCAAkCC,4BAA4B,oBAAoB,CAAC;IAC5F,gBAAgBP;IAChB,cAAc;QAACQ;QAAeC;KAAoB;AACtD"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { createFeature } from "@webiny/feature/api";
|
|
2
|
-
import { WriteMetadataAfterCreateHandler } from "./WriteMetadataAfterCreateHandler.js";
|
|
3
|
-
import { WriteMetadataAfterBatchCreateHandler } from "./WriteMetadataAfterBatchCreateHandler.js";
|
|
4
|
-
const WriteFileMetadataFeature = createFeature({
|
|
5
|
-
name: "FileManagerS3/WriteFileMetadata",
|
|
6
|
-
register (container) {
|
|
7
|
-
container.register(WriteMetadataAfterCreateHandler);
|
|
8
|
-
container.register(WriteMetadataAfterBatchCreateHandler);
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
export { WriteFileMetadataFeature };
|
|
12
|
-
|
|
13
|
-
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"features/WriteFileMetadata/feature.js","sources":["../../../src/features/WriteFileMetadata/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { WriteMetadataAfterCreateHandler } from \"./WriteMetadataAfterCreateHandler.js\";\nimport { WriteMetadataAfterBatchCreateHandler } from \"./WriteMetadataAfterBatchCreateHandler.js\";\n\nexport const WriteFileMetadataFeature = createFeature({\n name: \"FileManagerS3/WriteFileMetadata\",\n register(container) {\n container.register(WriteMetadataAfterCreateHandler);\n container.register(WriteMetadataAfterBatchCreateHandler);\n }\n});\n"],"names":["WriteFileMetadataFeature","createFeature","container","WriteMetadataAfterCreateHandler","WriteMetadataAfterBatchCreateHandler"],"mappings":";;;AAIO,MAAMA,2BAA2BC,cAAc;IAClD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;IACvB;AACJ"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { FilePermission } from "@webiny/api-file-manager/types.js";
|
|
2
|
-
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
3
|
-
export declare const checkPermissions: (identityContext: IdentityContext.Interface, check?: {
|
|
4
|
-
rwd?: string;
|
|
5
|
-
}) => Promise<FilePermission[]>;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { NotAuthorizedError } from "@webiny/api-core/features/security/shared/index.js";
|
|
2
|
-
const checkPermissions = async (identityContext, check = {})=>{
|
|
3
|
-
const filePermissions = await identityContext.getPermissions("fm.file");
|
|
4
|
-
const relevantFilePermissions = filePermissions.filter((current)=>{
|
|
5
|
-
if (check.rwd && !hasRwd(current, check.rwd)) return false;
|
|
6
|
-
return true;
|
|
7
|
-
});
|
|
8
|
-
if (0 === relevantFilePermissions.length) throw new NotAuthorizedError();
|
|
9
|
-
return relevantFilePermissions;
|
|
10
|
-
};
|
|
11
|
-
const hasRwd = (filesFilePermissions, rwd)=>{
|
|
12
|
-
if (!Array.isArray(filesFilePermissions)) filesFilePermissions = [
|
|
13
|
-
filesFilePermissions
|
|
14
|
-
];
|
|
15
|
-
if (!rwd) return true;
|
|
16
|
-
const permissionWithoutRwdRestrictions = filesFilePermissions.some((permission)=>"string" != typeof permission.rwd);
|
|
17
|
-
if (permissionWithoutRwdRestrictions) return true;
|
|
18
|
-
return filesFilePermissions.some((permission)=>permission.rwd && permission.rwd.includes(rwd));
|
|
19
|
-
};
|
|
20
|
-
export { checkPermissions };
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=checkPermissions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"graphql/checkPermissions.js","sources":["../../src/graphql/checkPermissions.ts"],"sourcesContent":["import type { FilePermission } from \"@webiny/api-file-manager/types.js\";\nimport { NotAuthorizedError } from \"@webiny/api-core/features/security/shared/index.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\n\nexport const checkPermissions = async (\n identityContext: IdentityContext.Interface,\n check: { rwd?: string } = {}\n) => {\n const filePermissions = await identityContext.getPermissions<FilePermission>(\"fm.file\");\n\n const relevantFilePermissions = filePermissions.filter(current => {\n if (check.rwd && !hasRwd(current, check.rwd)) {\n return false;\n }\n\n return true;\n });\n\n if (relevantFilePermissions.length === 0) {\n throw new NotAuthorizedError();\n }\n\n return relevantFilePermissions;\n};\n\nconst hasRwd = (filesFilePermissions: FilePermission | FilePermission[], rwd: string): boolean => {\n if (!Array.isArray(filesFilePermissions)) {\n filesFilePermissions = [filesFilePermissions];\n }\n\n if (!rwd) {\n return true;\n }\n\n // Is there a permission that doesn't restrict RWD permissions, that means all RWD permissions are allowed.\n const permissionWithoutRwdRestrictions = filesFilePermissions.some(permission => {\n return typeof permission.rwd !== \"string\";\n });\n\n if (permissionWithoutRwdRestrictions) {\n return true;\n }\n\n // If there is no permission that doesn't restrict RWD permissions, that means we need to check if the RWD.\n return filesFilePermissions.some(permission => {\n return permission.rwd && permission.rwd.includes(rwd);\n });\n};\n"],"names":["checkPermissions","identityContext","check","filePermissions","relevantFilePermissions","current","hasRwd","NotAuthorizedError","filesFilePermissions","rwd","Array","permissionWithoutRwdRestrictions","permission"],"mappings":";AAIO,MAAMA,mBAAmB,OAC5BC,iBACAC,QAA0B,CAAC,CAAC;IAE5B,MAAMC,kBAAkB,MAAMF,gBAAgB,cAAc,CAAiB;IAE7E,MAAMG,0BAA0BD,gBAAgB,MAAM,CAACE,CAAAA;QACnD,IAAIH,MAAM,GAAG,IAAI,CAACI,OAAOD,SAASH,MAAM,GAAG,GACvC,OAAO;QAGX,OAAO;IACX;IAEA,IAAIE,AAAmC,MAAnCA,wBAAwB,MAAM,EAC9B,MAAM,IAAIG;IAGd,OAAOH;AACX;AAEA,MAAME,SAAS,CAACE,sBAAyDC;IACrE,IAAI,CAACC,MAAM,OAAO,CAACF,uBACfA,uBAAuB;QAACA;KAAqB;IAGjD,IAAI,CAACC,KACD,OAAO;IAIX,MAAME,mCAAmCH,qBAAqB,IAAI,CAACI,CAAAA,aACxD,AAA0B,YAA1B,OAAOA,WAAW,GAAG;IAGhC,IAAID,kCACA,OAAO;IAIX,OAAOH,qBAAqB,IAAI,CAACI,CAAAA,aACtBA,WAAW,GAAG,IAAIA,WAAW,GAAG,CAAC,QAAQ,CAACH;AAEzD"}
|
package/graphql/schema.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const createS3GraphQLSchema: () => import("@webiny/handler-graphql").GraphQLSchemaPlugin<import("@webiny/api/types.js").Context>;
|