@webiny/api-file-manager 0.0.0-unstable.99666aeb00 → 0.0.0-unstable.a9593f74dd

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 (235) hide show
  1. package/FileManagerContextSetup.js +8 -6
  2. package/FileManagerContextSetup.js.map +1 -1
  3. package/cmsFileStorage/CmsFilesStorage.js +28 -25
  4. package/cmsFileStorage/CmsFilesStorage.js.map +1 -1
  5. package/cmsFileStorage/ListFilesWhereProcessor.js +8 -10
  6. package/cmsFileStorage/ListFilesWhereProcessor.js.map +1 -1
  7. package/cmsFileStorage/ListTagsWhereProcessor.js +8 -10
  8. package/cmsFileStorage/ListTagsWhereProcessor.js.map +1 -1
  9. package/cmsFileStorage/createFileManagerPlugins.d.ts +5 -3
  10. package/cmsFileStorage/createFileManagerPlugins.js +8 -25
  11. package/cmsFileStorage/createFileManagerPlugins.js.map +1 -1
  12. package/cmsFileStorage/createModelField.js +5 -1
  13. package/cmsFileStorage/createModelField.js.map +1 -1
  14. package/cmsFileStorage/file.model.d.ts +5 -3
  15. package/cmsFileStorage/file.model.js +64 -29
  16. package/cmsFileStorage/file.model.js.map +1 -1
  17. package/cmsFileStorage/isInstallationPending.js +3 -1
  18. package/cmsFileStorage/isInstallationPending.js.map +1 -1
  19. package/contants.js +3 -1
  20. package/contants.js.map +1 -1
  21. package/createFileManager/files.crud.js +83 -55
  22. package/createFileManager/files.crud.js.map +1 -1
  23. package/createFileManager/index.js +8 -5
  24. package/createFileManager/index.js.map +1 -1
  25. package/createFileManager/permissions/FilesPermissions.js +3 -1
  26. package/createFileManager/permissions/FilesPermissions.js.map +1 -1
  27. package/createFileManager/settings.crud.js +28 -12
  28. package/createFileManager/settings.crud.js.map +1 -1
  29. package/createFileManager/system.crud.js +6 -4
  30. package/createFileManager/system.crud.js.map +1 -1
  31. package/delivery/AssetDelivery/AliasAssetRequestResolver.d.ts +10 -0
  32. package/delivery/AssetDelivery/AliasAssetRequestResolver.js +74 -0
  33. package/delivery/AssetDelivery/AliasAssetRequestResolver.js.map +1 -0
  34. package/delivery/AssetDelivery/Asset.d.ts +30 -0
  35. package/delivery/AssetDelivery/Asset.js +64 -0
  36. package/delivery/AssetDelivery/Asset.js.map +1 -0
  37. package/delivery/AssetDelivery/AssetDeliveryConfig.d.ts +63 -0
  38. package/delivery/AssetDelivery/AssetDeliveryConfig.js +102 -0
  39. package/delivery/AssetDelivery/AssetDeliveryConfig.js.map +1 -0
  40. package/delivery/AssetDelivery/AssetRequest.d.ts +24 -0
  41. package/delivery/AssetDelivery/AssetRequest.js +29 -0
  42. package/delivery/AssetDelivery/AssetRequest.js.map +1 -0
  43. package/delivery/AssetDelivery/FilesAssetRequestResolver.d.ts +6 -0
  44. package/delivery/AssetDelivery/FilesAssetRequestResolver.js +33 -0
  45. package/delivery/AssetDelivery/FilesAssetRequestResolver.js.map +1 -0
  46. package/delivery/AssetDelivery/NullAssetOutputStrategy.d.ts +4 -0
  47. package/delivery/AssetDelivery/NullAssetOutputStrategy.js +15 -0
  48. package/delivery/AssetDelivery/NullAssetOutputStrategy.js.map +1 -0
  49. package/delivery/AssetDelivery/NullAssetReply.d.ts +4 -0
  50. package/delivery/AssetDelivery/NullAssetReply.js +20 -0
  51. package/delivery/AssetDelivery/NullAssetReply.js.map +1 -0
  52. package/delivery/AssetDelivery/NullAssetResolver.d.ts +5 -0
  53. package/delivery/AssetDelivery/NullAssetResolver.js +14 -0
  54. package/delivery/AssetDelivery/NullAssetResolver.js.map +1 -0
  55. package/delivery/AssetDelivery/NullRequestResolver.d.ts +4 -0
  56. package/delivery/AssetDelivery/NullRequestResolver.js +14 -0
  57. package/delivery/AssetDelivery/NullRequestResolver.js.map +1 -0
  58. package/delivery/AssetDelivery/SetCacheControlHeaders.d.ts +8 -0
  59. package/delivery/AssetDelivery/SetCacheControlHeaders.js +25 -0
  60. package/delivery/AssetDelivery/SetCacheControlHeaders.js.map +1 -0
  61. package/delivery/AssetDelivery/SetResponseHeaders.d.ts +18 -0
  62. package/delivery/AssetDelivery/SetResponseHeaders.js +25 -0
  63. package/delivery/AssetDelivery/SetResponseHeaders.js.map +1 -0
  64. package/delivery/AssetDelivery/abstractions/AssetContentsReader.d.ts +5 -0
  65. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js +7 -0
  66. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js.map +1 -0
  67. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.d.ts +4 -0
  68. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js +7 -0
  69. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js.map +1 -0
  70. package/delivery/AssetDelivery/abstractions/AssetProcessor.d.ts +4 -0
  71. package/delivery/AssetDelivery/abstractions/AssetProcessor.js +7 -0
  72. package/delivery/AssetDelivery/abstractions/AssetProcessor.js.map +1 -0
  73. package/delivery/AssetDelivery/abstractions/AssetReply.d.ts +25 -0
  74. package/delivery/AssetDelivery/abstractions/AssetReply.js +38 -0
  75. package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -0
  76. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.d.ts +5 -0
  77. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js +7 -0
  78. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js.map +1 -0
  79. package/delivery/AssetDelivery/abstractions/AssetResolver.d.ts +4 -0
  80. package/delivery/AssetDelivery/abstractions/AssetResolver.js +7 -0
  81. package/delivery/AssetDelivery/abstractions/AssetResolver.js.map +1 -0
  82. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.d.ts +4 -0
  83. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js +7 -0
  84. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js.map +1 -0
  85. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.d.ts +2 -0
  86. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +15 -0
  87. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -0
  88. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.d.ts +4 -0
  89. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js +7 -0
  90. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js.map +1 -0
  91. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +4 -0
  92. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js +26 -0
  93. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +1 -0
  94. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +4 -0
  95. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +15 -0
  96. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -0
  97. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +7 -0
  98. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +28 -0
  99. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -0
  100. package/delivery/AssetDelivery/privateFiles/PrivateCache.d.ts +4 -0
  101. package/delivery/AssetDelivery/privateFiles/PrivateCache.js +18 -0
  102. package/delivery/AssetDelivery/privateFiles/PrivateCache.js.map +1 -0
  103. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +7 -0
  104. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +37 -0
  105. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -0
  106. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +13 -0
  107. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js +62 -0
  108. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -0
  109. package/delivery/AssetDelivery/privateFiles/PublicCache.d.ts +4 -0
  110. package/delivery/AssetDelivery/privateFiles/PublicCache.js +18 -0
  111. package/delivery/AssetDelivery/privateFiles/PublicCache.js.map +1 -0
  112. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +6 -0
  113. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +27 -0
  114. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -0
  115. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +6 -0
  116. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +27 -0
  117. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -0
  118. package/delivery/AssetDelivery/privateFiles/internalIdentity.d.ts +7 -0
  119. package/delivery/AssetDelivery/privateFiles/internalIdentity.js +19 -0
  120. package/delivery/AssetDelivery/privateFiles/internalIdentity.js.map +1 -0
  121. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.d.ts +4 -0
  122. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js +14 -0
  123. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js.map +1 -0
  124. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.d.ts +4 -0
  125. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js +14 -0
  126. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +1 -0
  127. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.d.ts +6 -0
  128. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js +25 -0
  129. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js.map +1 -0
  130. package/delivery/index.d.ts +15 -0
  131. package/delivery/index.js +172 -0
  132. package/delivery/index.js.map +1 -0
  133. package/delivery/setupAssetDelivery.d.ts +6 -0
  134. package/delivery/setupAssetDelivery.js +124 -0
  135. package/delivery/setupAssetDelivery.js.map +1 -0
  136. package/graphql/baseSchema.js +4 -1
  137. package/graphql/baseSchema.js.map +1 -1
  138. package/graphql/createFilesTypeDefs.js +29 -6
  139. package/graphql/createFilesTypeDefs.js.map +1 -1
  140. package/graphql/filesSchema.js +13 -5
  141. package/graphql/filesSchema.js.map +1 -1
  142. package/graphql/getFileByUrl.d.ts +3 -0
  143. package/graphql/getFileByUrl.js +78 -0
  144. package/graphql/getFileByUrl.js.map +1 -0
  145. package/graphql/index.d.ts +2 -1
  146. package/graphql/index.js +24 -2
  147. package/graphql/index.js.map +1 -1
  148. package/graphql/utils.js +3 -1
  149. package/graphql/utils.js.map +1 -1
  150. package/handlers/{transform/managers → manage}/imageManager.d.ts +2 -3
  151. package/handlers/{transform/managers → manage}/imageManager.js +11 -9
  152. package/handlers/manage/imageManager.js.map +1 -0
  153. package/handlers/manage/index.d.ts +1 -1
  154. package/handlers/manage/index.js +9 -5
  155. package/handlers/manage/index.js.map +1 -1
  156. package/handlers/{transform → manage}/legacyUtils.d.ts +0 -5
  157. package/handlers/{transform → manage}/legacyUtils.js +3 -7
  158. package/handlers/manage/legacyUtils.js.map +1 -0
  159. package/handlers/{transform → manage}/utils.js +3 -1
  160. package/handlers/manage/utils.js.map +1 -0
  161. package/handlers/types.d.ts +1 -1
  162. package/handlers/types.js +3 -1
  163. package/handlers/types.js.map +1 -1
  164. package/handlers/utils/getEnvironment.js +3 -1
  165. package/handlers/utils/getEnvironment.js.map +1 -1
  166. package/handlers/utils/getObjectParams.js +3 -1
  167. package/handlers/utils/getObjectParams.js.map +1 -1
  168. package/handlers/utils/index.js +3 -1
  169. package/handlers/utils/index.js.map +1 -1
  170. package/index.d.ts +4 -1
  171. package/index.js +27 -7
  172. package/index.js.map +1 -1
  173. package/modelModifier/CmsModelModifier.d.ts +3 -1
  174. package/modelModifier/CmsModelModifier.js +13 -10
  175. package/modelModifier/CmsModelModifier.js.map +1 -1
  176. package/package.json +26 -26
  177. package/plugins/FilePhysicalStoragePlugin.js +3 -3
  178. package/plugins/FilePhysicalStoragePlugin.js.map +1 -1
  179. package/plugins/FileStorageTransformPlugin.js +3 -4
  180. package/plugins/FileStorageTransformPlugin.js.map +1 -1
  181. package/plugins/index.js +3 -1
  182. package/plugins/index.js.map +1 -1
  183. package/storage/FileStorage.d.ts +2 -1
  184. package/storage/FileStorage.js +20 -16
  185. package/storage/FileStorage.js.map +1 -1
  186. package/types/file.d.ts +11 -0
  187. package/types/file.js +3 -1
  188. package/types/file.js.map +1 -1
  189. package/types/file.lifecycle.js +3 -1
  190. package/types.d.ts +22 -2
  191. package/types.js +3 -1
  192. package/types.js.map +1 -1
  193. package/createFileManager/filevalidation.disabled.d.ts +0 -0
  194. package/createFileManager/filevalidation.disabled.js +0 -55
  195. package/createFileManager/filevalidation.disabled.js.map +0 -1
  196. package/handlers/download/byAlias.d.ts +0 -6
  197. package/handlers/download/byAlias.js +0 -89
  198. package/handlers/download/byAlias.js.map +0 -1
  199. package/handlers/download/byExactKey.d.ts +0 -2
  200. package/handlers/download/byExactKey.js +0 -57
  201. package/handlers/download/byExactKey.js.map +0 -1
  202. package/handlers/download/extractFileInformation.d.ts +0 -9
  203. package/handlers/download/extractFileInformation.js +0 -20
  204. package/handlers/download/extractFileInformation.js.map +0 -1
  205. package/handlers/download/getS3Object.d.ts +0 -12
  206. package/handlers/download/getS3Object.js +0 -72
  207. package/handlers/download/getS3Object.js.map +0 -1
  208. package/handlers/download/index.d.ts +0 -2
  209. package/handlers/download/index.js +0 -27
  210. package/handlers/download/index.js.map +0 -1
  211. package/handlers/transform/index.d.ts +0 -2
  212. package/handlers/transform/index.js +0 -92
  213. package/handlers/transform/index.js.map +0 -1
  214. package/handlers/transform/legacyUtils.js.map +0 -1
  215. package/handlers/transform/loaders/imageLoader.d.ts +0 -30
  216. package/handlers/transform/loaders/imageLoader.js +0 -94
  217. package/handlers/transform/loaders/imageLoader.js.map +0 -1
  218. package/handlers/transform/loaders/index.d.ts +0 -8
  219. package/handlers/transform/loaders/index.js +0 -10
  220. package/handlers/transform/loaders/index.js.map +0 -1
  221. package/handlers/transform/loaders/sanitizeImageTransformations.d.ts +0 -11
  222. package/handlers/transform/loaders/sanitizeImageTransformations.js +0 -45
  223. package/handlers/transform/loaders/sanitizeImageTransformations.js.map +0 -1
  224. package/handlers/transform/managers/imageManager.js.map +0 -1
  225. package/handlers/transform/managers/index.d.ts +0 -5
  226. package/handlers/transform/managers/index.js +0 -10
  227. package/handlers/transform/managers/index.js.map +0 -1
  228. package/handlers/transform/optimizeImage.d.ts +0 -3
  229. package/handlers/transform/optimizeImage.js +0 -42
  230. package/handlers/transform/optimizeImage.js.map +0 -1
  231. package/handlers/transform/transformImage.d.ts +0 -13
  232. package/handlers/transform/transformImage.js +0 -28
  233. package/handlers/transform/transformImage.js.map +0 -1
  234. package/handlers/transform/utils.js.map +0 -1
  235. /package/handlers/{transform → manage}/utils.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["required","name","message","nameField","createModelField","label","type","validation","keyField","typeField","sizeField","metaWidthField","metaHeightField","metaPrivateField","metaField","settings","fields","tagsField","multipleValues","aliasesField","FILE_MODEL_ID","createFileModelDefinition","group","modelId","titleFieldId","layout","id","storageId","fieldId","path","description","isPrivate","noValidate"],"sources":["file.model.ts"],"sourcesContent":["import { CmsPrivateModelFull } from \"@webiny/api-headless-cms\";\nimport { createModelField } from \"./createModelField\";\nimport { CmsModelGroup } from \"@webiny/api-headless-cms/types\";\n\nconst required = () => {\n return {\n name: \"required\",\n message: \"Value is required.\"\n };\n};\n\nconst nameField = () => {\n return createModelField({\n label: \"Name\",\n type: \"text\",\n validation: [required()]\n });\n};\n\nconst keyField = () => {\n return createModelField({\n label: \"Key\",\n type: \"text\",\n validation: [required()]\n });\n};\n\nconst typeField = () => {\n return createModelField({\n label: \"Type\",\n type: \"text\",\n validation: [required()]\n });\n};\n\nconst sizeField = () => {\n return createModelField({\n label: \"Size\",\n type: \"number\",\n validation: [required()]\n });\n};\n\nconst metaWidthField = () => {\n return createModelField({\n label: \"Width\",\n type: \"number\"\n });\n};\n\nconst metaHeightField = () => {\n return createModelField({\n label: \"Height\",\n type: \"number\"\n });\n};\n\nconst metaPrivateField = () => {\n return createModelField({\n label: \"Private\",\n type: \"boolean\"\n });\n};\n\nconst metaField = () => {\n return createModelField({\n label: \"Meta\",\n type: \"object\",\n settings: {\n fields: [metaPrivateField(), metaWidthField(), metaHeightField()]\n }\n });\n};\n\nconst tagsField = () => {\n return createModelField({\n label: \"Tags\",\n type: \"text\",\n multipleValues: true,\n validation: [required()]\n });\n};\n\nconst aliasesField = () => {\n return createModelField({\n label: \"Aliases\",\n type: \"text\",\n multipleValues: true,\n validation: [required()]\n });\n};\n\nexport const FILE_MODEL_ID = \"fmFile\";\n\nexport const createFileModelDefinition = (group: CmsModelGroup): CmsPrivateModelFull => {\n return {\n name: \"FmFile\",\n modelId: FILE_MODEL_ID,\n titleFieldId: \"name\",\n layout: [\n [\"location\"],\n [\"name\"],\n [\"key\"],\n [\"type\"],\n [\"size\"],\n [\"meta\"],\n [\"tags\"],\n [\"aliases\"]\n ],\n fields: [\n {\n id: \"location\",\n type: \"object\",\n storageId: \"object@location\",\n label: \"Location\",\n fieldId: \"location\",\n settings: {\n fields: [\n {\n id: \"folderId\",\n type: \"text\",\n fieldId: \"folderId\",\n label: \"Folder ID\",\n storageId: \"text@folderId\",\n settings: {\n path: \"location.folderId\"\n }\n }\n ]\n }\n },\n nameField(),\n keyField(),\n typeField(),\n sizeField(),\n metaField(),\n tagsField(),\n aliasesField()\n ],\n description: \"File Manager - File content model\",\n isPrivate: true,\n group,\n noValidate: true\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_apiHeadlessCms","require","_createModelField","required","name","message","nameField","createModelField","label","type","validation","keyField","typeField","sizeField","metaWidthField","metaHeightField","metaPrivateField","metaOriginalKeyField","metaField","settings","fields","accessControlTypeField","predefinedValues","enabled","values","value","selected","accessControlField","tags","tagsField","multipleValues","aliasesField","locationField","fieldId","path","FILE_MODEL_ID","exports","createFileModelDefinition","params","withPrivateFiles","push","createPrivateModelDefinition","modelId","titleFieldId"],"sources":["file.model.ts"],"sourcesContent":["import { createPrivateModelDefinition } from \"@webiny/api-headless-cms\";\nimport { createModelField } from \"./createModelField\";\n\nconst required = () => {\n return {\n name: \"required\",\n message: \"Value is required.\"\n };\n};\n\nconst nameField = () => {\n return createModelField({\n label: \"Name\",\n type: \"text\",\n validation: [required()]\n });\n};\n\nconst keyField = () => {\n return createModelField({\n label: \"Key\",\n type: \"text\",\n validation: [required()]\n });\n};\n\nconst typeField = () => {\n return createModelField({\n label: \"Type\",\n type: \"text\",\n validation: [required()]\n });\n};\n\nconst sizeField = () => {\n return createModelField({\n label: \"Size\",\n type: \"number\",\n validation: [required()]\n });\n};\n\nconst metaWidthField = () => {\n return createModelField({\n label: \"Width\",\n type: \"number\"\n });\n};\n\nconst metaHeightField = () => {\n return createModelField({\n label: \"Height\",\n type: \"number\"\n });\n};\n\nconst metaPrivateField = () => {\n return createModelField({\n label: \"Private\",\n type: \"boolean\"\n });\n};\n\nconst metaOriginalKeyField = () => {\n return createModelField({\n label: \"Original Key\",\n type: \"text\"\n });\n};\n\nconst metaField = () => {\n return createModelField({\n label: \"Meta\",\n type: \"object\",\n settings: {\n fields: [\n metaPrivateField(),\n metaWidthField(),\n metaHeightField(),\n metaOriginalKeyField()\n ]\n }\n });\n};\n\nconst accessControlTypeField = () => {\n return createModelField({\n label: \"Type\",\n type: \"text\",\n predefinedValues: {\n enabled: true,\n values: [\n {\n label: \"Public\",\n value: \"public\",\n selected: true\n },\n {\n label: \"Private\",\n value: \"private-authenticated\"\n }\n ]\n }\n });\n};\n\nconst accessControlField = () => {\n return createModelField({\n label: \"Access Control\",\n type: \"object\",\n tags: [\"$bulk-edit\"],\n settings: {\n fields: [accessControlTypeField()]\n }\n });\n};\n\nconst tagsField = () => {\n return createModelField({\n label: \"Tags\",\n type: \"text\",\n tags: [\"$bulk-edit\"],\n multipleValues: true,\n validation: [required()]\n });\n};\n\nconst aliasesField = () => {\n return createModelField({\n label: \"Aliases\",\n type: \"text\",\n multipleValues: true,\n validation: [required()]\n });\n};\n\nconst locationField = () => {\n return createModelField({\n type: \"object\",\n label: \"Location\",\n fieldId: \"location\",\n settings: {\n fields: [\n createModelField({\n type: \"text\",\n fieldId: \"folderId\",\n label: \"Folder ID\",\n settings: {\n path: \"location.folderId\"\n }\n })\n ]\n }\n });\n};\n\nexport const FILE_MODEL_ID = \"fmFile\";\n\ninterface CreateFileModelDefinitionParams {\n withPrivateFiles: boolean;\n}\n\nexport const createFileModelDefinition = (params: CreateFileModelDefinitionParams) => {\n const fields = [\n locationField(),\n nameField(),\n keyField(),\n typeField(),\n sizeField(),\n metaField(),\n tagsField(),\n aliasesField()\n ];\n\n if (params.withPrivateFiles) {\n fields.push(accessControlField());\n }\n\n return createPrivateModelDefinition({\n name: \"FmFile\",\n modelId: FILE_MODEL_ID,\n titleFieldId: \"name\",\n fields\n });\n};\n"],"mappings":"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"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"names":["isInstallationPending","tenancy","i18n","tenant","getCurrentTenant","getContentLocale"],"sources":["isInstallationPending.ts"],"sourcesContent":["import { FileManagerContext } from \"~/types\";\n\ntype CheckInstallationParams = Pick<FileManagerContext, \"tenancy\" | \"i18n\">;\nexport const isInstallationPending = ({ tenancy, i18n }: CheckInstallationParams): boolean => {\n /**\n * In case of a fresh webiny project \"tenant\" and \"locale\" won't be there until\n * installation is completed. So, we need to skip \"storage\" creation till then.\n */\n const tenant = tenancy.getCurrentTenant();\n if (!tenant) {\n return true;\n }\n\n return !i18n.getContentLocale();\n};\n"],"mappings":";;;;;;AAGO,MAAMA,qBAAqB,GAAG,CAAC;EAAEC,OAAO;EAAEC;AAA8B,CAAC,KAAc;EAC1F;AACJ;AACA;AACA;EACI,MAAMC,MAAM,GAAGF,OAAO,CAACG,gBAAgB,EAAE;EACzC,IAAI,CAACD,MAAM,EAAE;IACT,OAAO,IAAI;EACf;EAEA,OAAO,CAACD,IAAI,CAACG,gBAAgB,EAAE;AACnC,CAAC;AAAC"}
