@webiny/api-file-manager 0.0.0-unstable.496cf268ac → 0.0.0-unstable.606fc9c866

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.
Files changed (63) hide show
  1. package/createFileManager/files.crud.js +12 -15
  2. package/createFileManager/files.crud.js.map +1 -1
  3. package/graphql/index.js +17 -6
  4. package/graphql/index.js.map +1 -1
  5. package/package.json +17 -17
  6. package/types/file.lifecycle.d.ts +4 -0
  7. package/types/file.lifecycle.js.map +1 -1
  8. package/types.d.ts +12 -8
  9. package/types.js.map +1 -1
  10. package/plugins/crud/files/validation.d.ts +0 -3
  11. package/plugins/crud/files/validation.js +0 -41
  12. package/plugins/crud/files/validation.js.map +0 -1
  13. package/plugins/crud/files.crud.d.ts +0 -4
  14. package/plugins/crud/files.crud.js +0 -431
  15. package/plugins/crud/files.crud.js.map +0 -1
  16. package/plugins/crud/settings.crud.d.ts +0 -5
  17. package/plugins/crud/settings.crud.js +0 -116
  18. package/plugins/crud/settings.crud.js.map +0 -1
  19. package/plugins/crud/system.crud.d.ts +0 -4
  20. package/plugins/crud/system.crud.js +0 -153
  21. package/plugins/crud/system.crud.js.map +0 -1
  22. package/plugins/crud/utils/checkBasePermissions.d.ts +0 -5
  23. package/plugins/crud/utils/checkBasePermissions.js +0 -33
  24. package/plugins/crud/utils/checkBasePermissions.js.map +0 -1
  25. package/plugins/crud/utils/createFileModel.d.ts +0 -5
  26. package/plugins/crud/utils/createFileModel.js +0 -77
  27. package/plugins/crud/utils/createFileModel.js.map +0 -1
  28. package/plugins/crud/utils/lifecycleEvents.d.ts +0 -6
  29. package/plugins/crud/utils/lifecycleEvents.js +0 -38
  30. package/plugins/crud/utils/lifecycleEvents.js.map +0 -1
  31. package/plugins/definitions/FilePhysicalStoragePlugin.d.ts +0 -21
  32. package/plugins/definitions/FilePhysicalStoragePlugin.js +0 -42
  33. package/plugins/definitions/FilePhysicalStoragePlugin.js.map +0 -1
  34. package/plugins/definitions/FilePlugin.d.ts +0 -136
  35. package/plugins/definitions/FilePlugin.js +0 -70
  36. package/plugins/definitions/FilePlugin.js.map +0 -1
  37. package/plugins/definitions/FileStorageTransformPlugin.d.ts +0 -34
  38. package/plugins/definitions/FileStorageTransformPlugin.js +0 -51
  39. package/plugins/definitions/FileStorageTransformPlugin.js.map +0 -1
  40. package/plugins/definitions/FilesStorageOperationsProviderPlugin.d.ts +0 -9
  41. package/plugins/definitions/FilesStorageOperationsProviderPlugin.js +0 -17
  42. package/plugins/definitions/FilesStorageOperationsProviderPlugin.js.map +0 -1
  43. package/plugins/definitions/InstallationPlugin.d.ts +0 -19
  44. package/plugins/definitions/InstallationPlugin.js +0 -42
  45. package/plugins/definitions/InstallationPlugin.js.map +0 -1
  46. package/plugins/definitions/SettingsStorageOperationsProviderPlugin.d.ts +0 -9
  47. package/plugins/definitions/SettingsStorageOperationsProviderPlugin.js +0 -17
  48. package/plugins/definitions/SettingsStorageOperationsProviderPlugin.js.map +0 -1
  49. package/plugins/definitions/SystemStorageOperationsProviderPlugin.d.ts +0 -9
  50. package/plugins/definitions/SystemStorageOperationsProviderPlugin.js +0 -17
  51. package/plugins/definitions/SystemStorageOperationsProviderPlugin.js.map +0 -1
  52. package/plugins/graphql.d.ts +0 -4
  53. package/plugins/graphql.js +0 -290
  54. package/plugins/graphql.js.map +0 -1
  55. package/plugins/storage/FileStorage.d.ts +0 -30
  56. package/plugins/storage/FileStorage.js +0 -103
  57. package/plugins/storage/FileStorage.js.map +0 -1
  58. package/plugins/storage/index.d.ts +0 -4
  59. package/plugins/storage/index.js +0 -26
  60. package/plugins/storage/index.js.map +0 -1
  61. package/utils.d.ts +0 -4
  62. package/utils.js +0 -16
  63. package/utils.js.map +0 -1
