@webiny/api-file-manager 5.37.8 → 5.38.0-beta.1

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 (55) hide show
  1. package/FileManagerContextSetup.js +3 -1
  2. package/cmsFileStorage/CmsFilesStorage.js +3 -1
  3. package/cmsFileStorage/ListFilesWhereProcessor.js +3 -1
  4. package/cmsFileStorage/ListTagsWhereProcessor.js +3 -1
  5. package/cmsFileStorage/createFileManagerPlugins.js +3 -1
  6. package/cmsFileStorage/createModelField.js +3 -1
  7. package/cmsFileStorage/file.model.js +3 -1
  8. package/cmsFileStorage/isInstallationPending.js +3 -1
  9. package/contants.js +3 -1
  10. package/createFileManager/files.crud.js +8 -1
  11. package/createFileManager/files.crud.js.map +1 -1
  12. package/createFileManager/filevalidation.disabled.js +3 -1
  13. package/createFileManager/index.js +3 -1
  14. package/createFileManager/permissions/FilesPermissions.js +3 -1
  15. package/createFileManager/settings.crud.js +23 -8
  16. package/createFileManager/settings.crud.js.map +1 -1
  17. package/createFileManager/system.crud.js +3 -1
  18. package/graphql/baseSchema.js +3 -1
  19. package/graphql/createFilesTypeDefs.js +3 -1
  20. package/graphql/filesSchema.js +3 -1
  21. package/graphql/index.js +3 -1
  22. package/graphql/utils.d.ts +1 -1
  23. package/graphql/utils.js +3 -1
  24. package/handlers/download/byAlias.js +3 -1
  25. package/handlers/download/byExactKey.js +3 -1
  26. package/handlers/download/extractFileInformation.js +3 -1
  27. package/handlers/download/getS3Object.js +3 -1
  28. package/handlers/download/index.js +3 -1
  29. package/handlers/manage/index.js +3 -1
  30. package/handlers/transform/index.js +3 -1
  31. package/handlers/transform/legacyUtils.js +3 -1
  32. package/handlers/transform/loaders/imageLoader.js +3 -1
  33. package/handlers/transform/loaders/index.js +3 -1
  34. package/handlers/transform/loaders/sanitizeImageTransformations.js +3 -1
  35. package/handlers/transform/managers/imageManager.js +3 -1
  36. package/handlers/transform/managers/index.js +3 -1
  37. package/handlers/transform/optimizeImage.js +3 -1
  38. package/handlers/transform/transformImage.js +3 -1
  39. package/handlers/transform/utils.js +3 -1
  40. package/handlers/types.js +3 -1
  41. package/handlers/utils/getEnvironment.js +3 -1
  42. package/handlers/utils/getObjectParams.js +3 -1
  43. package/handlers/utils/index.js +3 -1
  44. package/index.js +3 -1
  45. package/modelModifier/CmsModelModifier.js +3 -1
  46. package/package.json +18 -18
  47. package/plugins/FilePhysicalStoragePlugin.js +3 -1
  48. package/plugins/FileStorageTransformPlugin.js +3 -1
  49. package/plugins/index.js +3 -1
  50. package/storage/FileStorage.js +3 -1
  51. package/types/file.js +3 -1
  52. package/types/file.lifecycle.js +3 -1
  53. package/types.d.ts +12 -0
  54. package/types.js +3 -1
  55. package/types.js.map +1 -1
@@ -110,4 +110,6 @@ class FileManagerContextSetup {
110
110
  return model;
111
111
  }
112
112
  }
113
- exports.FileManagerContextSetup = FileManagerContextSetup;
113
+ exports.FileManagerContextSetup = FileManagerContextSetup;
114
+
115
+ //# sourceMappingURL=FileManagerContextSetup.js.map
@@ -170,4 +170,6 @@ class CmsFilesStorage {
170
170
  }, entry.values);
171
171
  }
172
172
  }
173
- exports.CmsFilesStorage = CmsFilesStorage;
173
+ exports.CmsFilesStorage = CmsFilesStorage;
174
+
175
+ //# sourceMappingURL=CmsFilesStorage.js.map
@@ -32,4 +32,6 @@ class ListFilesWhereProcessor {
32
32
  return where;
33
33
  }
34
34
  }
35
- exports.ListFilesWhereProcessor = ListFilesWhereProcessor;
35
+ exports.ListFilesWhereProcessor = ListFilesWhereProcessor;
36
+
37
+ //# sourceMappingURL=ListFilesWhereProcessor.js.map
@@ -32,4 +32,6 @@ class ListTagsWhereProcessor {
32
32
  return where;
33
33
  }
34
34
  }
35
- exports.ListTagsWhereProcessor = ListTagsWhereProcessor;
35
+ exports.ListTagsWhereProcessor = ListTagsWhereProcessor;
36
+
37
+ //# sourceMappingURL=ListTagsWhereProcessor.js.map
@@ -31,4 +31,6 @@ const createFileManagerPlugins = () => {
31
31
  fileModelDefinition: (0, _file.createFileModelDefinition)(groupPlugin.contentModelGroup)
32
32
  };
33
33
  };
34
- exports.createFileManagerPlugins = createFileManagerPlugins;
34
+ exports.createFileManagerPlugins = createFileManagerPlugins;
35
+
36
+ //# sourceMappingURL=createFileManagerPlugins.js.map
@@ -34,4 +34,6 @@ const createModelField = params => {
34
34
  predefinedValues
35
35
  };
36
36
  };
37
- exports.createModelField = createModelField;
37
+ exports.createModelField = createModelField;
38
+
39
+ //# sourceMappingURL=createModelField.js.map
@@ -121,4 +121,6 @@ const createFileModelDefinition = group => {
121
121
  noValidate: true
122
122
  };
123
123
  };
124
- exports.createFileModelDefinition = createFileModelDefinition;
124
+ exports.createFileModelDefinition = createFileModelDefinition;
125
+
126
+ //# sourceMappingURL=file.model.js.map
@@ -18,4 +18,6 @@ const isInstallationPending = ({
18
18
  }
19
19
  return !i18n.getContentLocale();
20
20
  };
21
- exports.isInstallationPending = isInstallationPending;
21
+ exports.isInstallationPending = isInstallationPending;
22
+
23
+ //# sourceMappingURL=isInstallationPending.js.map
package/contants.js CHANGED
@@ -5,4 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ROOT_FOLDER = void 0;
7
7
  const ROOT_FOLDER = "root";
8
- exports.ROOT_FOLDER = ROOT_FOLDER;
8
+ exports.ROOT_FOLDER = ROOT_FOLDER;
9
+
10
+ //# sourceMappingURL=contants.js.map
@@ -10,6 +10,7 @@ var _handlerGraphql = require("@webiny/handler-graphql");
10
10
  var _pubsub = require("@webiny/pubsub");
11
11
  var _error = _interopRequireDefault(require("@webiny/error"));
12
12
  var _contants = require("../contants");
13
+ var _apiSecurity = require("@webiny/api-security");
13
14
  const createFilesCrud = config => {
14
15
  const {
15
16
  storageOperations,
@@ -91,6 +92,10 @@ const createFilesCrud = config => {
91
92
  });
92
93
  return result;
93
94
  } catch (ex) {
95
+ // If a `NotAuthorizedError` error was thrown, then we just want to rethrow it.
96
+ if (ex instanceof _apiSecurity.NotAuthorizedError) {
97
+ throw ex;
98
+ }
94
99
  throw new _error.default(ex.message || "Could not create a file.", ex.code || "CREATE_FILE_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
95
100
  file
96
101
  }));
@@ -297,4 +302,6 @@ const createFilesCrud = config => {
297
302
  }
298
303
  };
299
304
  };
