@webiny/api-file-manager 0.0.0-unstable.2af142b57e → 0.0.0-unstable.3bc8100a7f

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 (291) hide show
  1. package/FileManagerContextSetup.d.ts +13 -0
  2. package/FileManagerContextSetup.js +115 -0
  3. package/FileManagerContextSetup.js.map +1 -0
  4. package/README.md +1 -1
  5. package/cmsFileStorage/CmsFilesStorage.d.ts +27 -0
  6. package/cmsFileStorage/CmsFilesStorage.js +164 -0
  7. package/cmsFileStorage/CmsFilesStorage.js.map +1 -0
  8. package/cmsFileStorage/ListFilesWhereProcessor.d.ts +7 -0
  9. package/cmsFileStorage/ListFilesWhereProcessor.js +33 -0
  10. package/cmsFileStorage/ListFilesWhereProcessor.js.map +1 -0
  11. package/cmsFileStorage/ListTagsWhereProcessor.d.ts +7 -0
  12. package/cmsFileStorage/ListTagsWhereProcessor.js +33 -0
  13. package/cmsFileStorage/ListTagsWhereProcessor.js.map +1 -0
  14. package/cmsFileStorage/file.model.d.ts +6 -0
  15. package/cmsFileStorage/file.model.js +158 -0
  16. package/cmsFileStorage/file.model.js.map +1 -0
  17. package/contants.d.ts +1 -0
  18. package/contants.js +9 -0
  19. package/contants.js.map +1 -0
  20. package/createFileManager/files.crud.d.ts +3 -0
  21. package/createFileManager/files.crud.js +328 -0
  22. package/createFileManager/files.crud.js.map +1 -0
  23. package/createFileManager/index.d.ts +3 -0
  24. package/createFileManager/index.js +23 -0
  25. package/createFileManager/index.js.map +1 -0
  26. package/createFileManager/permissions/FilesPermissions.d.ts +4 -0
  27. package/createFileManager/permissions/FilesPermissions.js +11 -0
  28. package/createFileManager/permissions/FilesPermissions.js.map +1 -0
  29. package/createFileManager/permissions/SettingsPermissions.d.ts +4 -0
  30. package/createFileManager/permissions/SettingsPermissions.js +11 -0
  31. package/createFileManager/permissions/SettingsPermissions.js.map +1 -0
  32. package/createFileManager/settings.crud.d.ts +3 -0
  33. package/createFileManager/settings.crud.js +117 -0
  34. package/createFileManager/settings.crud.js.map +1 -0
  35. package/createFileManager/system.crud.d.ts +3 -0
  36. package/createFileManager/system.crud.js +88 -0
  37. package/createFileManager/system.crud.js.map +1 -0
  38. package/createFileManager/types.d.ts +16 -0
  39. package/createFileManager/types.js +7 -0
  40. package/createFileManager/types.js.map +1 -0
  41. package/delivery/AssetDelivery/AliasAssetRequestResolver.d.ts +11 -0
  42. package/delivery/AssetDelivery/AliasAssetRequestResolver.js +74 -0
  43. package/delivery/AssetDelivery/AliasAssetRequestResolver.js.map +1 -0
  44. package/delivery/AssetDelivery/Asset.d.ts +32 -0
  45. package/delivery/AssetDelivery/Asset.js +69 -0
  46. package/delivery/AssetDelivery/Asset.js.map +1 -0
  47. package/delivery/AssetDelivery/AssetDeliveryConfig.d.ts +63 -0
  48. package/delivery/AssetDelivery/AssetDeliveryConfig.js +102 -0
  49. package/delivery/AssetDelivery/AssetDeliveryConfig.js.map +1 -0
  50. package/delivery/AssetDelivery/AssetRequest.d.ts +25 -0
  51. package/delivery/AssetDelivery/AssetRequest.js +29 -0
  52. package/delivery/AssetDelivery/AssetRequest.js.map +1 -0
  53. package/delivery/AssetDelivery/FilesAssetRequestResolver.d.ts +6 -0
  54. package/delivery/AssetDelivery/FilesAssetRequestResolver.js +37 -0
  55. package/delivery/AssetDelivery/FilesAssetRequestResolver.js.map +1 -0
  56. package/delivery/AssetDelivery/NullAssetOutputStrategy.d.ts +4 -0
  57. package/delivery/AssetDelivery/NullAssetOutputStrategy.js +15 -0
  58. package/delivery/AssetDelivery/NullAssetOutputStrategy.js.map +1 -0
  59. package/delivery/AssetDelivery/NullAssetReply.d.ts +4 -0
  60. package/delivery/AssetDelivery/NullAssetReply.js +20 -0
  61. package/delivery/AssetDelivery/NullAssetReply.js.map +1 -0
  62. package/delivery/AssetDelivery/NullAssetResolver.d.ts +5 -0
  63. package/delivery/AssetDelivery/NullAssetResolver.js +14 -0
  64. package/delivery/AssetDelivery/NullAssetResolver.js.map +1 -0
  65. package/delivery/AssetDelivery/NullRequestResolver.d.ts +4 -0
  66. package/delivery/AssetDelivery/NullRequestResolver.js +14 -0
  67. package/delivery/AssetDelivery/NullRequestResolver.js.map +1 -0
  68. package/delivery/AssetDelivery/SetCacheControlHeaders.d.ts +8 -0
  69. package/delivery/AssetDelivery/SetCacheControlHeaders.js +25 -0
  70. package/delivery/AssetDelivery/SetCacheControlHeaders.js.map +1 -0
  71. package/delivery/AssetDelivery/SetResponseHeaders.d.ts +18 -0
  72. package/delivery/AssetDelivery/SetResponseHeaders.js +25 -0
  73. package/delivery/AssetDelivery/SetResponseHeaders.js.map +1 -0
  74. package/delivery/AssetDelivery/abstractions/AssetContentsReader.d.ts +6 -0
  75. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js +7 -0
  76. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js.map +1 -0
  77. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.d.ts +4 -0
  78. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js +7 -0
  79. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js.map +1 -0
  80. package/delivery/AssetDelivery/abstractions/AssetProcessor.d.ts +4 -0
  81. package/delivery/AssetDelivery/abstractions/AssetProcessor.js +7 -0
  82. package/delivery/AssetDelivery/abstractions/AssetProcessor.js.map +1 -0
  83. package/delivery/AssetDelivery/abstractions/AssetReply.d.ts +25 -0
  84. package/delivery/AssetDelivery/abstractions/AssetReply.js +38 -0
  85. package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -0
  86. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.d.ts +5 -0
  87. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js +7 -0
  88. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js.map +1 -0
  89. package/delivery/AssetDelivery/abstractions/AssetResolver.d.ts +4 -0
  90. package/delivery/AssetDelivery/abstractions/AssetResolver.js +7 -0
  91. package/delivery/AssetDelivery/abstractions/AssetResolver.js.map +1 -0
  92. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.d.ts +4 -0
  93. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js +7 -0
  94. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js.map +1 -0
  95. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.d.ts +2 -0
  96. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +15 -0
  97. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -0
  98. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.d.ts +4 -0
  99. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js +7 -0
  100. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js.map +1 -0
  101. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +4 -0
  102. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js +26 -0
  103. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +1 -0
  104. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +4 -0
  105. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +15 -0
  106. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -0
  107. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +7 -0
  108. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +28 -0
  109. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -0
  110. package/delivery/AssetDelivery/privateFiles/PrivateCache.d.ts +6 -0
  111. package/delivery/AssetDelivery/privateFiles/PrivateCache.js +28 -0
  112. package/delivery/AssetDelivery/privateFiles/PrivateCache.js.map +1 -0
  113. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +8 -0
  114. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +37 -0
  115. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -0
  116. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +13 -0
  117. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js +63 -0
  118. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -0
  119. package/delivery/AssetDelivery/privateFiles/PublicCache.d.ts +6 -0
  120. package/delivery/AssetDelivery/privateFiles/PublicCache.js +28 -0
  121. package/delivery/AssetDelivery/privateFiles/PublicCache.js.map +1 -0
  122. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +7 -0
  123. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +27 -0
  124. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -0
  125. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +7 -0
  126. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +27 -0
  127. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -0
  128. package/delivery/AssetDelivery/privateFiles/internalIdentity.d.ts +7 -0
  129. package/delivery/AssetDelivery/privateFiles/internalIdentity.js +18 -0
  130. package/delivery/AssetDelivery/privateFiles/internalIdentity.js.map +1 -0
  131. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.d.ts +4 -0
  132. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js +14 -0
  133. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js.map +1 -0
  134. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.d.ts +4 -0
  135. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js +14 -0
  136. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +1 -0
  137. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.d.ts +6 -0
  138. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js +26 -0
  139. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js.map +1 -0
  140. package/delivery/index.d.ts +17 -0
  141. package/delivery/index.js +194 -0
  142. package/delivery/index.js.map +1 -0
  143. package/delivery/setupAssetDelivery.d.ts +6 -0
  144. package/delivery/setupAssetDelivery.js +128 -0
  145. package/delivery/setupAssetDelivery.js.map +1 -0
  146. package/enterprise/applyThreatScanning.d.ts +2 -0
  147. package/enterprise/applyThreatScanning.js +20 -0
  148. package/enterprise/applyThreatScanning.js.map +1 -0
  149. package/graphql/baseSchema.d.ts +3 -0
  150. package/graphql/baseSchema.js +121 -0
  151. package/graphql/baseSchema.js.map +1 -0
  152. package/graphql/createFilesTypeDefs.d.ts +7 -0
  153. package/graphql/createFilesTypeDefs.js +184 -0
  154. package/graphql/createFilesTypeDefs.js.map +1 -0
  155. package/graphql/filesSchema.d.ts +4 -0
  156. package/graphql/filesSchema.js +89 -0
  157. package/graphql/filesSchema.js.map +1 -0
  158. package/graphql/getFileByUrl.d.ts +3 -0
  159. package/graphql/getFileByUrl.js +78 -0
  160. package/graphql/getFileByUrl.js.map +1 -0
  161. package/graphql/index.d.ts +4 -0
  162. package/graphql/index.js +55 -0
  163. package/graphql/index.js.map +1 -0
  164. package/graphql/utils.d.ts +11 -0
  165. package/graphql/utils.js +24 -0
  166. package/graphql/utils.js.map +1 -0
  167. package/handlers/{transform/managers → manage}/imageManager.d.ts +2 -3
  168. package/handlers/manage/imageManager.js +75 -0
  169. package/handlers/manage/imageManager.js.map +1 -0
  170. package/handlers/manage/index.d.ts +1 -1
  171. package/handlers/manage/index.js +9 -5
  172. package/handlers/manage/index.js.map +1 -1
  173. package/handlers/{transform/utils.js → manage/legacyUtils.js} +7 -9
  174. package/handlers/manage/legacyUtils.js.map +1 -0
  175. package/handlers/manage/utils.d.ts +12 -0
  176. package/handlers/manage/utils.js +34 -0
  177. package/handlers/manage/utils.js.map +1 -0
  178. package/handlers/types.d.ts +1 -1
  179. package/handlers/types.js +3 -1
  180. package/handlers/types.js.map +1 -1
  181. package/handlers/utils/getEnvironment.js +3 -1
  182. package/handlers/utils/getEnvironment.js.map +1 -1
  183. package/handlers/utils/getObjectParams.js +3 -1
  184. package/handlers/utils/getObjectParams.js.map +1 -1
  185. package/handlers/utils/index.js +3 -1
  186. package/handlers/utils/index.js.map +1 -1
  187. package/index.d.ts +10 -0
  188. package/index.js +76 -0
  189. package/index.js.map +1 -0
  190. package/modelModifier/CmsModelModifier.d.ts +26 -0
  191. package/modelModifier/CmsModelModifier.js +62 -0
  192. package/modelModifier/CmsModelModifier.js.map +1 -0
  193. package/package.json +26 -37
  194. package/plugins/{definitions/FilePhysicalStoragePlugin.d.ts → FilePhysicalStoragePlugin.d.ts} +2 -1
  195. package/plugins/{definitions/FilePhysicalStoragePlugin.js → FilePhysicalStoragePlugin.js} +3 -3
  196. package/plugins/FilePhysicalStoragePlugin.js.map +1 -0
  197. package/plugins/{definitions/FileStorageTransformPlugin.d.ts → FileStorageTransformPlugin.d.ts} +1 -1
  198. package/plugins/{definitions/FileStorageTransformPlugin.js → FileStorageTransformPlugin.js} +3 -4
  199. package/plugins/FileStorageTransformPlugin.js.map +1 -0
  200. package/plugins/index.d.ts +2 -2
  201. package/plugins/index.js +24 -10
  202. package/plugins/index.js.map +1 -1
  203. package/{plugins/storage → storage}/FileStorage.d.ts +10 -6
  204. package/storage/FileStorage.js +90 -0
  205. package/storage/FileStorage.js.map +1 -0
  206. package/types/file.d.ts +49 -0
  207. package/types/file.js +7 -0
  208. package/types/file.js.map +1 -0
  209. package/types/file.lifecycle.d.ts +44 -0
  210. package/types/file.lifecycle.js +7 -0
  211. package/types/file.lifecycle.js.map +1 -0
  212. package/types.d.ts +92 -81
  213. package/types.js +25 -1
  214. package/types.js.map +1 -1
  215. package/handlers/download/index.d.ts +0 -3
  216. package/handlers/download/index.js +0 -113
  217. package/handlers/download/index.js.map +0 -1
  218. package/handlers/transform/index.d.ts +0 -2
  219. package/handlers/transform/index.js +0 -81
  220. package/handlers/transform/index.js.map +0 -1
  221. package/handlers/transform/loaders/imageLoader.d.ts +0 -30
  222. package/handlers/transform/loaders/imageLoader.js +0 -88
  223. package/handlers/transform/loaders/imageLoader.js.map +0 -1
  224. package/handlers/transform/loaders/index.d.ts +0 -8
  225. package/handlers/transform/loaders/index.js +0 -10
  226. package/handlers/transform/loaders/index.js.map +0 -1
  227. package/handlers/transform/loaders/sanitizeImageTransformations.d.ts +0 -11
  228. package/handlers/transform/loaders/sanitizeImageTransformations.js +0 -45
  229. package/handlers/transform/loaders/sanitizeImageTransformations.js.map +0 -1
  230. package/handlers/transform/managers/imageManager.js +0 -55
  231. package/handlers/transform/managers/imageManager.js.map +0 -1
  232. package/handlers/transform/managers/index.d.ts +0 -5
  233. package/handlers/transform/managers/index.js +0 -10
  234. package/handlers/transform/managers/index.js.map +0 -1
  235. package/handlers/transform/optimizeImage.d.ts +0 -3
  236. package/handlers/transform/optimizeImage.js +0 -42
  237. package/handlers/transform/optimizeImage.js.map +0 -1
  238. package/handlers/transform/transformImage.d.ts +0 -10
  239. package/handlers/transform/transformImage.js +0 -25
  240. package/handlers/transform/transformImage.js.map +0 -1
  241. package/handlers/transform/utils.js.map +0 -1
  242. package/plugins/crud/files/validation.d.ts +0 -3
  243. package/plugins/crud/files/validation.js +0 -35
  244. package/plugins/crud/files/validation.js.map +0 -1
  245. package/plugins/crud/files.crud.d.ts +0 -4
  246. package/plugins/crud/files.crud.js +0 -372
  247. package/plugins/crud/files.crud.js.map +0 -1
  248. package/plugins/crud/settings.crud.d.ts +0 -5
  249. package/plugins/crud/settings.crud.js +0 -99
  250. package/plugins/crud/settings.crud.js.map +0 -1
  251. package/plugins/crud/system.crud.d.ts +0 -4
  252. package/plugins/crud/system.crud.js +0 -123
  253. package/plugins/crud/system.crud.js.map +0 -1
  254. package/plugins/crud/utils/checkBasePermissions.d.ts +0 -5
  255. package/plugins/crud/utils/checkBasePermissions.js +0 -25
  256. package/plugins/crud/utils/checkBasePermissions.js.map +0 -1
  257. package/plugins/crud/utils/createFileModel.d.ts +0 -5
  258. package/plugins/crud/utils/createFileModel.js +0 -65
  259. package/plugins/crud/utils/createFileModel.js.map +0 -1
  260. package/plugins/crud/utils/lifecycleEvents.d.ts +0 -6
  261. package/plugins/crud/utils/lifecycleEvents.js +0 -30
  262. package/plugins/crud/utils/lifecycleEvents.js.map +0 -1
  263. package/plugins/definitions/FilePhysicalStoragePlugin.js.map +0 -1
  264. package/plugins/definitions/FilePlugin.d.ts +0 -136
  265. package/plugins/definitions/FilePlugin.js +0 -52
  266. package/plugins/definitions/FilePlugin.js.map +0 -1
  267. package/plugins/definitions/FileStorageTransformPlugin.js.map +0 -1
  268. package/plugins/definitions/FilesStorageOperationsProviderPlugin.d.ts +0 -9
  269. package/plugins/definitions/FilesStorageOperationsProviderPlugin.js +0 -12
  270. package/plugins/definitions/FilesStorageOperationsProviderPlugin.js.map +0 -1
  271. package/plugins/definitions/InstallationPlugin.d.ts +0 -19
  272. package/plugins/definitions/InstallationPlugin.js +0 -31
  273. package/plugins/definitions/InstallationPlugin.js.map +0 -1
  274. package/plugins/definitions/SettingsStorageOperationsProviderPlugin.d.ts +0 -9
  275. package/plugins/definitions/SettingsStorageOperationsProviderPlugin.js +0 -12
  276. package/plugins/definitions/SettingsStorageOperationsProviderPlugin.js.map +0 -1
  277. package/plugins/definitions/SystemStorageOperationsProviderPlugin.d.ts +0 -9
  278. package/plugins/definitions/SystemStorageOperationsProviderPlugin.js +0 -12
  279. package/plugins/definitions/SystemStorageOperationsProviderPlugin.js.map +0 -1
  280. package/plugins/graphql.d.ts +0 -4
  281. package/plugins/graphql.js +0 -270
  282. package/plugins/graphql.js.map +0 -1
  283. package/plugins/storage/FileStorage.js +0 -85
  284. package/plugins/storage/FileStorage.js.map +0 -1
  285. package/plugins/storage/index.d.ts +0 -4
  286. package/plugins/storage/index.js +0 -22
  287. package/plugins/storage/index.js.map +0 -1
  288. package/utils.d.ts +0 -4
  289. package/utils.js +0 -14
  290. package/utils.js.map +0 -1
  291. /package/handlers/{transform/utils.d.ts → manage/legacyUtils.d.ts} +0 -0
