@webiny/api-file-manager 6.3.0 → 6.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/contants.js +2 -1
  2. package/contants.js.map +1 -1
  3. package/delivery/AssetDelivery/Asset.js +50 -56
  4. package/delivery/AssetDelivery/Asset.js.map +1 -1
  5. package/delivery/AssetDelivery/AssetDeliveryConfig.js +70 -83
  6. package/delivery/AssetDelivery/AssetDeliveryConfig.js.map +1 -1
  7. package/delivery/AssetDelivery/AssetRequest.js +20 -19
  8. package/delivery/AssetDelivery/AssetRequest.js.map +1 -1
  9. package/delivery/AssetDelivery/FilesAssetRequestResolver.js +19 -25
  10. package/delivery/AssetDelivery/FilesAssetRequestResolver.js.map +1 -1
  11. package/delivery/AssetDelivery/NullAssetOutputStrategy.js +5 -4
  12. package/delivery/AssetDelivery/NullAssetOutputStrategy.js.map +1 -1
  13. package/delivery/AssetDelivery/NullAssetReply.js +10 -9
  14. package/delivery/AssetDelivery/NullAssetReply.js.map +1 -1
  15. package/delivery/AssetDelivery/NullAssetResolver.js +5 -4
  16. package/delivery/AssetDelivery/NullAssetResolver.js.map +1 -1
  17. package/delivery/AssetDelivery/NullRequestResolver.js +5 -4
  18. package/delivery/AssetDelivery/NullRequestResolver.js.map +1 -1
  19. package/delivery/AssetDelivery/SetCacheControlHeaders.js +11 -14
  20. package/delivery/AssetDelivery/SetCacheControlHeaders.js.map +1 -1
  21. package/delivery/AssetDelivery/SetResponseHeaders.js +16 -15
  22. package/delivery/AssetDelivery/SetResponseHeaders.js.map +1 -1
  23. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js +0 -3
  24. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js +0 -3
  25. package/delivery/AssetDelivery/abstractions/AssetProcessor.js +0 -3
  26. package/delivery/AssetDelivery/abstractions/AssetReply.js +28 -27
  27. package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -1
  28. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js +0 -3
  29. package/delivery/AssetDelivery/abstractions/AssetResolver.js +0 -3
  30. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js +0 -3
  31. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +4 -5
  32. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -1
  33. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js +0 -3
  34. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js +15 -14
  35. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +1 -1
  36. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +5 -4
  37. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -1
  38. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +14 -16
  39. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -1
  40. package/delivery/AssetDelivery/privateFiles/PrivateCache.js +18 -17
  41. package/delivery/AssetDelivery/privateFiles/PrivateCache.js.map +1 -1
  42. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +21 -25
  43. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -1
  44. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js +44 -51
  45. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -1
  46. package/delivery/AssetDelivery/privateFiles/PublicCache.js +18 -17
  47. package/delivery/AssetDelivery/privateFiles/PublicCache.js.map +1 -1
  48. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +16 -15
  49. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -1
  50. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +16 -15
  51. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -1
  52. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js +5 -4
  53. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js.map +1 -1
  54. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js +5 -4
  55. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +1 -1
  56. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js +12 -15
  57. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js.map +1 -1
  58. package/delivery/index.js +0 -2
  59. package/delivery/setupAssetDelivery.js +70 -101
  60. package/delivery/setupAssetDelivery.js.map +1 -1
  61. package/domain/file/abstractions.js +2 -5
  62. package/domain/file/abstractions.js.map +1 -1
  63. package/domain/file/errors.js +67 -76
  64. package/domain/file/errors.js.map +1 -1
  65. package/domain/file/file.model.js +57 -49
  66. package/domain/file/file.model.js.map +1 -1
  67. package/domain/file/types.js +0 -3
  68. package/domain/identity/Identity.js +9 -8
  69. package/domain/identity/Identity.js.map +1 -1
  70. package/domain/permissionsSchema.js +26 -15
  71. package/domain/permissionsSchema.js.map +1 -1
  72. package/domain/settings/constants.js +2 -1
  73. package/domain/settings/constants.js.map +1 -1
  74. package/domain/settings/errors.js +22 -24
  75. package/domain/settings/errors.js.map +1 -1
  76. package/domain/settings/types.js +0 -3
  77. package/domain/settings/validation.js +18 -27
  78. package/domain/settings/validation.js.map +1 -1
  79. package/exports/api/file-manager/file.js +0 -2
  80. package/exports/api/file-manager/permissions.js +0 -2
  81. package/exports/api/file-manager/settings.js +0 -2
  82. package/features/FileManagerFeature.js +16 -15
  83. package/features/FileManagerFeature.js.map +1 -1
  84. package/features/file/CreateFile/CreateFileRepository.js +20 -18
  85. package/features/file/CreateFile/CreateFileRepository.js.map +1 -1
  86. package/features/file/CreateFile/CreateFileUseCase.js +68 -75
  87. package/features/file/CreateFile/CreateFileUseCase.js.map +1 -1
  88. package/features/file/CreateFile/abstractions.js +3 -14
  89. package/features/file/CreateFile/abstractions.js.map +1 -1
  90. package/features/file/CreateFile/events.js +17 -26
  91. package/features/file/CreateFile/events.js.map +1 -1
  92. package/features/file/CreateFile/feature.js +7 -6
  93. package/features/file/CreateFile/feature.js.map +1 -1
  94. package/features/file/CreateFile/index.js +0 -2
  95. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js +15 -17
  96. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js.map +1 -1
  97. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js +59 -70
  98. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js.map +1 -1
  99. package/features/file/CreateFilesInBatch/abstractions.js +3 -14
  100. package/features/file/CreateFilesInBatch/abstractions.js.map +1 -1
  101. package/features/file/CreateFilesInBatch/events.js +17 -26
  102. package/features/file/CreateFilesInBatch/events.js.map +1 -1
  103. package/features/file/CreateFilesInBatch/feature.js +7 -6
  104. package/features/file/CreateFilesInBatch/feature.js.map +1 -1
  105. package/features/file/CreateFilesInBatch/index.js +0 -2
  106. package/features/file/DeleteFile/DeleteFileRepository.js +21 -20
  107. package/features/file/DeleteFile/DeleteFileRepository.js.map +1 -1
  108. package/features/file/DeleteFile/DeleteFileUseCase.js +31 -33
  109. package/features/file/DeleteFile/DeleteFileUseCase.js.map +1 -1
  110. package/features/file/DeleteFile/abstractions.js +3 -14
  111. package/features/file/DeleteFile/abstractions.js.map +1 -1
  112. package/features/file/DeleteFile/events.js +17 -26
  113. package/features/file/DeleteFile/events.js.map +1 -1
  114. package/features/file/DeleteFile/feature.js +7 -6
  115. package/features/file/DeleteFile/feature.js.map +1 -1
  116. package/features/file/DeleteFile/index.js +1 -3
  117. package/features/file/FileUrlGenerator/abstractions.js +2 -2
  118. package/features/file/FileUrlGenerator/abstractions.js.map +1 -1
  119. package/features/file/GetFile/GetFileRepository.js +22 -22
  120. package/features/file/GetFile/GetFileRepository.js.map +1 -1
  121. package/features/file/GetFile/GetFileUseCase.js +19 -21
  122. package/features/file/GetFile/GetFileUseCase.js.map +1 -1
  123. package/features/file/GetFile/abstractions.js +3 -14
  124. package/features/file/GetFile/abstractions.js.map +1 -1
  125. package/features/file/GetFile/feature.js +7 -6
  126. package/features/file/GetFile/feature.js.map +1 -1
  127. package/features/file/GetFile/index.js +0 -2
  128. package/features/file/GetFileContentsById/abstractions.d.ts +20 -0
  129. package/features/file/GetFileContentsById/abstractions.js +5 -0
  130. package/features/file/GetFileContentsById/abstractions.js.map +1 -0
  131. package/features/file/GetFileContentsById/index.d.ts +1 -0
  132. package/features/file/GetFileContentsById/index.js +1 -0
  133. package/features/file/GetFileContentsByKey/abstractions.d.ts +17 -0
  134. package/features/file/GetFileContentsByKey/abstractions.js +5 -0
  135. package/features/file/GetFileContentsByKey/abstractions.js.map +1 -0
  136. package/features/file/GetFileContentsByKey/index.d.ts +1 -0
  137. package/features/file/GetFileContentsByKey/index.js +1 -0
  138. package/features/file/ListFiles/ListFilesRepository.js +42 -40
  139. package/features/file/ListFiles/ListFilesRepository.js.map +1 -1
  140. package/features/file/ListFiles/ListFilesUseCase.js +33 -34
  141. package/features/file/ListFiles/ListFilesUseCase.js.map +1 -1
  142. package/features/file/ListFiles/abstractions.js +3 -14
  143. package/features/file/ListFiles/abstractions.js.map +1 -1
  144. package/features/file/ListFiles/feature.js +7 -6
  145. package/features/file/ListFiles/feature.js.map +1 -1
  146. package/features/file/ListFiles/index.js +0 -2
  147. package/features/file/ListImagesByTagTool/ListImagesByTagTool.js +31 -28
  148. package/features/file/ListImagesByTagTool/ListImagesByTagTool.js.map +1 -1
  149. package/features/file/ListImagesByTagTool/feature.js +6 -5
  150. package/features/file/ListImagesByTagTool/feature.js.map +1 -1
  151. package/features/file/ListTags/ListTagsRepository.js +31 -36
  152. package/features/file/ListTags/ListTagsRepository.js.map +1 -1
  153. package/features/file/ListTags/ListTagsUseCase.js +21 -21
  154. package/features/file/ListTags/ListTagsUseCase.js.map +1 -1
  155. package/features/file/ListTags/abstractions.js +3 -14
  156. package/features/file/ListTags/abstractions.js.map +1 -1
  157. package/features/file/ListTags/feature.js +7 -6
  158. package/features/file/ListTags/feature.js.map +1 -1
  159. package/features/file/ListTags/index.js +0 -2
  160. package/features/file/UpdateFile/UpdateFileRepository.js +26 -28
  161. package/features/file/UpdateFile/UpdateFileRepository.js.map +1 -1
  162. package/features/file/UpdateFile/UpdateFileUseCase.js +57 -65
  163. package/features/file/UpdateFile/UpdateFileUseCase.js.map +1 -1
  164. package/features/file/UpdateFile/abstractions.js +3 -14
  165. package/features/file/UpdateFile/abstractions.js.map +1 -1
  166. package/features/file/UpdateFile/events.js +17 -26
  167. package/features/file/UpdateFile/events.js.map +1 -1
  168. package/features/file/UpdateFile/feature.js +7 -6
  169. package/features/file/UpdateFile/feature.js.map +1 -1
  170. package/features/file/UpdateFile/index.js +1 -3
  171. package/features/file/shared/EntryToFileMapper.js +25 -24
  172. package/features/file/shared/EntryToFileMapper.js.map +1 -1
  173. package/features/file/shared/FileInputToEntryInputMapper.js +29 -28
  174. package/features/file/shared/FileInputToEntryInputMapper.js.map +1 -1
  175. package/features/file/shared/FileToEntryMapper.js +28 -27
  176. package/features/file/shared/FileToEntryMapper.js.map +1 -1
  177. package/features/permissions/abstractions.js +2 -1
  178. package/features/permissions/abstractions.js.map +1 -1
  179. package/features/permissions/feature.js +2 -1
  180. package/features/permissions/feature.js.map +1 -1
  181. package/features/settings/GetSettings/GetSettingsUseCase.js +19 -19
  182. package/features/settings/GetSettings/GetSettingsUseCase.js.map +1 -1
  183. package/features/settings/GetSettings/abstractions.js +2 -7
  184. package/features/settings/GetSettings/abstractions.js.map +1 -1
  185. package/features/settings/GetSettings/feature.js +6 -5
  186. package/features/settings/GetSettings/feature.js.map +1 -1
  187. package/features/settings/SettingsInstaller/SettingsInstaller.js +25 -24
  188. package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -1
  189. package/features/settings/SettingsInstaller/feature.js +6 -5
  190. package/features/settings/SettingsInstaller/feature.js.map +1 -1
  191. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js +41 -48
  192. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js.map +1 -1
  193. package/features/settings/UpdateSettings/abstractions.js +2 -7
  194. package/features/settings/UpdateSettings/abstractions.js.map +1 -1
  195. package/features/settings/UpdateSettings/events.js +17 -26
  196. package/features/settings/UpdateSettings/events.js.map +1 -1
  197. package/features/settings/UpdateSettings/feature.js +6 -5
  198. package/features/settings/UpdateSettings/feature.js.map +1 -1
  199. package/features/settings/UpdateSettings/index.js +0 -2
  200. package/features/shared/abstractions.js +0 -2
  201. package/graphql/baseSchema.js +30 -33
  202. package/graphql/baseSchema.js.map +1 -1
  203. package/graphql/createFilesTypeDefs.js +49 -57
  204. package/graphql/createFilesTypeDefs.js.map +1 -1
  205. package/graphql/filesSchema.js +79 -99
  206. package/graphql/filesSchema.js.map +1 -1
  207. package/graphql/getFileByUrl.js +45 -53
  208. package/graphql/getFileByUrl.js.map +1 -1
  209. package/graphql/index.js +35 -42
  210. package/graphql/index.js.map +1 -1
  211. package/graphql/utils.js +9 -14
  212. package/graphql/utils.js.map +1 -1
  213. package/index.d.ts +2 -2
  214. package/index.js +25 -30
  215. package/index.js.map +1 -1
  216. package/modelModifier/CmsModelModifier.js +40 -43
  217. package/modelModifier/CmsModelModifier.js.map +1 -1
  218. package/package.json +18 -21
  219. package/types.js +0 -2
  220. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js.map +0 -1
  221. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js.map +0 -1
  222. package/delivery/AssetDelivery/abstractions/AssetProcessor.js.map +0 -1
  223. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js.map +0 -1
  224. package/delivery/AssetDelivery/abstractions/AssetResolver.js.map +0 -1
  225. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js.map +0 -1
  226. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js.map +0 -1
  227. package/delivery/index.js.map +0 -1
  228. package/domain/file/types.js.map +0 -1
  229. package/domain/settings/types.js.map +0 -1
  230. package/exports/api/file-manager/file.js.map +0 -1
  231. package/exports/api/file-manager/permissions.js.map +0 -1
  232. package/exports/api/file-manager/settings.js.map +0 -1
  233. package/features/ai/AiImageEnrichmentAfterCreateHandler.d.ts +0 -11
  234. package/features/ai/AiImageEnrichmentAfterCreateHandler.js +0 -28
  235. package/features/ai/AiImageEnrichmentAfterCreateHandler.js.map +0 -1
  236. package/features/ai/AiImageEnrichmentFeature.d.ts +0 -4
  237. package/features/ai/AiImageEnrichmentFeature.js +0 -12
  238. package/features/ai/AiImageEnrichmentFeature.js.map +0 -1
  239. package/features/file/CreateFile/index.js.map +0 -1
  240. package/features/file/CreateFilesInBatch/index.js.map +0 -1
  241. package/features/file/DeleteFile/index.js.map +0 -1
  242. package/features/file/GetFile/index.js.map +0 -1
  243. package/features/file/ListFiles/index.js.map +0 -1
  244. package/features/file/ListTags/index.js.map +0 -1
  245. package/features/file/UpdateFile/index.js.map +0 -1
  246. package/features/settings/UpdateSettings/index.js.map +0 -1
  247. package/features/shared/abstractions.js.map +0 -1
  248. package/tasks/AiImageEnrichmentTask.d.ts +0 -35
  249. package/tasks/AiImageEnrichmentTask.js +0 -136
  250. package/tasks/AiImageEnrichmentTask.js.map +0 -1
  251. package/types.js.map +0 -1