300
- exports.createFilesCrud = createFilesCrud;
305
+ exports.createFilesCrud = createFilesCrud;
306
+
307
+ //# sourceMappingURL=files.crud.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_handlerGraphql","require","_pubsub","_error","_interopRequireDefault","_contants","createFilesCrud","config","storageOperations","filesPermissions","getLocaleCode","getTenantId","getIdentity","WEBINY_VERSION","onFileBeforeCreate","createTopic","onFileAfterCreate","onFileBeforeBatchCreate","onFileAfterBatchCreate","onFileBeforeUpdate","onFileAfterUpdate","onFileBeforeDelete","onFileAfterDelete","getFile","id","ensure","rwd","file","files","get","where","tenant","locale","NotFoundError","owns","createdBy","createFile","input","meta","_input$location","identity","key","split","_objectSpread2","default","tags","Array","isArray","aliases","location","folderId","ROOT_FOLDER","private","createdOn","Date","toISOString","savedOn","displayName","type","webinyVersion","publish","result","create","ex","WebinyError","message","code","data","updateFile","original","update","deleteFile","delete","createFilesInBatch","inputs","map","_input$location2","results","createBatch","listFiles","params","limit","after","initialWhere","sort","initialSort","search","private_not","canAccessOnlyOwnRecords","length","list","listTags","exports"],"sources":["files.crud.ts"],"sourcesContent":["import { NotFoundError } from \"@webiny/handler-graphql\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport WebinyError from \"@webiny/error\";\nimport {\n CreatedBy,\n File,\n FileManagerFilesStorageOperationsListParamsWhere,\n FileManagerFilesStorageOperationsTagsParamsWhere,\n FilesCRUD,\n FilesListOpts\n} from \"~/types\";\nimport { FileManagerConfig } from \"~/createFileManager/index\";\nimport { ROOT_FOLDER } from \"~/contants\";\n\nexport const createFilesCrud = (config: FileManagerConfig): FilesCRUD => {\n const {\n storageOperations,\n filesPermissions,\n getLocaleCode,\n getTenantId,\n getIdentity,\n WEBINY_VERSION\n } = config;\n\n return {\n onFileBeforeCreate: createTopic(\"fileManager.onFileBeforeCreate\"),\n onFileAfterCreate: createTopic(\"fileManager.onFileAfterCreate\"),\n onFileBeforeBatchCreate: createTopic(\"fileManager.onFileBeforeBatchCreate\"),\n onFileAfterBatchCreate: createTopic(\"fileManager.onFileAfterBatchCreate\"),\n onFileBeforeUpdate: createTopic(\"fileManager.onFileBeforeUpdate\"),\n onFileAfterUpdate: createTopic(\"fileManager.onFileAfterUpdate\"),\n onFileBeforeDelete: createTopic(\"fileManager.onFileBeforeDelete\"),\n onFileAfterDelete: createTopic(\"fileManager.onFileAfterDelete\"),\n async getFile(id: string) {\n await filesPermissions.ensure({ rwd: \"r\" });\n\n const file = await storageOperations.files.get({\n where: {\n id,\n tenant: getTenantId(),\n locale: getLocaleCode()\n }\n });\n\n if (!file) {\n throw new NotFoundError(`File with id \"${id}\" does not exists.`);\n }\n\n await filesPermissions.ensure({ owns: file.createdBy });\n\n return file;\n },\n async createFile(input, meta) {\n await filesPermissions.ensure({ rwd: \"w\" });\n\n const identity = getIdentity();\n\n // Extract ID from file key\n const [id] = input.key.split(\"/\");\n\n const file: File = {\n ...input,\n tags: Array.isArray(input.tags) ? input.tags : [],\n aliases: Array.isArray(input.aliases) ? input.aliases : [],\n id: input.id || id,\n location: {\n folderId: input.location?.folderId ?? ROOT_FOLDER\n },\n meta: {\n private: false,\n ...(input.meta || {})\n },\n tenant: getTenantId(),\n createdOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n },\n locale: getLocaleCode(),\n webinyVersion: WEBINY_VERSION\n };\n\n try {\n await this.onFileBeforeCreate.publish({ file, meta });\n\n const result = await storageOperations.files.create({ file });\n\n await this.onFileAfterCreate.publish({ file, meta });\n return result;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create a file.\",\n ex.code || \"CREATE_FILE_ERROR\",\n {\n ...(ex.data || {}),\n file\n }\n );\n }\n },\n async updateFile(id, input) {\n await filesPermissions.ensure({ rwd: \"w\" });\n\n const original = await storageOperations.files.get({\n where: {\n id,\n tenant: getTenantId(),\n locale: getLocaleCode()\n }\n });\n\n if (!original) {\n throw new NotFoundError(`File with id \"${id}\" does not exists.`);\n }\n\n await filesPermissions.ensure({ owns: original.createdBy });\n\n const file: File = {\n ...original,\n ...input,\n tags: Array.isArray(input.tags)\n ? input.tags\n : Array.isArray(original.tags)\n ? original.tags\n : [],\n aliases: Array.isArray(input.aliases)\n ? input.aliases\n : Array.isArray(original.aliases)\n ? original.aliases\n : [],\n id: original.id,\n webinyVersion: WEBINY_VERSION\n };\n\n try {\n await this.onFileBeforeUpdate.publish({\n original,\n file,\n input\n });\n\n const result = await storageOperations.files.update({\n original,\n file\n });\n\n await this.onFileAfterUpdate.publish({\n original,\n file,\n input\n });\n return result;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update a file.\",\n ex.code || \"UPDATE_FILE_ERROR\",\n {\n ...(ex.data || {}),\n original,\n file\n }\n );\n }\n },\n async deleteFile(id) {\n await filesPermissions.ensure({ rwd: \"d\" });\n\n const file = await storageOperations.files.get({\n where: {\n id,\n tenant: getTenantId(),\n locale: getLocaleCode()\n }\n });\n\n if (!file) {\n throw new NotFoundError(`File with id \"${id}\" does not exists.`);\n }\n\n await filesPermissions.ensure({ owns: file.createdBy });\n\n try {\n await this.onFileBeforeDelete.publish({ file });\n\n await storageOperations.files.delete({\n file\n });\n\n await this.onFileAfterDelete.publish({ file });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete a file.\",\n ex.code || \"DELETE_FILE_ERROR\",\n {\n ...(ex.data || {}),\n id,\n file\n }\n );\n }\n\n return true;\n },\n async createFilesInBatch(inputs, meta) {\n await filesPermissions.ensure({ rwd: \"w\" });\n\n const identity = getIdentity();\n const tenant = getTenantId();\n const locale = getLocaleCode();\n\n const createdBy: CreatedBy = {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n };\n\n const files: File[] = inputs.map(input => {\n return {\n ...input,\n tags: Array.isArray(input.tags) ? input.tags : [],\n aliases: Array.isArray(input.aliases) ? input.aliases : [],\n meta: {\n private: false,\n ...(input.meta || {})\n },\n location: {\n folderId: input.location?.folderId ?? ROOT_FOLDER\n },\n tenant,\n createdOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdBy,\n locale,\n webinyVersion: WEBINY_VERSION\n };\n });\n\n try {\n await this.onFileBeforeBatchCreate.publish({ files, meta });\n const results = await storageOperations.files.createBatch({\n files\n });\n await this.onFileAfterBatchCreate.publish({ files, meta });\n return results;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create a batch of files.\",\n ex.code || \"CREATE_FILES_ERROR\",\n {\n ...(ex.data || {}),\n files\n }\n );\n }\n },\n async listFiles(params: FilesListOpts = {}) {\n await filesPermissions.ensure({ rwd: \"r\" });\n\n const {\n limit = 40,\n after = null,\n where: initialWhere,\n sort: initialSort,\n search\n } = params;\n\n const where: FileManagerFilesStorageOperationsListParamsWhere = {\n ...{ meta: { private_not: true }, ...initialWhere },\n locale: getLocaleCode(),\n tenant: getTenantId()\n };\n\n /**\n * Always override the createdBy received from the user, if any.\n */\n if (await filesPermissions.canAccessOnlyOwnRecords()) {\n const identity = getIdentity();\n where.createdBy = identity.id;\n }\n\n const sort =\n Array.isArray(initialSort) && initialSort.length > 0 ? initialSort : [\"id_DESC\"];\n try {\n return await storageOperations.files.list({\n where,\n after,\n limit,\n sort,\n search\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list files by given parameters.\",\n ex.code || \"FILE_TAG_SEARCH_ERROR\",\n {\n ...(ex.data || {}),\n where,\n after,\n limit,\n sort\n }\n );\n }\n },\n async listTags({ where: initialWhere, after, limit }) {\n await filesPermissions.ensure();\n\n const where: FileManagerFilesStorageOperationsTagsParamsWhere = {\n ...initialWhere,\n tenant: getTenantId(),\n locale: getLocaleCode()\n };\n\n const params = {\n where,\n limit: limit || 1000000,\n after\n };\n\n try {\n return await storageOperations.files.tags(params);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not search for tags.\",\n ex.code || \"FILE_TAG_SEARCH_ERROR\",\n {\n ...(ex.data || {}),\n params\n }\n );\n }\n }\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_handlerGraphql","require","_pubsub","_error","_interopRequireDefault","_contants","_apiSecurity","createFilesCrud","config","storageOperations","filesPermissions","getLocaleCode","getTenantId","getIdentity","WEBINY_VERSION","onFileBeforeCreate","createTopic","onFileAfterCreate","onFileBeforeBatchCreate","onFileAfterBatchCreate","onFileBeforeUpdate","onFileAfterUpdate","onFileBeforeDelete","onFileAfterDelete","getFile","id","ensure","rwd","file","files","get","where","tenant","locale","NotFoundError","owns","createdBy","createFile","input","meta","_input$location","identity","key","split","_objectSpread2","default","tags","Array","isArray","aliases","location","folderId","ROOT_FOLDER","private","createdOn","Date","toISOString","savedOn","displayName","type","webinyVersion","publish","result","create","ex","NotAuthorizedError","WebinyError","message","code","data","updateFile","original","update","deleteFile","delete","createFilesInBatch","inputs","map","_input$location2","results","createBatch","listFiles","params","limit","after","initialWhere","sort","initialSort","search","private_not","canAccessOnlyOwnRecords","length","list","listTags","exports"],"sources":["files.crud.ts"],"sourcesContent":["import { NotFoundError } from \"@webiny/handler-graphql\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport WebinyError from \"@webiny/error\";\nimport {\n CreatedBy,\n File,\n FileManagerFilesStorageOperationsListParamsWhere,\n FileManagerFilesStorageOperationsTagsParamsWhere,\n FilesCRUD,\n FilesListOpts\n} from \"~/types\";\nimport { FileManagerConfig } from \"~/createFileManager/index\";\nimport { ROOT_FOLDER } from \"~/contants\";\nimport { NotAuthorizedError } from \"@webiny/api-security\";\n\nexport const createFilesCrud = (config: FileManagerConfig): FilesCRUD => {\n const {\n storageOperations,\n filesPermissions,\n getLocaleCode,\n getTenantId,\n getIdentity,\n WEBINY_VERSION\n } = config;\n\n return {\n onFileBeforeCreate: createTopic(\"fileManager.onFileBeforeCreate\"),\n onFileAfterCreate: createTopic(\"fileManager.onFileAfterCreate\"),\n onFileBeforeBatchCreate: createTopic(\"fileManager.onFileBeforeBatchCreate\"),\n onFileAfterBatchCreate: createTopic(\"fileManager.onFileAfterBatchCreate\"),\n onFileBeforeUpdate: createTopic(\"fileManager.onFileBeforeUpdate\"),\n onFileAfterUpdate: createTopic(\"fileManager.onFileAfterUpdate\"),\n onFileBeforeDelete: createTopic(\"fileManager.onFileBeforeDelete\"),\n onFileAfterDelete: createTopic(\"fileManager.onFileAfterDelete\"),\n async getFile(id: string) {\n await filesPermissions.ensure({ rwd: \"r\" });\n\n const file = await storageOperations.files.get({\n where: {\n id,\n tenant: getTenantId(),\n locale: getLocaleCode()\n }\n });\n\n if (!file) {\n throw new NotFoundError(`File with id \"${id}\" does not exists.`);\n }\n\n await filesPermissions.ensure({ owns: file.createdBy });\n\n return file;\n },\n async createFile(input, meta) {\n await filesPermissions.ensure({ rwd: \"w\" });\n\n const identity = getIdentity();\n\n // Extract ID from file key\n const [id] = input.key.split(\"/\");\n\n const file: File = {\n ...input,\n tags: Array.isArray(input.tags) ? input.tags : [],\n aliases: Array.isArray(input.aliases) ? input.aliases : [],\n id: input.id || id,\n location: {\n folderId: input.location?.folderId ?? ROOT_FOLDER\n },\n meta: {\n private: false,\n ...(input.meta || {})\n },\n tenant: getTenantId(),\n createdOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n },\n locale: getLocaleCode(),\n webinyVersion: WEBINY_VERSION\n };\n\n try {\n await this.onFileBeforeCreate.publish({ file, meta });\n\n const result = await storageOperations.files.create({ file });\n\n await this.onFileAfterCreate.publish({ file, meta });\n return result;\n } catch (ex) {\n // If a `NotAuthorizedError` error was thrown, then we just want to rethrow it.\n if (ex instanceof NotAuthorizedError) {\n throw ex;\n }\n\n throw new WebinyError(\n ex.message || \"Could not create a file.\",\n ex.code || \"CREATE_FILE_ERROR\",\n {\n ...(ex.data || {}),\n file\n }\n );\n }\n },\n async updateFile(id, input) {\n await filesPermissions.ensure({ rwd: \"w\" });\n\n const original = await storageOperations.files.get({\n where: {\n id,\n tenant: getTenantId(),\n locale: getLocaleCode()\n }\n });\n\n if (!original) {\n throw new NotFoundError(`File with id \"${id}\" does not exists.`);\n }\n\n await filesPermissions.ensure({ owns: original.createdBy });\n\n const file: File = {\n ...original,\n ...input,\n tags: Array.isArray(input.tags)\n ? input.tags\n : Array.isArray(original.tags)\n ? original.tags\n : [],\n aliases: Array.isArray(input.aliases)\n ? input.aliases\n : Array.isArray(original.aliases)\n ? original.aliases\n : [],\n id: original.id,\n webinyVersion: WEBINY_VERSION\n };\n\n try {\n await this.onFileBeforeUpdate.publish({\n original,\n file,\n input\n });\n\n const result = await storageOperations.files.update({\n original,\n file\n });\n\n await this.onFileAfterUpdate.publish({\n original,\n file,\n input\n });\n return result;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update a file.\",\n ex.code || \"UPDATE_FILE_ERROR\",\n {\n ...(ex.data || {}),\n original,\n file\n }\n );\n }\n },\n async deleteFile(id) {\n await filesPermissions.ensure({ rwd: \"d\" });\n\n const file = await storageOperations.files.get({\n where: {\n id,\n tenant: getTenantId(),\n locale: getLocaleCode()\n }\n });\n\n if (!file) {\n throw new NotFoundError(`File with id \"${id}\" does not exists.`);\n }\n\n await filesPermissions.ensure({ owns: file.createdBy });\n\n try {\n await this.onFileBeforeDelete.publish({ file });\n\n await storageOperations.files.delete({\n file\n });\n\n await this.onFileAfterDelete.publish({ file });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete a file.\",\n ex.code || \"DELETE_FILE_ERROR\",\n {\n ...(ex.data || {}),\n id,\n file\n }\n );\n }\n\n return true;\n },\n async createFilesInBatch(inputs, meta) {\n await filesPermissions.ensure({ rwd: \"w\" });\n\n const identity = getIdentity();\n const tenant = getTenantId();\n const locale = getLocaleCode();\n\n const createdBy: CreatedBy = {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n };\n\n const files: File[] = inputs.map(input => {\n return {\n ...input,\n tags: Array.isArray(input.tags) ? input.tags : [],\n aliases: Array.isArray(input.aliases) ? input.aliases : [],\n meta: {\n private: false,\n ...(input.meta || {})\n },\n location: {\n folderId: input.location?.folderId ?? ROOT_FOLDER\n },\n tenant,\n createdOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdBy,\n locale,\n webinyVersion: WEBINY_VERSION\n };\n });\n\n try {\n await this.onFileBeforeBatchCreate.publish({ files, meta });\n const results = await storageOperations.files.createBatch({\n files\n });\n await this.onFileAfterBatchCreate.publish({ files, meta });\n return results;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create a batch of files.\",\n ex.code || \"CREATE_FILES_ERROR\",\n {\n ...(ex.data || {}),\n files\n }\n );\n }\n },\n async listFiles(params: FilesListOpts = {}) {\n await filesPermissions.ensure({ rwd: \"r\" });\n\n const {\n limit = 40,\n after = null,\n where: initialWhere,\n sort: initialSort,\n search\n } = params;\n\n const where: FileManagerFilesStorageOperationsListParamsWhere = {\n ...{ meta: { private_not: true }, ...initialWhere },\n locale: getLocaleCode(),\n tenant: getTenantId()\n };\n\n /**\n * Always override the createdBy received from the user, if any.\n */\n if (await filesPermissions.canAccessOnlyOwnRecords()) {\n const identity = getIdentity();\n where.createdBy = identity.id;\n }\n\n const sort =\n Array.isArray(initialSort) && initialSort.length > 0 ? initialSort : [\"id_DESC\"];\n try {\n return await storageOperations.files.list({\n where,\n after,\n limit,\n sort,\n search\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list files by given parameters.\",\n ex.code || \"FILE_TAG_SEARCH_ERROR\",\n {\n ...(ex.data || {}),\n where,\n after,\n limit,\n sort\n }\n );\n }\n },\n async listTags({ where: initialWhere, after, limit }) {\n await filesPermissions.ensure();\n\n const where: FileManagerFilesStorageOperationsTagsParamsWhere = {\n ...initialWhere,\n tenant: getTenantId(),\n locale: getLocaleCode()\n };\n\n const params = {\n where,\n limit: limit || 1000000,\n after\n };\n\n try {\n return await storageOperations.files.tags(params);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not search for tags.\",\n ex.code || \"FILE_TAG_SEARCH_ERROR\",\n {\n ...(ex.data || {}),\n params\n }\n );\n }\n }\n };\n};\n"],"mappings":"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"}
@@ -52,4 +52,6 @@
52
52
  // )