1
+ {"version":3,"names":["isInstallationPending","tenancy","i18n","tenant","getCurrentTenant","getContentLocale","exports"],"sources":["isInstallationPending.ts"],"sourcesContent":["import { FileManagerContext } from \"~/types\";\n\ntype CheckInstallationParams = Pick<FileManagerContext, \"tenancy\" | \"i18n\">;\nexport const isInstallationPending = ({ tenancy, i18n }: CheckInstallationParams): boolean => {\n /**\n * In case of a fresh webiny project \"tenant\" and \"locale\" won't be there until\n * installation is completed. So, we need to skip \"storage\" creation till then.\n */\n const tenant = tenancy.getCurrentTenant();\n if (!tenant) {\n return true;\n }\n\n return !i18n.getContentLocale();\n};\n"],"mappings":";;;;;;AAGO,MAAMA,qBAAqB,GAAGA,CAAC;EAAEC,OAAO;EAAEC;AAA8B,CAAC,KAAc;EAC1F;AACJ;AACA;AACA;EACI,MAAMC,MAAM,GAAGF,OAAO,CAACG,gBAAgB,CAAC,CAAC;EACzC,IAAI,CAACD,MAAM,EAAE;IACT,OAAO,IAAI;EACf;EAEA,OAAO,CAACD,IAAI,CAACG,gBAAgB,CAAC,CAAC;AACnC,CAAC;AAACC,OAAA,CAAAN,qBAAA,GAAAA,qBAAA"}
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
package/contants.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["ROOT_FOLDER"],"sources":["contants.ts"],"sourcesContent":["export const ROOT_FOLDER = \"root\";\n"],"mappings":";;;;;;AAAO,MAAMA,WAAW,GAAG,MAAM;AAAC"}
1
+ {"version":3,"names":["ROOT_FOLDER","exports"],"sources":["contants.ts"],"sourcesContent":["export const ROOT_FOLDER = \"root\";\n"],"mappings":";;;;;;AAAO,MAAMA,WAAW,GAAG,MAAM;AAACC,OAAA,CAAAD,WAAA,GAAAA,WAAA"}
@@ -5,11 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.createFilesCrud = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
8
  var _handlerGraphql = require("@webiny/handler-graphql");
