@webiny/api-file-manager-server 0.0.0-unstable.0d717d18dd
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/FileManagerServerFeature.d.ts +5 -0
- package/FileManagerServerFeature.js +41 -0
- package/FileManagerServerFeature.js.map +1 -0
- package/LICENSE +21 -0
- package/README.md +11 -0
- package/assetDelivery/LocalAssetResolver.d.ts +15 -0
- package/assetDelivery/LocalAssetResolver.js +40 -0
- package/assetDelivery/LocalAssetResolver.js.map +1 -0
- package/assetDelivery/LocalContentsReader.d.ts +7 -0
- package/assetDelivery/LocalContentsReader.js +18 -0
- package/assetDelivery/LocalContentsReader.js.map +1 -0
- package/assetDelivery/LocalOutputStrategy.d.ts +12 -0
- package/assetDelivery/LocalOutputStrategy.js +21 -0
- package/assetDelivery/LocalOutputStrategy.js.map +1 -0
- package/assetDelivery/LocalSharpTransform.d.ts +24 -0
- package/assetDelivery/LocalSharpTransform.js +161 -0
- package/assetDelivery/LocalSharpTransform.js.map +1 -0
- package/assetDelivery/abstractions.d.ts +8 -0
- package/assetDelivery/abstractions.js +6 -0
- package/assetDelivery/abstractions.js.map +1 -0
- package/assetDelivery/assetDeliveryConfig.d.ts +2 -0
- package/assetDelivery/assetDeliveryConfig.js +15 -0
- package/assetDelivery/assetDeliveryConfig.js.map +1 -0
- package/assetDelivery/createAssetDelivery.d.ts +3 -0
- package/assetDelivery/createAssetDelivery.js +7 -0
- package/assetDelivery/createAssetDelivery.js.map +1 -0
- package/assetDelivery/feature.d.ts +5 -0
- package/assetDelivery/feature.js +38 -0
- package/assetDelivery/feature.js.map +1 -0
- package/assetDelivery/types.d.ts +8 -0
- package/assetDelivery/types.js +0 -0
- package/features/CleanupStaleMultipartUploads/CleanupStaleMultipartUploadsTask.d.ts +21 -0
- package/features/CleanupStaleMultipartUploads/CleanupStaleMultipartUploadsTask.js +62 -0
- package/features/CleanupStaleMultipartUploads/CleanupStaleMultipartUploadsTask.js.map +1 -0
- package/features/CleanupStaleMultipartUploads/feature.d.ts +4 -0
- package/features/CleanupStaleMultipartUploads/feature.js +11 -0
- package/features/CleanupStaleMultipartUploads/feature.js.map +1 -0
- package/features/CompleteMultiPartUpload/CompleteMultiPartUploadUseCase.d.ts +13 -0
- package/features/CompleteMultiPartUpload/CompleteMultiPartUploadUseCase.js +62 -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 +14 -0
- package/features/CreateMultiPartUpload/CreateMultiPartUploadUseCase.js +58 -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/DeleteFileFromDisk/DeleteFileFromDiskHandler.d.ts +15 -0
- package/features/DeleteFileFromDisk/DeleteFileFromDiskHandler.js +34 -0
- package/features/DeleteFileFromDisk/DeleteFileFromDiskHandler.js.map +1 -0
- package/features/DeleteFileFromDisk/feature.d.ts +4 -0
- package/features/DeleteFileFromDisk/feature.js +11 -0
- package/features/DeleteFileFromDisk/feature.js.map +1 -0
- package/features/ExtractMetadata/ExtractMetadataHandler.d.ts +1 -0
- package/features/ExtractMetadata/ExtractMetadataHandler.js +1 -0
- package/features/ExtractMetadata/ExtractMetadataTask.d.ts +24 -0
- package/features/ExtractMetadata/ExtractMetadataTask.js +84 -0
- package/features/ExtractMetadata/ExtractMetadataTask.js.map +1 -0
- package/features/ExtractMetadata/feature.d.ts +4 -0
- package/features/ExtractMetadata/feature.js +13 -0
- package/features/ExtractMetadata/feature.js.map +1 -0
- package/features/FileManagerServerConfig/FileManagerServerConfig.d.ts +12 -0
- package/features/FileManagerServerConfig/FileManagerServerConfig.js +28 -0
- package/features/FileManagerServerConfig/FileManagerServerConfig.js.map +1 -0
- package/features/FileManagerServerConfig/abstractions.d.ts +10 -0
- package/features/FileManagerServerConfig/abstractions.js +5 -0
- package/features/FileManagerServerConfig/abstractions.js.map +1 -0
- package/features/FileManagerServerConfig/feature.d.ts +4 -0
- package/features/FileManagerServerConfig/feature.js +11 -0
- package/features/FileManagerServerConfig/feature.js.map +1 -0
- package/features/FlushCache/FlushCacheOnFileBeforeUpdateHandler.d.ts +8 -0
- package/features/FlushCache/FlushCacheOnFileBeforeUpdateHandler.js +11 -0
- package/features/FlushCache/FlushCacheOnFileBeforeUpdateHandler.js.map +1 -0
- package/features/FlushCache/FlushCacheOnFileDeleteHandler.d.ts +8 -0
- package/features/FlushCache/FlushCacheOnFileDeleteHandler.js +11 -0
- package/features/FlushCache/FlushCacheOnFileDeleteHandler.js.map +1 -0
- package/features/FlushCache/feature.d.ts +4 -0
- package/features/FlushCache/feature.js +13 -0
- package/features/FlushCache/feature.js.map +1 -0
- package/features/GetFileContentsById/GetFileContentsByIdUseCase.d.ts +15 -0
- package/features/GetFileContentsById/GetFileContentsByIdUseCase.js +38 -0
- package/features/GetFileContentsById/GetFileContentsByIdUseCase.js.map +1 -0
- package/features/GetFileContentsById/feature.d.ts +4 -0
- package/features/GetFileContentsById/feature.js +11 -0
- package/features/GetFileContentsById/feature.js.map +1 -0
- package/features/GetFileContentsByKey/GetFileContentsByKeyUseCase.d.ts +15 -0
- package/features/GetFileContentsByKey/GetFileContentsByKeyUseCase.js +72 -0
- package/features/GetFileContentsByKey/GetFileContentsByKeyUseCase.js.map +1 -0
- package/features/GetFileContentsByKey/feature.d.ts +4 -0
- package/features/GetFileContentsByKey/feature.js +11 -0
- package/features/GetFileContentsByKey/feature.js.map +1 -0
- package/features/GetUploadPayload/GetUploadPayloadUseCase.d.ts +16 -0
- package/features/GetUploadPayload/GetUploadPayloadUseCase.js +57 -0
- package/features/GetUploadPayload/GetUploadPayloadUseCase.js.map +1 -0
- package/features/GetUploadPayload/feature.d.ts +4 -0
- package/features/GetUploadPayload/feature.js +11 -0
- package/features/GetUploadPayload/feature.js.map +1 -0
- package/graphql/ServerGraphQLSchema.d.ts +15 -0
- package/graphql/ServerGraphQLSchema.js +221 -0
- package/graphql/ServerGraphQLSchema.js.map +1 -0
- package/index.d.ts +3 -0
- package/index.js +3 -0
- package/package.json +44 -0
- package/routes/UploadPartRoute/UploadPartRoute.d.ts +14 -0
- package/routes/UploadPartRoute/UploadPartRoute.js +66 -0
- package/routes/UploadPartRoute/UploadPartRoute.js.map +1 -0
- package/routes/UploadPartRoute/feature.d.ts +4 -0
- package/routes/UploadPartRoute/feature.js +11 -0
- package/routes/UploadPartRoute/feature.js.map +1 -0
- package/routes/UploadSingleFileRoute/UploadSingleFileRoute.d.ts +14 -0
- package/routes/UploadSingleFileRoute/UploadSingleFileRoute.js +70 -0
- package/routes/UploadSingleFileRoute/UploadSingleFileRoute.js.map +1 -0
- package/routes/UploadSingleFileRoute/feature.d.ts +4 -0
- package/routes/UploadSingleFileRoute/feature.js +11 -0
- package/routes/UploadSingleFileRoute/feature.js.map +1 -0
- package/routes/utils.d.ts +20 -0
- package/routes/utils.js +62 -0
- package/routes/utils.js.map +1 -0
- package/types.d.ts +10 -0
- package/types.js +1 -0
- package/utils/uploadToken.d.ts +3 -0
- package/utils/uploadToken.js +22 -0
- package/utils/uploadToken.js.map +1 -0
package/types.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import "@webiny/background-tasks/api/features/TaskController/augmentation.js";
|
|
2
|
+
export type { PresignedPostPayloadData } from "@webiny/api-file-manager/features/upload/index.js";
|
|
3
|
+
export type { FileData } from "@webiny/api-file-manager/features/upload/index.js";
|
|
4
|
+
export interface UploadTokenPayload {
|
|
5
|
+
key: string;
|
|
6
|
+
tenantId: string;
|
|
7
|
+
expiresAt: number;
|
|
8
|
+
uploadMinFileSize: number;
|
|
9
|
+
uploadMaxFileSize: number;
|
|
10
|
+
}
|
package/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@webiny/background-tasks/api/features/TaskController/augmentation.js";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createHmac } from "node:crypto";
|
|
2
|
+
const createUploadToken = (payload, secret)=>{
|
|
3
|
+
const json = JSON.stringify(payload);
|
|
4
|
+
const encoded = Buffer.from(json).toString("base64url");
|
|
5
|
+
const signature = createHmac("sha256", secret).update(encoded).digest("base64url");
|
|
6
|
+
return `${encoded}.${signature}`;
|
|
7
|
+
};
|
|
8
|
+
const verifyUploadToken = (token, secret)=>{
|
|
9
|
+
const dotIndex = token.indexOf(".");
|
|
10
|
+
if (-1 === dotIndex) throw new Error("Invalid token format.");
|
|
11
|
+
const encoded = token.slice(0, dotIndex);
|
|
12
|
+
const signature = token.slice(dotIndex + 1);
|
|
13
|
+
const expectedSignature = createHmac("sha256", secret).update(encoded).digest("base64url");
|
|
14
|
+
if (signature !== expectedSignature) throw new Error("Invalid token signature.");
|
|
15
|
+
const json = Buffer.from(encoded, "base64url").toString("utf-8");
|
|
16
|
+
const payload = JSON.parse(json);
|
|
17
|
+
if (payload.expiresAt < Date.now()) throw new Error("Token has expired.");
|
|
18
|
+
return payload;
|
|
19
|
+
};
|
|
20
|
+
export { createUploadToken, verifyUploadToken };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=uploadToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils/uploadToken.js","sources":["../../src/utils/uploadToken.ts"],"sourcesContent":["import { createHmac } from \"node:crypto\";\nimport type { UploadTokenPayload } from \"~/types.js\";\n\nexport const createUploadToken = (payload: UploadTokenPayload, secret: string): string => {\n const json = JSON.stringify(payload);\n const encoded = Buffer.from(json).toString(\"base64url\");\n const signature = createHmac(\"sha256\", secret).update(encoded).digest(\"base64url\");\n\n return `${encoded}.${signature}`;\n};\n\nexport const verifyUploadToken = (token: string, secret: string): UploadTokenPayload => {\n const dotIndex = token.indexOf(\".\");\n if (dotIndex === -1) {\n throw new Error(\"Invalid token format.\");\n }\n\n const encoded = token.slice(0, dotIndex);\n const signature = token.slice(dotIndex + 1);\n\n const expectedSignature = createHmac(\"sha256\", secret).update(encoded).digest(\"base64url\");\n\n if (signature !== expectedSignature) {\n throw new Error(\"Invalid token signature.\");\n }\n\n const json = Buffer.from(encoded, \"base64url\").toString(\"utf-8\");\n const payload = JSON.parse(json) as UploadTokenPayload;\n\n if (payload.expiresAt < Date.now()) {\n throw new Error(\"Token has expired.\");\n }\n\n return payload;\n};\n"],"names":["createUploadToken","payload","secret","json","JSON","encoded","Buffer","signature","createHmac","verifyUploadToken","token","dotIndex","Error","expectedSignature","Date"],"mappings":";AAGO,MAAMA,oBAAoB,CAACC,SAA6BC;IAC3D,MAAMC,OAAOC,KAAK,SAAS,CAACH;IAC5B,MAAMI,UAAUC,OAAO,IAAI,CAACH,MAAM,QAAQ,CAAC;IAC3C,MAAMI,YAAYC,WAAW,UAAUN,QAAQ,MAAM,CAACG,SAAS,MAAM,CAAC;IAEtE,OAAO,GAAGA,QAAQ,CAAC,EAAEE,WAAW;AACpC;AAEO,MAAME,oBAAoB,CAACC,OAAeR;IAC7C,MAAMS,WAAWD,MAAM,OAAO,CAAC;IAC/B,IAAIC,AAAa,OAAbA,UACA,MAAM,IAAIC,MAAM;IAGpB,MAAMP,UAAUK,MAAM,KAAK,CAAC,GAAGC;IAC/B,MAAMJ,YAAYG,MAAM,KAAK,CAACC,WAAW;IAEzC,MAAME,oBAAoBL,WAAW,UAAUN,QAAQ,MAAM,CAACG,SAAS,MAAM,CAAC;IAE9E,IAAIE,cAAcM,mBACd,MAAM,IAAID,MAAM;IAGpB,MAAMT,OAAOG,OAAO,IAAI,CAACD,SAAS,aAAa,QAAQ,CAAC;IACxD,MAAMJ,UAAUG,KAAK,KAAK,CAACD;IAE3B,IAAIF,QAAQ,SAAS,GAAGa,KAAK,GAAG,IAC5B,MAAM,IAAIF,MAAM;IAGpB,OAAOX;AACX"}
|