53
53
  // })();
54
54
  // };
55
- "use strict";
55
+ "use strict";
56
+
57
+ //# sourceMappingURL=filevalidation.disabled.js.map
@@ -17,4 +17,6 @@ const createFileManager = config => {
17
17
  storage: config.storage
18
18
  });
19
19
  };
20
- exports.createFileManager = createFileManager;
20
+ exports.createFileManager = createFileManager;
21
+
22
+ //# sourceMappingURL=index.js.map
@@ -6,4 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.FilesPermissions = void 0;
7
7
  var _AppPermissions = require("@webiny/api-security/utils/AppPermissions");
8
8
  class FilesPermissions extends _AppPermissions.AppPermissions {}
9
- exports.FilesPermissions = FilesPermissions;
9
+ exports.FilesPermissions = FilesPermissions;
10
+
11
+ //# sourceMappingURL=FilesPermissions.js.map
@@ -6,13 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.createSettingsCrud = void 0;
8
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _pubsub = require("@webiny/pubsub");
9
10
  var _fields = require("@commodo/fields");
10
11
  var _validation = require("@webiny/validation");
11
12
  /**
12
13
  * Package @commodo/fields does not have types.
13
- */
14
- // @ts-ignore
15
-
14
+ */ // @ts-ignore
16
15
  const CreateDataModel = (0, _fields.withFields)({
17
16
  uploadMinFileSize: (0, _fields.number)({
18
17
  value: 0,
@@ -49,6 +48,8 @@ const createSettingsCrud = ({
49
48
  getTenantId
50
49
  }) => {
51
50
  return {
51
+ onSettingsBeforeUpdate: (0, _pubsub.createTopic)("fileManager.onSettingsBeforeUpdate"),
52
+ onSettingsAfterUpdate: (0, _pubsub.createTopic)("fileManager.onSettingsAfterUpdate"),
52
53
  async getSettings() {
53
54
  return storageOperations.settings.get({
54
55
  tenant: getTenantId()
@@ -73,12 +74,24 @@ const createSettingsCrud = ({
73
74
  const updatedSettings = await updatedValue.toJSON({
74
75
  onlyDirty: true
75
76
  });
76
- return storageOperations.settings.update({
77
+ const settings = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, existingSettings), updatedSettings), {}, {
78
+ tenant: getTenantId()
79
+ });
80
+ await this.onSettingsBeforeUpdate.publish({
81
+ input: data,
77
82
  original: existingSettings,
78
- data: (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, existingSettings), updatedSettings), {}, {
79
- tenant: getTenantId()
80
- })
83
+ settings
81
84
  });
85
+ const result = await storageOperations.settings.update({
86
+ original: existingSettings,
87
+ data: settings
88
+ });
89
+ await this.onSettingsAfterUpdate.publish({
90
+ input: data,
91
+ original: existingSettings,
92
+ settings: result
93
+ });
94
+ return result;
82
95
  },
83
96
  async deleteSettings() {
84
97
  await storageOperations.settings.delete({
@@ -88,4 +101,6 @@ const createSettingsCrud = ({
88
101
  }
89
102
  };
90
103
  };
91
- exports.createSettingsCrud = createSettingsCrud;
104
+ exports.createSettingsCrud = createSettingsCrud;
105
+
106
+ //# sourceMappingURL=settings.crud.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_fields","require","_validation","CreateDataModel","withFields","uploadMinFileSize","number","value","validation","create","uploadMaxFileSize","srcPrefix","onSet","endsWith","string","UpdateDataModel","createSettingsCrud","storageOperations","getTenantId","getSettings","settings","get","tenant","createSettings","data","populate","validate","settingsData","toJSON","_objectSpread2","default","updateSettings","updatedValue","existingSettings","updatedSettings","onlyDirty","update","original","deleteSettings","delete","exports"],"sources":["settings.crud.ts"],"sourcesContent":["/**\n * Package @commodo/fields does not have types.\n */\n// @ts-ignore\nimport { withFields, string, number, onSet } from \"@commodo/fields\";\nimport { validation } from \"@webiny/validation\";\nimport { FileManagerSettings, SettingsCRUD } from \"~/types\";\nimport { FileManagerConfig } from \"~/createFileManager/index\";\n\nconst CreateDataModel = withFields({\n uploadMinFileSize: number({ value: 0, validation: validation.create(\"gte:0\") }),\n uploadMaxFileSize: number({ value: 10737418240 }),\n srcPrefix: onSet((value?: string) => {\n // Make sure srcPrefix always ends with forward slash.\n if (typeof value === \"string\") {\n return value.endsWith(\"/\") ? value : value + \"/\";\n }\n return value;\n })(string({ value: \"/files/\" }))\n})();\n\nconst UpdateDataModel = withFields({\n uploadMinFileSize: number({\n validation: validation.create(\"gte:0\")\n }),\n uploadMaxFileSize: number(),\n srcPrefix: onSet((value?: string) => {\n // Make sure srcPrefix always ends with forward slash.\n if (typeof value === \"string\") {\n return value.endsWith(\"/\") ? value : value + \"/\";\n }\n return value;\n })(string())\n})();\n\nexport const createSettingsCrud = ({\n storageOperations,\n getTenantId\n}: FileManagerConfig): SettingsCRUD => {\n return {\n async getSettings() {\n return storageOperations.settings.get({ tenant: getTenantId() });\n },\n async createSettings(data) {\n const settings = new CreateDataModel().populate(data);\n await settings.validate();\n\n const settingsData: FileManagerSettings = await settings.toJSON();\n\n return storageOperations.settings.create({\n data: { ...settingsData, tenant: getTenantId() }\n });\n },\n async updateSettings(data) {\n const updatedValue = new UpdateDataModel().populate(data);\n await updatedValue.validate();\n\n const existingSettings = (await storageOperations.settings.get({\n tenant: getTenantId()\n })) as FileManagerSettings;\n\n const updatedSettings: Partial<FileManagerSettings> = await updatedValue.toJSON({\n onlyDirty: true\n });\n\n return storageOperations.settings.update({\n original: existingSettings,\n data: {\n ...existingSettings,\n ...updatedSettings,\n tenant: getTenantId()\n }\n });\n },\n async deleteSettings() {\n await storageOperations.settings.delete({ tenant: getTenantId() });\n\n return true;\n }\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_pubsub","require","_fields","_validation","CreateDataModel","withFields","uploadMinFileSize","number","value","validation","create","uploadMaxFileSize","srcPrefix","onSet","endsWith","string","UpdateDataModel","createSettingsCrud","storageOperations","getTenantId","onSettingsBeforeUpdate","createTopic","onSettingsAfterUpdate","getSettings","settings","get","tenant","createSettings","data","populate","validate","settingsData","toJSON","_objectSpread2","default","updateSettings","updatedValue","existingSettings","updatedSettings","onlyDirty","publish","input","original","result","update","deleteSettings","delete","exports"],"sources":["settings.crud.ts"],"sourcesContent":["import { createTopic } from \"@webiny/pubsub\";\n/**\n * Package @commodo/fields does not have types.\n */\n// @ts-ignore\nimport { withFields, string, number, onSet } from \"@commodo/fields\";\nimport { validation } from \"@webiny/validation\";\nimport { FileManagerSettings, SettingsCRUD } from \"~/types\";\nimport { FileManagerConfig } from \"~/createFileManager/index\";\n\nconst CreateDataModel = withFields({\n uploadMinFileSize: number({ value: 0, validation: validation.create(\"gte:0\") }),\n uploadMaxFileSize: number({ value: 10737418240 }),\n srcPrefix: onSet((value?: string) => {\n // Make sure srcPrefix always ends with forward slash.\n if (typeof value === \"string\") {\n return value.endsWith(\"/\") ? value : value + \"/\";\n }\n return value;\n })(string({ value: \"/files/\" }))\n})();\n\nconst UpdateDataModel = withFields({\n uploadMinFileSize: number({\n validation: validation.create(\"gte:0\")\n }),\n uploadMaxFileSize: number(),\n srcPrefix: onSet((value?: string) => {\n // Make sure srcPrefix always ends with forward slash.\n if (typeof value === \"string\") {\n return value.endsWith(\"/\") ? value : value + \"/\";\n }\n return value;\n })(string())\n})();\n\nexport const createSettingsCrud = ({\n storageOperations,\n getTenantId\n}: FileManagerConfig): SettingsCRUD => {\n return {\n onSettingsBeforeUpdate: createTopic(\"fileManager.onSettingsBeforeUpdate\"),\n onSettingsAfterUpdate: createTopic(\"fileManager.onSettingsAfterUpdate\"),\n async getSettings() {\n return storageOperations.settings.get({ tenant: getTenantId() });\n },\n async createSettings(data) {\n const settings = new CreateDataModel().populate(data);\n await settings.validate();\n\n const settingsData: FileManagerSettings = await settings.toJSON();\n\n return storageOperations.settings.create({\n data: { ...settingsData, tenant: getTenantId() }\n });\n },\n async updateSettings(data) {\n const updatedValue = new UpdateDataModel().populate(data);\n await updatedValue.validate();\n\n const existingSettings = (await storageOperations.settings.get({\n tenant: getTenantId()\n })) as FileManagerSettings;\n\n const updatedSettings: Partial<FileManagerSettings> = await updatedValue.toJSON({\n onlyDirty: true\n });\n\n const settings: FileManagerSettings = {\n ...existingSettings,\n ...updatedSettings,\n tenant: getTenantId()\n };\n\n await this.onSettingsBeforeUpdate.publish({\n input: data,\n original: existingSettings,\n settings\n });\n const result = await storageOperations.settings.update({\n original: existingSettings,\n data: settings\n });\n await this.onSettingsAfterUpdate.publish({\n input: data,\n original: existingSettings,\n settings: result\n });\n\n return result;\n },\n async deleteSettings() {\n await storageOperations.settings.delete({ tenant: getTenantId() });\n\n return true;\n }\n };\n};\n"],"mappings":"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"}
@@ -83,4 +83,6 @@ const createSystemCrud = ({
83
83
  }
84
84
  };
85
85
  };
86
- exports.createSystemCrud = createSystemCrud;
86
+ exports.createSystemCrud = createSystemCrud;
87
+
88
+ //# sourceMappingURL=system.crud.js.map
@@ -114,4 +114,6 @@ const createBaseSchema = () => {
114
114
  fileManagerGraphQL.name = "fm.graphql.base";
115
115
  return fileManagerGraphQL;
116
116
  };
117
- exports.createBaseSchema = createBaseSchema;
117
+ exports.createBaseSchema = createBaseSchema;
118
+
119
+ //# sourceMappingURL=baseSchema.js.map
@@ -159,4 +159,6 @@ const createFilesTypeDefs = params => {
159
159
  `
160
160
  );
161
161
  };
162
- exports.createFilesTypeDefs = createFilesTypeDefs;
162
+ exports.createFilesTypeDefs = createFilesTypeDefs;
163
+
164
+ //# sourceMappingURL=createFilesTypeDefs.js.map
@@ -80,4 +80,6 @@ const createFilesSchema = params => {
80
80
  fileManagerGraphQL.name = "fm.graphql.files";
81
81
  return fileManagerGraphQL;
82
82
  };
83
- exports.createFilesSchema = createFilesSchema;
83
+ exports.createFilesSchema = createFilesSchema;
84
+
85
+ //# sourceMappingURL=filesSchema.js.map
package/graphql/index.js CHANGED
@@ -49,4 +49,6 @@ const createGraphQLSchemaPlugin = () => {
49
49
  });
50
50
  })];
51
51
  };
52
- exports.createGraphQLSchemaPlugin = createGraphQLSchemaPlugin;
52
+ exports.createGraphQLSchemaPlugin = createGraphQLSchemaPlugin;
53
+
54
+ //# sourceMappingURL=index.js.map
@@ -7,5 +7,5 @@ export declare const emptyResolver: () => {};
7
7
  interface ResolveCallable {
8
8
  (): Promise<any>;
9
9
  }
10
- export declare const resolve: (fn: ResolveCallable) => Promise<Response<any> | ErrorResponse>;
10
+ export declare const resolve: (fn: ResolveCallable) => Promise<ErrorResponse | Response<any>>;
11
11
  export {};
package/graphql/utils.js CHANGED
@@ -19,4 +19,6 @@ const resolve = async fn => {
19
19
  return new _handlerGraphql.ErrorResponse(e);
20
20
  }
21
21
  };
22
- exports.resolve = resolve;
22
+ exports.resolve = resolve;
23
+
24
+ //# sourceMappingURL=utils.js.map
@@ -86,4 +86,6 @@ const createDownloadFileByAliasPlugins = ({
86
86
  });
87
87
  })];
88
88
  };
89
- exports.createDownloadFileByAliasPlugins = createDownloadFileByAliasPlugins;
89
+ exports.createDownloadFileByAliasPlugins = createDownloadFileByAliasPlugins;
90
+
91
+ //# sourceMappingURL=byAlias.js.map
@@ -54,4 +54,6 @@ const createDownloadFileByExactKeyPlugins = () => {
54
54
  });
55
55
  })];
56
56
  };
57
- exports.createDownloadFileByExactKeyPlugins = createDownloadFileByExactKeyPlugins;
57
+ exports.createDownloadFileByExactKeyPlugins = createDownloadFileByExactKeyPlugins;
58
+
59
+ //# sourceMappingURL=byExactKey.js.map
@@ -17,4 +17,6 @@ const extractFileInformation = request => {
17
17
  extension: _path.default.extname(path)
18
18
  };
19
19
  };
20
- exports.extractFileInformation = extractFileInformation;
20
+ exports.extractFileInformation = extractFileInformation;
21
+
22
+ //# sourceMappingURL=extractFileInformation.js.map
@@ -69,4 +69,6 @@ const getS3Object = async (fileInfo, s3, context) => {
69
69
  params
70
70
  };
71
71
  };
72
- exports.getS3Object = getS3Object;
72
+ exports.getS3Object = getS3Object;
73
+
74
+ //# sourceMappingURL=getS3Object.js.map
@@ -24,4 +24,6 @@ Object.keys(_byAlias).forEach(function (key) {
24
24
  return _byAlias[key];
25
25
  }
26
26
  });
27
- });
27
+ });
28
+
29
+ //# sourceMappingURL=index.js.map
@@ -52,4 +52,6 @@ const createManageFilePlugins = () => {
52
52
  }
53
53
  })];
54
54
  };
55
- exports.createManageFilePlugins = createManageFilePlugins;
55
+ exports.createManageFilePlugins = createManageFilePlugins;
56
+
57
+ //# sourceMappingURL=index.js.map
@@ -89,4 +89,6 @@ const createTransformFilePlugins = () => {
89
89
  }
90
90
  })];
91
91
  };
92
- exports.createTransformFilePlugins = createTransformFilePlugins;
92
+ exports.createTransformFilePlugins = createTransformFilePlugins;
93
+
94
+ //# sourceMappingURL=index.js.map
@@ -39,4 +39,6 @@ const getImageKey = ({
39
39
  const prefix = getOptimizedTransformedImageKeyPrefix(key);
40
40
  return `${prefix}${(0, _objectHash.default)(transformations)}-${key}`;
41
41
  };
42
- exports.getImageKey = getImageKey;
42
+ exports.getImageKey = getImageKey;
43
+
44
+ //# sourceMappingURL=legacyUtils.js.map
@@ -91,4 +91,6 @@ var _default = {
91
91
  }
92
92
  }
93
93
  };
94
- exports.default = _default;
94
+ exports.default = _default;
95
+
96
+ //# sourceMappingURL=imageLoader.js.map
@@ -7,4 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _imageLoader = _interopRequireDefault(require("./imageLoader"));
9
9
  var _default = [_imageLoader.default];
10
- exports.default = _default;
10
+ exports.default = _default;
11
+
12
+ //# sourceMappingURL=index.js.map
@@ -42,4 +42,6 @@ var _default = args => {
42
42
  }
43
43
  return null;
44
44
  };
45
- exports.default = _default;
45
+ exports.default = _default;
46
+
47
+ //# sourceMappingURL=sanitizeImageTransformations.js.map
@@ -71,4 +71,6 @@ var _default = {
71
71
  }
72
72
  }
73
73
  };
74
- exports.default = _default;
74
+ exports.default = _default;
75
+
76
+ //# sourceMappingURL=imageManager.js.map
@@ -7,4 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _imageManager = _interopRequireDefault(require("./imageManager"));
9
9
  var _default = [_imageManager.default];
10
- exports.default = _default;
10
+ exports.default = _default;
11
+
12
+ //# sourceMappingURL=index.js.map
@@ -39,4 +39,6 @@ var _default = async (buffer, type) => {
39
39
  return buffer;
40
40
  }
41
41
  };
42
- exports.default = _default;
42
+ exports.default = _default;
43
+
44
+ //# sourceMappingURL=optimizeImage.js.map
@@ -25,4 +25,6 @@ const transformImage = async (buffer, transformations, options = {}) => {
25
25
  width
26
26
  }).toBuffer();
27
27
  };
28
- exports.transformImage = transformImage;
28
+ exports.transformImage = transformImage;
29
+
30
+ //# sourceMappingURL=transformImage.js.map
@@ -33,4 +33,6 @@ const getImageKey = ({
33
33
  }
34
34
  return getOptimizedTransformedImageKeyPrefix(key, (0, _objectHash.default)(transformations));
35
35
  };
36
- exports.getImageKey = getImageKey;
36
+ exports.getImageKey = getImageKey;
37
+
38
+ //# sourceMappingURL=utils.js.map
package/handlers/types.js CHANGED
@@ -2,4 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- });
5
+ });
6
+
7
+ //# sourceMappingURL=types.js.map
@@ -8,4 +8,6 @@ var _default = () => ({
8
8
  bucket: process.env.S3_BUCKET,
9
9
  region: process.env.AWS_REGION
10
10
  });
11
- exports.default = _default;
11
+ exports.default = _default;
12
+
13
+ //# sourceMappingURL=getEnvironment.js.map
@@ -18,4 +18,6 @@ var _default = filename => {
18
18
  Key: `${filename}`
19
19
  };
20
20
  };
21
- exports.default = _default;
21
+ exports.default = _default;
22
+
23
+ //# sourceMappingURL=getObjectParams.js.map
@@ -17,4 +17,6 @@ Object.defineProperty(exports, "getObjectParams", {
17
17
  }
18
18
  });
19
19
  var _getEnvironment = _interopRequireDefault(require("./getEnvironment"));
20
- var _getObjectParams = _interopRequireDefault(require("./getObjectParams"));
20
+ var _getObjectParams = _interopRequireDefault(require("./getObjectParams"));
21
+
22
+ //# sourceMappingURL=index.js.map
package/index.js CHANGED
@@ -49,4 +49,6 @@ exports.createFileManagerContext = createFileManagerContext;
49
49
  const createFileManagerGraphQL = () => {
50
50
  return (0, _graphql.createGraphQLSchemaPlugin)();
51
51
  };
52
- exports.createFileManagerGraphQL = createFileManagerGraphQL;
52
+ exports.createFileManagerGraphQL = createFileManagerGraphQL;
53
+
54
+ //# sourceMappingURL=index.js.map
@@ -56,4 +56,6 @@ exports.CmsModelModifierPlugin = CmsModelModifierPlugin;
56
56
  const createFileModelModifier = cb => {
57
57
  return new CmsModelModifierPlugin(_file.FILE_MODEL_ID, cb);
58
58
  };
59
- exports.createFileModelModifier = createFileModelModifier;
59
+ exports.createFileModelModifier = createFileModelModifier;
60
+
61
+ //# sourceMappingURL=CmsModelModifier.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-file-manager",
3
- "version": "5.37.8",
3
+ "version": "5.38.0-beta.1",
4
4
  "main": "index.js",
5
5
  "keywords": [
6
6
  "fm:base"
@@ -20,19 +20,19 @@
20
20
  "dependencies": {
21
21
  "@babel/runtime": "7.22.6",
22
22
  "@commodo/fields": "1.1.2-beta.20",
23
- "@webiny/api": "5.37.8",
24
- "@webiny/api-headless-cms": "5.37.8",
25
- "@webiny/api-security": "5.37.8",
26
- "@webiny/api-tenancy": "5.37.8",
27
- "@webiny/error": "5.37.8",
28
- "@webiny/handler": "5.37.8",
29
- "@webiny/handler-aws": "5.37.8",
30
- "@webiny/handler-client": "5.37.8",
31
- "@webiny/handler-graphql": "5.37.8",
32
- "@webiny/plugins": "5.37.8",
33
- "@webiny/project-utils": "5.37.8",
34
- "@webiny/pubsub": "5.37.8",
35
- "@webiny/validation": "5.37.8",
23
+ "@webiny/api": "5.38.0-beta.1",
24
+ "@webiny/api-headless-cms": "5.38.0-beta.1",
25
+ "@webiny/api-security": "5.38.0-beta.1",
26
+ "@webiny/api-tenancy": "5.38.0-beta.1",
27
+ "@webiny/error": "5.38.0-beta.1",
28
+ "@webiny/handler": "5.38.0-beta.1",
29
+ "@webiny/handler-aws": "5.38.0-beta.1",
30
+ "@webiny/handler-client": "5.38.0-beta.1",
31
+ "@webiny/handler-graphql": "5.38.0-beta.1",
32
+ "@webiny/plugins": "5.38.0-beta.1",
33
+ "@webiny/project-utils": "5.38.0-beta.1",
34
+ "@webiny/pubsub": "5.38.0-beta.1",
35
+ "@webiny/validation": "5.38.0-beta.1",
36
36
  "aws-sdk": "2.1310.0",
37
37
  "lodash": "4.17.21",
38
38
  "object-hash": "2.2.0"
@@ -44,9 +44,9 @@
44
44
  "@babel/plugin-transform-runtime": "7.22.7",
45
45
  "@babel/preset-env": "7.22.7",
46
46
  "@babel/preset-typescript": "7.22.5",
47
- "@webiny/api-i18n": "5.37.8",
48
- "@webiny/cli": "5.37.8",
49
- "@webiny/utils": "5.37.8",
47
+ "@webiny/api-i18n": "5.38.0-beta.1",
48
+ "@webiny/cli": "5.38.0-beta.1",
49
+ "@webiny/utils": "5.38.0-beta.1",
50
50
  "jest": "29.5.0",
51
51
  "rimraf": "3.0.2",
52
52
  "ttypescript": "1.5.15",
@@ -71,5 +71,5 @@
71
71
  ]
72
72
  }
73
73
  },
74
- "gitHead": "7af94ec35e4614ac89549a544352fd2ceba1ba42"
74
+ "gitHead": "6daf38d3ed0c029a8fea005c2b6246e5b325a09c"
75
75
  }
@@ -28,4 +28,6 @@ class FilePhysicalStoragePlugin extends _plugins.Plugin {
28
28
  }
29
29
  }
30
30
  exports.FilePhysicalStoragePlugin = FilePhysicalStoragePlugin;
31
- (0, _defineProperty2.default)(FilePhysicalStoragePlugin, "type", "api-file-manager-storage");
31
+ (0, _defineProperty2.default)(FilePhysicalStoragePlugin, "type", "api-file-manager-storage");
32
+
33
+ //# sourceMappingURL=FilePhysicalStoragePlugin.js.map
@@ -37,4 +37,6 @@ class FileStorageTransformPlugin extends _plugins.Plugin {
37
37
  }
38
38
  }
39
39
  exports.FileStorageTransformPlugin = FileStorageTransformPlugin;
40
- (0, _defineProperty2.default)(FileStorageTransformPlugin, "type", "fm.files.storage.transform");
40
+ (0, _defineProperty2.default)(FileStorageTransformPlugin, "type", "fm.files.storage.transform");
41
+
42
+ //# sourceMappingURL=FileStorageTransformPlugin.js.map
package/plugins/index.js CHANGED
@@ -24,4 +24,6 @@ Object.keys(_FileStorageTransformPlugin).forEach(function (key) {
24
24
  return _FileStorageTransformPlugin[key];
25
25
  }
26
26
  });
27
- });
27
+ });
28
+
29
+ //# sourceMappingURL=index.js.map
@@ -84,4 +84,6 @@ class FileStorage {
84
84
  return await fileManager.deleteFile(id);
85
85
  }
86
86
  }
87
- exports.FileStorage = FileStorage;
87
+ exports.FileStorage = FileStorage;
88
+
89
+ //# sourceMappingURL=FileStorage.js.map
package/types/file.js CHANGED
@@ -2,4 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- });
5
+ });
6
+
7
+ //# sourceMappingURL=file.js.map
@@ -2,4 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- });
5
+ });
6
+
7
+ //# sourceMappingURL=file.lifecycle.js.map
package/types.d.ts CHANGED
@@ -96,11 +96,23 @@ export interface FileManagerSystem {
96
96
  version: string;
97
97
  tenant: string;
98
98
  }
99
+ export interface OnSettingsBeforeUpdateTopicParams {
100
+ input: Partial<FileManagerSettings>;
101
+ original: FileManagerSettings;
102
+ settings: FileManagerSettings;
103
+ }
104
+ export interface OnSettingsAfterUpdateTopicParams {
105
+ input: Partial<FileManagerSettings>;
106
+ original: FileManagerSettings;
107
+ settings: FileManagerSettings;
108
+ }
99
109
  export declare type SettingsCRUD = {
100
110
  getSettings(): Promise<FileManagerSettings | null>;
101
111
  createSettings(data?: Partial<FileManagerSettings>): Promise<FileManagerSettings>;
102
112
  updateSettings(data: Partial<FileManagerSettings>): Promise<FileManagerSettings>;
103
113
  deleteSettings(): Promise<boolean>;
114
+ onSettingsBeforeUpdate: Topic<OnSettingsBeforeUpdateTopicParams>;
115
+ onSettingsAfterUpdate: Topic<OnSettingsAfterUpdateTopicParams>;
104
116
  };
105
117
  /********
106
118
  * Storage operations
package/types.js CHANGED
@@ -24,4 +24,6 @@ Object.keys(_file2).forEach(function (key) {
24
24
  return _file2[key];
25
25
  }
26
26
  });
27
- });
27
+ });
28
+
29
+ //# sourceMappingURL=types.js.map
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_file","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_file2"],"sources":["types.ts"],"sourcesContent":["import { I18NContext } from \"@webiny/api-i18n/types\";\nimport { FileStorage } from \"./storage/FileStorage\";\nimport { TenancyContext } from \"@webiny/api-tenancy/types\";\nimport { SecurityContext, SecurityPermission } from \"@webiny/api-security/types\";\nimport { Context } from \"@webiny/api/types\";\nimport { FileLifecycleEvents } from \"./types/file.lifecycle\";\nimport { File } from \"./types/file\";\nimport { Topic } from \"@webiny/pubsub/types\";\nimport { CmsContext } from \"@webiny/api-headless-cms/types\";\nexport * from \"./types/file.lifecycle\";\nexport * from \"./types/file\";\n\nexport interface FileManagerContextObject extends FilesCRUD, SettingsCRUD, SystemCRUD {\n storage: FileStorage;\n}\n\nexport interface FileManagerContext\n extends Context,\n SecurityContext,\n TenancyContext,\n I18NContext,\n CmsContext {\n fileManager: FileManagerContextObject;\n}\n\nexport interface FilePermission extends SecurityPermission {\n name: \"fm.file\";\n rwd?: string;\n own?: boolean;\n}\n\nexport interface FileInput {\n id: string;\n key: string;\n name: string;\n size: number;\n type: string;\n meta: Record<string, any>;\n location?: {\n folderId: string;\n };\n tags: string[];\n aliases: string[];\n extensions?: Record<string, any>;\n}\n\nexport interface FileListWhereParams {\n AND?: FileListWhereParams[];\n OR?: FileListWhereParams[];\n [key: string]: any;\n}\nexport interface FilesListOpts {\n search?: string;\n limit?: number;\n after?: string;\n where?: FileListWhereParams;\n sort?: string[];\n}\n\nexport interface FileListMeta {\n cursor: string | null;\n totalCount: number;\n hasMoreItems: boolean;\n}\n\ninterface FilesCrudListTagsWhere {\n tag?: string;\n tag_contains?: string;\n tag_in?: string[];\n tag_not_startsWith?: string;\n tag_startsWith?: string;\n}\ninterface FilesCrudListTagsParams {\n where?: FilesCrudListTagsWhere;\n limit?: number;\n after?: string;\n}\n\nexport interface ListTagsResponse {\n tag: string;\n count: number;\n}\nexport interface FilesCRUD extends FileLifecycleEvents {\n getFile(id: string): Promise<File>;\n listFiles(opts?: FilesListOpts): Promise<[File[], FileListMeta]>;\n listTags(params: FilesCrudListTagsParams): Promise<ListTagsResponse[]>;\n createFile(data: FileInput, meta?: Record<string, any>): Promise<File>;\n updateFile(id: string, data: Partial<FileInput>): Promise<File>;\n deleteFile(id: string): Promise<boolean>;\n createFilesInBatch(data: FileInput[], meta?: Record<string, any>): Promise<File[]>;\n}\n\nexport interface SystemCRUD {\n onSystemBeforeInstall: Topic;\n onSystemAfterInstall: Topic;\n getVersion(): Promise<string | null>;\n setVersion(version: string): Promise<void>;\n install(args: { srcPrefix: string }): Promise<boolean>;\n}\n\nexport interface FileManagerSettings {\n tenant: string;\n key: string;\n uploadMinFileSize: number;\n uploadMaxFileSize: number;\n srcPrefix: string;\n}\n\nexport interface FileManagerSystem {\n version: string;\n tenant: string;\n}\n\nexport type SettingsCRUD = {\n getSettings(): Promise<FileManagerSettings | null>;\n createSettings(data?: Partial<FileManagerSettings>): Promise<FileManagerSettings>;\n updateSettings(data: Partial<FileManagerSettings>): Promise<FileManagerSettings>;\n deleteSettings(): Promise<boolean>;\n};\n/********\n * Storage operations\n *******/\n\n/**\n * @category StorageOperations\n * @category SystemStorageOperations\n * @category SystemStorageOperationsParams\n */\nexport interface FileManagerSystemStorageOperationsUpdateParams {\n /**\n * The system data to be updated.\n */\n original: FileManagerSystem;\n /**\n * The system data with the updated fields.\n */\n data: FileManagerSystem;\n}\n/**\n * @category StorageOperations\n * @category SystemStorageOperations\n * @category SystemStorageOperationsParams\n */\nexport interface FileManagerSystemStorageOperationsCreateParams {\n /**\n * The system fields.\n */\n data: FileManagerSystem;\n}\n\nexport interface FileManagerSystemStorageOperationsGetParams {\n tenant: string;\n}\n\n/**\n * @category StorageOperations\n * @category SystemStorageOperations\n */\nexport interface FileManagerSystemStorageOperations {\n /**\n * Get the FileManager system data.\n */\n get: (params: FileManagerSystemStorageOperationsGetParams) => Promise<FileManagerSystem | null>;\n /**\n * Update the FileManager system data..\n */\n update: (params: FileManagerSystemStorageOperationsUpdateParams) => Promise<FileManagerSystem>;\n /**\n * Create the FileManagerSystemData\n */\n create: (params: FileManagerSystemStorageOperationsCreateParams) => Promise<FileManagerSystem>;\n}\n\n/**\n * @category StorageOperations\n * @category SettingsStorageOperations\n * @category SettingsStorageOperationsParams\n */\nexport interface FileManagerSettingsStorageOperationsUpdateParams {\n /**\n * Original settings to be updated.\n */\n original: FileManagerSettings;\n /**\n * The settings with the updated fields.\n */\n data: FileManagerSettings;\n}\n/**\n * @category StorageOperations\n * @category SettingsStorageOperations\n * @category SettingsStorageOperationsParams\n */\nexport interface FileManagerSettingsStorageOperationsCreateParams {\n /**\n * The settings fields.\n */\n data: FileManagerSettings;\n}\n\nexport interface FileManagerStorageOperationsGetSettingsParams {\n tenant: string;\n}\n\nexport interface FileManagerStorageOperationsDeleteSettings {\n tenant: string;\n}\n\n/**\n * @category StorageOperations\n * @category SettingsStorageOperations\n */\nexport interface FileManagerSettingsStorageOperations {\n /**\n * Get the FileManager system data.\n */\n get: (\n params: FileManagerStorageOperationsGetSettingsParams\n ) => Promise<FileManagerSettings | null>;\n /**\n * Create the FileManagerSettingsData\n */\n create: (\n params: FileManagerSettingsStorageOperationsCreateParams\n ) => Promise<FileManagerSettings>;\n /**\n * Update the FileManager system data..\n */\n update: (\n params: FileManagerSettingsStorageOperationsUpdateParams\n ) => Promise<FileManagerSettings>;\n /**\n * Delete the existing settings.\n */\n delete: (params: FileManagerStorageOperationsDeleteSettings) => Promise<void>;\n}\n\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n * @category FilesStorageOperationsParams\n */\nexport interface FileManagerFilesStorageOperationsGetParams {\n where: {\n id: string;\n tenant: string;\n locale: string;\n };\n}\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n * @category FilesStorageOperationsParams\n */\nexport interface FileManagerFilesStorageOperationsCreateParams {\n file: File;\n}\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n * @category FilesStorageOperationsParams\n */\nexport interface FileManagerFilesStorageOperationsUpdateParams {\n original: File;\n file: File;\n}\n\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n * @category FilesStorageOperationsParams\n */\nexport interface FileManagerFilesStorageOperationsDeleteParams {\n file: File;\n}\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n * @category FilesStorageOperationsParams\n */\nexport interface FileManagerFilesStorageOperationsCreateBatchParams {\n files: File[];\n}\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n * @category FilesStorageOperationsParams\n */\nexport interface FileManagerFilesStorageOperationsListParamsWhere {\n [key: string]: any;\n}\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n * @category FilesStorageOperationsParams\n */\nexport interface FileManagerFilesStorageOperationsListParams {\n where: FileManagerFilesStorageOperationsListParamsWhere;\n sort: string[];\n limit: number;\n after: string | null;\n search?: string;\n}\n\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n * @category FilesStorageOperationsParams\n */\nexport interface FileManagerFilesStorageOperationsListResponseMeta {\n hasMoreItems: boolean;\n totalCount: number;\n cursor: string | null;\n}\nexport type FileManagerFilesStorageOperationsListResponse = [\n File[],\n FileManagerFilesStorageOperationsListResponseMeta\n];\n\nexport interface FileManagerFilesStorageOperationsTagsResponse {\n tag: string;\n count: number;\n}\n\nexport interface FileManagerFilesStorageOperationsTagsParamsWhere extends FilesCrudListTagsWhere {\n locale: string;\n tenant: string;\n}\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n * @category FilesStorageOperationsParams\n */\nexport interface FileManagerFilesStorageOperationsTagsParams {\n where: FileManagerFilesStorageOperationsTagsParamsWhere;\n limit: number;\n after?: string;\n}\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n */\nexport interface FileManagerFilesStorageOperations {\n /**\n * Get a single file with given ID from the storage.\n */\n get: (params: FileManagerFilesStorageOperationsGetParams) => Promise<File | null>;\n /**\n * Insert the file data into the database.\n */\n create: (params: FileManagerFilesStorageOperationsCreateParams) => Promise<File>;\n /**\n * Update the file data in the database.\n */\n update: (params: FileManagerFilesStorageOperationsUpdateParams) => Promise<File>;\n /**\n * Delete the file from the database.\n */\n delete: (params: FileManagerFilesStorageOperationsDeleteParams) => Promise<void>;\n /**\n * Store multiple files at once to the database.\n */\n createBatch: (params: FileManagerFilesStorageOperationsCreateBatchParams) => Promise<File[]>;\n /**\n * Get a list of files filtered by given parameters.\n */\n list: (\n params: FileManagerFilesStorageOperationsListParams\n ) => Promise<FileManagerFilesStorageOperationsListResponse>;\n /**\n * Get a list of all file tags filtered by given parameters.\n */\n tags: (\n params: FileManagerFilesStorageOperationsTagsParams\n ) => Promise<FileManagerFilesStorageOperationsTagsResponse[]>;\n}\n\nexport interface FileManagerAliasesStorageOperations {\n storeAliases(file: File): Promise<void>;\n deleteAliases(file: File): Promise<void>;\n}\n\nexport interface FileManagerStorageOperations<TContext = FileManagerContext> {\n beforeInit?: (context: TContext) => Promise<void>;\n files: FileManagerFilesStorageOperations;\n aliases: FileManagerAliasesStorageOperations;\n settings: FileManagerSettingsStorageOperations;\n system: FileManagerSystemStorageOperations;\n}\n"],"mappings":";;;;;AASA,IAAAA,KAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,KAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,KAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,KAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,MAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,MAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,MAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,MAAA,CAAAL,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_file","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_file2"],"sources":["types.ts"],"sourcesContent":["import { I18NContext } from \"@webiny/api-i18n/types\";\nimport { FileStorage } from \"./storage/FileStorage\";\nimport { TenancyContext } from \"@webiny/api-tenancy/types\";\nimport { SecurityContext, SecurityPermission } from \"@webiny/api-security/types\";\nimport { Context } from \"@webiny/api/types\";\nimport { FileLifecycleEvents } from \"./types/file.lifecycle\";\nimport { File } from \"./types/file\";\nimport { Topic } from \"@webiny/pubsub/types\";\nimport { CmsContext } from \"@webiny/api-headless-cms/types\";\nexport * from \"./types/file.lifecycle\";\nexport * from \"./types/file\";\n\nexport interface FileManagerContextObject extends FilesCRUD, SettingsCRUD, SystemCRUD {\n storage: FileStorage;\n}\n\nexport interface FileManagerContext\n extends Context,\n SecurityContext,\n TenancyContext,\n I18NContext,\n CmsContext {\n fileManager: FileManagerContextObject;\n}\n\nexport interface FilePermission extends SecurityPermission {\n name: \"fm.file\";\n rwd?: string;\n own?: boolean;\n}\n\nexport interface FileInput {\n id: string;\n key: string;\n name: string;\n size: number;\n type: string;\n meta: Record<string, any>;\n location?: {\n folderId: string;\n };\n tags: string[];\n aliases: string[];\n extensions?: Record<string, any>;\n}\n\nexport interface FileListWhereParams {\n AND?: FileListWhereParams[];\n OR?: FileListWhereParams[];\n [key: string]: any;\n}\nexport interface FilesListOpts {\n search?: string;\n limit?: number;\n after?: string;\n where?: FileListWhereParams;\n sort?: string[];\n}\n\nexport interface FileListMeta {\n cursor: string | null;\n totalCount: number;\n hasMoreItems: boolean;\n}\n\ninterface FilesCrudListTagsWhere {\n tag?: string;\n tag_contains?: string;\n tag_in?: string[];\n tag_not_startsWith?: string;\n tag_startsWith?: string;\n}\ninterface FilesCrudListTagsParams {\n where?: FilesCrudListTagsWhere;\n limit?: number;\n after?: string;\n}\n\nexport interface ListTagsResponse {\n tag: string;\n count: number;\n}\nexport interface FilesCRUD extends FileLifecycleEvents {\n getFile(id: string): Promise<File>;\n listFiles(opts?: FilesListOpts): Promise<[File[], FileListMeta]>;\n listTags(params: FilesCrudListTagsParams): Promise<ListTagsResponse[]>;\n createFile(data: FileInput, meta?: Record<string, any>): Promise<File>;\n updateFile(id: string, data: Partial<FileInput>): Promise<File>;\n deleteFile(id: string): Promise<boolean>;\n createFilesInBatch(data: FileInput[], meta?: Record<string, any>): Promise<File[]>;\n}\n\nexport interface SystemCRUD {\n onSystemBeforeInstall: Topic;\n onSystemAfterInstall: Topic;\n getVersion(): Promise<string | null>;\n setVersion(version: string): Promise<void>;\n install(args: { srcPrefix: string }): Promise<boolean>;\n}\n\nexport interface FileManagerSettings {\n tenant: string;\n key: string;\n uploadMinFileSize: number;\n uploadMaxFileSize: number;\n srcPrefix: string;\n}\n\nexport interface FileManagerSystem {\n version: string;\n tenant: string;\n}\n\nexport interface OnSettingsBeforeUpdateTopicParams {\n input: Partial<FileManagerSettings>;\n original: FileManagerSettings;\n settings: FileManagerSettings;\n}\n\nexport interface OnSettingsAfterUpdateTopicParams {\n input: Partial<FileManagerSettings>;\n original: FileManagerSettings;\n settings: FileManagerSettings;\n}\n\nexport type SettingsCRUD = {\n getSettings(): Promise<FileManagerSettings | null>;\n createSettings(data?: Partial<FileManagerSettings>): Promise<FileManagerSettings>;\n updateSettings(data: Partial<FileManagerSettings>): Promise<FileManagerSettings>;\n deleteSettings(): Promise<boolean>;\n\n onSettingsBeforeUpdate: Topic<OnSettingsBeforeUpdateTopicParams>;\n onSettingsAfterUpdate: Topic<OnSettingsAfterUpdateTopicParams>;\n};\n/********\n * Storage operations\n *******/\n\n/**\n * @category StorageOperations\n * @category SystemStorageOperations\n * @category SystemStorageOperationsParams\n */\nexport interface FileManagerSystemStorageOperationsUpdateParams {\n /**\n * The system data to be updated.\n */\n original: FileManagerSystem;\n /**\n * The system data with the updated fields.\n */\n data: FileManagerSystem;\n}\n/**\n * @category StorageOperations\n * @category SystemStorageOperations\n * @category SystemStorageOperationsParams\n */\nexport interface FileManagerSystemStorageOperationsCreateParams {\n /**\n * The system fields.\n */\n data: FileManagerSystem;\n}\n\nexport interface FileManagerSystemStorageOperationsGetParams {\n tenant: string;\n}\n\n/**\n * @category StorageOperations\n * @category SystemStorageOperations\n */\nexport interface FileManagerSystemStorageOperations {\n /**\n * Get the FileManager system data.\n */\n get: (params: FileManagerSystemStorageOperationsGetParams) => Promise<FileManagerSystem | null>;\n /**\n * Update the FileManager system data..\n */\n update: (params: FileManagerSystemStorageOperationsUpdateParams) => Promise<FileManagerSystem>;\n /**\n * Create the FileManagerSystemData\n */\n create: (params: FileManagerSystemStorageOperationsCreateParams) => Promise<FileManagerSystem>;\n}\n\n/**\n * @category StorageOperations\n * @category SettingsStorageOperations\n * @category SettingsStorageOperationsParams\n */\nexport interface FileManagerSettingsStorageOperationsUpdateParams {\n /**\n * Original settings to be updated.\n */\n original: FileManagerSettings;\n /**\n * The settings with the updated fields.\n */\n data: FileManagerSettings;\n}\n/**\n * @category StorageOperations\n * @category SettingsStorageOperations\n * @category SettingsStorageOperationsParams\n */\nexport interface FileManagerSettingsStorageOperationsCreateParams {\n /**\n * The settings fields.\n */\n data: FileManagerSettings;\n}\n\nexport interface FileManagerStorageOperationsGetSettingsParams {\n tenant: string;\n}\n\nexport interface FileManagerStorageOperationsDeleteSettings {\n tenant: string;\n}\n\n/**\n * @category StorageOperations\n * @category SettingsStorageOperations\n */\nexport interface FileManagerSettingsStorageOperations {\n /**\n * Get the FileManager system data.\n */\n get: (\n params: FileManagerStorageOperationsGetSettingsParams\n ) => Promise<FileManagerSettings | null>;\n /**\n * Create the FileManagerSettingsData\n */\n create: (\n params: FileManagerSettingsStorageOperationsCreateParams\n ) => Promise<FileManagerSettings>;\n /**\n * Update the FileManager system data..\n */\n update: (\n params: FileManagerSettingsStorageOperationsUpdateParams\n ) => Promise<FileManagerSettings>;\n /**\n * Delete the existing settings.\n */\n delete: (params: FileManagerStorageOperationsDeleteSettings) => Promise<void>;\n}\n\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n * @category FilesStorageOperationsParams\n */\nexport interface FileManagerFilesStorageOperationsGetParams {\n where: {\n id: string;\n tenant: string;\n locale: string;\n };\n}\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n * @category FilesStorageOperationsParams\n */\nexport interface FileManagerFilesStorageOperationsCreateParams {\n file: File;\n}\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n * @category FilesStorageOperationsParams\n */\nexport interface FileManagerFilesStorageOperationsUpdateParams {\n original: File;\n file: File;\n}\n\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n * @category FilesStorageOperationsParams\n */\nexport interface FileManagerFilesStorageOperationsDeleteParams {\n file: File;\n}\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n * @category FilesStorageOperationsParams\n */\nexport interface FileManagerFilesStorageOperationsCreateBatchParams {\n files: File[];\n}\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n * @category FilesStorageOperationsParams\n */\nexport interface FileManagerFilesStorageOperationsListParamsWhere {\n [key: string]: any;\n}\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n * @category FilesStorageOperationsParams\n */\nexport interface FileManagerFilesStorageOperationsListParams {\n where: FileManagerFilesStorageOperationsListParamsWhere;\n sort: string[];\n limit: number;\n after: string | null;\n search?: string;\n}\n\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n * @category FilesStorageOperationsParams\n */\nexport interface FileManagerFilesStorageOperationsListResponseMeta {\n hasMoreItems: boolean;\n totalCount: number;\n cursor: string | null;\n}\nexport type FileManagerFilesStorageOperationsListResponse = [\n File[],\n FileManagerFilesStorageOperationsListResponseMeta\n];\n\nexport interface FileManagerFilesStorageOperationsTagsResponse {\n tag: string;\n count: number;\n}\n\nexport interface FileManagerFilesStorageOperationsTagsParamsWhere extends FilesCrudListTagsWhere {\n locale: string;\n tenant: string;\n}\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n * @category FilesStorageOperationsParams\n */\nexport interface FileManagerFilesStorageOperationsTagsParams {\n where: FileManagerFilesStorageOperationsTagsParamsWhere;\n limit: number;\n after?: string;\n}\n/**\n * @category StorageOperations\n * @category FilesStorageOperations\n */\nexport interface FileManagerFilesStorageOperations {\n /**\n * Get a single file with given ID from the storage.\n */\n get: (params: FileManagerFilesStorageOperationsGetParams) => Promise<File | null>;\n /**\n * Insert the file data into the database.\n */\n create: (params: FileManagerFilesStorageOperationsCreateParams) => Promise<File>;\n /**\n * Update the file data in the database.\n */\n update: (params: FileManagerFilesStorageOperationsUpdateParams) => Promise<File>;\n /**\n * Delete the file from the database.\n */\n delete: (params: FileManagerFilesStorageOperationsDeleteParams) => Promise<void>;\n /**\n * Store multiple files at once to the database.\n */\n createBatch: (params: FileManagerFilesStorageOperationsCreateBatchParams) => Promise<File[]>;\n /**\n * Get a list of files filtered by given parameters.\n */\n list: (\n params: FileManagerFilesStorageOperationsListParams\n ) => Promise<FileManagerFilesStorageOperationsListResponse>;\n /**\n * Get a list of all file tags filtered by given parameters.\n */\n tags: (\n params: FileManagerFilesStorageOperationsTagsParams\n ) => Promise<FileManagerFilesStorageOperationsTagsResponse[]>;\n}\n\nexport interface FileManagerAliasesStorageOperations {\n storeAliases(file: File): Promise<void>;\n deleteAliases(file: File): Promise<void>;\n}\n\nexport interface FileManagerStorageOperations<TContext = FileManagerContext> {\n beforeInit?: (context: TContext) => Promise<void>;\n files: FileManagerFilesStorageOperations;\n aliases: FileManagerAliasesStorageOperations;\n settings: FileManagerSettingsStorageOperations;\n system: FileManagerSystemStorageOperations;\n}\n"],"mappings":";;;;;AASA,IAAAA,KAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,KAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,KAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,KAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,MAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,MAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,MAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,MAAA,CAAAL,GAAA;IAAA;EAAA;AAAA"}