10
9
  var _pubsub = require("@webiny/pubsub");
11
10
  var _error = _interopRequireDefault(require("@webiny/error"));
12
11
  var _contants = require("../contants");
12
+ var _apiSecurity = require("@webiny/api-security");
13
+ var _date = require("@webiny/api-headless-cms/utils/date");
14
+ var _identity = require("@webiny/api-headless-cms/utils/identity");
13
15
  const createFilesCrud = config => {
14
16
  const {
15
17
  storageOperations,
@@ -48,35 +50,36 @@ const createFilesCrud = config => {
48
50
  return file;
49
51
  },
50
52
  async createFile(input, meta) {
51
- var _input$location;
52
53
  await filesPermissions.ensure({
53
54
  rwd: "w"
54
55
  });
55
- const identity = getIdentity();
56
56
 
57
57
  // Extract ID from file key
58
58
  const [id] = input.key.split("/");
59
- const file = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, input), {}, {
59
+ const currentDateTime = new Date();
60
+ const currentIdentity = getIdentity();
61
+ const file = {
62
+ ...input,
60
63
  tags: Array.isArray(input.tags) ? input.tags : [],
61
64
  aliases: Array.isArray(input.aliases) ? input.aliases : [],
62
65
  id: input.id || id,
63
66
  location: {
64
- folderId: ((_input$location = input.location) === null || _input$location === void 0 ? void 0 : _input$location.folderId) ?? _contants.ROOT_FOLDER
67
+ folderId: input.location?.folderId ?? _contants.ROOT_FOLDER
65
68
  },
66
- meta: (0, _objectSpread2.default)({
67
- private: false
68
- }, input.meta || {}),
69
- tenant: getTenantId(),
70
- createdOn: new Date().toISOString(),
71
- savedOn: new Date().toISOString(),
72
- createdBy: {
73
- id: identity.id,
74
- displayName: identity.displayName,
75
- type: identity.type
69
+ meta: {
70
+ private: false,
71
+ ...(input.meta || {})
76
72
  },
73
+ createdOn: (0, _date.getDate)(input.createdOn, currentDateTime),
74
+ modifiedOn: (0, _date.getDate)(input.modifiedOn, null),
75
+ savedOn: (0, _date.getDate)(input.savedOn, currentDateTime),
76
+ createdBy: (0, _identity.getIdentity)(input.createdBy, currentIdentity),
77
+ modifiedBy: (0, _identity.getIdentity)(input.modifiedBy, null),
78
+ savedBy: (0, _identity.getIdentity)(input.savedBy, currentIdentity),
79
+ tenant: getTenantId(),
77
80
  locale: getLocaleCode(),
78
81
  webinyVersion: WEBINY_VERSION
79
- });
82
+ };
80
83
  try {
81
84
  await this.onFileBeforeCreate.publish({
82
85
  file,
@@ -91,9 +94,14 @@ const createFilesCrud = config => {
91
94
  });
92
95
  return result;
93
96
  } catch (ex) {
94
- throw new _error.default(ex.message || "Could not create a file.", ex.code || "CREATE_FILE_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
97
+ // If a `NotAuthorizedError` error was thrown, then we just want to rethrow it.
98
+ if (ex instanceof _apiSecurity.NotAuthorizedError) {
99
+ throw ex;
100
+ }
101
+ throw new _error.default(ex.message || "Could not create a file.", ex.code || "CREATE_FILE_ERROR", {
102
+ ...(ex.data || {}),
95
103
  file
96
- }));
104
+ });
97
105
  }
98
106
  },
