@webiny/api-file-manager 0.0.0-unstable.eb196ccd2f → 0.0.0-unstable.f6dc066313

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 (410) hide show
  1. package/README.md +7 -13
  2. package/contants.js +1 -7
  3. package/contants.js.map +1 -1
  4. package/delivery/AssetDelivery/Asset.d.ts +3 -7
  5. package/delivery/AssetDelivery/Asset.js +1 -11
  6. package/delivery/AssetDelivery/Asset.js.map +1 -1
  7. package/delivery/AssetDelivery/AssetDeliveryConfig.d.ts +11 -9
  8. package/delivery/AssetDelivery/AssetDeliveryConfig.js +18 -26
  9. package/delivery/AssetDelivery/AssetDeliveryConfig.js.map +1 -1
  10. package/delivery/AssetDelivery/AssetRequest.d.ts +1 -1
  11. package/delivery/AssetDelivery/AssetRequest.js +1 -8
  12. package/delivery/AssetDelivery/AssetRequest.js.map +1 -1
  13. package/delivery/AssetDelivery/FilesAssetRequestResolver.d.ts +3 -3
  14. package/delivery/AssetDelivery/FilesAssetRequestResolver.js +3 -10
  15. package/delivery/AssetDelivery/FilesAssetRequestResolver.js.map +1 -1
  16. package/delivery/AssetDelivery/NullAssetOutputStrategy.d.ts +1 -1
  17. package/delivery/AssetDelivery/NullAssetOutputStrategy.js +3 -10
  18. package/delivery/AssetDelivery/NullAssetOutputStrategy.js.map +1 -1
  19. package/delivery/AssetDelivery/NullAssetReply.d.ts +1 -1
  20. package/delivery/AssetDelivery/NullAssetReply.js +2 -9
  21. package/delivery/AssetDelivery/NullAssetReply.js.map +1 -1
  22. package/delivery/AssetDelivery/NullAssetResolver.d.ts +2 -2
  23. package/delivery/AssetDelivery/NullAssetResolver.js +1 -8
  24. package/delivery/AssetDelivery/NullAssetResolver.js.map +1 -1
  25. package/delivery/AssetDelivery/NullRequestResolver.d.ts +1 -1
  26. package/delivery/AssetDelivery/NullRequestResolver.js +1 -8
  27. package/delivery/AssetDelivery/NullRequestResolver.js.map +1 -1
  28. package/delivery/AssetDelivery/SetCacheControlHeaders.d.ts +1 -1
  29. package/delivery/AssetDelivery/SetCacheControlHeaders.js +1 -8
  30. package/delivery/AssetDelivery/SetCacheControlHeaders.js.map +1 -1
  31. package/delivery/AssetDelivery/SetResponseHeaders.d.ts +3 -3
  32. package/delivery/AssetDelivery/SetResponseHeaders.js +1 -8
  33. package/delivery/AssetDelivery/SetResponseHeaders.js.map +1 -1
  34. package/delivery/AssetDelivery/abstractions/AssetContentsReader.d.ts +1 -3
  35. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js +1 -5
  36. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js.map +1 -1
  37. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.d.ts +1 -1
  38. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js +1 -5
  39. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js.map +1 -1
  40. package/delivery/AssetDelivery/abstractions/AssetProcessor.d.ts +1 -1
  41. package/delivery/AssetDelivery/abstractions/AssetProcessor.js +1 -5
  42. package/delivery/AssetDelivery/abstractions/AssetProcessor.js.map +1 -1
  43. package/delivery/AssetDelivery/abstractions/AssetReply.js +3 -10
  44. package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -1
  45. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.d.ts +2 -2
  46. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js +1 -5
  47. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js.map +1 -1
  48. package/delivery/AssetDelivery/abstractions/AssetResolver.d.ts +1 -1
  49. package/delivery/AssetDelivery/abstractions/AssetResolver.js +1 -5
  50. package/delivery/AssetDelivery/abstractions/AssetResolver.js.map +1 -1
  51. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.d.ts +1 -1
  52. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js +1 -5
  53. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js.map +1 -1
  54. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.d.ts +1 -1
  55. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +1 -8
  56. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -1
  57. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.d.ts +1 -1
  58. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js +1 -5
  59. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js.map +1 -1
  60. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +1 -1
  61. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js +4 -11
  62. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +1 -1
  63. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +1 -1
  64. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +3 -10
  65. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -1
  66. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +4 -3
  67. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +3 -11
  68. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -1
  69. package/delivery/AssetDelivery/privateFiles/PrivateCache.d.ts +1 -1
  70. package/delivery/AssetDelivery/privateFiles/PrivateCache.js +4 -11
  71. package/delivery/AssetDelivery/privateFiles/PrivateCache.js.map +1 -1
  72. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +3 -3
  73. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +3 -10
  74. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -1
  75. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +4 -4
  76. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js +21 -21
  77. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -1
  78. package/delivery/AssetDelivery/privateFiles/PublicCache.d.ts +1 -1
  79. package/delivery/AssetDelivery/privateFiles/PublicCache.js +4 -11
  80. package/delivery/AssetDelivery/privateFiles/PublicCache.js.map +1 -1
  81. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +2 -2
  82. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +5 -12
  83. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -1
  84. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +2 -2
  85. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +5 -12
  86. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -1
  87. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.d.ts +1 -1
  88. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js +1 -8
  89. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js.map +1 -1
  90. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.d.ts +1 -1
  91. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js +1 -8
  92. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +1 -1
  93. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.d.ts +1 -1
  94. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js +1 -8
  95. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js.map +1 -1
  96. package/delivery/index.d.ts +16 -17
  97. package/delivery/index.js +10 -192
  98. package/delivery/index.js.map +1 -1
  99. package/delivery/setupAssetDelivery.d.ts +2 -6
  100. package/delivery/setupAssetDelivery.js +21 -35
  101. package/delivery/setupAssetDelivery.js.map +1 -1
  102. package/domain/file/abstractions.d.ts +9 -0
  103. package/domain/file/abstractions.js +8 -0
  104. package/domain/file/abstractions.js.map +1 -0
  105. package/domain/file/errors.d.ts +59 -0
  106. package/domain/file/errors.js +89 -0
  107. package/domain/file/errors.js.map +1 -0
  108. package/domain/file/file.model.d.ts +12 -0
  109. package/domain/file/file.model.js +56 -0
  110. package/domain/file/file.model.js.map +1 -0
  111. package/domain/file/types.d.ts +51 -0
  112. package/domain/file/types.js +3 -0
  113. package/domain/file/types.js.map +1 -0
  114. package/domain/identity/Identity.d.ts +9 -0
  115. package/domain/identity/Identity.js +11 -0
  116. package/domain/identity/Identity.js.map +1 -0
  117. package/domain/settings/constants.d.ts +1 -0
  118. package/domain/settings/constants.js +3 -0
  119. package/domain/settings/constants.js.map +1 -0
  120. package/domain/settings/errors.d.ts +18 -0
  121. package/domain/settings/errors.js +30 -0
  122. package/domain/settings/errors.js.map +1 -0
  123. package/domain/settings/types.d.ts +10 -0
  124. package/domain/settings/types.js +3 -0
  125. package/domain/settings/types.js.map +1 -0
  126. package/domain/settings/validation.d.ts +14 -0
  127. package/domain/settings/validation.js +36 -0
  128. package/domain/settings/validation.js.map +1 -0
  129. package/features/FileManagerFeature.d.ts +1 -0
  130. package/features/FileManagerFeature.js +28 -0
  131. package/features/FileManagerFeature.js.map +1 -0
  132. package/features/file/CreateFile/CreateFileRepository.d.ts +15 -0
  133. package/features/file/CreateFile/CreateFileRepository.js +30 -0
  134. package/features/file/CreateFile/CreateFileRepository.js.map +1 -0
  135. package/features/file/CreateFile/CreateFileUseCase.d.ts +21 -0
  136. package/features/file/CreateFile/CreateFileUseCase.js +89 -0
  137. package/features/file/CreateFile/CreateFileUseCase.js.map +1 -0
  138. package/features/file/CreateFile/abstractions.d.ts +57 -0
  139. package/features/file/CreateFile/abstractions.js +15 -0
  140. package/features/file/CreateFile/abstractions.js.map +1 -0
  141. package/features/file/CreateFile/events.d.ts +29 -0
  142. package/features/file/CreateFile/events.js +28 -0
  143. package/features/file/CreateFile/events.js.map +1 -0
  144. package/features/file/CreateFile/feature.d.ts +1 -0
  145. package/features/file/CreateFile/feature.js +12 -0
  146. package/features/file/CreateFile/feature.js.map +1 -0
  147. package/features/file/CreateFile/index.d.ts +2 -0
  148. package/features/file/CreateFile/index.js +4 -0
  149. package/features/file/CreateFile/index.js.map +1 -0
  150. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.d.ts +13 -0
  151. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js +24 -0
  152. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js.map +1 -0
  153. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.d.ts +19 -0
  154. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js +84 -0
  155. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js.map +1 -0
  156. package/features/file/CreateFilesInBatch/abstractions.d.ts +40 -0
  157. package/features/file/CreateFilesInBatch/abstractions.js +15 -0
  158. package/features/file/CreateFilesInBatch/abstractions.js.map +1 -0
  159. package/features/file/CreateFilesInBatch/events.d.ts +29 -0
  160. package/features/file/CreateFilesInBatch/events.js +28 -0
  161. package/features/file/CreateFilesInBatch/events.js.map +1 -0
  162. package/features/file/CreateFilesInBatch/feature.d.ts +1 -0
  163. package/features/file/CreateFilesInBatch/feature.js +12 -0
  164. package/features/file/CreateFilesInBatch/feature.js.map +1 -0
  165. package/features/file/CreateFilesInBatch/index.d.ts +1 -0
  166. package/features/file/CreateFilesInBatch/index.js +3 -0
  167. package/features/file/CreateFilesInBatch/index.js.map +1 -0
  168. package/features/file/DeleteFile/DeleteFileRepository.d.ts +15 -0
  169. package/features/file/DeleteFile/DeleteFileRepository.js +30 -0
  170. package/features/file/DeleteFile/DeleteFileRepository.js.map +1 -0
  171. package/features/file/DeleteFile/DeleteFileUseCase.d.ts +17 -0
  172. package/features/file/DeleteFile/DeleteFileUseCase.js +45 -0
  173. package/features/file/DeleteFile/DeleteFileUseCase.js.map +1 -0
  174. package/features/file/DeleteFile/abstractions.d.ts +37 -0
  175. package/features/file/DeleteFile/abstractions.js +15 -0
  176. package/features/file/DeleteFile/abstractions.js.map +1 -0
  177. package/features/file/DeleteFile/events.d.ts +27 -0
  178. package/features/file/DeleteFile/events.js +28 -0
  179. package/features/file/DeleteFile/events.js.map +1 -0
  180. package/features/file/DeleteFile/feature.d.ts +1 -0
  181. package/features/file/DeleteFile/feature.js +12 -0
  182. package/features/file/DeleteFile/feature.js.map +1 -0
  183. package/features/file/DeleteFile/index.d.ts +2 -0
  184. package/features/file/DeleteFile/index.js +4 -0
  185. package/features/file/DeleteFile/index.js.map +1 -0
  186. package/features/file/FileUrlGenerator/abstractions.d.ts +8 -0
  187. package/features/file/FileUrlGenerator/abstractions.js +4 -0
  188. package/features/file/FileUrlGenerator/abstractions.js.map +1 -0
  189. package/features/file/GetFile/GetFileRepository.d.ts +15 -0
  190. package/features/file/GetFile/GetFileRepository.js +33 -0
  191. package/features/file/GetFile/GetFileRepository.js.map +1 -0
  192. package/features/file/GetFile/GetFileUseCase.d.ts +14 -0
  193. package/features/file/GetFile/GetFileUseCase.js +31 -0
  194. package/features/file/GetFile/GetFileUseCase.js.map +1 -0
  195. package/features/file/GetFile/abstractions.d.ts +38 -0
  196. package/features/file/GetFile/abstractions.js +15 -0
  197. package/features/file/GetFile/abstractions.js.map +1 -0
  198. package/features/file/GetFile/feature.d.ts +1 -0
  199. package/features/file/GetFile/feature.js +12 -0
  200. package/features/file/GetFile/feature.js.map +1 -0
  201. package/features/file/GetFile/index.d.ts +1 -0
  202. package/features/file/GetFile/index.js +3 -0
  203. package/features/file/GetFile/index.js.map +1 -0
  204. package/features/file/ListFiles/ListFilesRepository.d.ts +18 -0
  205. package/features/file/ListFiles/ListFilesRepository.js +51 -0
  206. package/features/file/ListFiles/ListFilesRepository.js.map +1 -0
  207. package/features/file/ListFiles/ListFilesUseCase.d.ts +15 -0
  208. package/features/file/ListFiles/ListFilesUseCase.js +45 -0
  209. package/features/file/ListFiles/ListFilesUseCase.js.map +1 -0
  210. package/features/file/ListFiles/abstractions.d.ts +47 -0
  211. package/features/file/ListFiles/abstractions.js +15 -0
  212. package/features/file/ListFiles/abstractions.js.map +1 -0
  213. package/features/file/ListFiles/feature.d.ts +1 -0
  214. package/features/file/ListFiles/feature.js +12 -0
  215. package/features/file/ListFiles/feature.js.map +1 -0
  216. package/features/file/ListFiles/index.d.ts +1 -0
  217. package/features/file/ListFiles/index.js +3 -0
  218. package/features/file/ListFiles/index.js.map +1 -0
  219. package/features/file/ListTags/ListTagsRepository.d.ts +16 -0
  220. package/features/file/ListTags/ListTagsRepository.js +47 -0
  221. package/features/file/ListTags/ListTagsRepository.js.map +1 -0
  222. package/features/file/ListTags/ListTagsUseCase.d.ts +13 -0
  223. package/features/file/ListTags/ListTagsUseCase.js +31 -0
  224. package/features/file/ListTags/ListTagsUseCase.js.map +1 -0
  225. package/features/file/ListTags/abstractions.d.ts +43 -0
  226. package/features/file/ListTags/abstractions.js +15 -0
  227. package/features/file/ListTags/abstractions.js.map +1 -0
  228. package/features/file/ListTags/feature.d.ts +1 -0
  229. package/features/file/ListTags/feature.js +12 -0
  230. package/features/file/ListTags/feature.js.map +1 -0
  231. package/features/file/ListTags/index.d.ts +1 -0
  232. package/features/file/ListTags/index.js +3 -0
  233. package/features/file/ListTags/index.js.map +1 -0
  234. package/features/file/UpdateFile/UpdateFileRepository.d.ts +15 -0
  235. package/features/file/UpdateFile/UpdateFileRepository.js +39 -0
  236. package/features/file/UpdateFile/UpdateFileRepository.js.map +1 -0
  237. package/features/file/UpdateFile/UpdateFileUseCase.d.ts +20 -0
  238. package/features/file/UpdateFile/UpdateFileUseCase.js +78 -0
  239. package/features/file/UpdateFile/UpdateFileUseCase.js.map +1 -0
  240. package/features/file/UpdateFile/abstractions.d.ts +53 -0
  241. package/features/file/UpdateFile/abstractions.js +15 -0
  242. package/features/file/UpdateFile/abstractions.js.map +1 -0
  243. package/features/file/UpdateFile/events.d.ts +32 -0
  244. package/features/file/UpdateFile/events.js +28 -0
  245. package/features/file/UpdateFile/events.js.map +1 -0
  246. package/features/file/UpdateFile/feature.d.ts +1 -0
  247. package/features/file/UpdateFile/feature.js +12 -0
  248. package/features/file/UpdateFile/feature.js.map +1 -0
  249. package/features/file/UpdateFile/index.d.ts +2 -0
  250. package/features/file/UpdateFile/index.js +4 -0
  251. package/features/file/UpdateFile/index.js.map +1 -0
  252. package/features/file/shared/EntryToFileMapper.d.ts +5 -0
  253. package/features/file/shared/EntryToFileMapper.js +26 -0
  254. package/features/file/shared/EntryToFileMapper.js.map +1 -0
  255. package/features/file/shared/FileInputToEntryInputMapper.d.ts +5 -0
  256. package/features/file/shared/FileInputToEntryInputMapper.js +30 -0
  257. package/features/file/shared/FileInputToEntryInputMapper.js.map +1 -0
  258. package/features/file/shared/FileToEntryMapper.d.ts +5 -0
  259. package/features/file/shared/FileToEntryMapper.js +29 -0
  260. package/features/file/shared/FileToEntryMapper.js.map +1 -0
  261. package/features/settings/GetSettings/GetSettingsUseCase.d.ts +13 -0
  262. package/features/settings/GetSettings/GetSettingsUseCase.js +28 -0
  263. package/features/settings/GetSettings/GetSettingsUseCase.js.map +1 -0
  264. package/features/settings/GetSettings/abstractions.d.ts +17 -0
  265. package/features/settings/GetSettings/abstractions.js +9 -0
  266. package/features/settings/GetSettings/abstractions.js.map +1 -0
  267. package/features/settings/GetSettings/feature.d.ts +1 -0
  268. package/features/settings/GetSettings/feature.js +10 -0
  269. package/features/settings/GetSettings/feature.js.map +1 -0
  270. package/features/settings/SettingsInstaller/SettingsInstaller.d.ts +15 -0
  271. package/features/settings/SettingsInstaller/SettingsInstaller.js +35 -0
  272. package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -0
  273. package/features/settings/SettingsInstaller/feature.d.ts +1 -0
  274. package/features/settings/SettingsInstaller/feature.js +10 -0
  275. package/features/settings/SettingsInstaller/feature.js.map +1 -0
  276. package/features/settings/UpdateSettings/UpdateSettingsUseCase.d.ts +18 -0
  277. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js +62 -0
  278. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js.map +1 -0
  279. package/features/settings/UpdateSettings/abstractions.d.ts +22 -0
  280. package/features/settings/UpdateSettings/abstractions.js +9 -0
  281. package/features/settings/UpdateSettings/abstractions.js.map +1 -0
  282. package/features/settings/UpdateSettings/events.d.ts +32 -0
  283. package/features/settings/UpdateSettings/events.js +28 -0
  284. package/features/settings/UpdateSettings/events.js.map +1 -0
  285. package/features/settings/UpdateSettings/feature.d.ts +1 -0
  286. package/features/settings/UpdateSettings/feature.js +10 -0
  287. package/features/settings/UpdateSettings/feature.js.map +1 -0
  288. package/features/settings/UpdateSettings/index.d.ts +2 -0
  289. package/features/settings/UpdateSettings/index.js +4 -0
  290. package/features/settings/UpdateSettings/index.js.map +1 -0
  291. package/features/shared/abstractions.d.ts +1 -0
  292. package/features/shared/abstractions.js +3 -0
  293. package/features/shared/abstractions.js.map +1 -0
  294. package/graphql/baseSchema.d.ts +2 -2
  295. package/graphql/baseSchema.js +20 -38
  296. package/graphql/baseSchema.js.map +1 -1
  297. package/graphql/createFilesTypeDefs.d.ts +1 -1
  298. package/graphql/createFilesTypeDefs.js +40 -25
  299. package/graphql/createFilesTypeDefs.js.map +1 -1
  300. package/graphql/filesSchema.d.ts +3 -3
  301. package/graphql/filesSchema.js +73 -46
  302. package/graphql/filesSchema.js.map +1 -1
  303. package/graphql/getFileByUrl.d.ts +2 -2
  304. package/graphql/getFileByUrl.js +17 -26
  305. package/graphql/getFileByUrl.js.map +1 -1
  306. package/graphql/index.d.ts +2 -2
  307. package/graphql/index.js +24 -26
  308. package/graphql/index.js.map +1 -1
  309. package/graphql/utils.js +6 -13
  310. package/graphql/utils.js.map +1 -1
  311. package/index.d.ts +6 -9
  312. package/index.js +28 -67
  313. package/index.js.map +1 -1
  314. package/modelModifier/CmsModelModifier.d.ts +1 -1
  315. package/modelModifier/CmsModelModifier.js +7 -15
  316. package/modelModifier/CmsModelModifier.js.map +1 -1
  317. package/package.json +26 -28
  318. package/permissions/schema.d.ts +73 -0
  319. package/permissions/schema.js +20 -0
  320. package/permissions/schema.js.map +1 -0
  321. package/types.d.ts +1 -367
  322. package/types.js +1 -27
  323. package/types.js.map +1 -1
  324. package/FileManagerContextSetup.d.ts +0 -13
  325. package/FileManagerContextSetup.js +0 -115
  326. package/FileManagerContextSetup.js.map +0 -1
  327. package/cmsFileStorage/CmsFilesStorage.d.ts +0 -27
  328. package/cmsFileStorage/CmsFilesStorage.js +0 -164
  329. package/cmsFileStorage/CmsFilesStorage.js.map +0 -1
  330. package/cmsFileStorage/ListFilesWhereProcessor.d.ts +0 -7
  331. package/cmsFileStorage/ListFilesWhereProcessor.js +0 -33
  332. package/cmsFileStorage/ListFilesWhereProcessor.js.map +0 -1
  333. package/cmsFileStorage/ListTagsWhereProcessor.d.ts +0 -7
  334. package/cmsFileStorage/ListTagsWhereProcessor.js +0 -33
  335. package/cmsFileStorage/ListTagsWhereProcessor.js.map +0 -1
  336. package/cmsFileStorage/file.model.d.ts +0 -6
  337. package/cmsFileStorage/file.model.js +0 -158
  338. package/cmsFileStorage/file.model.js.map +0 -1
  339. package/createFileManager/files.crud.d.ts +0 -3
  340. package/createFileManager/files.crud.js +0 -328
  341. package/createFileManager/files.crud.js.map +0 -1
  342. package/createFileManager/index.d.ts +0 -3
  343. package/createFileManager/index.js +0 -23
  344. package/createFileManager/index.js.map +0 -1
  345. package/createFileManager/permissions/FilesPermissions.d.ts +0 -4
  346. package/createFileManager/permissions/FilesPermissions.js +0 -11
  347. package/createFileManager/permissions/FilesPermissions.js.map +0 -1
  348. package/createFileManager/permissions/SettingsPermissions.d.ts +0 -4
  349. package/createFileManager/permissions/SettingsPermissions.js +0 -11
  350. package/createFileManager/permissions/SettingsPermissions.js.map +0 -1
  351. package/createFileManager/settings.crud.d.ts +0 -3
  352. package/createFileManager/settings.crud.js +0 -117
  353. package/createFileManager/settings.crud.js.map +0 -1
  354. package/createFileManager/system.crud.d.ts +0 -3
  355. package/createFileManager/system.crud.js +0 -88
  356. package/createFileManager/system.crud.js.map +0 -1
  357. package/createFileManager/types.d.ts +0 -16
  358. package/createFileManager/types.js +0 -7
  359. package/createFileManager/types.js.map +0 -1
  360. package/delivery/AssetDelivery/AliasAssetRequestResolver.d.ts +0 -11
  361. package/delivery/AssetDelivery/AliasAssetRequestResolver.js +0 -74
  362. package/delivery/AssetDelivery/AliasAssetRequestResolver.js.map +0 -1
  363. package/delivery/AssetDelivery/privateFiles/internalIdentity.d.ts +0 -7
  364. package/delivery/AssetDelivery/privateFiles/internalIdentity.js +0 -18
  365. package/delivery/AssetDelivery/privateFiles/internalIdentity.js.map +0 -1
  366. package/enterprise/applyThreatScanning.d.ts +0 -2
  367. package/enterprise/applyThreatScanning.js +0 -20
  368. package/enterprise/applyThreatScanning.js.map +0 -1
  369. package/handlers/manage/imageManager.d.ts +0 -14
  370. package/handlers/manage/imageManager.js +0 -75
  371. package/handlers/manage/imageManager.js.map +0 -1
  372. package/handlers/manage/index.d.ts +0 -5
  373. package/handlers/manage/index.js +0 -59
  374. package/handlers/manage/index.js.map +0 -1
  375. package/handlers/manage/legacyUtils.d.ts +0 -12
  376. package/handlers/manage/legacyUtils.js +0 -34
  377. package/handlers/manage/legacyUtils.js.map +0 -1
  378. package/handlers/manage/utils.d.ts +0 -12
  379. package/handlers/manage/utils.js +0 -34
  380. package/handlers/manage/utils.js.map +0 -1
  381. package/handlers/types.d.ts +0 -8
  382. package/handlers/types.js +0 -7
  383. package/handlers/types.js.map +0 -1
  384. package/handlers/utils/getEnvironment.d.ts +0 -5
  385. package/handlers/utils/getEnvironment.js +0 -13
  386. package/handlers/utils/getEnvironment.js.map +0 -1
  387. package/handlers/utils/getObjectParams.d.ts +0 -9
  388. package/handlers/utils/getObjectParams.js +0 -23
  389. package/handlers/utils/getObjectParams.js.map +0 -1
  390. package/handlers/utils/index.d.ts +0 -2
  391. package/handlers/utils/index.js +0 -22
  392. package/handlers/utils/index.js.map +0 -1
  393. package/plugins/FilePhysicalStoragePlugin.d.ts +0 -22
  394. package/plugins/FilePhysicalStoragePlugin.js +0 -31
  395. package/plugins/FilePhysicalStoragePlugin.js.map +0 -1
  396. package/plugins/FileStorageTransformPlugin.d.ts +0 -34
  397. package/plugins/FileStorageTransformPlugin.js +0 -39
  398. package/plugins/FileStorageTransformPlugin.js.map +0 -1
  399. package/plugins/index.d.ts +0 -2
  400. package/plugins/index.js +0 -29
  401. package/plugins/index.js.map +0 -1
  402. package/storage/FileStorage.d.ts +0 -34
  403. package/storage/FileStorage.js +0 -90
  404. package/storage/FileStorage.js.map +0 -1
  405. package/types/file.d.ts +0 -49
  406. package/types/file.js +0 -7
  407. package/types/file.js.map +0 -1
  408. package/types/file.lifecycle.d.ts +0 -44
  409. package/types/file.lifecycle.js +0 -7
  410. package/types/file.lifecycle.js.map +0 -1