@@ -1,103 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.FileStorage = void 0;
9
-
10
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
- var _error = _interopRequireDefault(require("@webiny/error"));
15
-
16
- const storagePluginType = "api-file-manager-storage";
17
-
18
- class FileStorage {
19
- constructor({
20
- context
21
- }) {
22
- (0, _defineProperty2.default)(this, "storagePlugin", void 0);
23
- (0, _defineProperty2.default)(this, "context", void 0);
24
- const storagePlugin = context.plugins.byType(storagePluginType).pop();
25
-
26
- if (!storagePlugin) {
27
- throw new _error.default(`Missing plugin of type "${storagePluginType}".`, "STORAGE_PLUGIN_ERROR");
28
- }
29
-
30
- this.storagePlugin = storagePlugin;
31
- this.context = context;
32
- }
33
-
34
- async upload(params) {
35
- const settings = await this.context.fileManager.settings.getSettings();
36
-
37
- if (!settings) {
38
- throw new _error.default("Missing File Manager Settings.", "FILE_MANAGER_ERROR");
39
- } // Add file to cloud storage.
40
-
41
-
42
- const {
43
- file: fileData
44
- } = await this.storagePlugin.upload((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
45
- settings
46
- }));
47
- const {
48
- fileManager
49
- } = this.context; // Save file in DB.
50
-
51
- return await fileManager.files.createFile((0, _objectSpread2.default)((0, _objectSpread2.default)({}, fileData), {}, {
52
- meta: {
53
- private: Boolean(params.hideInFileManager)
54
- },
55
- tags: Array.isArray(params.tags) ? params.tags : []
56
- }));
57
- }
58
-
59
- async uploadFiles(params) {
60
- const settings = await this.context.fileManager.settings.getSettings();
61
-
62
- if (!settings) {
63
- throw new _error.default("Missing File Manager Settings.", "FILE_MANAGER_ERROR");
64
- } // Upload files to cloud storage.
65
-
66
-
67
- const promises = [];
68
-
69
- for (const item of params.files) {
70
- promises.push(this.storagePlugin.upload((0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
71
- settings
72
- })));
73
- } // Wait for all to resolve.
74
-
75
-
76
- const uploadFileResponses = await Promise.all(promises);
77
- const filesData = uploadFileResponses.map(response => response.file);
78
- const {
79
- fileManager
80
- } = this.context; // Save files in DB.
81
-
82
- return fileManager.files.createFilesInBatch(filesData);
83
- }
84
-
85
- async delete(params) {
86
- const {
87
- id,
88
- key
89
- } = params;
90
- const {
91
- fileManager
92
- } = this.context; // Delete file from cloud storage.
93
-
94
- await this.storagePlugin.delete({
95
- key
96
- }); // Delete file from the DB.
97
-
98
- return await fileManager.files.deleteFile(id);
99
- }
100
-
101
- }
102
-
103
- exports.FileStorage = FileStorage;
@@ -1 +0,0 @@
1
- {"version":3,"names":["storagePluginType","FileStorage","constructor","context","storagePlugin","plugins","byType","pop","WebinyError","upload","params","settings","fileManager","getSettings","file","fileData","files","createFile","meta","private","Boolean","hideInFileManager","tags","Array","isArray","uploadFiles","promises","item","push","uploadFileResponses","Promise","all","filesData","map","response","createFilesInBatch","delete","id","key","deleteFile"],"sources":["FileStorage.ts"],"sourcesContent":["import { FileManagerContext } from \"~/types\";\nimport WebinyError from \"@webiny/error\";\nimport { FilePhysicalStoragePlugin } from \"~/plugins/definitions/FilePhysicalStoragePlugin\";\n\nexport type Result = Record<string, any>;\n\nconst storagePluginType = \"api-file-manager-storage\";\n\nexport interface FileStorageUploadParams {\n buffer: Buffer;\n hideInFileManager: boolean | string;\n tags?: string[];\n size: number;\n name: string;\n keyPrefix: string;\n type: string;\n}\nexport interface FileStorageDeleteParams {\n id: string;\n key: string;\n}\n\nexport interface FileStorageUploadMultipleParams {\n files: FileStorageUploadParams[];\n}\n\nexport interface FileStorageParams {\n context: FileManagerContext;\n}\nexport class FileStorage {\n private readonly storagePlugin: FilePhysicalStoragePlugin;\n private readonly context: FileManagerContext;\n\n constructor({ context }: FileStorageParams) {\n const storagePlugin = context.plugins\n .byType<FilePhysicalStoragePlugin>(storagePluginType)\n .pop();\n if (!storagePlugin) {\n throw new WebinyError(\n `Missing plugin of type \"${storagePluginType}\".`,\n \"STORAGE_PLUGIN_ERROR\"\n );\n }\n this.storagePlugin = storagePlugin;\n this.context = context;\n }\n\n async upload(params: FileStorageUploadParams): Promise<Result> {\n const settings = await this.context.fileManager.settings.getSettings();\n if (!settings) {\n throw new WebinyError(\"Missing File Manager Settings.\", \"FILE_MANAGER_ERROR\");\n }\n // Add file to cloud storage.\n const { file: fileData } = await this.storagePlugin.upload({\n ...params,\n settings\n });\n\n const { fileManager } = this.context;\n\n // Save file in DB.\n return await fileManager.files.createFile({\n ...(fileData as any),\n meta: {\n private: Boolean(params.hideInFileManager)\n },\n tags: Array.isArray(params.tags) ? params.tags : []\n });\n }\n\n async uploadFiles(params: FileStorageUploadMultipleParams) {\n const settings = await this.context.fileManager.settings.getSettings();\n if (!settings) {\n throw new WebinyError(\"Missing File Manager Settings.\", \"FILE_MANAGER_ERROR\");\n }\n // Upload files to cloud storage.\n const promises = [];\n for (const item of params.files) {\n promises.push(\n this.storagePlugin.upload({\n ...item,\n settings\n })\n );\n }\n // Wait for all to resolve.\n const uploadFileResponses = await Promise.all(promises);\n\n const filesData = uploadFileResponses.map(response => response.file);\n\n const { fileManager } = this.context;\n // Save files in DB.\n return fileManager.files.createFilesInBatch(filesData);\n }\n\n async delete(params: FileStorageDeleteParams) {\n const { id, key } = params;\n const { fileManager } = this.context;\n // Delete file from cloud storage.\n await this.storagePlugin.delete({\n key\n });\n // Delete file from the DB.\n return await fileManager.files.deleteFile(id);\n }\n}\n"],"mappings":";;;;;;;;;;;;;AACA;;AAKA,MAAMA,iBAAiB,GAAG,0BAA1B;;AAuBO,MAAMC,WAAN,CAAkB;EAIrBC,WAAW,CAAC;IAAEC;EAAF,CAAD,EAAiC;IAAA;IAAA;IACxC,MAAMC,aAAa,GAAGD,OAAO,CAACE,OAAR,CACjBC,MADiB,CACiBN,iBADjB,EAEjBO,GAFiB,EAAtB;;IAGA,IAAI,CAACH,aAAL,EAAoB;MAChB,MAAM,IAAII,cAAJ,CACD,2BAA0BR,iBAAkB,IAD3C,EAEF,sBAFE,CAAN;IAIH;;IACD,KAAKI,aAAL,GAAqBA,aAArB;IACA,KAAKD,OAAL,GAAeA,OAAf;EACH;;EAEW,MAANM,MAAM,CAACC,MAAD,EAAmD;IAC3D,MAAMC,QAAQ,GAAG,MAAM,KAAKR,OAAL,CAAaS,WAAb,CAAyBD,QAAzB,CAAkCE,WAAlC,EAAvB;;IACA,IAAI,CAACF,QAAL,EAAe;MACX,MAAM,IAAIH,cAAJ,CAAgB,gCAAhB,EAAkD,oBAAlD,CAAN;IACH,CAJ0D,CAK3D;;;IACA,MAAM;MAAEM,IAAI,EAAEC;IAAR,IAAqB,MAAM,KAAKX,aAAL,CAAmBK,MAAnB,6DAC1BC,MAD0B;MAE7BC;IAF6B,GAAjC;IAKA,MAAM;MAAEC;IAAF,IAAkB,KAAKT,OAA7B,CAX2D,CAa3D;;IACA,OAAO,MAAMS,WAAW,CAACI,KAAZ,CAAkBC,UAAlB,6DACLF,QADK;MAETG,IAAI,EAAE;QACFC,OAAO,EAAEC,OAAO,CAACV,MAAM,CAACW,iBAAR;MADd,CAFG;MAKTC,IAAI,EAAEC,KAAK,CAACC,OAAN,CAAcd,MAAM,CAACY,IAArB,IAA6BZ,MAAM,CAACY,IAApC,GAA2C;IALxC,GAAb;EAOH;;EAEgB,MAAXG,WAAW,CAACf,MAAD,EAA0C;IACvD,MAAMC,QAAQ,GAAG,MAAM,KAAKR,OAAL,CAAaS,WAAb,CAAyBD,QAAzB,CAAkCE,WAAlC,EAAvB;;IACA,IAAI,CAACF,QAAL,EAAe;MACX,MAAM,IAAIH,cAAJ,CAAgB,gCAAhB,EAAkD,oBAAlD,CAAN;IACH,CAJsD,CAKvD;;;IACA,MAAMkB,QAAQ,GAAG,EAAjB;;IACA,KAAK,MAAMC,IAAX,IAAmBjB,MAAM,CAACM,KAA1B,EAAiC;MAC7BU,QAAQ,CAACE,IAAT,CACI,KAAKxB,aAAL,CAAmBK,MAAnB,6DACOkB,IADP;QAEIhB;MAFJ,GADJ;IAMH,CAdsD,CAevD;;;IACA,MAAMkB,mBAAmB,GAAG,MAAMC,OAAO,CAACC,GAAR,CAAYL,QAAZ,CAAlC;IAEA,MAAMM,SAAS,GAAGH,mBAAmB,CAACI,GAApB,CAAwBC,QAAQ,IAAIA,QAAQ,CAACpB,IAA7C,CAAlB;IAEA,MAAM;MAAEF;IAAF,IAAkB,KAAKT,OAA7B,CApBuD,CAqBvD;;IACA,OAAOS,WAAW,CAACI,KAAZ,CAAkBmB,kBAAlB,CAAqCH,SAArC,CAAP;EACH;;EAEW,MAANI,MAAM,CAAC1B,MAAD,EAAkC;IAC1C,MAAM;MAAE2B,EAAF;MAAMC;IAAN,IAAc5B,MAApB;IACA,MAAM;MAAEE;IAAF,IAAkB,KAAKT,OAA7B,CAF0C,CAG1C;;IACA,MAAM,KAAKC,aAAL,CAAmBgC,MAAnB,CAA0B;MAC5BE;IAD4B,CAA1B,CAAN,CAJ0C,CAO1C;;IACA,OAAO,MAAM1B,WAAW,CAACI,KAAZ,CAAkBuB,UAAlB,CAA6BF,EAA7B,CAAb;EACH;;AA3EoB"}
@@ -1,4 +0,0 @@
1
- import { FileManagerContext } from "../../types";
2
- import { ContextPlugin } from "@webiny/api";
3
- declare const fileStorageContextPlugin: ContextPlugin<FileManagerContext>;
4
- export default fileStorageContextPlugin;
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _api = require("@webiny/api");
9
-
10
- var _FileStorage = require("./FileStorage");
11
-
12
- const fileStorageContextPlugin = new _api.ContextPlugin(async context => {
13
- if (!context.fileManager) {
14
- /**
15
- * We need to define the fileManager initial property as empty object.
16
- * When casting as FileManagerContext, typescript is complaining.
17
- */
18
- context.fileManager = {};
19
- }
20
-
21
- context.fileManager.storage = new _FileStorage.FileStorage({
22
- context
23
- });
24
- });
25
- var _default = fileStorageContextPlugin;
26
- exports.default = _default;
@@ -1 +0,0 @@
1
- {"version":3,"names":["fileStorageContextPlugin","ContextPlugin","context","fileManager","storage","FileStorage"],"sources":["index.ts"],"sourcesContent":["import { FileManagerContext } from \"~/types\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { FileStorage } from \"./FileStorage\";\n\nconst fileStorageContextPlugin = new ContextPlugin<FileManagerContext>(async context => {\n if (!context.fileManager) {\n /**\n * We need to define the fileManager initial property as empty object.\n * When casting as FileManagerContext, typescript is complaining.\n */\n context.fileManager = {} as any;\n }\n context.fileManager.storage = new FileStorage({\n context\n });\n});\n\nexport default fileStorageContextPlugin;\n"],"mappings":";;;;;;;AACA;;AACA;;AAEA,MAAMA,wBAAwB,GAAG,IAAIC,kBAAJ,CAAsC,MAAMC,OAAN,IAAiB;EACpF,IAAI,CAACA,OAAO,CAACC,WAAb,EAA0B;IACtB;AACR;AACA;AACA;IACQD,OAAO,CAACC,WAAR,GAAsB,EAAtB;EACH;;EACDD,OAAO,CAACC,WAAR,CAAoBC,OAApB,GAA8B,IAAIC,wBAAJ,CAAgB;IAC1CH;EAD0C,CAAhB,CAA9B;AAGH,CAXgC,CAAjC;eAaeF,wB"}
package/utils.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import { Plugin } from "@webiny/plugins/types";
2
- declare type CallbackFallback = (args: any) => void | Promise<void>;
3
- export declare const executeCallbacks: <TCallbackFunction extends CallbackFallback = CallbackFallback>(plugins: Plugin[], hook: string, args: Parameters<TCallbackFunction>[0]) => Promise<void>;
4
- export {};
package/utils.js DELETED
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.executeCallbacks = void 0;
7
-
8
- const executeCallbacks = async (plugins, hook, args) => {
9
- for (const plugin of plugins) {
10
- if (typeof plugin[hook] === "function") {
11
- await plugin[hook](args);
12
- }
13
- }
14
- };
15
-
16
- exports.executeCallbacks = executeCallbacks;
package/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"names":["executeCallbacks","plugins","hook","args","plugin"],"sources":["utils.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins/types\";\n\ntype CallbackFallback = (args: any) => void | Promise<void>;\n\nexport const executeCallbacks = async <\n TCallbackFunction extends CallbackFallback = CallbackFallback\n>(\n plugins: Plugin[],\n hook: string,\n args: Parameters<TCallbackFunction>[0]\n) => {\n for (const plugin of plugins) {\n if (typeof plugin[hook] === \"function\") {\n await plugin[hook](args);\n }\n }\n};\n"],"mappings":";;;;;;;AAIO,MAAMA,gBAAgB,GAAG,OAG5BC,OAH4B,EAI5BC,IAJ4B,EAK5BC,IAL4B,KAM3B;EACD,KAAK,MAAMC,MAAX,IAAqBH,OAArB,EAA8B;IAC1B,IAAI,OAAOG,MAAM,CAACF,IAAD,CAAb,KAAwB,UAA5B,EAAwC;MACpC,MAAME,MAAM,CAACF,IAAD,CAAN,CAAaC,IAAb,CAAN;IACH;EACJ;AACJ,CAZM"}