99
107
  async updateFile(id, input) {
@@ -113,12 +121,22 @@ const createFilesCrud = config => {
113
121
  await filesPermissions.ensure({
114
122
  owns: original.createdBy
115
123
  });
116
- const file = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), input), {}, {
124
+ const currentDateTime = new Date();
125
+ const currentIdentity = getIdentity();
126
+ const file = {
127
+ ...original,
128
+ ...input,
129
+ createdOn: (0, _date.getDate)(input.createdOn, original.createdOn),
130
+ modifiedOn: (0, _date.getDate)(input.modifiedOn, currentDateTime),
131
+ savedOn: (0, _date.getDate)(input.savedOn, currentDateTime),
132
+ createdBy: (0, _identity.getIdentity)(input.createdBy, original.createdBy),
133
+ modifiedBy: (0, _identity.getIdentity)(input.modifiedBy, currentIdentity),
134
+ savedBy: (0, _identity.getIdentity)(input.savedBy, currentIdentity),
117
135
  tags: Array.isArray(input.tags) ? input.tags : Array.isArray(original.tags) ? original.tags : [],
118
136
  aliases: Array.isArray(input.aliases) ? input.aliases : Array.isArray(original.aliases) ? original.aliases : [],
119
137
  id: original.id,
120
138
  webinyVersion: WEBINY_VERSION
121
- });
139
+ };
122
140
  try {
123
141
  await this.onFileBeforeUpdate.publish({
124
142
  original,
@@ -136,10 +154,11 @@ const createFilesCrud = config => {
136
154
  });
137
155
  return result;
138
156
  } catch (ex) {
139
- throw new _error.default(ex.message || "Could not update a file.", ex.code || "UPDATE_FILE_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
157
+ throw new _error.default(ex.message || "Could not update a file.", ex.code || "UPDATE_FILE_ERROR", {
158
+ ...(ex.data || {}),
140
159
  original,
141
160
  file
142
- }));
161
+ });
143
162
  }