@@ -1,15 +1,9 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.setupAssetDelivery = void 0;
7
- var _handler = require("@webiny/handler");
8
- var _PrivateFilesAssetProcessor = require("./AssetDelivery/privateFiles/PrivateFilesAssetProcessor");
9
- var _PrivateAuthenticatedAuthorizer = require("./AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer");
10
- var _PrivateFileAssetRequestResolver = require("./AssetDelivery/privateFiles/PrivateFileAssetRequestResolver");
11
- var _index = require("./index");
12
- const noCacheHeaders = _handler.ResponseHeaders.create({
1
+ import { createHandlerOnRequest, createModifyFastifyPlugin, createRoute, ResponseHeaders } from "@webiny/handler";
2
+ import { PrivateFilesAssetProcessor } from "./AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js";
3
+ import { PrivateAuthenticatedAuthorizer } from "./AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js";
4
+ import { PrivateFileAssetRequestResolver } from "./AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js";
5
+ import { AssetDeliveryConfigBuilder, AssetDeliveryConfigModifierPlugin, FilesAssetRequestResolver, createAssetDeliveryConfig } from "./index.js";
6
+ const noCacheHeaders = ResponseHeaders.create({
13
7
  "content-type": "application/json",
14
8
  "cache-control": "no-cache, no-store, must-revalidate"
15
9
  });
@@ -23,7 +17,7 @@ function assertAssetWasResolved(asset) {
23
17
  throw new Error("Not an Asset!");
24
18
  }
25
19
  }
26
- const setupAssetDelivery = params => {
20
+ export const setupAssetDelivery = () => {
27
21
  const outputAsset = async (reply, asset) => {
28
22
  const assetReply = await asset.output();
29
23
  const headers = assetReply.getHeaders();
@@ -34,18 +28,18 @@ const setupAssetDelivery = params => {
34
28
  reply.headers(headers.getHeaders());
35
29
  return reply.send(await assetReply.getBody());
36
30
  };
37
- return [(0, _handler.createModifyFastifyPlugin)(app => {
31
+ return [createModifyFastifyPlugin(app => {
38
32
  // Config builder allows config modification via plugins.
39
- const configBuilder = new _index.AssetDeliveryConfigBuilder();
33
+ const configBuilder = new AssetDeliveryConfigBuilder();
40
34
 
41
35
  // Apply config modifications.
42
- const configPlugins = app.webiny.plugins.byType(_index.AssetDeliveryConfigModifierPlugin.type);
36
+ const configPlugins = app.webiny.plugins.byType(AssetDeliveryConfigModifierPlugin.type);
43
37
  configPlugins.forEach(configPlugin => configPlugin.buildConfig(configBuilder));
44
38
  let resolvedRequest;
45
39
  let resolvedAsset;
46
40
 
47
- // Create a `HandlerOnRequest` plugin to resolve `tenant` and `locale`, and allow the system to bootstrap.
48
- const handlerOnRequest = (0, _handler.createHandlerOnRequest)(async (request, reply) => {
41
+ // Create a `HandlerOnRequest` plugin to resolve `tenant`, and allow the system to bootstrap.
42
+ const handlerOnRequest = createHandlerOnRequest(async (request, reply) => {
49
43
  const requestResolver = configBuilder.getAssetRequestResolver();
50
44
  resolvedRequest = await requestResolver.resolve(request);
51
45
  if (!resolvedRequest) {
@@ -54,7 +48,8 @@ const setupAssetDelivery = params => {
54
48
  }).hijack();
55
49
  return false;
56
50
  }
57
- const assetResolver = configBuilder.getAssetResolver();
51
+ const container = app.webiny.container;
52
+ const assetResolver = configBuilder.getAssetResolver(container);
58
53
  resolvedAsset = await assetResolver.resolve(resolvedRequest);
59
54
  if (!resolvedAsset) {
60
55
  reply.code(404).headers(noCacheHeaders.getHeaders()).send({
@@ -62,17 +57,15 @@ const setupAssetDelivery = params => {
62
57
  }).hijack();
63
58
  return false;
64
59
  }
65
- const assetLocale = resolvedAsset.getLocale();
66
60
  request.headers = {
67
61
  ...request.headers,
68
- "x-tenant": resolvedAsset.getTenant(),
69
- "x-i18n-locale": `default:${assetLocale};content:${assetLocale};`
62
+ "x-tenant": resolvedAsset.getTenant()
70
63
  };
71
64
  return;
72
65
  });
73
66
 
74
67
  // Create the `Route` plugin, to handle all GET requests, and output the resolved asset.
75
- const deliveryRoute = (0, _handler.createRoute)(({
68
+ const deliveryRoute = createRoute(({
76
69
  onGet,
77
70
  context
78
71
  }) => {
@@ -85,8 +78,8 @@ const setupAssetDelivery = params => {
85
78
  context
86
79
  }) => {
87
80
  // Currently, we only have one authorizer.
88
- const assetAuthorizer = new _PrivateAuthenticatedAuthorizer.PrivateAuthenticatedAuthorizer(context);
89
- return new _PrivateFilesAssetProcessor.PrivateFilesAssetProcessor(context, assetAuthorizer, assetProcessor);
81
+ const assetAuthorizer = new PrivateAuthenticatedAuthorizer(context);
82
+ return new PrivateFilesAssetProcessor(context, assetAuthorizer, assetProcessor);
90
83
  });
91
84
  }
92
85
  const outputStrategy = configBuilder.getAssetOutputStrategy(context, resolvedRequest, resolvedAsset);
@@ -104,25 +97,18 @@ const setupAssetDelivery = params => {
104
97
  app.webiny.plugins.register(handlerOnRequest, deliveryRoute);
105
98
  }),
106
99
  // Create the default configuration
107
- (0, _index.createAssetDeliveryConfig)(config => {
100
+ createAssetDeliveryConfig(config => {
108
101
  config.decorateAssetRequestResolver(() => {
109
102
  // This resolver works with `/files/*` requests.
110
- return new _index.FilesAssetRequestResolver();
111
- });
112
- config.decorateAssetRequestResolver(({
113
- assetRequestResolver
114
- }) => {
115
- // This resolver tries to resolve the request using aliases.
116
- return new _index.AliasAssetRequestResolver(params.documentClient, assetRequestResolver);
103
+ return new FilesAssetRequestResolver();
117
104
  });
118
105
  config.decorateAssetRequestResolver(({
119
106
  assetRequestResolver
120
107
  }) => {
121
108
  // This resolver works with `/private/*` requests.
122
- return new _PrivateFileAssetRequestResolver.PrivateFileAssetRequestResolver(assetRequestResolver);
109
+ return new PrivateFileAssetRequestResolver(assetRequestResolver);
123
110
  });
124
111
  })];
125
112
  };
126
- exports.setupAssetDelivery = setupAssetDelivery;
127
113
 
128
114
  //# sourceMappingURL=setupAssetDelivery.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_handler","require","_PrivateFilesAssetProcessor","_PrivateAuthenticatedAuthorizer","_PrivateFileAssetRequestResolver","_index","noCacheHeaders","ResponseHeaders","create","assertAssetRequestWasResolved","request","undefined","Error","assertAssetWasResolved","asset","setupAssetDelivery","params","outputAsset","reply","assetReply","output","headers","getHeaders","set","code","getCode","send","getBody","createModifyFastifyPlugin","app","configBuilder","AssetDeliveryConfigBuilder","configPlugins","webiny","plugins","byType","AssetDeliveryConfigModifierPlugin","type","forEach","configPlugin","buildConfig","resolvedRequest","resolvedAsset","handlerOnRequest","createHandlerOnRequest","requestResolver","getAssetRequestResolver","resolve","error","hijack","assetResolver","getAssetResolver","assetLocale","getLocale","getTenant","deliveryRoute","createRoute","onGet","context","_","wcp","canUsePrivateFiles","decorateAssetProcessor","assetProcessor","assetAuthorizer","PrivateAuthenticatedAuthorizer","PrivateFilesAssetProcessor","outputStrategy","getAssetOutputStrategy","setOutputStrategy","getAssetProcessor","processedAsset","process","console","log","getSize","override","register","createAssetDeliveryConfig","config","decorateAssetRequestResolver","FilesAssetRequestResolver","assetRequestResolver","AliasAssetRequestResolver","documentClient","PrivateFileAssetRequestResolver","exports"],"sources":["setupAssetDelivery.ts"],"sourcesContent":["import type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb\";\nimport {\n createHandlerOnRequest,\n createModifyFastifyPlugin,\n createRoute,\n ResponseHeaders\n} from \"@webiny/handler\";\nimport type { FileManagerContext } from \"~/types\";\nimport { PrivateFilesAssetProcessor } from \"./AssetDelivery/privateFiles/PrivateFilesAssetProcessor\";\nimport { PrivateAuthenticatedAuthorizer } from \"./AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer\";\nimport { PrivateFileAssetRequestResolver } from \"./AssetDelivery/privateFiles/PrivateFileAssetRequestResolver\";\nimport type { Asset, AssetRequest } from \"./index\";\nimport {\n AssetDeliveryConfigBuilder,\n AssetDeliveryConfigModifierPlugin,\n AliasAssetRequestResolver,\n FilesAssetRequestResolver,\n createAssetDeliveryConfig\n} from \"./index\";\nimport type { Reply } from \"@webiny/handler/types\";\n\nconst noCacheHeaders = ResponseHeaders.create({\n \"content-type\": \"application/json\",\n \"cache-control\": \"no-cache, no-store, must-revalidate\"\n});\n\nfunction assertAssetRequestWasResolved(request: any): asserts request is AssetRequest {\n if (request === undefined) {\n throw new Error(\"Not an AssetRequest!\");\n }\n}\n\nfunction assertAssetWasResolved(asset: Asset | undefined): asserts asset is Asset {\n if (asset === undefined) {\n throw new Error(\"Not an Asset!\");\n }\n}\n\nexport interface AssetDeliveryParams {\n documentClient: DynamoDBDocument;\n}\n\nexport const setupAssetDelivery = (params: AssetDeliveryParams) => {\n const outputAsset = async (reply: Reply, asset: Asset) => {\n const assetReply = await asset.output();\n const headers = assetReply.getHeaders();\n\n // Set default headers.\n headers.set(\"x-webiny-base64-encoded\", \"true\");\n\n reply.code(assetReply.getCode());\n reply.headers(headers.getHeaders());\n return reply.send(await assetReply.getBody());\n };\n\n return [\n createModifyFastifyPlugin(app => {\n // Config builder allows config modification via plugins.\n const configBuilder = new AssetDeliveryConfigBuilder();\n\n // Apply config modifications.\n const configPlugins = app.webiny.plugins.byType<AssetDeliveryConfigModifierPlugin>(\n AssetDeliveryConfigModifierPlugin.type\n );\n\n configPlugins.forEach(configPlugin => configPlugin.buildConfig(configBuilder));\n\n let resolvedRequest: AssetRequest | undefined;\n let resolvedAsset: Asset | undefined;\n\n // Create a `HandlerOnRequest` plugin to resolve `tenant` and `locale`, and allow the system to bootstrap.\n const handlerOnRequest = createHandlerOnRequest(async (request, reply) => {\n const requestResolver = configBuilder.getAssetRequestResolver();\n resolvedRequest = await requestResolver.resolve(request);\n\n if (!resolvedRequest) {\n reply\n .code(404)\n .headers(noCacheHeaders.getHeaders())\n .send({ error: \"Unable to resolve the request!\" })\n .hijack();\n\n return false;\n }\n\n const assetResolver = configBuilder.getAssetResolver();\n\n resolvedAsset = await assetResolver.resolve(resolvedRequest);\n\n if (!resolvedAsset) {\n reply\n .code(404)\n .headers(noCacheHeaders.getHeaders())\n .send({ error: \"Asset not found!\" })\n .hijack();\n\n return false;\n }\n\n const assetLocale = resolvedAsset.getLocale();\n\n request.headers = {\n ...request.headers,\n \"x-tenant\": resolvedAsset.getTenant(),\n \"x-i18n-locale\": `default:${assetLocale};content:${assetLocale};`\n };\n\n return;\n });\n\n // Create the `Route` plugin, to handle all GET requests, and output the resolved asset.\n const deliveryRoute = createRoute<FileManagerContext>(({ onGet, context }) => {\n onGet(\n \"*\",\n async (_, reply) => {\n assertAssetRequestWasResolved(resolvedRequest);\n assertAssetWasResolved(resolvedAsset);\n\n if (context.wcp.canUsePrivateFiles()) {\n configBuilder.decorateAssetProcessor(({ assetProcessor, context }) => {\n // Currently, we only have one authorizer.\n const assetAuthorizer = new PrivateAuthenticatedAuthorizer(context);\n\n return new PrivateFilesAssetProcessor(\n context,\n assetAuthorizer,\n assetProcessor\n );\n });\n }\n\n const outputStrategy = configBuilder.getAssetOutputStrategy(\n context,\n resolvedRequest,\n resolvedAsset\n );\n\n resolvedAsset.setOutputStrategy(outputStrategy);\n\n const assetProcessor = configBuilder.getAssetProcessor(context);\n\n const processedAsset = await assetProcessor.process(\n resolvedRequest,\n resolvedAsset\n );\n\n // Get reply object (runs the output strategy under the hood).\n console.log(`Output asset (size: ${processedAsset.getSize()} bytes).`);\n return outputAsset(reply, processedAsset);\n },\n { override: true }\n );\n });\n\n app.webiny.plugins.register(handlerOnRequest, deliveryRoute);\n }),\n // Create the default configuration\n createAssetDeliveryConfig(config => {\n config.decorateAssetRequestResolver(() => {\n // This resolver works with `/files/*` requests.\n return new FilesAssetRequestResolver();\n });\n\n config.decorateAssetRequestResolver(({ assetRequestResolver }) => {\n // This resolver tries to resolve the request using aliases.\n return new AliasAssetRequestResolver(params.documentClient, assetRequestResolver);\n });\n\n config.decorateAssetRequestResolver(({ assetRequestResolver }) => {\n // This resolver works with `/private/*` requests.\n return new PrivateFileAssetRequestResolver(assetRequestResolver);\n });\n })\n ];\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createHandlerOnRequest","createModifyFastifyPlugin","createRoute","ResponseHeaders","PrivateFilesAssetProcessor","PrivateAuthenticatedAuthorizer","PrivateFileAssetRequestResolver","AssetDeliveryConfigBuilder","AssetDeliveryConfigModifierPlugin","FilesAssetRequestResolver","createAssetDeliveryConfig","noCacheHeaders","create","assertAssetRequestWasResolved","request","undefined","Error","assertAssetWasResolved","asset","setupAssetDelivery","outputAsset","reply","assetReply","output","headers","getHeaders","set","code","getCode","send","getBody","app","configBuilder","configPlugins","webiny","plugins","byType","type","forEach","configPlugin","buildConfig","resolvedRequest","resolvedAsset","handlerOnRequest","requestResolver","getAssetRequestResolver","resolve","error","hijack","container","assetResolver","getAssetResolver","getTenant","deliveryRoute","onGet","context","_","wcp","canUsePrivateFiles","decorateAssetProcessor","assetProcessor","assetAuthorizer","outputStrategy","getAssetOutputStrategy","setOutputStrategy","getAssetProcessor","processedAsset","process","console","log","getSize","override","register","config","decorateAssetRequestResolver","assetRequestResolver"],"sources":["setupAssetDelivery.ts"],"sourcesContent":["import {\n createHandlerOnRequest,\n createModifyFastifyPlugin,\n createRoute,\n ResponseHeaders\n} from \"@webiny/handler\";\nimport { PrivateFilesAssetProcessor } from \"./AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js\";\nimport { PrivateAuthenticatedAuthorizer } from \"./AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js\";\nimport { PrivateFileAssetRequestResolver } from \"./AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js\";\nimport type { Asset, AssetRequest } from \"./index.js\";\nimport {\n AssetDeliveryConfigBuilder,\n AssetDeliveryConfigModifierPlugin,\n FilesAssetRequestResolver,\n createAssetDeliveryConfig\n} from \"./index.js\";\nimport type { Reply } from \"@webiny/handler/types.js\";\nimport type { ApiCoreContext } from \"@webiny/api-core/types/core.js\";\n\nconst noCacheHeaders = ResponseHeaders.create({\n \"content-type\": \"application/json\",\n \"cache-control\": \"no-cache, no-store, must-revalidate\"\n});\n\nfunction assertAssetRequestWasResolved(request: any): asserts request is AssetRequest {\n if (request === undefined) {\n throw new Error(\"Not an AssetRequest!\");\n }\n}\n\nfunction assertAssetWasResolved(asset: Asset | undefined): asserts asset is Asset {\n if (asset === undefined) {\n throw new Error(\"Not an Asset!\");\n }\n}\n\nexport const setupAssetDelivery = () => {\n const outputAsset = async (reply: Reply, asset: Asset) => {\n const assetReply = await asset.output();\n const headers = assetReply.getHeaders();\n\n // Set default headers.\n headers.set(\"x-webiny-base64-encoded\", \"true\");\n\n reply.code(assetReply.getCode());\n reply.headers(headers.getHeaders());\n return reply.send(await assetReply.getBody());\n };\n\n return [\n createModifyFastifyPlugin(app => {\n // Config builder allows config modification via plugins.\n const configBuilder = new AssetDeliveryConfigBuilder();\n\n // Apply config modifications.\n const configPlugins = app.webiny.plugins.byType<AssetDeliveryConfigModifierPlugin>(\n AssetDeliveryConfigModifierPlugin.type\n );\n\n configPlugins.forEach(configPlugin => configPlugin.buildConfig(configBuilder));\n\n let resolvedRequest: AssetRequest | undefined;\n let resolvedAsset: Asset | undefined;\n\n // Create a `HandlerOnRequest` plugin to resolve `tenant`, and allow the system to bootstrap.\n const handlerOnRequest = createHandlerOnRequest(async (request, reply) => {\n const requestResolver = configBuilder.getAssetRequestResolver();\n resolvedRequest = await requestResolver.resolve(request);\n\n if (!resolvedRequest) {\n reply\n .code(404)\n .headers(noCacheHeaders.getHeaders())\n .send({ error: \"Unable to resolve the request!\" })\n .hijack();\n\n return false;\n }\n\n const container = app.webiny.container;\n const assetResolver = configBuilder.getAssetResolver(container);\n\n resolvedAsset = await assetResolver.resolve(resolvedRequest);\n\n if (!resolvedAsset) {\n reply\n .code(404)\n .headers(noCacheHeaders.getHeaders())\n .send({ error: \"Asset not found!\" })\n .hijack();\n\n return false;\n }\n\n request.headers = {\n ...request.headers,\n \"x-tenant\": resolvedAsset.getTenant()\n };\n\n return;\n });\n\n // Create the `Route` plugin, to handle all GET requests, and output the resolved asset.\n const deliveryRoute = createRoute<ApiCoreContext>(({ onGet, context }) => {\n onGet(\n \"*\",\n async (_, reply) => {\n assertAssetRequestWasResolved(resolvedRequest);\n assertAssetWasResolved(resolvedAsset);\n\n if (context.wcp.canUsePrivateFiles()) {\n configBuilder.decorateAssetProcessor(({ assetProcessor, context }) => {\n // Currently, we only have one authorizer.\n const assetAuthorizer = new PrivateAuthenticatedAuthorizer(context);\n\n return new PrivateFilesAssetProcessor(\n context,\n assetAuthorizer,\n assetProcessor\n );\n });\n }\n\n const outputStrategy = configBuilder.getAssetOutputStrategy(\n context,\n resolvedRequest,\n resolvedAsset\n );\n\n resolvedAsset.setOutputStrategy(outputStrategy);\n\n const assetProcessor = configBuilder.getAssetProcessor(context);\n\n const processedAsset = await assetProcessor.process(\n resolvedRequest,\n resolvedAsset\n );\n\n // Get reply object (runs the output strategy under the hood).\n console.log(`Output asset (size: ${processedAsset.getSize()} bytes).`);\n return outputAsset(reply, processedAsset);\n },\n { override: true }\n );\n });\n\n app.webiny.plugins.register(handlerOnRequest, deliveryRoute);\n }),\n // Create the default configuration\n createAssetDeliveryConfig(config => {\n config.decorateAssetRequestResolver(() => {\n // This resolver works with `/files/*` requests.\n return new FilesAssetRequestResolver();\n });\n\n config.decorateAssetRequestResolver(({ assetRequestResolver }) => {\n // This resolver works with `/private/*` requests.\n return new PrivateFileAssetRequestResolver(assetRequestResolver);\n });\n })\n ];\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { CmsModel } from "@webiny/api-headless-cms/types";
2
+ /**
3
+ * FileModel abstraction - represents the fmFile CMS model.
4
+ * This will be registered via container.registerInstance in the composite feature.
5
+ */
6
+ export declare const FileModel: import("@webiny/di").Abstraction<CmsModel>;
7
+ export declare namespace FileModel {
8
+ type Interface = CmsModel;
9
+ }
@@ -0,0 +1,8 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ /**
3
+ * FileModel abstraction - represents the fmFile CMS model.
4
+ * This will be registered via container.registerInstance in the composite feature.
5
+ */
6
+ export const FileModel = createAbstraction("FileModel");
7
+
8
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","FileModel"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types\";\n\n/**\n * FileModel abstraction - represents the fmFile CMS model.\n * This will be registered via container.registerInstance in the composite feature.\n */\nexport const FileModel = createAbstraction<CmsModel>(\"FileModel\");\n\nexport namespace FileModel {\n export type Interface = CmsModel;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAGvD;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GAAGD,iBAAiB,CAAW,WAAW,CAAC","ignoreList":[]}
@@ -0,0 +1,59 @@
1
+ import { BaseError } from "@webiny/feature/api";
2
+ export declare class FilePersistenceError extends BaseError {
3
+ readonly code: "FileManager/File/PersistenceError";
4
+ constructor(error: Error);
5
+ }
6
+ export declare class FileNotFoundError extends BaseError<{
7
+ id: string;
8
+ }> {
9
+ readonly code: "FileManager/File/NotFoundError";
10
+ constructor(id: string);
11
+ }
12
+ export declare class FileNotAuthorizedError extends BaseError {
13
+ readonly code: "FileManager/File/NotAuthorizedError";
14
+ constructor();
15
+ }
16
+ export declare class FileListError extends BaseError {
17
+ readonly code: "FileManager/File/ListError";
18
+ constructor(error: Error);
19
+ }
20
+ export declare class FileCreateError extends BaseError {
21
+ readonly code: "FileManager/File/CreateError";
22
+ constructor(error: Error);
23
+ }
24
+ export declare class FileUpdateError extends BaseError {
25
+ readonly code: "FileManager/File/UpdateError";
26
+ constructor(error: Error);
27
+ }
28
+ export declare class FileDeleteError extends BaseError {
29
+ readonly code: "FileManager/File/DeleteError";
30
+ constructor(error: Error);
31
+ }
32
+ export declare class FileAlreadyExistsError extends BaseError<{
33
+ key: string;
34
+ }> {
35
+ readonly code: "FileManager/File/AlreadyExistsError";
36
+ constructor(data: {
37
+ key: string;
38
+ });
39
+ }
40
+ export declare class InvalidFileSizeError extends BaseError<{
41
+ size: number;
42
+ minSize: number;
43
+ maxSize: number;
44
+ }> {
45
+ readonly code: "FileManager/File/InvalidFileSizeError";
46
+ constructor(data: {
47
+ size: number;
48
+ minSize: number;
49
+ maxSize: number;
50
+ });
51
+ }
52
+ export declare class InvalidFileTypeError extends BaseError<{
53
+ type: string;
54
+ }> {
55
+ readonly code: "FileManager/File/InvalidFileTypeError";
56
+ constructor(data: {
57
+ type: string;
58
+ });
59
+ }
@@ -0,0 +1,89 @@
1
+ import { BaseError } from "@webiny/feature/api";
2
+ export class FilePersistenceError extends BaseError {
3
+ code = "FileManager/File/PersistenceError";
4
+ constructor(error) {
5
+ super({
6
+ message: error.message
7
+ });
8
+ }
9
+ }
10
+ export class FileNotFoundError extends BaseError {
11
+ code = "FileManager/File/NotFoundError";
12
+ constructor(id) {
13
+ super({
14
+ message: `File with ID "${id}" not found.`,
15
+ data: {
16
+ id
17
+ }
18
+ });
19
+ }
20
+ }
21
+ export class FileNotAuthorizedError extends BaseError {
22
+ code = "FileManager/File/NotAuthorizedError";
23
+ constructor() {
24
+ super({
25
+ message: `Not authorized.`
26
+ });
27
+ }
28
+ }
29
+ export class FileListError extends BaseError {
30
+ code = "FileManager/File/ListError";
31
+ constructor(error) {
32
+ super({
33
+ message: `Error listing files: ${error.message}`
34
+ });
35
+ }
36
+ }
37
+ export class FileCreateError extends BaseError {
38
+ code = "FileManager/File/CreateError";
39
+ constructor(error) {
40
+ super({
41
+ message: `Error creating file: ${error.message}`
42
+ });
43
+ }
44
+ }
45
+ export class FileUpdateError extends BaseError {
46
+ code = "FileManager/File/UpdateError";
47
+ constructor(error) {
48
+ super({
49
+ message: `Error updating file: ${error.message}`
50
+ });
51
+ }
52
+ }
53
+ export class FileDeleteError extends BaseError {
54
+ code = "FileManager/File/DeleteError";
55
+ constructor(error) {
56
+ super({
57
+ message: `Error deleting file: ${error.message}`
58
+ });
59
+ }
60
+ }
61
+ export class FileAlreadyExistsError extends BaseError {
62
+ code = "FileManager/File/AlreadyExistsError";
63
+ constructor(data) {
64
+ super({
65
+ message: `File with key "${data.key}" already exists.`,
66
+ data
67
+ });
68
+ }
69
+ }
70
+ export class InvalidFileSizeError extends BaseError {
71
+ code = "FileManager/File/InvalidFileSizeError";
72
+ constructor(data) {
73
+ super({
74
+ message: `File size ${data.size} bytes is outside allowed range (${data.minSize}-${data.maxSize} bytes).`,
75
+ data
76
+ });
77
+ }
78
+ }
79
+ export class InvalidFileTypeError extends BaseError {
80
+ code = "FileManager/File/InvalidFileTypeError";
81
+ constructor(data) {
82
+ super({
83
+ message: `File type "${data.type}" is not allowed.`,
84
+ data
85
+ });
86
+ }
87
+ }
88
+
89
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BaseError","FilePersistenceError","code","constructor","error","message","FileNotFoundError","id","data","FileNotAuthorizedError","FileListError","FileCreateError","FileUpdateError","FileDeleteError","FileAlreadyExistsError","key","InvalidFileSizeError","size","minSize","maxSize","InvalidFileTypeError","type"],"sources":["errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\n\nexport class FilePersistenceError extends BaseError {\n override readonly code = \"FileManager/File/PersistenceError\" as const;\n\n constructor(error: Error) {\n super({\n message: error.message\n });\n }\n}\n\nexport class FileNotFoundError extends BaseError<{ id: string }> {\n override readonly code = \"FileManager/File/NotFoundError\" as const;\n\n constructor(id: string) {\n super({\n message: `File with ID \"${id}\" not found.`,\n data: { id }\n });\n }\n}\n\nexport class FileNotAuthorizedError extends BaseError {\n override readonly code = \"FileManager/File/NotAuthorizedError\" as const;\n\n constructor() {\n super({\n message: `Not authorized.`\n });\n }\n}\n\nexport class FileListError extends BaseError {\n override readonly code = \"FileManager/File/ListError\" as const;\n\n constructor(error: Error) {\n super({\n message: `Error listing files: ${error.message}`\n });\n }\n}\n\nexport class FileCreateError extends BaseError {\n override readonly code = \"FileManager/File/CreateError\" as const;\n\n constructor(error: Error) {\n super({\n message: `Error creating file: ${error.message}`\n });\n }\n}\n\nexport class FileUpdateError extends BaseError {\n override readonly code = \"FileManager/File/UpdateError\" as const;\n\n constructor(error: Error) {\n super({\n message: `Error updating file: ${error.message}`\n });\n }\n}\n\nexport class FileDeleteError extends BaseError {\n override readonly code = \"FileManager/File/DeleteError\" as const;\n\n constructor(error: Error) {\n super({\n message: `Error deleting file: ${error.message}`\n });\n }\n}\n\nexport class FileAlreadyExistsError extends BaseError<{ key: string }> {\n override readonly code = \"FileManager/File/AlreadyExistsError\" as const;\n\n constructor(data: { key: string }) {\n super({\n message: `File with key \"${data.key}\" already exists.`,\n data\n });\n }\n}\n\nexport class InvalidFileSizeError extends BaseError<{\n size: number;\n minSize: number;\n maxSize: number;\n}> {\n override readonly code = \"FileManager/File/InvalidFileSizeError\" as const;\n\n constructor(data: { size: number; minSize: number; maxSize: number }) {\n super({\n message: `File size ${data.size} bytes is outside allowed range (${data.minSize}-${data.maxSize} bytes).`,\n data\n });\n }\n}\n\nexport class InvalidFileTypeError extends BaseError<{ type: string }> {\n override readonly code = \"FileManager/File/InvalidFileTypeError\" as const;\n\n constructor(data: { type: string }) {\n super({\n message: `File type \"${data.type}\" is not allowed.`,\n data\n });\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,qBAAqB;AAE/C,OAAO,MAAMC,oBAAoB,SAASD,SAAS,CAAC;EAC9BE,IAAI,GAAG,mCAAmC;EAE5DC,WAAWA,CAACC,KAAY,EAAE;IACtB,KAAK,CAAC;MACFC,OAAO,EAAED,KAAK,CAACC;IACnB,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMC,iBAAiB,SAASN,SAAS,CAAiB;EAC3CE,IAAI,GAAG,gCAAgC;EAEzDC,WAAWA,CAACI,EAAU,EAAE;IACpB,KAAK,CAAC;MACFF,OAAO,EAAE,iBAAiBE,EAAE,cAAc;MAC1CC,IAAI,EAAE;QAAED;MAAG;IACf,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAME,sBAAsB,SAAST,SAAS,CAAC;EAChCE,IAAI,GAAG,qCAAqC;EAE9DC,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC;MACFE,OAAO,EAAE;IACb,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMK,aAAa,SAASV,SAAS,CAAC;EACvBE,IAAI,GAAG,4BAA4B;EAErDC,WAAWA,CAACC,KAAY,EAAE;IACtB,KAAK,CAAC;MACFC,OAAO,EAAE,wBAAwBD,KAAK,CAACC,OAAO;IAClD,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMM,eAAe,SAASX,SAAS,CAAC;EACzBE,IAAI,GAAG,8BAA8B;EAEvDC,WAAWA,CAACC,KAAY,EAAE;IACtB,KAAK,CAAC;MACFC,OAAO,EAAE,wBAAwBD,KAAK,CAACC,OAAO;IAClD,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMO,eAAe,SAASZ,SAAS,CAAC;EACzBE,IAAI,GAAG,8BAA8B;EAEvDC,WAAWA,CAACC,KAAY,EAAE;IACtB,KAAK,CAAC;MACFC,OAAO,EAAE,wBAAwBD,KAAK,CAACC,OAAO;IAClD,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMQ,eAAe,SAASb,SAAS,CAAC;EACzBE,IAAI,GAAG,8BAA8B;EAEvDC,WAAWA,CAACC,KAAY,EAAE;IACtB,KAAK,CAAC;MACFC,OAAO,EAAE,wBAAwBD,KAAK,CAACC,OAAO;IAClD,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMS,sBAAsB,SAASd,SAAS,CAAkB;EACjDE,IAAI,GAAG,qCAAqC;EAE9DC,WAAWA,CAACK,IAAqB,EAAE;IAC/B,KAAK,CAAC;MACFH,OAAO,EAAE,kBAAkBG,IAAI,CAACO,GAAG,mBAAmB;MACtDP;IACJ,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMQ,oBAAoB,SAAShB,SAAS,CAIhD;EACmBE,IAAI,GAAG,uCAAuC;EAEhEC,WAAWA,CAACK,IAAwD,EAAE;IAClE,KAAK,CAAC;MACFH,OAAO,EAAE,aAAaG,IAAI,CAACS,IAAI,oCAAoCT,IAAI,CAACU,OAAO,IAAIV,IAAI,CAACW,OAAO,UAAU;MACzGX;IACJ,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMY,oBAAoB,SAASpB,SAAS,CAAmB;EAChDE,IAAI,GAAG,uCAAuC;EAEhEC,WAAWA,CAACK,IAAsB,EAAE;IAChC,KAAK,CAAC;MACFH,OAAO,EAAE,cAAcG,IAAI,CAACa,IAAI,mBAAmB;MACnDb;IACJ,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import { ModelFactory } from "@webiny/api-headless-cms/features/modelBuilder/index.js";
2
+ import { WcpContext } from "@webiny/api-core/features/wcp/WcpContext/index.js";
3
+ export declare const FILE_MODEL_ID: string;
4
+ declare class FilePrivateModelImpl implements ModelFactory.Interface {
5
+ private wcp;
6
+ constructor(wcp: WcpContext.Interface);
7
+ execute(builder: ModelFactory.Builder): Promise<import("@webiny/api-headless-cms/features/modelBuilder/index.js").PrivateModelBuilder[]>;
8
+ }
9
+ export declare const FileModel: typeof FilePrivateModelImpl & {
10
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-headless-cms/features/modelBuilder/abstractions").IModelFactory>;
11
+ };
12
+ export {};
@@ -0,0 +1,56 @@
1
+ import { ModelFactory } from "@webiny/api-headless-cms/features/modelBuilder/index.js";
2
+ import { WcpContext } from "@webiny/api-core/features/wcp/WcpContext/index.js";
3
+ export const FILE_MODEL_ID = process.env.WEBINY_API_LEGACY_MODELS ? "fmFile" : "wbyFmFile";
4
+ class FilePrivateModelImpl {
5
+ constructor(wcp) {
6
+ this.wcp = wcp;
7
+ }
8
+ async execute(builder) {
9
+ const model = builder.private({
10
+ modelId: FILE_MODEL_ID,
11
+ name: "FmFile"
12
+ });
13
+ const privateFiles = this.wcp.canUsePrivateFiles();
14
+ model.fields(fields => ({
15
+ name: fields.text().label("Name").required("Value is required."),
16
+ key: fields.text().label("Key").required("Value is required."),
17
+ type: fields.text().label("Type").required("Value is required."),
18
+ size: fields.number().label("Size").required("Value is required."),
19
+ metadata: fields.object().label("Metadata").renderer("hidden").fields(fields => ({
20
+ image: fields.object().label("Image").fields(fields => ({
21
+ width: fields.number().label("Width"),
22
+ height: fields.number().label("Height"),
23
+ format: fields.text().label("Format"),
24
+ orientation: fields.number().label("Orientation")
25
+ })),
26
+ // Store complete raw EXIF as JSON
27
+ exif: fields.searchableJson().label("EXIF Data"),
28
+ // Store complete raw IPTC as JSON
29
+ iptc: fields.searchableJson().label("IPTC Data")
30
+ })),
31
+ tags: fields.text().label("Tags").tags(["$bulk-edit"]).list().required("Value is required.")
32
+ }));
33
+ if (privateFiles) {
34
+ model.fields(fields => ({
35
+ accessControl: fields.object().label("Access Control").tags(["$bulk-edit"]).fields(fields => ({
36
+ type: fields.text().label("Type").predefinedValues([{
37
+ label: "Public",
38
+ value: "public",
39
+ selected: true
40
+ }, {
41
+ label: "Private",
42
+ value: "private-authenticated",
43
+ selected: false
44
+ }])
45
+ }))
46
+ }));
47
+ }
48
+ return [model];
49
+ }
50
+ }
51
+ export const FileModel = ModelFactory.createImplementation({
52
+ implementation: FilePrivateModelImpl,
53
+ dependencies: [WcpContext]
54
+ });
55
+
56
+ //# sourceMappingURL=file.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ModelFactory","WcpContext","FILE_MODEL_ID","process","env","WEBINY_API_LEGACY_MODELS","FilePrivateModelImpl","constructor","wcp","execute","builder","model","private","modelId","name","privateFiles","canUsePrivateFiles","fields","text","label","required","key","type","size","number","metadata","object","renderer","image","width","height","format","orientation","exif","searchableJson","iptc","tags","list","accessControl","predefinedValues","value","selected","FileModel","createImplementation","implementation","dependencies"],"sources":["file.model.ts"],"sourcesContent":["import { ModelFactory } from \"@webiny/api-headless-cms/features/modelBuilder/index.js\";\nimport { WcpContext } from \"@webiny/api-core/features/wcp/WcpContext/index.js\";\n\nexport const FILE_MODEL_ID = process.env.WEBINY_API_LEGACY_MODELS ? \"fmFile\" : \"wbyFmFile\";\n\nclass FilePrivateModelImpl implements ModelFactory.Interface {\n public constructor(private wcp: WcpContext.Interface) {}\n\n public async execute(builder: ModelFactory.Builder) {\n const model = builder.private({\n modelId: FILE_MODEL_ID,\n name: \"FmFile\"\n });\n const privateFiles = this.wcp.canUsePrivateFiles();\n\n model.fields(fields => ({\n name: fields.text().label(\"Name\").required(\"Value is required.\"),\n key: fields.text().label(\"Key\").required(\"Value is required.\"),\n type: fields.text().label(\"Type\").required(\"Value is required.\"),\n size: fields.number().label(\"Size\").required(\"Value is required.\"),\n metadata: fields\n .object()\n .label(\"Metadata\")\n .renderer(\"hidden\")\n .fields(fields => ({\n image: fields\n .object()\n .label(\"Image\")\n .fields(fields => ({\n width: fields.number().label(\"Width\"),\n height: fields.number().label(\"Height\"),\n format: fields.text().label(\"Format\"),\n orientation: fields.number().label(\"Orientation\")\n })),\n // Store complete raw EXIF as JSON\n exif: fields.searchableJson().label(\"EXIF Data\"),\n // Store complete raw IPTC as JSON\n iptc: fields.searchableJson().label(\"IPTC Data\")\n })),\n tags: fields\n .text()\n .label(\"Tags\")\n .tags([\"$bulk-edit\"])\n .list()\n .required(\"Value is required.\")\n }));\n\n if (privateFiles) {\n model.fields(fields => ({\n accessControl: fields\n .object()\n .label(\"Access Control\")\n .tags([\"$bulk-edit\"])\n .fields(fields => ({\n type: fields\n .text()\n .label(\"Type\")\n .predefinedValues([\n {\n label: \"Public\",\n value: \"public\",\n selected: true\n },\n {\n label: \"Private\",\n value: \"private-authenticated\",\n selected: false\n }\n ])\n }))\n }));\n }\n\n return [model];\n }\n}\n\nexport const FileModel = ModelFactory.createImplementation({\n implementation: FilePrivateModelImpl,\n dependencies: [WcpContext]\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ export type PublicAccess = {
2
+ type: "public";
3
+ };
4
+ export type PrivateAuthenticatedAccess = {
5
+ type: "private-authenticated";
6
+ };
7
+ export type FileAccess = PublicAccess | PrivateAuthenticatedAccess;
8
+ export interface CreatedBy {
9
+ id: string;
10
+ displayName: string;
11
+ type: string;
12
+ }
13
+ export interface File {
14
+ id: string;
15
+ key: string;
16
+ size: number;
17
+ type: string;
18
+ name: string;
19
+ metadata: Record<string, any>;
20
+ accessControl?: FileAccess;
21
+ location: {
22
+ folderId: string;
23
+ };
24
+ tags: string[];
25
+ createdOn: string;
26
+ modifiedOn: string | undefined;
27
+ savedOn: string;
28
+ createdBy: CreatedBy;
29
+ modifiedBy: CreatedBy | undefined;
30
+ savedBy: CreatedBy;
31
+ extensions?: Record<string, any>;
32
+ }
33
+ export interface FileInput {
34
+ id: string;
35
+ createdOn?: string;
36
+ modifiedOn?: string;
37
+ savedOn?: string;
38
+ createdBy?: CreatedBy;
39
+ modifiedBy?: CreatedBy;
40
+ savedBy?: CreatedBy;
41
+ key: string;
42
+ name: string;
43
+ size: number;
44
+ type: string;
45
+ metadata: Record<string, any>;
46
+ location?: {
47
+ folderId: string;
48
+ };
49
+ tags: string[];
50
+ extensions?: Record<string, any>;
51
+ }
@@ -0,0 +1,3 @@
1
+ export {};
2
+
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export type PublicAccess = {\n type: \"public\";\n};\n\nexport type PrivateAuthenticatedAccess = {\n type: \"private-authenticated\";\n};\n\nexport type FileAccess = PublicAccess | PrivateAuthenticatedAccess;\n\nexport interface CreatedBy {\n id: string;\n displayName: string;\n type: string;\n}\n\nexport interface File {\n id: string;\n key: string;\n size: number;\n type: string;\n name: string;\n metadata: Record<string, any>;\n accessControl?: FileAccess;\n location: {\n folderId: string;\n };\n tags: string[];\n createdOn: string;\n modifiedOn: string | undefined;\n savedOn: string;\n createdBy: CreatedBy;\n modifiedBy: CreatedBy | undefined;\n savedBy: CreatedBy;\n extensions?: Record<string, any>;\n}\n\nexport interface FileInput {\n id: string;\n\n // Entry-level fields (we don't use revisions for files)\n createdOn?: string;\n modifiedOn?: string;\n savedOn?: string;\n createdBy?: CreatedBy;\n modifiedBy?: CreatedBy;\n savedBy?: CreatedBy;\n\n key: string;\n name: string;\n size: number;\n type: string;\n metadata: Record<string, any>;\n location?: {\n folderId: string;\n };\n tags: string[];\n extensions?: Record<string, any>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ interface IdentityDto {
2
+ id: string;
3
+ displayName: string;
4
+ type: string;
5
+ }
6
+ export declare class Identity {
7
+ static from(identity: IdentityDto): IdentityDto;
8
+ }
9
+ export {};
@@ -0,0 +1,11 @@
1
+ export class Identity {
2
+ static from(identity) {
3
+ return {
4
+ id: identity.id,
5
+ displayName: identity.displayName,
6
+ type: identity.type
7
+ };
8
+ }
9
+ }
10
+
11
+ //# sourceMappingURL=Identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Identity","from","identity","id","displayName","type"],"sources":["Identity.ts"],"sourcesContent":["interface IdentityDto {\n id: string;\n displayName: string;\n type: string;\n}\n\nexport class Identity {\n static from(identity: IdentityDto): IdentityDto {\n return {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n };\n }\n}\n"],"mappings":"AAMA,OAAO,MAAMA,QAAQ,CAAC;EAClB,OAAOC,IAAIA,CAACC,QAAqB,EAAe;IAC5C,OAAO;MACHC,EAAE,EAAED,QAAQ,CAACC,EAAE;MACfC,WAAW,EAAEF,QAAQ,CAACE,WAAW;MACjCC,IAAI,EAAEH,QAAQ,CAACG;IACnB,CAAC;EACL;AACJ","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const FILE_MANAGER_GENERAL_SETTINGS = "FileManager/General";
@@ -0,0 +1,3 @@
1
+ export const FILE_MANAGER_GENERAL_SETTINGS = "FileManager/General";
2
+
3
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FILE_MANAGER_GENERAL_SETTINGS"],"sources":["constants.ts"],"sourcesContent":["export const FILE_MANAGER_GENERAL_SETTINGS = \"FileManager/General\";\n"],"mappings":"AAAA,OAAO,MAAMA,6BAA6B,GAAG,qBAAqB","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ import { BaseError } from "@webiny/feature/api";
2
+ import type { OutputErrors } from "@webiny/utils/createZodError.js";
3
+ export declare class SettingsNotFoundError extends BaseError {
4
+ readonly code: "FileManager/Settings/NotFoundError";
5
+ constructor();
6
+ }
7
+ export declare class SettingsUpdateError extends BaseError {
8
+ readonly code: "FileManager/Settings/UpdateError";
9
+ constructor(error: Error);
10
+ }
11
+ interface ValidationParams {
12
+ invalidFields: OutputErrors;
13
+ }
14
+ export declare class SettingsValidationError extends BaseError<ValidationParams> {
15
+ readonly code: "FileManager/Settings/ValidationError";
16
+ constructor(invalidFields: OutputErrors);
17
+ }
18
+ export {};
@@ -0,0 +1,30 @@
1
+ import { BaseError } from "@webiny/feature/api";
2
+ export class SettingsNotFoundError extends BaseError {
3
+ code = "FileManager/Settings/NotFoundError";
4
+ constructor() {
5
+ super({
6
+ message: "File manager settings not found."
7
+ });
8
+ }
9
+ }
10
+ export class SettingsUpdateError extends BaseError {
11
+ code = "FileManager/Settings/UpdateError";
12
+ constructor(error) {
13
+ super({
14
+ message: `Error updating settings: ${error.message}`
15
+ });
16
+ }
17
+ }
18
+ export class SettingsValidationError extends BaseError {
19
+ code = "FileManager/Settings/ValidationError";
20
+ constructor(invalidFields) {
21
+ super({
22
+ message: "Validation failed.",
23
+ data: {
24
+ invalidFields
25
+ }
26
+ });
27
+ }
28
+ }
29
+
30
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BaseError","SettingsNotFoundError","code","constructor","message","SettingsUpdateError","error","SettingsValidationError","invalidFields","data"],"sources":["errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\nimport type { OutputErrors } from \"@webiny/utils/createZodError.js\";\n\nexport class SettingsNotFoundError extends BaseError {\n override readonly code = \"FileManager/Settings/NotFoundError\" as const;\n\n constructor() {\n super({\n message: \"File manager settings not found.\"\n });\n }\n}\n\nexport class SettingsUpdateError extends BaseError {\n override readonly code = \"FileManager/Settings/UpdateError\" as const;\n\n constructor(error: Error) {\n super({\n message: `Error updating settings: ${error.message}`\n });\n }\n}\n\ninterface ValidationParams {\n invalidFields: OutputErrors;\n}\n\nexport class SettingsValidationError extends BaseError<ValidationParams> {\n override readonly code = \"FileManager/Settings/ValidationError\" as const;\n\n constructor(invalidFields: OutputErrors) {\n super({\n message: \"Validation failed.\",\n data: { invalidFields }\n });\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,qBAAqB;AAG/C,OAAO,MAAMC,qBAAqB,SAASD,SAAS,CAAC;EAC/BE,IAAI,GAAG,oCAAoC;EAE7DC,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC;MACFC,OAAO,EAAE;IACb,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMC,mBAAmB,SAASL,SAAS,CAAC;EAC7BE,IAAI,GAAG,kCAAkC;EAE3DC,WAAWA,CAACG,KAAY,EAAE;IACtB,KAAK,CAAC;MACFF,OAAO,EAAE,4BAA4BE,KAAK,CAACF,OAAO;IACtD,CAAC,CAAC;EACN;AACJ;AAMA,OAAO,MAAMG,uBAAuB,SAASP,SAAS,CAAmB;EACnDE,IAAI,GAAG,sCAAsC;EAE/DC,WAAWA,CAACK,aAA2B,EAAE;IACrC,KAAK,CAAC;MACFJ,OAAO,EAAE,oBAAoB;MAC7BK,IAAI,EAAE;QAAED;MAAc;IAC1B,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ export interface FileManagerSettings {
2
+ uploadMinFileSize: number;
3
+ uploadMaxFileSize: number;
4
+ srcPrefix: string;
5
+ }
6
+ export interface UpdateSettingsInput {
7
+ uploadMinFileSize?: number;
8
+ uploadMaxFileSize?: number;
9
+ srcPrefix?: string;
10
+ }
@@ -0,0 +1,3 @@
1
+ export {};
2
+
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export interface FileManagerSettings {\n uploadMinFileSize: number;\n uploadMaxFileSize: number;\n srcPrefix: string;\n}\n\nexport interface UpdateSettingsInput {\n uploadMinFileSize?: number;\n uploadMaxFileSize?: number;\n srcPrefix?: string;\n}\n"],"mappings":"","ignoreList":[]}