@@ -1,28 +1,28 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { GetSettingsUseCase as UseCaseAbstraction } from "./abstractions.js";
2
+ import { GetSettingsUseCase } from "./abstractions.js";
3
3
  import { FILE_MANAGER_GENERAL_SETTINGS } from "../../../domain/settings/constants.js";
4
4
  import { KeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
5
5
  class GetSettingsUseCaseImpl {
6
- constructor(keyValueStore) {
7
- this.keyValueStore = keyValueStore;
8
- }
9
- async execute() {
10
- const result = await this.keyValueStore.get(FILE_MANAGER_GENERAL_SETTINGS);
11
- if (result.isFail()) {
12
- // Return default values
13
- return Result.ok({
14
- uploadMinFileSize: 0,
15
- uploadMaxFileSize: 10737418240,
16
- srcPrefix: ""
17
- });
6
+ constructor(keyValueStore){
7
+ this.keyValueStore = keyValueStore;
8
+ }
9
+ async execute() {
10
+ const result = await this.keyValueStore.get(FILE_MANAGER_GENERAL_SETTINGS);
11
+ if (result.isFail()) return Result.ok({
12
+ uploadMinFileSize: 0,
13
+ uploadMaxFileSize: 10737418240,
14
+ srcPrefix: ""
15
+ });
16
+ const settings = result.value;
17
+ return Result.ok(settings);
18
18
  }
19
- const settings = result.value;
20
- return Result.ok(settings);
21
- }
22
19
  }
23
- export const GetSettingsUseCase = UseCaseAbstraction.createImplementation({
24
- implementation: GetSettingsUseCaseImpl,
25
- dependencies: [KeyValueStore]
20
+ const GetSettingsUseCase_GetSettingsUseCase = GetSettingsUseCase.createImplementation({
21
+ implementation: GetSettingsUseCaseImpl,
22
+ dependencies: [
23
+ KeyValueStore
24
+ ]
26
25
  });
26
+ export { GetSettingsUseCase_GetSettingsUseCase as GetSettingsUseCase };
27
27
 
28
28
  //# sourceMappingURL=GetSettingsUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","GetSettingsUseCase","UseCaseAbstraction","FILE_MANAGER_GENERAL_SETTINGS","KeyValueStore","GetSettingsUseCaseImpl","constructor","keyValueStore","execute","result","get","isFail","ok","uploadMinFileSize","uploadMaxFileSize","srcPrefix","settings","value","createImplementation","implementation","dependencies"],"sources":["GetSettingsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetSettingsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { FileManagerSettings } from \"~/domain/settings/types.js\";\nimport { FILE_MANAGER_GENERAL_SETTINGS } from \"~/domain/settings/constants.js\";\nimport { KeyValueStore } from \"@webiny/api-core/features/keyValueStore/index.js\";\n\nclass GetSettingsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private keyValueStore: KeyValueStore.Interface) {}\n\n async execute(): Promise<Result<FileManagerSettings, UseCaseAbstraction.Error>> {\n const result = await this.keyValueStore.get<FileManagerSettings>(\n FILE_MANAGER_GENERAL_SETTINGS\n );\n\n if (result.isFail()) {\n // Return default values\n return Result.ok({\n uploadMinFileSize: 0,\n uploadMaxFileSize: 10737418240,\n srcPrefix: \"\"\n });\n }\n\n const settings = result.value;\n\n return Result.ok(settings);\n }\n}\n\nexport const GetSettingsUseCase = UseCaseAbstraction.createImplementation({\n implementation: GetSettingsUseCaseImpl,\n dependencies: [KeyValueStore]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,kBAAkB,IAAIC,kBAAkB;AAEjD,SAASC,6BAA6B;AACtC,SAASC,aAAa,QAAQ,kDAAkD;AAEhF,MAAMC,sBAAsB,CAAyC;EACjEC,WAAWA,CAASC,aAAsC,EAAE;IAAA,KAAxCA,aAAsC,GAAtCA,aAAsC;EAAG;EAE7D,MAAMC,OAAOA,CAAA,EAAmE;IAC5E,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACF,aAAa,CAACG,GAAG,CACvCP,6BACJ,CAAC;IAED,IAAIM,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;MACjB;MACA,OAAOX,MAAM,CAACY,EAAE,CAAC;QACbC,iBAAiB,EAAE,CAAC;QACpBC,iBAAiB,EAAE,WAAW;QAC9BC,SAAS,EAAE;MACf,CAAC,CAAC;IACN;IAEA,MAAMC,QAAQ,GAAGP,MAAM,CAACQ,KAAK;IAE7B,OAAOjB,MAAM,CAACY,EAAE,CAACI,QAAQ,CAAC;EAC9B;AACJ;AAEA,OAAO,MAAMf,kBAAkB,GAAGC,kBAAkB,CAACgB,oBAAoB,CAAC;EACtEC,cAAc,EAAEd,sBAAsB;EACtCe,YAAY,EAAE,CAAChB,aAAa;AAChC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/settings/GetSettings/GetSettingsUseCase.js","sources":["../../../../src/features/settings/GetSettings/GetSettingsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetSettingsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { FileManagerSettings } from \"~/domain/settings/types.js\";\nimport { FILE_MANAGER_GENERAL_SETTINGS } from \"~/domain/settings/constants.js\";\nimport { KeyValueStore } from \"@webiny/api-core/features/keyValueStore/index.js\";\n\nclass GetSettingsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private keyValueStore: KeyValueStore.Interface) {}\n\n async execute(): Promise<Result<FileManagerSettings, UseCaseAbstraction.Error>> {\n const result = await this.keyValueStore.get<FileManagerSettings>(\n FILE_MANAGER_GENERAL_SETTINGS\n );\n\n if (result.isFail()) {\n // Return default values\n return Result.ok({\n uploadMinFileSize: 0,\n uploadMaxFileSize: 10737418240,\n srcPrefix: \"\"\n });\n }\n\n const settings = result.value;\n\n return Result.ok(settings);\n }\n}\n\nexport const GetSettingsUseCase = UseCaseAbstraction.createImplementation({\n implementation: GetSettingsUseCaseImpl,\n dependencies: [KeyValueStore]\n});\n"],"names":["GetSettingsUseCaseImpl","keyValueStore","result","FILE_MANAGER_GENERAL_SETTINGS","Result","settings","GetSettingsUseCase","UseCaseAbstraction","KeyValueStore"],"mappings":";;;;AAMA,MAAMA;IACF,YAAoBC,aAAsC,CAAE;aAAxCA,aAAa,GAAbA;IAAyC;IAE7D,MAAM,UAA0E;QAC5E,MAAMC,SAAS,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CACvCC;QAGJ,IAAID,OAAO,MAAM,IAEb,OAAOE,OAAO,EAAE,CAAC;YACb,mBAAmB;YACnB,mBAAmB;YACnB,WAAW;QACf;QAGJ,MAAMC,WAAWH,OAAO,KAAK;QAE7B,OAAOE,OAAO,EAAE,CAACC;IACrB;AACJ;AAEO,MAAMC,wCAAqBC,mBAAAA,oBAAuC,CAAC;IACtE,gBAAgBP;IAChB,cAAc;QAACQ;KAAc;AACjC"}
@@ -1,10 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- /**
4
- * GetSettings use case - retrieves file manager settings.
5
- */
6
-
7
- /** Retrieve file manager settings. */
8
- export const GetSettingsUseCase = createAbstraction("GetSettingsUseCase");
2
+ const GetSettingsUseCase = createAbstraction("GetSettingsUseCase");
3
+ export { GetSettingsUseCase };
9
4
 
10
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","GetSettingsUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { FileManagerSettings } from \"~/domain/settings/types.js\";\n\nexport interface IGetSettingsUseCaseErrors {}\n\ntype UseCaseError = IGetSettingsUseCaseErrors[keyof IGetSettingsUseCaseErrors];\n\n/**\n * GetSettings use case - retrieves file manager settings.\n */\nexport interface IGetSettingsUseCase {\n execute(): Promise<Result<FileManagerSettings, UseCaseError>>;\n}\n\n/** Retrieve file manager settings. */\nexport const GetSettingsUseCase = createAbstraction<IGetSettingsUseCase>(\"GetSettingsUseCase\");\n\nexport namespace GetSettingsUseCase {\n export type Interface = IGetSettingsUseCase;\n export type Error = UseCaseError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAQvD;AACA;AACA;;AAKA;AACA,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAAsB,oBAAoB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/settings/GetSettings/abstractions.js","sources":["../../../../src/features/settings/GetSettings/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { FileManagerSettings } from \"~/domain/settings/types.js\";\n\nexport interface IGetSettingsUseCaseErrors {}\n\ntype UseCaseError = IGetSettingsUseCaseErrors[keyof IGetSettingsUseCaseErrors];\n\n/**\n * GetSettings use case - retrieves file manager settings.\n */\nexport interface IGetSettingsUseCase {\n execute(): Promise<Result<FileManagerSettings, UseCaseError>>;\n}\n\n/** Retrieve file manager settings. */\nexport const GetSettingsUseCase = createAbstraction<IGetSettingsUseCase>(\"GetSettingsUseCase\");\n\nexport namespace GetSettingsUseCase {\n export type Interface = IGetSettingsUseCase;\n export type Error = UseCaseError;\n}\n"],"names":["GetSettingsUseCase","createAbstraction"],"mappings":";AAgBO,MAAMA,qBAAqBC,kBAAuC"}
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { GetSettingsUseCase } from "./GetSettingsUseCase.js";
3
- export const GetSettingsFeature = createFeature({
4
- name: "FileManager/GetSettings",
5
- register(container) {
6
- container.register(GetSettingsUseCase);
7
- }
3
+ const GetSettingsFeature = createFeature({
4
+ name: "FileManager/GetSettings",
5
+ register (container) {
6
+ container.register(GetSettingsUseCase);
7
+ }
8
8
  });
9
+ export { GetSettingsFeature };
9
10
 
10
11
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","GetSettingsUseCase","GetSettingsFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetSettingsUseCase } from \"./GetSettingsUseCase.js\";\n\nexport const GetSettingsFeature = createFeature({\n name: \"FileManager/GetSettings\",\n register(container) {\n container.register(GetSettingsUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,kBAAkB;AAE3B,OAAO,MAAMC,kBAAkB,GAAGF,aAAa,CAAC;EAC5CG,IAAI,EAAE,yBAAyB;EAC/BC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,kBAAkB,CAAC;EAC1C;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/settings/GetSettings/feature.js","sources":["../../../../src/features/settings/GetSettings/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetSettingsUseCase } from \"./GetSettingsUseCase.js\";\n\nexport const GetSettingsFeature = createFeature({\n name: \"FileManager/GetSettings\",\n register(container) {\n container.register(GetSettingsUseCase);\n }\n});\n"],"names":["GetSettingsFeature","createFeature","container","GetSettingsUseCase"],"mappings":";;AAGO,MAAMA,qBAAqBC,cAAc;IAC5C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -5,31 +5,32 @@ import { FILE_MANAGER_GENERAL_SETTINGS } from "../../../domain/settings/constant
5
5
  import { UpdateSettingsUseCase } from "../UpdateSettings/abstractions.js";
6
6
  import { KeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
7
7
  class SettingsInstallerImpl {
8
- alwaysRun = true;
9
- appName = "FileManager";
10
- dependsOn = [];
11
- constructor(updateSettings, keyValueStore) {
12
- this.updateSettings = updateSettings;
13
- this.keyValueStore = keyValueStore;
14
- }
15
- async install() {
16
- // TODO: move this to api-core with a proper abstraction
17
- const manifest = await ServiceDiscovery.load();
18
- const {
19
- domain
20
- } = manifest?.api.cloudfront;
21
- await this.updateSettings.execute({
22
- srcPrefix: `${domain}/files`
23
- });
24
- }
25
- async uninstall() {
26
- await this.keyValueStore.delete(FILE_MANAGER_GENERAL_SETTINGS);
27
- }
8
+ constructor(updateSettings, keyValueStore){
9
+ this.updateSettings = updateSettings;
10
+ this.keyValueStore = keyValueStore;
11
+ this.alwaysRun = true;
12
+ this.appName = "FileManager";
13
+ this.dependsOn = [];
14
+ }
15
+ async install() {
16
+ const manifest = await ServiceDiscovery.load();
17
+ const { domain } = manifest?.api.cloudfront;
18
+ await this.updateSettings.execute({
19
+ srcPrefix: `${domain}/files`
20
+ });
21
+ }
22
+ async uninstall() {
23
+ await this.keyValueStore.delete(FILE_MANAGER_GENERAL_SETTINGS);
24
+ }
28
25
  }
29
- export const SettingsInstaller = createImplementation({
30
- abstraction: AppInstaller,
31
- implementation: SettingsInstallerImpl,
32
- dependencies: [UpdateSettingsUseCase, KeyValueStore]
26
+ const SettingsInstaller = createImplementation({
27
+ abstraction: AppInstaller,
28
+ implementation: SettingsInstallerImpl,
29
+ dependencies: [
30
+ UpdateSettingsUseCase,
31
+ KeyValueStore
32
+ ]
33
33
  });
34
+ export { SettingsInstaller };
34
35
 
35
36
  //# sourceMappingURL=SettingsInstaller.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ServiceDiscovery","createImplementation","AppInstaller","FILE_MANAGER_GENERAL_SETTINGS","UpdateSettingsUseCase","KeyValueStore","SettingsInstallerImpl","alwaysRun","appName","dependsOn","constructor","updateSettings","keyValueStore","install","manifest","load","domain","api","cloudfront","execute","srcPrefix","uninstall","delete","SettingsInstaller","abstraction","implementation","dependencies"],"sources":["SettingsInstaller.ts"],"sourcesContent":["import { ServiceDiscovery } from \"@webiny/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { AppInstaller } from \"@webiny/api-core/features/tenancy/InstallTenant/index.js\";\nimport { FILE_MANAGER_GENERAL_SETTINGS } from \"~/domain/settings/constants.js\";\nimport { UpdateSettingsUseCase } from \"~/features/settings/UpdateSettings/abstractions.js\";\nimport { KeyValueStore } from \"@webiny/api-core/features/keyValueStore/index.js\";\n\nclass SettingsInstallerImpl implements AppInstaller.Interface {\n readonly alwaysRun = true;\n readonly appName = \"FileManager\";\n readonly dependsOn = [];\n\n constructor(\n private updateSettings: UpdateSettingsUseCase.Interface,\n private keyValueStore: KeyValueStore.Interface\n ) {}\n\n async install(): Promise<void> {\n // TODO: move this to api-core with a proper abstraction\n const manifest = await ServiceDiscovery.load();\n const { domain } = manifest?.api.cloudfront;\n\n await this.updateSettings.execute({\n srcPrefix: `${domain}/files`\n });\n }\n\n async uninstall(): Promise<void> {\n await this.keyValueStore.delete(FILE_MANAGER_GENERAL_SETTINGS);\n }\n}\n\nexport const SettingsInstaller = createImplementation({\n abstraction: AppInstaller,\n implementation: SettingsInstallerImpl,\n dependencies: [UpdateSettingsUseCase, KeyValueStore]\n});\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,aAAa;AAC9C,SAASC,oBAAoB,QAAQ,qBAAqB;AAC1D,SAASC,YAAY,QAAQ,0DAA0D;AACvF,SAASC,6BAA6B;AACtC,SAASC,qBAAqB;AAC9B,SAASC,aAAa,QAAQ,kDAAkD;AAEhF,MAAMC,qBAAqB,CAAmC;EACjDC,SAAS,GAAG,IAAI;EAChBC,OAAO,GAAG,aAAa;EACvBC,SAAS,GAAG,EAAE;EAEvBC,WAAWA,CACCC,cAA+C,EAC/CC,aAAsC,EAChD;IAAA,KAFUD,cAA+C,GAA/CA,cAA+C;IAAA,KAC/CC,aAAsC,GAAtCA,aAAsC;EAC/C;EAEH,MAAMC,OAAOA,CAAA,EAAkB;IAC3B;IACA,MAAMC,QAAQ,GAAG,MAAMd,gBAAgB,CAACe,IAAI,CAAC,CAAC;IAC9C,MAAM;MAAEC;IAAO,CAAC,GAAGF,QAAQ,EAAEG,GAAG,CAACC,UAAU;IAE3C,MAAM,IAAI,CAACP,cAAc,CAACQ,OAAO,CAAC;MAC9BC,SAAS,EAAE,GAAGJ,MAAM;IACxB,CAAC,CAAC;EACN;EAEA,MAAMK,SAASA,CAAA,EAAkB;IAC7B,MAAM,IAAI,CAACT,aAAa,CAACU,MAAM,CAACnB,6BAA6B,CAAC;EAClE;AACJ;AAEA,OAAO,MAAMoB,iBAAiB,GAAGtB,oBAAoB,CAAC;EAClDuB,WAAW,EAAEtB,YAAY;EACzBuB,cAAc,EAAEnB,qBAAqB;EACrCoB,YAAY,EAAE,CAACtB,qBAAqB,EAAEC,aAAa;AACvD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/settings/SettingsInstaller/SettingsInstaller.js","sources":["../../../../src/features/settings/SettingsInstaller/SettingsInstaller.ts"],"sourcesContent":["import { ServiceDiscovery } from \"@webiny/api\";\nimport { createImplementation } from \"@webiny/feature/api\";\nimport { AppInstaller } from \"@webiny/api-core/features/tenancy/InstallTenant/index.js\";\nimport { FILE_MANAGER_GENERAL_SETTINGS } from \"~/domain/settings/constants.js\";\nimport { UpdateSettingsUseCase } from \"~/features/settings/UpdateSettings/abstractions.js\";\nimport { KeyValueStore } from \"@webiny/api-core/features/keyValueStore/index.js\";\n\nclass SettingsInstallerImpl implements AppInstaller.Interface {\n readonly alwaysRun = true;\n readonly appName = \"FileManager\";\n readonly dependsOn = [];\n\n constructor(\n private updateSettings: UpdateSettingsUseCase.Interface,\n private keyValueStore: KeyValueStore.Interface\n ) {}\n\n async install(): Promise<void> {\n // TODO: move this to api-core with a proper abstraction\n const manifest = await ServiceDiscovery.load();\n const { domain } = manifest?.api.cloudfront;\n\n await this.updateSettings.execute({\n srcPrefix: `${domain}/files`\n });\n }\n\n async uninstall(): Promise<void> {\n await this.keyValueStore.delete(FILE_MANAGER_GENERAL_SETTINGS);\n }\n}\n\nexport const SettingsInstaller = createImplementation({\n abstraction: AppInstaller,\n implementation: SettingsInstallerImpl,\n dependencies: [UpdateSettingsUseCase, KeyValueStore]\n});\n"],"names":["SettingsInstallerImpl","updateSettings","keyValueStore","manifest","ServiceDiscovery","domain","FILE_MANAGER_GENERAL_SETTINGS","SettingsInstaller","createImplementation","AppInstaller","UpdateSettingsUseCase","KeyValueStore"],"mappings":";;;;;;AAOA,MAAMA;IAKF,YACYC,cAA+C,EAC/CC,aAAsC,CAChD;aAFUD,cAAc,GAAdA;aACAC,aAAa,GAAbA;aANH,SAAS,GAAG;aACZ,OAAO,GAAG;aACV,SAAS,GAAG,EAAE;IAKpB;IAEH,MAAM,UAAyB;QAE3B,MAAMC,WAAW,MAAMC,iBAAiB,IAAI;QAC5C,MAAM,EAAEC,MAAM,EAAE,GAAGF,UAAU,IAAI;QAEjC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YAC9B,WAAW,GAAGE,OAAO,MAAM,CAAC;QAChC;IACJ;IAEA,MAAM,YAA2B;QAC7B,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAACC;IACpC;AACJ;AAEO,MAAMC,oBAAoBC,qBAAqB;IAClD,aAAaC;IACb,gBAAgBT;IAChB,cAAc;QAACU;QAAuBC;KAAc;AACxD"}
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { SettingsInstaller } from "./SettingsInstaller.js";
3
- export const SettingsInstallerFeature = createFeature({
4
- name: "FileManager/SettingsInstaller",
5
- register(container) {
6
- container.register(SettingsInstaller);
7
- }
3
+ const SettingsInstallerFeature = createFeature({
4
+ name: "FileManager/SettingsInstaller",
5
+ register (container) {
6
+ container.register(SettingsInstaller);
7
+ }
8
8
  });
9
+ export { SettingsInstallerFeature };
9
10
 
10
11
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","SettingsInstaller","SettingsInstallerFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { SettingsInstaller } from \"./SettingsInstaller.js\";\n\nexport const SettingsInstallerFeature = createFeature({\n name: \"FileManager/SettingsInstaller\",\n register(container) {\n container.register(SettingsInstaller);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,iBAAiB;AAE1B,OAAO,MAAMC,wBAAwB,GAAGF,aAAa,CAAC;EAClDG,IAAI,EAAE,+BAA+B;EACrCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,iBAAiB,CAAC;EACzC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/settings/SettingsInstaller/feature.js","sources":["../../../../src/features/settings/SettingsInstaller/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { SettingsInstaller } from \"./SettingsInstaller.js\";\n\nexport const SettingsInstallerFeature = createFeature({\n name: \"FileManager/SettingsInstaller\",\n register(container) {\n container.register(SettingsInstaller);\n }\n});\n"],"names":["SettingsInstallerFeature","createFeature","container","SettingsInstaller"],"mappings":";;AAGO,MAAMA,2BAA2BC,cAAc;IAClD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -1,62 +1,55 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { KeyValueStore } from "@webiny/api-core/features/keyValueStore/index.js";
3
- import { UpdateSettingsUseCase as UseCaseAbstraction } from "./abstractions.js";
3
+ import { UpdateSettingsUseCase } from "./abstractions.js";
4
4
  import { GetSettingsUseCase } from "../GetSettings/abstractions.js";
5
- import { SettingsUpdateError } from "../../../domain/settings/errors.js";
6
- import { SettingsValidationError } from "../../../domain/settings/errors.js";
5
+ import { SettingsUpdateError, SettingsValidationError } from "../../../domain/settings/errors.js";
7
6
  import { FILE_MANAGER_GENERAL_SETTINGS } from "../../../domain/settings/constants.js";
8
7
  import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
9
- import { SettingsBeforeUpdateEvent, SettingsAfterUpdateEvent } from "./events.js";
8
+ import { SettingsAfterUpdateEvent, SettingsBeforeUpdateEvent } from "./events.js";
10
9
  import { updateSettingsValidation } from "../../../domain/settings/validation.js";
11
10
  import { createZodError } from "@webiny/utils";
12
11
  class UpdateSettingsUseCaseImpl {
13
- constructor(keyValueStore, getSettings, eventPublisher) {
14
- this.keyValueStore = keyValueStore;
15
- this.getSettings = getSettings;
16
- this.eventPublisher = eventPublisher;
17
- }
18
- async execute(input) {
19
- // Validate input
20
- const validationResult = await updateSettingsValidation.safeParseAsync(input);
21
- if (!validationResult.success) {
22
- const zodError = createZodError(validationResult.error);
23
- return Result.fail(new SettingsValidationError(zodError.data.invalidFields));
12
+ constructor(keyValueStore, getSettings, eventPublisher){
13
+ this.keyValueStore = keyValueStore;
14
+ this.getSettings = getSettings;
15
+ this.eventPublisher = eventPublisher;
24
16
  }
25
- const validatedInput = validationResult.data;
26
-
27
- // Get existing settings to merge with new data
28
- const existingResult = await this.getSettings.execute();
29
- const existing = existingResult.value;
30
-
31
- // Prepare merged settings
32
- const updatedSettings = {
33
- ...existing,
34
- ...validatedInput
35
- };
36
-
37
- // Publish BeforeUpdate event
38
- await this.eventPublisher.publish(new SettingsBeforeUpdateEvent({
39
- original: existing,
40
- settings: updatedSettings,
41
- input: validatedInput
42
- }));
43
- const result = await this.keyValueStore.set(FILE_MANAGER_GENERAL_SETTINGS, updatedSettings);
44
- if (result.isFail()) {
45
- return Result.fail(new SettingsUpdateError(result.error));
17
+ async execute(input) {
18
+ const validationResult = await updateSettingsValidation.safeParseAsync(input);
19
+ if (!validationResult.success) {
20
+ const zodError = createZodError(validationResult.error);
21
+ return Result.fail(new SettingsValidationError(zodError.data.invalidFields));
22
+ }
23
+ const validatedInput = validationResult.data;
24
+ const existingResult = await this.getSettings.execute();
25
+ const existing = existingResult.value;
26
+ const updatedSettings = {
27
+ ...existing,
28
+ ...validatedInput
29
+ };
30
+ await this.eventPublisher.publish(new SettingsBeforeUpdateEvent({
31
+ original: existing,
32
+ settings: updatedSettings,
33
+ input: validatedInput
34
+ }));
35
+ const result = await this.keyValueStore.set(FILE_MANAGER_GENERAL_SETTINGS, updatedSettings);
36
+ if (result.isFail()) return Result.fail(new SettingsUpdateError(result.error));
37
+ await this.eventPublisher.publish(new SettingsAfterUpdateEvent({
38
+ original: existing,
39
+ settings: updatedSettings,
40
+ input: validatedInput
41
+ }));
42
+ return Result.ok(updatedSettings);
46
43
  }
47
-
48
- // Publish AfterUpdate event
49
- await this.eventPublisher.publish(new SettingsAfterUpdateEvent({
50
- original: existing,
51
- settings: updatedSettings,
52
- input: validatedInput
53
- }));
54
- return Result.ok(updatedSettings);
55
- }
56
44
  }
57
- export const UpdateSettingsUseCase = UseCaseAbstraction.createImplementation({
58
- implementation: UpdateSettingsUseCaseImpl,
59
- dependencies: [KeyValueStore, GetSettingsUseCase, EventPublisher]
45
+ const UpdateSettingsUseCase_UpdateSettingsUseCase = UpdateSettingsUseCase.createImplementation({
46
+ implementation: UpdateSettingsUseCaseImpl,
47
+ dependencies: [
48
+ KeyValueStore,
49
+ GetSettingsUseCase,
50
+ EventPublisher
51
+ ]
60
52
  });
53
+ export { UpdateSettingsUseCase_UpdateSettingsUseCase as UpdateSettingsUseCase };
61
54
 
62
55
  //# sourceMappingURL=UpdateSettingsUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","KeyValueStore","UpdateSettingsUseCase","UseCaseAbstraction","GetSettingsUseCase","SettingsUpdateError","SettingsValidationError","FILE_MANAGER_GENERAL_SETTINGS","EventPublisher","SettingsBeforeUpdateEvent","SettingsAfterUpdateEvent","updateSettingsValidation","createZodError","UpdateSettingsUseCaseImpl","constructor","keyValueStore","getSettings","eventPublisher","execute","input","validationResult","safeParseAsync","success","zodError","error","fail","data","invalidFields","validatedInput","existingResult","existing","value","updatedSettings","publish","original","settings","result","set","isFail","ok","createImplementation","implementation","dependencies"],"sources":["UpdateSettingsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { KeyValueStore } from \"@webiny/api-core/features/keyValueStore/index.js\";\nimport { UpdateSettingsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { GetSettingsUseCase } from \"../GetSettings/abstractions.js\";\nimport type { FileManagerSettings } from \"~/domain/settings/types.js\";\nimport type { UpdateSettingsInput } from \"~/domain/settings/types.js\";\nimport { SettingsUpdateError } from \"~/domain/settings/errors.js\";\nimport { SettingsValidationError } from \"~/domain/settings/errors.js\";\nimport { FILE_MANAGER_GENERAL_SETTINGS } from \"~/domain/settings/constants.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { SettingsBeforeUpdateEvent, SettingsAfterUpdateEvent } from \"./events.js\";\nimport { updateSettingsValidation } from \"~/domain/settings/validation.js\";\nimport { createZodError } from \"@webiny/utils\";\n\nclass UpdateSettingsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private keyValueStore: KeyValueStore.Interface,\n private getSettings: GetSettingsUseCase.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute(\n input: UpdateSettingsInput\n ): Promise<Result<FileManagerSettings, UseCaseAbstraction.Error>> {\n // Validate input\n const validationResult = await updateSettingsValidation.safeParseAsync(input);\n if (!validationResult.success) {\n const zodError = createZodError(validationResult.error);\n return Result.fail(new SettingsValidationError(zodError.data!.invalidFields));\n }\n\n const validatedInput = validationResult.data;\n\n // Get existing settings to merge with new data\n const existingResult = await this.getSettings.execute();\n const existing = existingResult.value;\n\n // Prepare merged settings\n const updatedSettings: FileManagerSettings = {\n ...existing,\n ...validatedInput\n };\n\n // Publish BeforeUpdate event\n await this.eventPublisher.publish(\n new SettingsBeforeUpdateEvent({\n original: existing,\n settings: updatedSettings,\n input: validatedInput\n })\n );\n\n const result = await this.keyValueStore.set(FILE_MANAGER_GENERAL_SETTINGS, updatedSettings);\n\n if (result.isFail()) {\n return Result.fail(new SettingsUpdateError(result.error));\n }\n\n // Publish AfterUpdate event\n await this.eventPublisher.publish(\n new SettingsAfterUpdateEvent({\n original: existing,\n settings: updatedSettings,\n input: validatedInput\n })\n );\n\n return Result.ok(updatedSettings);\n }\n}\n\nexport const UpdateSettingsUseCase = UseCaseAbstraction.createImplementation({\n implementation: UpdateSettingsUseCaseImpl,\n dependencies: [KeyValueStore, GetSettingsUseCase, EventPublisher]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,aAAa,QAAQ,kDAAkD;AAChF,SAASC,qBAAqB,IAAIC,kBAAkB;AACpD,SAASC,kBAAkB;AAG3B,SAASC,mBAAmB;AAC5B,SAASC,uBAAuB;AAChC,SAASC,6BAA6B;AACtC,SAASC,cAAc,QAAQ,mDAAmD;AAClF,SAASC,yBAAyB,EAAEC,wBAAwB;AAC5D,SAASC,wBAAwB;AACjC,SAASC,cAAc,QAAQ,eAAe;AAE9C,MAAMC,yBAAyB,CAAyC;EACpEC,WAAWA,CACCC,aAAsC,EACtCC,WAAyC,EACzCC,cAAwC,EAClD;IAAA,KAHUF,aAAsC,GAAtCA,aAAsC;IAAA,KACtCC,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,cAAwC,GAAxCA,cAAwC;EACjD;EAEH,MAAMC,OAAOA,CACTC,KAA0B,EACoC;IAC9D;IACA,MAAMC,gBAAgB,GAAG,MAAMT,wBAAwB,CAACU,cAAc,CAACF,KAAK,CAAC;IAC7E,IAAI,CAACC,gBAAgB,CAACE,OAAO,EAAE;MAC3B,MAAMC,QAAQ,GAAGX,cAAc,CAACQ,gBAAgB,CAACI,KAAK,CAAC;MACvD,OAAOxB,MAAM,CAACyB,IAAI,CAAC,IAAInB,uBAAuB,CAACiB,QAAQ,CAACG,IAAI,CAAEC,aAAa,CAAC,CAAC;IACjF;IAEA,MAAMC,cAAc,GAAGR,gBAAgB,CAACM,IAAI;;IAE5C;IACA,MAAMG,cAAc,GAAG,MAAM,IAAI,CAACb,WAAW,CAACE,OAAO,CAAC,CAAC;IACvD,MAAMY,QAAQ,GAAGD,cAAc,CAACE,KAAK;;IAErC;IACA,MAAMC,eAAoC,GAAG;MACzC,GAAGF,QAAQ;MACX,GAAGF;IACP,CAAC;;IAED;IACA,MAAM,IAAI,CAACX,cAAc,CAACgB,OAAO,CAC7B,IAAIxB,yBAAyB,CAAC;MAC1ByB,QAAQ,EAAEJ,QAAQ;MAClBK,QAAQ,EAAEH,eAAe;MACzBb,KAAK,EAAES;IACX,CAAC,CACL,CAAC;IAED,MAAMQ,MAAM,GAAG,MAAM,IAAI,CAACrB,aAAa,CAACsB,GAAG,CAAC9B,6BAA6B,EAAEyB,eAAe,CAAC;IAE3F,IAAII,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOtC,MAAM,CAACyB,IAAI,CAAC,IAAIpB,mBAAmB,CAAC+B,MAAM,CAACZ,KAAK,CAAC,CAAC;IAC7D;;IAEA;IACA,MAAM,IAAI,CAACP,cAAc,CAACgB,OAAO,CAC7B,IAAIvB,wBAAwB,CAAC;MACzBwB,QAAQ,EAAEJ,QAAQ;MAClBK,QAAQ,EAAEH,eAAe;MACzBb,KAAK,EAAES;IACX,CAAC,CACL,CAAC;IAED,OAAO5B,MAAM,CAACuC,EAAE,CAACP,eAAe,CAAC;EACrC;AACJ;AAEA,OAAO,MAAM9B,qBAAqB,GAAGC,kBAAkB,CAACqC,oBAAoB,CAAC;EACzEC,cAAc,EAAE5B,yBAAyB;EACzC6B,YAAY,EAAE,CAACzC,aAAa,EAAEG,kBAAkB,EAAEI,cAAc;AACpE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/settings/UpdateSettings/UpdateSettingsUseCase.js","sources":["../../../../src/features/settings/UpdateSettings/UpdateSettingsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { KeyValueStore } from \"@webiny/api-core/features/keyValueStore/index.js\";\nimport { UpdateSettingsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { GetSettingsUseCase } from \"../GetSettings/abstractions.js\";\nimport type { FileManagerSettings } from \"~/domain/settings/types.js\";\nimport type { UpdateSettingsInput } from \"~/domain/settings/types.js\";\nimport { SettingsUpdateError } from \"~/domain/settings/errors.js\";\nimport { SettingsValidationError } from \"~/domain/settings/errors.js\";\nimport { FILE_MANAGER_GENERAL_SETTINGS } from \"~/domain/settings/constants.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { SettingsBeforeUpdateEvent, SettingsAfterUpdateEvent } from \"./events.js\";\nimport { updateSettingsValidation } from \"~/domain/settings/validation.js\";\nimport { createZodError } from \"@webiny/utils\";\n\nclass UpdateSettingsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private keyValueStore: KeyValueStore.Interface,\n private getSettings: GetSettingsUseCase.Interface,\n private eventPublisher: EventPublisher.Interface\n ) {}\n\n async execute(\n input: UpdateSettingsInput\n ): Promise<Result<FileManagerSettings, UseCaseAbstraction.Error>> {\n // Validate input\n const validationResult = await updateSettingsValidation.safeParseAsync(input);\n if (!validationResult.success) {\n const zodError = createZodError(validationResult.error);\n return Result.fail(new SettingsValidationError(zodError.data!.invalidFields));\n }\n\n const validatedInput = validationResult.data;\n\n // Get existing settings to merge with new data\n const existingResult = await this.getSettings.execute();\n const existing = existingResult.value;\n\n // Prepare merged settings\n const updatedSettings: FileManagerSettings = {\n ...existing,\n ...validatedInput\n };\n\n // Publish BeforeUpdate event\n await this.eventPublisher.publish(\n new SettingsBeforeUpdateEvent({\n original: existing,\n settings: updatedSettings,\n input: validatedInput\n })\n );\n\n const result = await this.keyValueStore.set(FILE_MANAGER_GENERAL_SETTINGS, updatedSettings);\n\n if (result.isFail()) {\n return Result.fail(new SettingsUpdateError(result.error));\n }\n\n // Publish AfterUpdate event\n await this.eventPublisher.publish(\n new SettingsAfterUpdateEvent({\n original: existing,\n settings: updatedSettings,\n input: validatedInput\n })\n );\n\n return Result.ok(updatedSettings);\n }\n}\n\nexport const UpdateSettingsUseCase = UseCaseAbstraction.createImplementation({\n implementation: UpdateSettingsUseCaseImpl,\n dependencies: [KeyValueStore, GetSettingsUseCase, EventPublisher]\n});\n"],"names":["UpdateSettingsUseCaseImpl","keyValueStore","getSettings","eventPublisher","input","validationResult","updateSettingsValidation","zodError","createZodError","Result","SettingsValidationError","validatedInput","existingResult","existing","updatedSettings","SettingsBeforeUpdateEvent","result","FILE_MANAGER_GENERAL_SETTINGS","SettingsUpdateError","SettingsAfterUpdateEvent","UpdateSettingsUseCase","UseCaseAbstraction","KeyValueStore","GetSettingsUseCase","EventPublisher"],"mappings":";;;;;;;;;;AAcA,MAAMA;IACF,YACYC,aAAsC,EACtCC,WAAyC,EACzCC,cAAwC,CAClD;aAHUF,aAAa,GAAbA;aACAC,WAAW,GAAXA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QACFC,KAA0B,EACoC;QAE9D,MAAMC,mBAAmB,MAAMC,yBAAyB,cAAc,CAACF;QACvE,IAAI,CAACC,iBAAiB,OAAO,EAAE;YAC3B,MAAME,WAAWC,eAAeH,iBAAiB,KAAK;YACtD,OAAOI,OAAO,IAAI,CAAC,IAAIC,wBAAwBH,SAAS,IAAI,CAAE,aAAa;QAC/E;QAEA,MAAMI,iBAAiBN,iBAAiB,IAAI;QAG5C,MAAMO,iBAAiB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO;QACrD,MAAMC,WAAWD,eAAe,KAAK;QAGrC,MAAME,kBAAuC;YACzC,GAAGD,QAAQ;YACX,GAAGF,cAAc;QACrB;QAGA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAII,0BAA0B;YAC1B,UAAUF;YACV,UAAUC;YACV,OAAOH;QACX;QAGJ,MAAMK,SAAS,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAACC,+BAA+BH;QAE3E,IAAIE,OAAO,MAAM,IACb,OAAOP,OAAO,IAAI,CAAC,IAAIS,oBAAoBF,OAAO,KAAK;QAI3D,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIG,yBAAyB;YACzB,UAAUN;YACV,UAAUC;YACV,OAAOH;QACX;QAGJ,OAAOF,OAAO,EAAE,CAACK;IACrB;AACJ;AAEO,MAAMM,8CAAwBC,sBAAAA,oBAAuC,CAAC;IACzE,gBAAgBrB;IAChB,cAAc;QAACsB;QAAeC;QAAoBC;KAAe;AACrE"}
@@ -1,10 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- /**
4
- * UpdateSettings use case interface
5
- */
6
-
7
- /** Update file manager settings. */
8
- export const UpdateSettingsUseCase = createAbstraction("UpdateSettingsUseCase");
2
+ const UpdateSettingsUseCase = createAbstraction("UpdateSettingsUseCase");
3
+ export { UpdateSettingsUseCase };
9
4
 
10
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","UpdateSettingsUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { FileManagerSettings } from \"~/domain/settings/types.js\";\nimport type { UpdateSettingsInput } from \"~/domain/settings/types.js\";\nimport type { SettingsUpdateError } from \"~/domain/settings/errors.js\";\nimport type { SettingsValidationError } from \"~/domain/settings/errors.js\";\n\n/**\n * UpdateSettings use case interface\n */\nexport interface IUpdateSettingsUseCase {\n execute(input: UpdateSettingsInput): Promise<Result<FileManagerSettings, UseCaseError>>;\n}\n\nexport interface IUpdateSettingsUseCaseErrors {\n updateError: SettingsUpdateError;\n validationError: SettingsValidationError;\n}\n\ntype UseCaseError = IUpdateSettingsUseCaseErrors[keyof IUpdateSettingsUseCaseErrors];\n\n/** Update file manager settings. */\nexport const UpdateSettingsUseCase =\n createAbstraction<IUpdateSettingsUseCase>(\"UpdateSettingsUseCase\");\n\nexport namespace UpdateSettingsUseCase {\n export type Interface = IUpdateSettingsUseCase;\n export type Error = UseCaseError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAOvD;AACA;AACA;;AAYA;AACA,OAAO,MAAMC,qBAAqB,GAC9BD,iBAAiB,CAAyB,uBAAuB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/settings/UpdateSettings/abstractions.js","sources":["../../../../src/features/settings/UpdateSettings/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { FileManagerSettings } from \"~/domain/settings/types.js\";\nimport type { UpdateSettingsInput } from \"~/domain/settings/types.js\";\nimport type { SettingsUpdateError } from \"~/domain/settings/errors.js\";\nimport type { SettingsValidationError } from \"~/domain/settings/errors.js\";\n\n/**\n * UpdateSettings use case interface\n */\nexport interface IUpdateSettingsUseCase {\n execute(input: UpdateSettingsInput): Promise<Result<FileManagerSettings, UseCaseError>>;\n}\n\nexport interface IUpdateSettingsUseCaseErrors {\n updateError: SettingsUpdateError;\n validationError: SettingsValidationError;\n}\n\ntype UseCaseError = IUpdateSettingsUseCaseErrors[keyof IUpdateSettingsUseCaseErrors];\n\n/** Update file manager settings. */\nexport const UpdateSettingsUseCase =\n createAbstraction<IUpdateSettingsUseCase>(\"UpdateSettingsUseCase\");\n\nexport namespace UpdateSettingsUseCase {\n export type Interface = IUpdateSettingsUseCase;\n export type Error = UseCaseError;\n}\n"],"names":["UpdateSettingsUseCase","createAbstraction"],"mappings":";AAsBO,MAAMA,wBACTC,kBAA0C"}
@@ -1,32 +1,23 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
2
  import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
-
4
- // ============================================================================
5
- // SettingsBeforeUpdate Event
6
- // ============================================================================
7
-
8
- export class SettingsBeforeUpdateEvent extends DomainEvent {
9
- eventType = "FileManager/Settings/BeforeUpdate";
10
- getHandlerAbstraction() {
11
- return SettingsBeforeUpdateEventHandler;
12
- }
3
+ class SettingsBeforeUpdateEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return SettingsBeforeUpdateEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "FileManager/Settings/BeforeUpdate";
9
+ }
13
10
  }
14
-
15
- /** Hook into settings lifecycle before settings are updated. */
16
- export const SettingsBeforeUpdateEventHandler = createAbstraction("SettingsBeforeUpdateEventHandler");
17
-
18
- // ============================================================================
19
- // SettingsAfterUpdate Event
20
- // ============================================================================
21
-
22
- export class SettingsAfterUpdateEvent extends DomainEvent {
23
- eventType = "FileManager/Settings/AfterUpdate";
24
- getHandlerAbstraction() {
25
- return SettingsAfterUpdateEventHandler;
26
- }
11
+ const SettingsBeforeUpdateEventHandler = createAbstraction("SettingsBeforeUpdateEventHandler");
12
+ class SettingsAfterUpdateEvent extends DomainEvent {
13
+ getHandlerAbstraction() {
14
+ return SettingsAfterUpdateEventHandler;
15
+ }
16
+ constructor(...args){
17
+ super(...args), this.eventType = "FileManager/Settings/AfterUpdate";
18
+ }
27
19
  }
28
-
29
- /** Hook into settings lifecycle after settings are updated. */
30
- export const SettingsAfterUpdateEventHandler = createAbstraction("SettingsAfterUpdateEventHandler");
20
+ const SettingsAfterUpdateEventHandler = createAbstraction("SettingsAfterUpdateEventHandler");
21
+ export { SettingsAfterUpdateEvent, SettingsAfterUpdateEventHandler, SettingsBeforeUpdateEvent, SettingsBeforeUpdateEventHandler };
31
22
 
32
23
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","SettingsBeforeUpdateEvent","eventType","getHandlerAbstraction","SettingsBeforeUpdateEventHandler","SettingsAfterUpdateEvent","SettingsAfterUpdateEventHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { FileManagerSettings } from \"~/domain/settings/types.js\";\nimport type { UpdateSettingsInput } from \"~/domain/settings/types.js\";\n\n// ============================================================================\n// SettingsBeforeUpdate Event\n// ============================================================================\n\nexport interface SettingsBeforeUpdatePayload {\n original: FileManagerSettings;\n settings: FileManagerSettings;\n input: UpdateSettingsInput;\n}\n\nexport class SettingsBeforeUpdateEvent extends DomainEvent<SettingsBeforeUpdatePayload> {\n eventType = \"FileManager/Settings/BeforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return SettingsBeforeUpdateEventHandler;\n }\n}\n\n/** Hook into settings lifecycle before settings are updated. */\nexport const SettingsBeforeUpdateEventHandler = createAbstraction<\n IEventHandler<SettingsBeforeUpdateEvent>\n>(\"SettingsBeforeUpdateEventHandler\");\n\nexport namespace SettingsBeforeUpdateEventHandler {\n export type Interface = IEventHandler<SettingsBeforeUpdateEvent>;\n export type Event = SettingsBeforeUpdateEvent;\n}\n\n// ============================================================================\n// SettingsAfterUpdate Event\n// ============================================================================\n\nexport interface SettingsAfterUpdatePayload {\n original: FileManagerSettings;\n settings: FileManagerSettings;\n input: UpdateSettingsInput;\n}\n\nexport class SettingsAfterUpdateEvent extends DomainEvent<SettingsAfterUpdatePayload> {\n eventType = \"FileManager/Settings/AfterUpdate\" as const;\n\n getHandlerAbstraction() {\n return SettingsAfterUpdateEventHandler;\n }\n}\n\n/** Hook into settings lifecycle after settings are updated. */\nexport const SettingsAfterUpdateEventHandler = createAbstraction<\n IEventHandler<SettingsAfterUpdateEvent>\n>(\"SettingsAfterUpdateEventHandler\");\n\nexport namespace SettingsAfterUpdateEventHandler {\n export type Interface = IEventHandler<SettingsAfterUpdateEvent>;\n export type Event = SettingsAfterUpdateEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW,QAAQ,mDAAmD;;AAK/E;AACA;AACA;;AAQA,OAAO,MAAMC,yBAAyB,SAASD,WAAW,CAA8B;EACpFE,SAAS,GAAG,mCAAmC;EAE/CC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,gCAAgC;EAC3C;AACJ;;AAEA;AACA,OAAO,MAAMA,gCAAgC,GAAGL,iBAAiB,CAE/D,kCAAkC,CAAC;;AAOrC;AACA;AACA;;AAQA,OAAO,MAAMM,wBAAwB,SAASL,WAAW,CAA6B;EAClFE,SAAS,GAAG,kCAAkC;EAE9CC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,+BAA+B;EAC1C;AACJ;;AAEA;AACA,OAAO,MAAMA,+BAA+B,GAAGP,iBAAiB,CAE9D,iCAAiC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/settings/UpdateSettings/events.js","sources":["../../../../src/features/settings/UpdateSettings/events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { FileManagerSettings } from \"~/domain/settings/types.js\";\nimport type { UpdateSettingsInput } from \"~/domain/settings/types.js\";\n\n// ============================================================================\n// SettingsBeforeUpdate Event\n// ============================================================================\n\nexport interface SettingsBeforeUpdatePayload {\n original: FileManagerSettings;\n settings: FileManagerSettings;\n input: UpdateSettingsInput;\n}\n\nexport class SettingsBeforeUpdateEvent extends DomainEvent<SettingsBeforeUpdatePayload> {\n eventType = \"FileManager/Settings/BeforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return SettingsBeforeUpdateEventHandler;\n }\n}\n\n/** Hook into settings lifecycle before settings are updated. */\nexport const SettingsBeforeUpdateEventHandler = createAbstraction<\n IEventHandler<SettingsBeforeUpdateEvent>\n>(\"SettingsBeforeUpdateEventHandler\");\n\nexport namespace SettingsBeforeUpdateEventHandler {\n export type Interface = IEventHandler<SettingsBeforeUpdateEvent>;\n export type Event = SettingsBeforeUpdateEvent;\n}\n\n// ============================================================================\n// SettingsAfterUpdate Event\n// ============================================================================\n\nexport interface SettingsAfterUpdatePayload {\n original: FileManagerSettings;\n settings: FileManagerSettings;\n input: UpdateSettingsInput;\n}\n\nexport class SettingsAfterUpdateEvent extends DomainEvent<SettingsAfterUpdatePayload> {\n eventType = \"FileManager/Settings/AfterUpdate\" as const;\n\n getHandlerAbstraction() {\n return SettingsAfterUpdateEventHandler;\n }\n}\n\n/** Hook into settings lifecycle after settings are updated. */\nexport const SettingsAfterUpdateEventHandler = createAbstraction<\n IEventHandler<SettingsAfterUpdateEvent>\n>(\"SettingsAfterUpdateEventHandler\");\n\nexport namespace SettingsAfterUpdateEventHandler {\n export type Interface = IEventHandler<SettingsAfterUpdateEvent>;\n export type Event = SettingsAfterUpdateEvent;\n}\n"],"names":["SettingsBeforeUpdateEvent","DomainEvent","SettingsBeforeUpdateEventHandler","createAbstraction","SettingsAfterUpdateEvent","SettingsAfterUpdateEventHandler"],"mappings":";;AAgBO,MAAMA,kCAAkCC;IAG3C,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMA,mCAAmCC,kBAE9C;AAiBK,MAAMC,iCAAiCH;IAG1C,wBAAwB;QACpB,OAAOI;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMA,kCAAkCF,kBAE7C"}
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { UpdateSettingsUseCase } from "./UpdateSettingsUseCase.js";
3
- export const UpdateSettingsFeature = createFeature({
4
- name: "FileManager/UpdateSettings",
5
- register(container) {
6
- container.register(UpdateSettingsUseCase);
7
- }
3
+ const UpdateSettingsFeature = createFeature({
4
+ name: "FileManager/UpdateSettings",
5
+ register (container) {
6
+ container.register(UpdateSettingsUseCase);
7
+ }
8
8
  });
9
+ export { UpdateSettingsFeature };
9
10
 
10
11
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","UpdateSettingsUseCase","UpdateSettingsFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateSettingsUseCase } from \"./UpdateSettingsUseCase.js\";\n\nexport const UpdateSettingsFeature = createFeature({\n name: \"FileManager/UpdateSettings\",\n register(container) {\n container.register(UpdateSettingsUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,qBAAqB;AAE9B,OAAO,MAAMC,qBAAqB,GAAGF,aAAa,CAAC;EAC/CG,IAAI,EAAE,4BAA4B;EAClCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,qBAAqB,CAAC;EAC7C;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/settings/UpdateSettings/feature.js","sources":["../../../../src/features/settings/UpdateSettings/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateSettingsUseCase } from \"./UpdateSettingsUseCase.js\";\n\nexport const UpdateSettingsFeature = createFeature({\n name: \"FileManager/UpdateSettings\",\n register(container) {\n container.register(UpdateSettingsUseCase);\n }\n});\n"],"names":["UpdateSettingsFeature","createFeature","container","UpdateSettingsUseCase"],"mappings":";;AAGO,MAAMA,wBAAwBC,cAAc;IAC/C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -1,4 +1,2 @@
1
1
  export { UpdateSettingsUseCase } from "./abstractions.js";
2
2
  export { SettingsAfterUpdateEventHandler, SettingsBeforeUpdateEventHandler } from "./events.js";
3
-
4
- //# sourceMappingURL=index.js.map
@@ -1,3 +1 @@
1
1
  export { FmPermissions } from "../permissions/abstractions.js";
2
-
3
- //# sourceMappingURL=abstractions.js.map
@@ -2,9 +2,9 @@ import { ErrorResponse, GraphQLSchemaPlugin, Response } from "@webiny/handler-gr
2
2
  import { emptyResolver } from "./utils.js";
3
3
  import { GetSettingsUseCase } from "../features/settings/GetSettings/abstractions.js";
4
4
  import { UpdateSettingsUseCase } from "../features/settings/UpdateSettings/abstractions.js";
5
- export const createBaseSchema = () => {
6
- const fileManagerGraphQL = new GraphQLSchemaPlugin({
7
- typeDefs: /* GraphQL */`
5
+ const createBaseSchema = ()=>{
6
+ const fileManagerGraphQL = new GraphQLSchemaPlugin({
7
+ typeDefs: `
8
8
  type FmError {
9
9
  code: String
10
10
  message: String
@@ -67,37 +67,34 @@ export const createBaseSchema = () => {
67
67
  fileManager: FmMutation
68
68
  }
69
69
  `,
70
- resolvers: {
71
- Query: {
72
- fileManager: emptyResolver
73
- },
74
- Mutation: {
75
- fileManager: emptyResolver
76
- },
77
- FmQuery: {
78
- async getSettings(_, __, context) {
79
- const getSettings = context.container.resolve(GetSettingsUseCase);
80
- const result = await getSettings.execute();
81
- if (result.isFail()) {
82
- return new ErrorResponse(result.error);
83
- }
84
- return new Response(result.value);
85
- }
86
- },
87
- FmMutation: {
88
- async updateSettings(_, args, context) {
89
- const updateSettings = context.container.resolve(UpdateSettingsUseCase);
90
- const result = await updateSettings.execute(args.data);
91
- if (result.isFail()) {
92
- return new ErrorResponse(result.error);
93
- }
94
- return new Response(result.value);
70
+ resolvers: {
71
+ Query: {
72
+ fileManager: emptyResolver
73
+ },
74
+ Mutation: {
75
+ fileManager: emptyResolver
76
+ },
77
+ FmQuery: {
78
+ async getSettings (_, __, context) {
79
+ const getSettings = context.container.resolve(GetSettingsUseCase);
80
+ const result = await getSettings.execute();
81
+ if (result.isFail()) return new ErrorResponse(result.error);
82
+ return new Response(result.value);
83
+ }
84
+ },
85
+ FmMutation: {
86
+ async updateSettings (_, args, context) {
87
+ const updateSettings = context.container.resolve(UpdateSettingsUseCase);
88
+ const result = await updateSettings.execute(args.data);
89
+ if (result.isFail()) return new ErrorResponse(result.error);
90
+ return new Response(result.value);
91
+ }
92
+ }
95
93
  }
96
- }
97
- }
98
- });
99
- fileManagerGraphQL.name = "fm.graphql.base";
100
- return fileManagerGraphQL;
94
+ });
95
+ fileManagerGraphQL.name = "fm.graphql.base";
96
+ return fileManagerGraphQL;
101
97
  };
98
+ export { createBaseSchema };
102
99
 
103
100
  //# sourceMappingURL=baseSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ErrorResponse","GraphQLSchemaPlugin","Response","emptyResolver","GetSettingsUseCase","UpdateSettingsUseCase","createBaseSchema","fileManagerGraphQL","typeDefs","resolvers","Query","fileManager","Mutation","FmQuery","getSettings","_","__","context","container","resolve","result","execute","isFail","error","value","FmMutation","updateSettings","args","data","name"],"sources":["baseSchema.ts"],"sourcesContent":["import { ErrorResponse, GraphQLSchemaPlugin, Response } from \"@webiny/handler-graphql\";\nimport { emptyResolver } from \"./utils.js\";\nimport { GetSettingsUseCase } from \"~/features/settings/GetSettings/abstractions.js\";\nimport { UpdateSettingsUseCase } from \"~/features/settings/UpdateSettings/abstractions.js\";\nimport type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\n\nexport const createBaseSchema = () => {\n const fileManagerGraphQL = new GraphQLSchemaPlugin<ApiCoreContext>({\n typeDefs: /* GraphQL */ `\n type FmError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type FmCreatedBy {\n id: ID\n displayName: String\n type: String\n }\n\n type FmListMeta {\n cursor: String\n totalCount: Int\n hasMoreItems: Boolean\n }\n\n type FmBooleanResponse {\n data: Boolean\n error: FmError\n }\n\n type FmSettings {\n uploadMinFileSize: Number\n uploadMaxFileSize: Number\n srcPrefix: String\n }\n\n input FmSettingsInput {\n uploadMinFileSize: Number\n uploadMaxFileSize: Number\n srcPrefix: String\n }\n\n type FmSettingsResponse {\n data: FmSettings\n error: FmError\n }\n\n type FmQuery {\n getSettings: FmSettingsResponse\n }\n\n type FmDeleteResponse {\n data: Boolean\n error: FmError\n }\n\n type FmMutation {\n updateSettings(data: FmSettingsInput): FmSettingsResponse\n }\n\n extend type Query {\n fileManager: FmQuery\n }\n\n extend type Mutation {\n fileManager: FmMutation\n }\n `,\n resolvers: {\n Query: {\n fileManager: emptyResolver\n },\n Mutation: {\n fileManager: emptyResolver\n },\n FmQuery: {\n async getSettings(_, __, context) {\n const getSettings = context.container.resolve(GetSettingsUseCase);\n const result = await getSettings.execute();\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n }\n },\n FmMutation: {\n async updateSettings(_, args: any, context) {\n const updateSettings = context.container.resolve(UpdateSettingsUseCase);\n const result = await updateSettings.execute(args.data);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n }\n }\n }\n });\n fileManagerGraphQL.name = \"fm.graphql.base\";\n\n return fileManagerGraphQL;\n};\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,mBAAmB,EAAEC,QAAQ,QAAQ,yBAAyB;AACtF,SAASC,aAAa;AACtB,SAASC,kBAAkB;AAC3B,SAASC,qBAAqB;AAG9B,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EAClC,MAAMC,kBAAkB,GAAG,IAAIN,mBAAmB,CAAiB;IAC/DO,QAAQ,EAAE,aAAc;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;IACDC,SAAS,EAAE;MACPC,KAAK,EAAE;QACHC,WAAW,EAAER;MACjB,CAAC;MACDS,QAAQ,EAAE;QACND,WAAW,EAAER;MACjB,CAAC;MACDU,OAAO,EAAE;QACL,MAAMC,WAAWA,CAACC,CAAC,EAAEC,EAAE,EAAEC,OAAO,EAAE;UAC9B,MAAMH,WAAW,GAAGG,OAAO,CAACC,SAAS,CAACC,OAAO,CAACf,kBAAkB,CAAC;UACjE,MAAMgB,MAAM,GAAG,MAAMN,WAAW,CAACO,OAAO,CAAC,CAAC;UAE1C,IAAID,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;YACjB,OAAO,IAAItB,aAAa,CAACoB,MAAM,CAACG,KAAK,CAAC;UAC1C;UAEA,OAAO,IAAIrB,QAAQ,CAACkB,MAAM,CAACI,KAAK,CAAC;QACrC;MACJ,CAAC;MACDC,UAAU,EAAE;QACR,MAAMC,cAAcA,CAACX,CAAC,EAAEY,IAAS,EAAEV,OAAO,EAAE;UACxC,MAAMS,cAAc,GAAGT,OAAO,CAACC,SAAS,CAACC,OAAO,CAACd,qBAAqB,CAAC;UACvE,MAAMe,MAAM,GAAG,MAAMM,cAAc,CAACL,OAAO,CAACM,IAAI,CAACC,IAAI,CAAC;UAEtD,IAAIR,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;YACjB,OAAO,IAAItB,aAAa,CAACoB,MAAM,CAACG,KAAK,CAAC;UAC1C;UAEA,OAAO,IAAIrB,QAAQ,CAACkB,MAAM,CAACI,KAAK,CAAC;QACrC;MACJ;IACJ;EACJ,CAAC,CAAC;EACFjB,kBAAkB,CAACsB,IAAI,GAAG,iBAAiB;EAE3C,OAAOtB,kBAAkB;AAC7B,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"graphql/baseSchema.js","sources":["../../src/graphql/baseSchema.ts"],"sourcesContent":["import { ErrorResponse, GraphQLSchemaPlugin, Response } from \"@webiny/handler-graphql\";\nimport { emptyResolver } from \"./utils.js\";\nimport { GetSettingsUseCase } from \"~/features/settings/GetSettings/abstractions.js\";\nimport { UpdateSettingsUseCase } from \"~/features/settings/UpdateSettings/abstractions.js\";\nimport type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\n\nexport const createBaseSchema = () => {\n const fileManagerGraphQL = new GraphQLSchemaPlugin<ApiCoreContext>({\n typeDefs: /* GraphQL */ `\n type FmError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type FmCreatedBy {\n id: ID\n displayName: String\n type: String\n }\n\n type FmListMeta {\n cursor: String\n totalCount: Int\n hasMoreItems: Boolean\n }\n\n type FmBooleanResponse {\n data: Boolean\n error: FmError\n }\n\n type FmSettings {\n uploadMinFileSize: Number\n uploadMaxFileSize: Number\n srcPrefix: String\n }\n\n input FmSettingsInput {\n uploadMinFileSize: Number\n uploadMaxFileSize: Number\n srcPrefix: String\n }\n\n type FmSettingsResponse {\n data: FmSettings\n error: FmError\n }\n\n type FmQuery {\n getSettings: FmSettingsResponse\n }\n\n type FmDeleteResponse {\n data: Boolean\n error: FmError\n }\n\n type FmMutation {\n updateSettings(data: FmSettingsInput): FmSettingsResponse\n }\n\n extend type Query {\n fileManager: FmQuery\n }\n\n extend type Mutation {\n fileManager: FmMutation\n }\n `,\n resolvers: {\n Query: {\n fileManager: emptyResolver\n },\n Mutation: {\n fileManager: emptyResolver\n },\n FmQuery: {\n async getSettings(_, __, context) {\n const getSettings = context.container.resolve(GetSettingsUseCase);\n const result = await getSettings.execute();\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n }\n },\n FmMutation: {\n async updateSettings(_, args: any, context) {\n const updateSettings = context.container.resolve(UpdateSettingsUseCase);\n const result = await updateSettings.execute(args.data);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(result.value);\n }\n }\n }\n });\n fileManagerGraphQL.name = \"fm.graphql.base\";\n\n return fileManagerGraphQL;\n};\n"],"names":["createBaseSchema","fileManagerGraphQL","GraphQLSchemaPlugin","emptyResolver","_","__","context","getSettings","GetSettingsUseCase","result","ErrorResponse","Response","args","updateSettings","UpdateSettingsUseCase"],"mappings":";;;;AAMO,MAAMA,mBAAmB;IAC5B,MAAMC,qBAAqB,IAAIC,oBAAoC;QAC/D,UAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA8DzB,CAAC;QACD,WAAW;YACP,OAAO;gBACH,aAAaC;YACjB;YACA,UAAU;gBACN,aAAaA;YACjB;YACA,SAAS;gBACL,MAAM,aAAYC,CAAC,EAAEC,EAAE,EAAEC,OAAO;oBAC5B,MAAMC,cAAcD,QAAQ,SAAS,CAAC,OAAO,CAACE;oBAC9C,MAAMC,SAAS,MAAMF,YAAY,OAAO;oBAExC,IAAIE,OAAO,MAAM,IACb,OAAO,IAAIC,cAAcD,OAAO,KAAK;oBAGzC,OAAO,IAAIE,SAASF,OAAO,KAAK;gBACpC;YACJ;YACA,YAAY;gBACR,MAAM,gBAAeL,CAAC,EAAEQ,IAAS,EAAEN,OAAO;oBACtC,MAAMO,iBAAiBP,QAAQ,SAAS,CAAC,OAAO,CAACQ;oBACjD,MAAML,SAAS,MAAMI,eAAe,OAAO,CAACD,KAAK,IAAI;oBAErD,IAAIH,OAAO,MAAM,IACb,OAAO,IAAIC,cAAcD,OAAO,KAAK;oBAGzC,OAAO,IAAIE,SAASF,OAAO,KAAK;gBACpC;YACJ;QACJ;IACJ;IACAR,mBAAmB,IAAI,GAAG;IAE1B,OAAOA;AACX"}