144
163
  },
145
164
  async deleteFile(id) {
@@ -170,10 +189,11 @@ const createFilesCrud = config => {
170
189
  file
171
190
  });
172
191
  } catch (ex) {
173
- throw new _error.default(ex.message || "Could not delete a file.", ex.code || "DELETE_FILE_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
192
+ throw new _error.default(ex.message || "Could not delete a file.", ex.code || "DELETE_FILE_ERROR", {
193
+ ...(ex.data || {}),
174
194
  id,
175
195
  file
176
- }));
196
+ });
177
197
  }
178
198
  return true;
179
199
  },
@@ -181,32 +201,32 @@ const createFilesCrud = config => {
181
201
  await filesPermissions.ensure({
182
202
  rwd: "w"
183
203
  });
184
- const identity = getIdentity();
185
204
  const tenant = getTenantId();
186
205
  const locale = getLocaleCode();
187
- const createdBy = {
188
- id: identity.id,
189
- displayName: identity.displayName,
190
- type: identity.type
191
- };
206
+ const currentIdentity = getIdentity();
207
+ const currentDateTime = new Date();
192
208
  const files = inputs.map(input => {
193
- var _input$location2;
194
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, input), {}, {
209
+ return {
210
+ ...input,
195
211
  tags: Array.isArray(input.tags) ? input.tags : [],
196
212
  aliases: Array.isArray(input.aliases) ? input.aliases : [],
197
- meta: (0, _objectSpread2.default)({
198
- private: false
199
- }, input.meta || {}),
213
+ meta: {
214
+ private: false,
215
+ ...(input.meta || {})
216
+ },
200
217
  location: {
201
- folderId: ((_input$location2 = input.location) === null || _input$location2 === void 0 ? void 0 : _input$location2.folderId) ?? _contants.ROOT_FOLDER
218
+ folderId: input.location?.folderId ?? _contants.ROOT_FOLDER
202
219
  },
220
+ createdOn: (0, _date.getDate)(currentDateTime),
221
+ modifiedOn: null,
222
+ savedOn: (0, _date.getDate)(currentDateTime),
223
+ createdBy: (0, _identity.getIdentity)(currentIdentity),
224
+ modifiedBy: null,
225
+ savedBy: (0, _identity.getIdentity)(currentIdentity),
203
226
  tenant,
204
- createdOn: new Date().toISOString(),
205
- savedOn: new Date().toISOString(),
206
- createdBy,
207
227
  locale,
208
228
  webinyVersion: WEBINY_VERSION
209
- });
229
+ };
210
230
  });