@@ -1,372 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
- var _mdbid = _interopRequireDefault(require("mdbid"));
10
- var _handlerGraphql = require("@webiny/handler-graphql");
11
- var _apiSecurity = require("@webiny/api-security");
12
- var _checkBasePermissions = _interopRequireDefault(require("./utils/checkBasePermissions"));
13
- var _api = require("@webiny/api");
14
- var _FilePlugin = require("../definitions/FilePlugin");
15
- var _FilesStorageOperationsProviderPlugin = require("../definitions/FilesStorageOperationsProviderPlugin");
16
- var _error = _interopRequireDefault(require("@webiny/error"));
17
- var _lifecycleEvents = require("./utils/lifecycleEvents");
18
- /**
19
- * Package mdbid does not have types.
20
- */
21
- // @ts-ignore
22
-
23
- const BATCH_CREATE_MAX_FILES = 20;
24
-
25
- /**
26
- * If permission is limited to "own" files only, check that current identity owns the file.
27
- */
28
- const checkOwnership = (file, permission, context) => {
29
- if ((permission === null || permission === void 0 ? void 0 : permission.own) === true) {
30
- const identity = context.security.getIdentity();
31
- if (file.createdBy.id !== identity.id) {
32
- throw new _apiSecurity.NotAuthorizedError();
33
- }
34
- }
35
- };
36
- const getLocaleCode = context => {
37
- if (!context.i18n) {
38
- throw new _error.default("Missing i18n on the FileManagerContext.", "MISSING_I18N");
39
- }
40
- const locale = context.i18n.getContentLocale();
41
- if (!locale) {
42
- throw new _error.default("Missing content locale on the FileManagerContext.", "MISSING_I18N_CONTENT_LOCALE");
43
- }
44
- if (!locale.code) {
45
- throw new _error.default("Missing content locale code on the FileManagerContext.", "MISSING_I18N_CONTENT_LOCALE_CODE");
46
- }
47
- return locale.code;
48
- };
49
- const filesContextCrudPlugin = new _api.ContextPlugin(async context => {
50
- const pluginType = _FilesStorageOperationsProviderPlugin.FilesStorageOperationsProviderPlugin.type;
51
- const providerPlugin = context.plugins.byType(pluginType).find(() => true);
52
- if (!providerPlugin) {
53
- throw new _error.default(`Missing "${pluginType}" plugin.`, "PLUGIN_NOT_FOUND", {
54
- type: pluginType
55
- });
56
- }
57
- const storageOperations = await providerPlugin.provide({
58
- context
59
- });
60
- if (!context.fileManager) {
61
- context.fileManager = {};
62
- }
63
- const filePlugins = context.plugins.byType(_FilePlugin.FilePlugin.type);
64
- context.fileManager.files = {
65
- async getFile(id) {
66
- const permission = await (0, _checkBasePermissions.default)(context, {
67
- rwd: "r"
68
- });
69
- const file = await storageOperations.get({
70
- where: {
71
- id,
72
- tenant: context.tenancy.getCurrentTenant().id,
73
- locale: getLocaleCode(context)
74
- }
75
- });
76
- if (!file) {
77
- throw new _handlerGraphql.NotFoundError(`File with id "${id}" does not exists.`);
78
- }
79
- checkOwnership(file, permission, context);
80
- return file;
81
- },
82
- async createFile(input) {
83
- await (0, _checkBasePermissions.default)(context, {
84
- rwd: "w"
85
- });
86
- const identity = context.security.getIdentity();
87
- const tenant = context.tenancy.getCurrentTenant();
88
- const id = (0, _mdbid.default)();
89
- const file = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, input), {}, {
90
- tags: Array.isArray(input.tags) ? input.tags : [],
91
- id,
92
- meta: (0, _objectSpread2.default)({
93
- private: false
94
- }, input.meta || {}),
95
- tenant: tenant.id,
96
- createdOn: new Date().toISOString(),
97
- createdBy: {
98
- id: identity.id,
99
- displayName: identity.displayName,
100
- type: identity.type
101
- },
102
- locale: getLocaleCode(context),
103
- webinyVersion: context.WEBINY_VERSION
104
- });
105
- try {
106
- await (0, _lifecycleEvents.runLifecycleEvent)("beforeCreate", {
107
- context,
108
- plugins: filePlugins,
109
- data: file
110
- });
111
- const result = await storageOperations.create({
112
- file
113
- });
114
- await (0, _lifecycleEvents.runLifecycleEvent)("afterCreate", {
115
- context,
116
- plugins: filePlugins,
117
- data: file,
118
- file: result
119
- });
120
- return result;
121
- } catch (ex) {
122
- throw new _error.default(ex.message || "Could not create a file.", ex.code || "CREATE_FILE_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
123
- file
124
- }));
125
- }
126
- },
127
- async updateFile(id, input) {
128
- const permission = await (0, _checkBasePermissions.default)(context, {
129
- rwd: "w"
130
- });
131
- const original = await storageOperations.get({
132
- where: {
133
- id,
134
- tenant: context.tenancy.getCurrentTenant().id,
135
- locale: getLocaleCode(context)
136
- }
137
- });
138
- if (!original) {
139
- throw new _handlerGraphql.NotFoundError(`File with id "${id}" does not exists.`);
140
- }
141
- checkOwnership(original, permission, context);
142
- const file = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), input), {}, {
143
- tags: Array.isArray(input.tags) ? input.tags : Array.isArray(original.tags) ? original.tags : [],
144
- id: original.id,
145
- webinyVersion: context.WEBINY_VERSION
146
- });
147
- try {
148
- await (0, _lifecycleEvents.runLifecycleEvent)("beforeUpdate", {
149
- context,
150
- plugins: filePlugins,
151
- original,
152
- data: file
153
- });
154
- const result = await storageOperations.update({
155
- original,
156
- file
157
- });
158
- await (0, _lifecycleEvents.runLifecycleEvent)("afterUpdate", {
159
- context,
160
- plugins: filePlugins,
161
- original,
162
- data: file,
163
- file: result
164
- });
165
- return result;
166
- } catch (ex) {
167
- throw new _error.default(ex.message || "Could not update a file.", ex.code || "UPDATE_FILE_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
168
- original,
169
- file
170
- }));
171
- }
172
- },
173
- async deleteFile(id) {
174
- const permission = await (0, _checkBasePermissions.default)(context, {
175
- rwd: "d"
176
- });
177
- const file = await storageOperations.get({
178
- where: {
179
- id,
180
- tenant: context.tenancy.getCurrentTenant().id,
181
- locale: getLocaleCode(context)
182
- }
183
- });
184
- if (!file) {
185
- throw new _handlerGraphql.NotFoundError(`File with id "${id}" does not exists.`);
186
- }
187
- checkOwnership(file, permission, context);
188
- try {
189
- await (0, _lifecycleEvents.runLifecycleEvent)("beforeDelete", {
190
- context,
191
- plugins: filePlugins,
192
- file
193
- });
194
- await storageOperations.delete({
195
- file
196
- });
197
- await (0, _lifecycleEvents.runLifecycleEvent)("afterDelete", {
198
- context,
199
- plugins: filePlugins,
200
- file
201
- });
202
- } catch (ex) {
203
- throw new _error.default(ex.message || "Could not delete a file.", ex.code || "DELETE_FILE_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
204
- id,
205
- file
206
- }));
207
- }
208
- return true;
209
- },
210
- async createFilesInBatch(inputs) {
211
- if (!Array.isArray(inputs)) {
212
- throw new _error.default(`"data" must be an array.`, "CREATE_FILES_NON_ARRAY");
213
- }
214
- if (inputs.length === 0) {
215
- throw new _error.default(`"data" argument must contain at least one file.`, "CREATE_FILES_MIN_FILES");
216
- }
217
- if (inputs.length > BATCH_CREATE_MAX_FILES) {
218
- throw new _error.default(`"data" argument must not contain more than ${BATCH_CREATE_MAX_FILES} files.`, "CREATE_FILES_MAX_FILES");
219
- }
220
- await (0, _checkBasePermissions.default)(context, {
221
- rwd: "w"
222
- });
223
- const identity = context.security.getIdentity();
224
- const tenant = context.tenancy.getCurrentTenant();
225
- const createdBy = {
226
- id: identity.id,
227
- displayName: identity.displayName,
228
- type: identity.type
229
- };
230
- const files = inputs.map(input => {
231
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, input), {}, {
232
- tags: Array.isArray(input.tags) ? input.tags : [],
233
- meta: (0, _objectSpread2.default)({
234
- private: false
235
- }, input.meta || {}),
236
- id: (0, _mdbid.default)(),
237
- tenant: tenant.id,
238
- createdOn: new Date().toISOString(),
239
- createdBy,
240
- locale: getLocaleCode(context),
241
- webinyVersion: context.WEBINY_VERSION
242
- });
243
- });
244
- try {
245
- await (0, _lifecycleEvents.runLifecycleEvent)("beforeBatchCreate", {
246
- context,
247
- plugins: filePlugins,
248
- data: files
249
- });
250
- const results = await storageOperations.createBatch({
251
- files
252
- });
253
- await (0, _lifecycleEvents.runLifecycleEvent)("afterBatchCreate", {
254
- context,
255
- plugins: filePlugins,
256
- data: files,
257
- files: results
258
- });
259
- return results;
260
- } catch (ex) {
261
- 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 || {}), {}, {
262
- files
263
- }));
264
- }
265
- },
266
- async listFiles(params = {}) {
267
- const permission = await (0, _checkBasePermissions.default)(context, {
268
- rwd: "r"
269
- });
270
- const {
271
- limit = 40,
272
- search = "",
273
- types = [],
274
- tags = [],
275
- ids = [],
276
- after = null,
277
- where: initialWhere,
278
- sort: initialSort
279
- } = params;
280
- const where = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, initialWhere), {}, {
281
- private: false,
282
- locale: getLocaleCode(context),
283
- tenant: context.tenancy.getCurrentTenant().id
284
- });
285
- /**
286
- * Always override the createdBy received from the user, if any.
287
- */
288
- if (permission.own === true) {
289
- const identity = context.security.getIdentity();
290
- where.createdBy = identity.id;
291
- }
292
- /**
293
- * We need to map the old GraphQL definition to the new one.
294
- * That GQL definition is marked as deprecated.
295
- */
296
- /**
297
- * To have standardized where objects across the applications, we transform the types into type_in.
298
- */
299
- if (Array.isArray(types) && types.length > 0 && !where.type_in) {
300
- where.type_in = types;
301
- }
302
- /**
303
- * We are assigning search to tag and name search.
304
- * This should be treated as OR condition in the storage operations.
305
- */
306
- if (search && !where.search) {
307
- where.search = search;
308
- }
309
- /**
310
- * Same as on types/type_in.
311
- */
312
- if (Array.isArray(tags) && tags.length > 0 && !where.tag_in) {
313
- where.tag_in = tags.map(tag => tag.toLowerCase());
314
- }
315
- /**
316
- * Same as on types/type_in.
317
- */
318
- if (Array.isArray(ids) && ids.length > 0 && !where.id_in) {
319
- where.id_in = ids;
320
- }
321
- const sort = Array.isArray(initialSort) && initialSort.length > 0 ? initialSort : ["id_DESC"];
322
- try {
323
- return await storageOperations.list({
324
- where,
325
- after,
326
- limit,
327
- sort
328
- });
329
- } catch (ex) {
330
- 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 || {}), {}, {
331
- where,
332
- after,
333
- limit,
334
- sort
335
- }));
336
- }
337
- },
338
- async listTags({
339
- where: initialWhere,
340
- after,
341
- limit
342
- }) {
343
- await (0, _checkBasePermissions.default)(context);
344
- const where = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, initialWhere), {}, {
345
- tenant: context.tenancy.getCurrentTenant().id,
346
- locale: getLocaleCode(context)
347
- });
348
- const params = {
349
- where,
350
- limit: limit || 100000,
351
- after
352
- };
353
- try {
354
- const [tags] = await storageOperations.tags(params);
355
- if (Array.isArray(tags) === false) {
356
- return [];
357
- }
358
- /**
359
- * just to keep it standardized, sort by the tag ASC
360
- */
361
- return tags.sort();
362
- } catch (ex) {
363
- 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 || {}), {}, {
364
- params
365
- }));
366
- }
367
- }
368
- };
369
- });
370
- filesContextCrudPlugin.name = "FileManagerFilesCrud";
371
- var _default = filesContextCrudPlugin;
372
- exports.default = _default;
@@ -1 +0,0 @@
1
- {"version":3,"names":["BATCH_CREATE_MAX_FILES","checkOwnership","file","permission","context","own","identity","security","getIdentity","createdBy","id","NotAuthorizedError","getLocaleCode","i18n","WebinyError","locale","getContentLocale","code","filesContextCrudPlugin","ContextPlugin","pluginType","FilesStorageOperationsProviderPlugin","type","providerPlugin","plugins","byType","find","storageOperations","provide","fileManager","filePlugins","FilePlugin","files","getFile","checkBasePermissions","rwd","get","where","tenant","tenancy","getCurrentTenant","NotFoundError","createFile","input","mdbid","tags","Array","isArray","meta","private","createdOn","Date","toISOString","displayName","webinyVersion","WEBINY_VERSION","runLifecycleEvent","data","result","create","ex","message","updateFile","original","update","deleteFile","delete","createFilesInBatch","inputs","length","map","results","createBatch","listFiles","params","limit","search","types","ids","after","initialWhere","sort","initialSort","type_in","tag_in","tag","toLowerCase","id_in","list","listTags","name"],"sources":["files.crud.ts"],"sourcesContent":["/**\n * Package mdbid does not have types.\n */\n// @ts-ignore\nimport mdbid from \"mdbid\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { NotAuthorizedError } from \"@webiny/api-security\";\nimport {\n CreatedBy,\n File,\n FileManagerContext,\n FileManagerFilesStorageOperationsListParamsWhere,\n FileManagerFilesStorageOperationsTagsParamsWhere,\n FilePermission,\n FilesListOpts\n} from \"~/types\";\nimport checkBasePermissions from \"./utils/checkBasePermissions\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { FilePlugin } from \"~/plugins/definitions/FilePlugin\";\nimport { FilesStorageOperationsProviderPlugin } from \"~/plugins/definitions/FilesStorageOperationsProviderPlugin\";\nimport WebinyError from \"@webiny/error\";\nimport { runLifecycleEvent } from \"~/plugins/crud/utils/lifecycleEvents\";\n\nconst BATCH_CREATE_MAX_FILES = 20;\n\n/**\n * If permission is limited to \"own\" files only, check that current identity owns the file.\n */\nconst checkOwnership = (file: File, permission: FilePermission, context: FileManagerContext) => {\n if (permission?.own === true) {\n const identity = context.security.getIdentity();\n if (file.createdBy.id !== identity.id) {\n throw new NotAuthorizedError();\n }\n }\n};\n\nconst getLocaleCode = (context: FileManagerContext): string => {\n if (!context.i18n) {\n throw new WebinyError(\"Missing i18n on the FileManagerContext.\", \"MISSING_I18N\");\n }\n\n const locale = context.i18n.getContentLocale();\n if (!locale) {\n throw new WebinyError(\n \"Missing content locale on the FileManagerContext.\",\n \"MISSING_I18N_CONTENT_LOCALE\"\n );\n }\n\n if (!locale.code) {\n throw new WebinyError(\n \"Missing content locale code on the FileManagerContext.\",\n \"MISSING_I18N_CONTENT_LOCALE_CODE\"\n );\n }\n return locale.code;\n};\n\nconst filesContextCrudPlugin = new ContextPlugin<FileManagerContext>(async context => {\n const pluginType = FilesStorageOperationsProviderPlugin.type;\n\n const providerPlugin = context.plugins\n .byType<FilesStorageOperationsProviderPlugin>(pluginType)\n .find(() => true);\n\n if (!providerPlugin) {\n throw new WebinyError(`Missing \"${pluginType}\" plugin.`, \"PLUGIN_NOT_FOUND\", {\n type: pluginType\n });\n }\n\n const storageOperations = await providerPlugin.provide({\n context\n });\n\n if (!context.fileManager) {\n context.fileManager = {} as any;\n }\n\n const filePlugins = context.plugins.byType<FilePlugin>(FilePlugin.type);\n\n context.fileManager.files = {\n async getFile(id: string) {\n const permission = await checkBasePermissions(context, { rwd: \"r\" });\n\n const file = await storageOperations.get({\n where: {\n id,\n tenant: context.tenancy.getCurrentTenant().id,\n locale: getLocaleCode(context)\n }\n });\n\n if (!file) {\n throw new NotFoundError(`File with id \"${id}\" does not exists.`);\n }\n\n checkOwnership(file, permission, context);\n\n return file;\n },\n async createFile(input) {\n await checkBasePermissions(context, { rwd: \"w\" });\n const identity = context.security.getIdentity();\n const tenant = context.tenancy.getCurrentTenant();\n\n const id = mdbid();\n\n const file: File = {\n ...input,\n tags: Array.isArray(input.tags) ? input.tags : [],\n id,\n meta: {\n private: false,\n ...(input.meta || {})\n },\n tenant: tenant.id,\n createdOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n },\n locale: getLocaleCode(context),\n webinyVersion: context.WEBINY_VERSION\n };\n\n try {\n await runLifecycleEvent(\"beforeCreate\", {\n context,\n plugins: filePlugins,\n data: file\n });\n const result = await storageOperations.create({\n file\n });\n await runLifecycleEvent(\"afterCreate\", {\n context,\n plugins: filePlugins,\n data: file,\n file: result\n });\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 const permission = await checkBasePermissions(context, { rwd: \"w\" });\n\n const original = await storageOperations.get({\n where: {\n id,\n tenant: context.tenancy.getCurrentTenant().id,\n locale: getLocaleCode(context)\n }\n });\n\n if (!original) {\n throw new NotFoundError(`File with id \"${id}\" does not exists.`);\n }\n\n checkOwnership(original, permission, context);\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 id: original.id,\n webinyVersion: context.WEBINY_VERSION\n };\n\n try {\n await runLifecycleEvent(\"beforeUpdate\", {\n context,\n plugins: filePlugins,\n original,\n data: file\n });\n const result = await storageOperations.update({\n original,\n file\n });\n await runLifecycleEvent(\"afterUpdate\", {\n context,\n plugins: filePlugins,\n original,\n data: file,\n file: result\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 const permission = await checkBasePermissions(context, { rwd: \"d\" });\n\n const file = await storageOperations.get({\n where: {\n id,\n tenant: context.tenancy.getCurrentTenant().id,\n locale: getLocaleCode(context)\n }\n });\n if (!file) {\n throw new NotFoundError(`File with id \"${id}\" does not exists.`);\n }\n\n checkOwnership(file, permission, context);\n\n try {\n await runLifecycleEvent(\"beforeDelete\", {\n context,\n plugins: filePlugins,\n file\n });\n await storageOperations.delete({\n file\n });\n await runLifecycleEvent(\"afterDelete\", {\n context,\n plugins: filePlugins,\n file\n });\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) {\n if (!Array.isArray(inputs)) {\n throw new WebinyError(`\"data\" must be an array.`, \"CREATE_FILES_NON_ARRAY\");\n }\n\n if (inputs.length === 0) {\n throw new WebinyError(\n `\"data\" argument must contain at least one file.`,\n \"CREATE_FILES_MIN_FILES\"\n );\n }\n\n if (inputs.length > BATCH_CREATE_MAX_FILES) {\n throw new WebinyError(\n `\"data\" argument must not contain more than ${BATCH_CREATE_MAX_FILES} files.`,\n \"CREATE_FILES_MAX_FILES\"\n );\n }\n\n await checkBasePermissions(context, { rwd: \"w\" });\n\n const identity = context.security.getIdentity();\n const tenant = context.tenancy.getCurrentTenant();\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 meta: {\n private: false,\n ...(input.meta || {})\n },\n id: mdbid(),\n tenant: tenant.id,\n createdOn: new Date().toISOString(),\n createdBy,\n locale: getLocaleCode(context),\n webinyVersion: context.WEBINY_VERSION\n };\n });\n\n try {\n await runLifecycleEvent(\"beforeBatchCreate\", {\n context,\n plugins: filePlugins,\n data: files\n });\n const results = await storageOperations.createBatch({\n files\n });\n await runLifecycleEvent(\"afterBatchCreate\", {\n context,\n plugins: filePlugins,\n data: files,\n files: results\n });\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 const permission = await checkBasePermissions(context, { rwd: \"r\" });\n\n const {\n limit = 40,\n search = \"\",\n types = [],\n tags = [],\n ids = [],\n after = null,\n where: initialWhere,\n sort: initialSort\n } = params;\n\n const where: FileManagerFilesStorageOperationsListParamsWhere = {\n ...initialWhere,\n private: false,\n locale: getLocaleCode(context),\n tenant: context.tenancy.getCurrentTenant().id\n };\n /**\n * Always override the createdBy received from the user, if any.\n */\n if (permission.own === true) {\n const identity = context.security.getIdentity();\n where.createdBy = identity.id;\n }\n /**\n * We need to map the old GraphQL definition to the new one.\n * That GQL definition is marked as deprecated.\n */\n /**\n * To have standardized where objects across the applications, we transform the types into type_in.\n */\n if (Array.isArray(types) && types.length > 0 && !where.type_in) {\n where.type_in = types;\n }\n /**\n * We are assigning search to tag and name search.\n * This should be treated as OR condition in the storage operations.\n */\n if (search && !where.search) {\n where.search = search;\n }\n /**\n * Same as on types/type_in.\n */\n if (Array.isArray(tags) && tags.length > 0 && !where.tag_in) {\n where.tag_in = tags.map(tag => tag.toLowerCase());\n }\n /**\n * Same as on types/type_in.\n */\n if (Array.isArray(ids) && ids.length > 0 && !where.id_in) {\n where.id_in = ids;\n }\n\n const sort =\n Array.isArray(initialSort) && initialSort.length > 0 ? initialSort : [\"id_DESC\"];\n try {\n return await storageOperations.list({\n where,\n after,\n limit,\n sort\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 checkBasePermissions(context);\n\n const where: FileManagerFilesStorageOperationsTagsParamsWhere = {\n ...initialWhere,\n tenant: context.tenancy.getCurrentTenant().id,\n locale: getLocaleCode(context)\n };\n\n const params = {\n where,\n limit: limit || 100000,\n after\n };\n\n try {\n const [tags] = await storageOperations.tags(params);\n if (Array.isArray(tags) === false) {\n return [];\n }\n /**\n * just to keep it standardized, sort by the tag ASC\n */\n return tags.sort();\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\nfilesContextCrudPlugin.name = \"FileManagerFilesCrud\";\n\nexport default filesContextCrudPlugin;\n"],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { FileManagerContext } from "../../types";
2
- import { ContextPlugin } from "@webiny/api";
3
- export declare const SETTINGS_KEY = "file-manager";
4
- declare const settingsCrudContextPlugin: ContextPlugin<FileManagerContext>;
5
- export default settingsCrudContextPlugin;
@@ -1,99 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = exports.SETTINGS_KEY = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
- var _fields = require("@commodo/fields");
10
- var _validation = require("@webiny/validation");
11
- var _SettingsStorageOperationsProviderPlugin = require("../definitions/SettingsStorageOperationsProviderPlugin");
12
- var _error = _interopRequireDefault(require("@webiny/error"));
13
- var _api = require("@webiny/api");
14
- /**
15
- * Package @commodo/fields does not have types.
16
- */
17
- // @ts-ignore
18
-
19
- // TODO @ts-refactor verify that this is not used and remove it
20
- const SETTINGS_KEY = "file-manager";
21
- exports.SETTINGS_KEY = SETTINGS_KEY;
22
- const CreateDataModel = (0, _fields.withFields)({
23
- uploadMinFileSize: (0, _fields.number)({
24
- value: 0,
25
- validation: _validation.validation.create("gte:0")
26
- }),
27
- uploadMaxFileSize: (0, _fields.number)({
28
- value: 26214401
29
- }),
30
- srcPrefix: (0, _fields.onSet)(value => {
31
- // Make sure srcPrefix always ends with forward slash.
32
- if (typeof value === "string") {
33
- return value.endsWith("/") ? value : value + "/";
34
- }
35
- return value;
36
- })((0, _fields.string)({
37
- value: "/files/"
38
- }))
39
- })();
40
- const UpdateDataModel = (0, _fields.withFields)({
41
- uploadMinFileSize: (0, _fields.number)({
42
- validation: _validation.validation.create("gte:0")
43
- }),
44
- uploadMaxFileSize: (0, _fields.number)(),
45
- srcPrefix: (0, _fields.onSet)(value => {
46
- // Make sure srcPrefix always ends with forward slash.
47
- if (typeof value === "string") {
48
- return value.endsWith("/") ? value : value + "/";
49
- }
50
- return value;
51
- })((0, _fields.string)())
52
- })();
53
- const settingsCrudContextPlugin = new _api.ContextPlugin(async context => {
54
- const pluginType = _SettingsStorageOperationsProviderPlugin.SettingsStorageOperationsProviderPlugin.type;
55
- const providerPlugin = context.plugins.byType(pluginType).find(() => true);
56
- if (!providerPlugin) {
57
- throw new _error.default(`Missing "${pluginType}" plugin.`, "PLUGIN_NOT_FOUND", {
58
- type: pluginType
59
- });
60
- }
61
- const storageOperations = await providerPlugin.provide({
62
- context
63
- });
64
- if (!context.fileManager) {
65
- context.fileManager = {};
66
- }
67
- context.fileManager.settings = {
68
- async getSettings() {
69
- return storageOperations.get();
70
- },
71
- async createSettings(data) {
72
- const settings = new CreateDataModel().populate(data);
73
- await settings.validate();
74
- const settingsData = await settings.toJSON();
75
- return storageOperations.create({
76
- data: settingsData
77
- });
78
- },
79
- async updateSettings(data) {
80
- const updatedValue = new UpdateDataModel().populate(data);
81
- await updatedValue.validate();
82
- const existingSettings = await storageOperations.get();
83
- const updatedSettings = await updatedValue.toJSON({
84
- onlyDirty: true
85
- });
86
- return storageOperations.update({
87
- original: existingSettings,
88
- data: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, existingSettings), updatedSettings)
89
- });
90
- },
91
- async deleteSettings() {
92
- await storageOperations.delete();
93
- return true;
94
- }
95
- };
96
- });
97
- settingsCrudContextPlugin.name = "FileMangerSettingsCrud";
98
- var _default = settingsCrudContextPlugin;
99
- exports.default = _default;
@@ -1 +0,0 @@
1
- {"version":3,"names":["SETTINGS_KEY","CreateDataModel","withFields","uploadMinFileSize","number","value","validation","create","uploadMaxFileSize","srcPrefix","onSet","endsWith","string","UpdateDataModel","settingsCrudContextPlugin","ContextPlugin","context","pluginType","SettingsStorageOperationsProviderPlugin","type","providerPlugin","plugins","byType","find","WebinyError","storageOperations","provide","fileManager","settings","getSettings","get","createSettings","data","populate","validate","settingsData","toJSON","updateSettings","updatedValue","existingSettings","updatedSettings","onlyDirty","update","original","deleteSettings","delete","name"],"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 { FileManagerContext, FileManagerSettings } from \"~/types\";\nimport { SettingsStorageOperationsProviderPlugin } from \"~/plugins/definitions/SettingsStorageOperationsProviderPlugin\";\nimport WebinyError from \"@webiny/error\";\nimport { ContextPlugin } from \"@webiny/api\";\n\n// TODO @ts-refactor verify that this is not used and remove it\nexport const SETTINGS_KEY = \"file-manager\";\n\nconst CreateDataModel = withFields({\n uploadMinFileSize: number({ value: 0, validation: validation.create(\"gte:0\") }),\n uploadMaxFileSize: number({ value: 26214401 }),\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\nconst settingsCrudContextPlugin = new ContextPlugin<FileManagerContext>(async context => {\n const pluginType = SettingsStorageOperationsProviderPlugin.type;\n\n const providerPlugin = context.plugins\n .byType<SettingsStorageOperationsProviderPlugin>(pluginType)\n .find(() => true);\n\n if (!providerPlugin) {\n throw new WebinyError(`Missing \"${pluginType}\" plugin.`, \"PLUGIN_NOT_FOUND\", {\n type: pluginType\n });\n }\n\n const storageOperations = await providerPlugin.provide({\n context\n });\n\n if (!context.fileManager) {\n context.fileManager = {} as any;\n }\n\n context.fileManager.settings = {\n async getSettings() {\n return storageOperations.get();\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.create({\n data: settingsData\n });\n },\n async updateSettings(data) {\n const updatedValue = new UpdateDataModel().populate(data);\n await updatedValue.validate();\n\n const existingSettings = (await storageOperations.get()) as FileManagerSettings;\n\n const updatedSettings: Partial<FileManagerSettings> = await updatedValue.toJSON({\n onlyDirty: true\n });\n\n return storageOperations.update({\n original: existingSettings,\n data: {\n ...existingSettings,\n ...updatedSettings\n }\n });\n },\n async deleteSettings() {\n await storageOperations.delete();\n\n return true;\n }\n };\n});\n\nsettingsCrudContextPlugin.name = \"FileMangerSettingsCrud\";\n\nexport default settingsCrudContextPlugin;\n"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { FileManagerContext } from "../../types";
2
- import { ContextPlugin } from "@webiny/api";
3
- declare const systemCrudContextPlugin: ContextPlugin<FileManagerContext>;
4
- export default systemCrudContextPlugin;