211
231
  try {
212
232
  await this.onFileBeforeBatchCreate.publish({
@@ -222,9 +242,10 @@ const createFilesCrud = config => {
222
242
  });
223
243
  return results;
224
244
  } catch (ex) {
225
- throw new _error.default(ex.message || "Could not create a batch of files.", ex.code || "CREATE_FILES_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
245
+ throw new _error.default(ex.message || "Could not create a batch of files.", ex.code || "CREATE_FILES_ERROR", {
246
+ ...(ex.data || {}),
226
247
  files
227
- }));
248
+ });
228
249
  }
229
250
  },
230
251
  async listFiles(params = {}) {
@@ -238,14 +259,16 @@ const createFilesCrud = config => {
238
259
  sort: initialSort,
239
260
  search
240
261
  } = params;
241
- const where = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _objectSpread2.default)({
242
- meta: {
243
- private_not: true
244
- }
245
- }, initialWhere)), {}, {
262
+ const where = {
263
+ ...{
264
+ meta: {
265
+ private_not: true
266
+ },
267
+ ...initialWhere
268
+ },
246
269
  locale: getLocaleCode(),
247
270
  tenant: getTenantId()
248
- });
271
+ };
249
272
 
250
273
  /**
251
274
  * Always override the createdBy received from the user, if any.
@@ -264,12 +287,13 @@ const createFilesCrud = config => {
264
287
  search
265
288
  });
266
289
  } catch (ex) {
267
- throw new _error.default(ex.message || "Could not list files by given parameters.", ex.code || "FILE_TAG_SEARCH_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
290
+ throw new _error.default(ex.message || "Could not list files by given parameters.", ex.code || "FILE_TAG_SEARCH_ERROR", {
291
+ ...(ex.data || {}),
268
292
  where,
269
293
  after,
270
294
  limit,
271
295
  sort
272
- }));
296
+ });
273
297
  }
274
298
  },
275
299
  async listTags({
@@ -278,10 +302,11 @@ const createFilesCrud = config => {
278
302
  limit
279
303
  }) {
280
304
  await filesPermissions.ensure();
281
- const where = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, initialWhere), {}, {
305
+ const where = {
306
+ ...initialWhere,
282
307
  tenant: getTenantId(),
283
308
  locale: getLocaleCode()
284
- });
309
+ };
285
310
  const params = {
286
311
  where,
287
312
  limit: limit || 1000000,
@@ -290,11 +315,14 @@ const createFilesCrud = config => {
290
315
  try {
291
316
  return await storageOperations.files.tags(params);
292
317
  } catch (ex) {
293
- throw new _error.default(ex.message || "Could not search for tags.", ex.code || "FILE_TAG_SEARCH_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
318
+ throw new _error.default(ex.message || "Could not search for tags.", ex.code || "FILE_TAG_SEARCH_ERROR", {
319
+ ...(ex.data || {}),
294
320
  params
295
- }));
321
+ });
296
322
  }
297
323
  }
298
324
  };
299
325
  };
300
- exports.createFilesCrud = createFilesCrud;
326
+ exports.createFilesCrud = createFilesCrud;
327
+
328
+ //# sourceMappingURL=files.crud.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["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","identity","key","split","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","results","createBatch","listFiles","params","limit","after","initialWhere","sort","initialSort","search","private_not","canAccessOnlyOwnRecords","length","list","listTags"],"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","_date","_identity","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","key","split","currentDateTime","Date","currentIdentity","tags","Array","isArray","aliases","location","folderId","ROOT_FOLDER","private","createdOn","getDate","modifiedOn","savedOn","utilsGetIdentity","modifiedBy","savedBy","webinyVersion","publish","result","create","ex","NotAuthorizedError","WebinyError","message","code","data","updateFile","original","update","deleteFile","delete","createFilesInBatch","inputs","map","results","createBatch","listFiles","params","limit","after","initialWhere","sort","initialSort","search","private_not","canAccessOnlyOwnRecords","identity","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 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\";\nimport { getDate } from \"@webiny/api-headless-cms/utils/date\";\nimport { getIdentity as utilsGetIdentity } from \"@webiny/api-headless-cms/utils/identity\";\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 // Extract ID from file key\n const [id] = input.key.split(\"/\");\n\n const currentDateTime = new Date();\n const currentIdentity = getIdentity();\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\n createdOn: getDate(input.createdOn, currentDateTime),\n modifiedOn: getDate(input.modifiedOn, null),\n savedOn: getDate(input.savedOn, currentDateTime),\n createdBy: utilsGetIdentity(input.createdBy, currentIdentity),\n modifiedBy: utilsGetIdentity(input.modifiedBy, null),\n savedBy: utilsGetIdentity(input.savedBy, currentIdentity),\n\n tenant: getTenantId(),\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 currentDateTime = new Date();\n const currentIdentity = getIdentity();\n\n const file: File = {\n ...original,\n ...input,\n\n createdOn: getDate(input.createdOn, original.createdOn),\n modifiedOn: getDate(input.modifiedOn, currentDateTime),\n savedOn: getDate(input.savedOn, currentDateTime),\n createdBy: utilsGetIdentity(input.createdBy, original.createdBy),\n modifiedBy: utilsGetIdentity(input.modifiedBy, currentIdentity),\n savedBy: utilsGetIdentity(input.savedBy, currentIdentity),\n\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 tenant = getTenantId();\n const locale = getLocaleCode();\n\n const currentIdentity = getIdentity();\n const currentDateTime = new Date();\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\n createdOn: getDate(currentDateTime),\n modifiedOn: null,\n savedOn: getDate(currentDateTime),\n createdBy: utilsGetIdentity(currentIdentity),\n modifiedBy: null,\n savedBy: utilsGetIdentity(currentIdentity),\n\n tenant,\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,11 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.createFileManager = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
7
  var _files = require("./files.crud");
10
8
  var _settings = require("./settings.crud");
11
9
  var _system = require("./system.crud");
@@ -13,8 +11,13 @@ const createFileManager = config => {
13
11
  const filesCrud = (0, _files.createFilesCrud)(config);
14
12
  const settingsCrud = (0, _settings.createSettingsCrud)(config);
15
13
  const systemCrud = (0, _system.createSystemCrud)(config);
16
- return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, filesCrud), settingsCrud), systemCrud), {}, {
14
+ return {
15
+ ...filesCrud,
16
+ ...settingsCrud,
17
+ ...systemCrud,
17
18
  storage: config.storage
18
- });
19
+ };
19
20
  };
20
- exports.createFileManager = createFileManager;
21
+ exports.createFileManager = createFileManager;
22
+
23
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFileManager","config","filesCrud","createFilesCrud","settingsCrud","createSettingsCrud","systemCrud","createSystemCrud","storage"],"sources":["index.ts"],"sourcesContent":["import { FileManagerContextObject, FileManagerStorageOperations } from \"~/types\";\nimport { GetPermissions, SecurityIdentity } from \"@webiny/api-security/types\";\nimport { createFilesCrud } from \"~/createFileManager/files.crud\";\nimport { FileStorage } from \"~/storage/FileStorage\";\nimport { createSettingsCrud } from \"~/createFileManager/settings.crud\";\nimport { createSystemCrud } from \"~/createFileManager/system.crud\";\nimport { FilesPermissions } from \"~/createFileManager/permissions/FilesPermissions\";\n\nexport interface FileManagerConfig {\n storageOperations: FileManagerStorageOperations;\n filesPermissions: FilesPermissions;\n getTenantId: () => string;\n getLocaleCode: () => string;\n getIdentity: () => SecurityIdentity;\n getPermissions: GetPermissions;\n storage: FileStorage;\n WEBINY_VERSION: string;\n}\n\nexport const createFileManager = (config: FileManagerConfig): FileManagerContextObject => {\n const filesCrud = createFilesCrud(config);\n const settingsCrud = createSettingsCrud(config);\n const systemCrud = createSystemCrud(config);\n\n return {\n ...filesCrud,\n ...settingsCrud,\n ...systemCrud,\n storage: config.storage\n };\n};\n"],"mappings":";;;;;;;;AAEA;AAEA;AACA;AAcO,MAAMA,iBAAiB,GAAIC,MAAyB,IAA+B;EACtF,MAAMC,SAAS,GAAG,IAAAC,sBAAe,EAACF,MAAM,CAAC;EACzC,MAAMG,YAAY,GAAG,IAAAC,4BAAkB,EAACJ,MAAM,CAAC;EAC/C,MAAMK,UAAU,GAAG,IAAAC,wBAAgB,EAACN,MAAM,CAAC;EAE3C,2HACOC,SAAS,GACTE,YAAY,GACZE,UAAU;IACbE,OAAO,EAAEP,MAAM,CAACO;EAAO;AAE/B,CAAC;AAAC"}
1
+ {"version":3,"names":["_files","require","_settings","_system","createFileManager","config","filesCrud","createFilesCrud","settingsCrud","createSettingsCrud","systemCrud","createSystemCrud","storage","exports"],"sources":["index.ts"],"sourcesContent":["import { FileManagerContextObject, FileManagerStorageOperations } from \"~/types\";\nimport { GetPermissions, SecurityIdentity } from \"@webiny/api-security/types\";\nimport { createFilesCrud } from \"~/createFileManager/files.crud\";\nimport { FileStorage } from \"~/storage/FileStorage\";\nimport { createSettingsCrud } from \"~/createFileManager/settings.crud\";\nimport { createSystemCrud } from \"~/createFileManager/system.crud\";\nimport { FilesPermissions } from \"~/createFileManager/permissions/FilesPermissions\";\n\nexport interface FileManagerConfig {\n storageOperations: FileManagerStorageOperations;\n filesPermissions: FilesPermissions;\n getTenantId: () => string;\n getLocaleCode: () => string;\n getIdentity: () => SecurityIdentity;\n getPermissions: GetPermissions;\n storage: FileStorage;\n WEBINY_VERSION: string;\n}\n\nexport const createFileManager = (config: FileManagerConfig): FileManagerContextObject => {\n const filesCrud = createFilesCrud(config);\n const settingsCrud = createSettingsCrud(config);\n const systemCrud = createSystemCrud(config);\n\n return {\n ...filesCrud,\n ...settingsCrud,\n ...systemCrud,\n storage: config.storage\n };\n};\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAcO,MAAMG,iBAAiB,GAAIC,MAAyB,IAA+B;EACtF,MAAMC,SAAS,GAAG,IAAAC,sBAAe,EAACF,MAAM,CAAC;EACzC,MAAMG,YAAY,GAAG,IAAAC,4BAAkB,EAACJ,MAAM,CAAC;EAC/C,MAAMK,UAAU,GAAG,IAAAC,wBAAgB,EAACN,MAAM,CAAC;EAE3C,OAAO;IACH,GAAGC,SAAS;IACZ,GAAGE,YAAY;IACf,GAAGE,UAAU;IACbE,OAAO,EAAEP,MAAM,CAACO;EACpB,CAAC;AACL,CAAC;AAACC,OAAA,CAAAT,iBAAA,GAAAA,iBAAA"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"names":["FilesPermissions","AppPermissions"],"sources":["FilesPermissions.ts"],"sourcesContent":["import { AppPermissions } from \"@webiny/api-security/utils/AppPermissions\";\nimport { FilePermission } from \"~/types\";\n\nexport class FilesPermissions extends AppPermissions<FilePermission> {}\n"],"mappings":";;;;;;AAAA;AAGO,MAAMA,gBAAgB,SAASC,8BAAc,CAAiB;AAAE"}
1
+ {"version":3,"names":["_AppPermissions","require","FilesPermissions","AppPermissions","exports"],"sources":["FilesPermissions.ts"],"sourcesContent":["import { AppPermissions } from \"@webiny/api-security/utils/AppPermissions\";\nimport { FilePermission } from \"~/types\";\n\nexport class FilesPermissions extends AppPermissions<FilePermission> {}\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAGO,MAAMC,gBAAgB,SAASC,8BAAc,CAAiB;AAAEC,OAAA,CAAAF,gBAAA,GAAAA,gBAAA"}
@@ -1,18 +1,15 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.createSettingsCrud = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
7
+ var _pubsub = require("@webiny/pubsub");
9
8
  var _fields = require("@commodo/fields");
10
9
  var _validation = require("@webiny/validation");
11
10
  /**
12
11
  * Package @commodo/fields does not have types.
13
- */
14
- // @ts-ignore
15
-
12
+ */ // @ts-expect-error
16
13
  const CreateDataModel = (0, _fields.withFields)({
17
14
  uploadMinFileSize: (0, _fields.number)({
18
15
  value: 0,
@@ -49,6 +46,8 @@ const createSettingsCrud = ({
49
46
  getTenantId
50
47
  }) => {
51
48
  return {
49
+ onSettingsBeforeUpdate: (0, _pubsub.createTopic)("fileManager.onSettingsBeforeUpdate"),
50
+ onSettingsAfterUpdate: (0, _pubsub.createTopic)("fileManager.onSettingsAfterUpdate"),
52
51
  async getSettings() {
53
52
  return storageOperations.settings.get({
54
53
  tenant: getTenantId()
@@ -59,9 +58,10 @@ const createSettingsCrud = ({
59
58
  await settings.validate();
60
59
  const settingsData = await settings.toJSON();
61
60
  return storageOperations.settings.create({
62
- data: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, settingsData), {}, {
61
+ data: {
62
+ ...settingsData,
63
63
  tenant: getTenantId()
64
- })
64
+ }
65
65
  });
66
66
  },
67
67
  async updateSettings(data) {
@@ -73,12 +73,26 @@ const createSettingsCrud = ({
73
73
  const updatedSettings = await updatedValue.toJSON({
74
74
  onlyDirty: true
75
75
  });
76
- return storageOperations.settings.update({
76
+ const settings = {
77
+ ...existingSettings,
78
+ ...updatedSettings,
79
+ tenant: getTenantId()
80
+ };
81
+ await this.onSettingsBeforeUpdate.publish({
82
+ input: data,
77
83
  original: existingSettings,
78
- data: (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, existingSettings), updatedSettings), {}, {
79
- tenant: getTenantId()
80
- })
84
+ settings
85
+ });
86
+ const result = await storageOperations.settings.update({
87
+ original: existingSettings,
88
+ data: settings
89
+ });
90
+ await this.onSettingsAfterUpdate.publish({
91
+ input: data,
92
+ original: existingSettings,
93
+ settings: result
81
94
  });
95
+ return result;
82
96
  },
83
97
  async deleteSettings() {
84
98
  await storageOperations.settings.delete({
@@ -88,4 +102,6 @@ const createSettingsCrud = ({
88
102
  }
89
103
  };
90
104
  };
91
- exports.createSettingsCrud = createSettingsCrud;
105
+ exports.createSettingsCrud = createSettingsCrud;
106
+
107
+ //# sourceMappingURL=settings.crud.js.map