@webiny/api-file-manager 0.0.0-unstable.b14eaecf38 → 0.0.0-unstable.b9b64acb6d

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 (476) hide show
  1. package/README.md +7 -13
  2. package/contants.d.ts +1 -0
  3. package/contants.js +3 -0
  4. package/contants.js.map +1 -0
  5. package/delivery/AssetDelivery/Asset.d.ts +28 -0
  6. package/delivery/AssetDelivery/Asset.js +59 -0
  7. package/delivery/AssetDelivery/Asset.js.map +1 -0
  8. package/delivery/AssetDelivery/AssetDeliveryConfig.d.ts +65 -0
  9. package/delivery/AssetDelivery/AssetDeliveryConfig.js +94 -0
  10. package/delivery/AssetDelivery/AssetDeliveryConfig.js.map +1 -0
  11. package/delivery/AssetDelivery/AssetRequest.d.ts +25 -0
  12. package/delivery/AssetDelivery/AssetRequest.js +22 -0
  13. package/delivery/AssetDelivery/AssetRequest.js.map +1 -0
  14. package/delivery/AssetDelivery/FilesAssetRequestResolver.d.ts +6 -0
  15. package/delivery/AssetDelivery/FilesAssetRequestResolver.js +30 -0
  16. package/delivery/AssetDelivery/FilesAssetRequestResolver.js.map +1 -0
  17. package/delivery/AssetDelivery/NullAssetOutputStrategy.d.ts +4 -0
  18. package/delivery/AssetDelivery/NullAssetOutputStrategy.js +8 -0
  19. package/delivery/AssetDelivery/NullAssetOutputStrategy.js.map +1 -0
  20. package/delivery/AssetDelivery/NullAssetReply.d.ts +4 -0
  21. package/delivery/AssetDelivery/NullAssetReply.js +13 -0
  22. package/delivery/AssetDelivery/NullAssetReply.js.map +1 -0
  23. package/delivery/AssetDelivery/NullAssetResolver.d.ts +5 -0
  24. package/delivery/AssetDelivery/NullAssetResolver.js +7 -0
  25. package/delivery/AssetDelivery/NullAssetResolver.js.map +1 -0
  26. package/delivery/AssetDelivery/NullRequestResolver.d.ts +4 -0
  27. package/delivery/AssetDelivery/NullRequestResolver.js +7 -0
  28. package/delivery/AssetDelivery/NullRequestResolver.js.map +1 -0
  29. package/delivery/AssetDelivery/SetCacheControlHeaders.d.ts +8 -0
  30. package/delivery/AssetDelivery/SetCacheControlHeaders.js +18 -0
  31. package/delivery/AssetDelivery/SetCacheControlHeaders.js.map +1 -0
  32. package/delivery/AssetDelivery/SetResponseHeaders.d.ts +18 -0
  33. package/delivery/AssetDelivery/SetResponseHeaders.js +18 -0
  34. package/delivery/AssetDelivery/SetResponseHeaders.js.map +1 -0
  35. package/delivery/AssetDelivery/abstractions/AssetContentsReader.d.ts +4 -0
  36. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js +3 -0
  37. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js.map +1 -0
  38. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.d.ts +4 -0
  39. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js +3 -0
  40. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js.map +1 -0
  41. package/delivery/AssetDelivery/abstractions/AssetProcessor.d.ts +4 -0
  42. package/delivery/AssetDelivery/abstractions/AssetProcessor.js +3 -0
  43. package/delivery/AssetDelivery/abstractions/AssetProcessor.js.map +1 -0
  44. package/delivery/AssetDelivery/abstractions/AssetReply.d.ts +25 -0
  45. package/delivery/AssetDelivery/abstractions/AssetReply.js +31 -0
  46. package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -0
  47. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.d.ts +5 -0
  48. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js +3 -0
  49. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js.map +1 -0
  50. package/delivery/AssetDelivery/abstractions/AssetResolver.d.ts +4 -0
  51. package/delivery/AssetDelivery/abstractions/AssetResolver.js +3 -0
  52. package/delivery/AssetDelivery/abstractions/AssetResolver.js.map +1 -0
  53. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.d.ts +4 -0
  54. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js +3 -0
  55. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js.map +1 -0
  56. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.d.ts +2 -0
  57. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +8 -0
  58. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -0
  59. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.d.ts +4 -0
  60. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js +3 -0
  61. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js.map +1 -0
  62. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +4 -0
  63. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js +19 -0
  64. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +1 -0
  65. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +4 -0
  66. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +8 -0
  67. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -0
  68. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +8 -0
  69. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +20 -0
  70. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -0
  71. package/delivery/AssetDelivery/privateFiles/PrivateCache.d.ts +6 -0
  72. package/delivery/AssetDelivery/privateFiles/PrivateCache.js +21 -0
  73. package/delivery/AssetDelivery/privateFiles/PrivateCache.js.map +1 -0
  74. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +8 -0
  75. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +30 -0
  76. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -0
  77. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +13 -0
  78. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js +63 -0
  79. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -0
  80. package/delivery/AssetDelivery/privateFiles/PublicCache.d.ts +6 -0
  81. package/delivery/AssetDelivery/privateFiles/PublicCache.js +21 -0
  82. package/delivery/AssetDelivery/privateFiles/PublicCache.js.map +1 -0
  83. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +7 -0
  84. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +20 -0
  85. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -0
  86. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +7 -0
  87. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +20 -0
  88. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -0
  89. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.d.ts +4 -0
  90. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js +7 -0
  91. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js.map +1 -0
  92. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.d.ts +4 -0
  93. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js +7 -0
  94. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +1 -0
  95. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.d.ts +6 -0
  96. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js +19 -0
  97. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js.map +1 -0
  98. package/delivery/index.d.ts +16 -0
  99. package/delivery/index.js +12 -0
  100. package/delivery/index.js.map +1 -0
  101. package/delivery/setupAssetDelivery.d.ts +2 -0
  102. package/delivery/setupAssetDelivery.js +114 -0
  103. package/delivery/setupAssetDelivery.js.map +1 -0
  104. package/domain/file/abstractions.d.ts +9 -0
  105. package/domain/file/abstractions.js +8 -0
  106. package/domain/file/abstractions.js.map +1 -0
  107. package/domain/file/errors.d.ts +59 -0
  108. package/domain/file/errors.js +89 -0
  109. package/domain/file/errors.js.map +1 -0
  110. package/domain/file/file.model.d.ts +12 -0
  111. package/domain/file/file.model.js +56 -0
  112. package/domain/file/file.model.js.map +1 -0
  113. package/domain/file/types.d.ts +51 -0
  114. package/domain/file/types.js +3 -0
  115. package/domain/file/types.js.map +1 -0
  116. package/domain/identity/Identity.d.ts +9 -0
  117. package/domain/identity/Identity.js +11 -0
  118. package/domain/identity/Identity.js.map +1 -0
  119. package/domain/settings/constants.d.ts +1 -0
  120. package/domain/settings/constants.js +3 -0
  121. package/domain/settings/constants.js.map +1 -0
  122. package/domain/settings/errors.d.ts +18 -0
  123. package/domain/settings/errors.js +30 -0
  124. package/domain/settings/errors.js.map +1 -0
  125. package/domain/settings/types.d.ts +10 -0
  126. package/domain/settings/types.js +3 -0
  127. package/domain/settings/types.js.map +1 -0
  128. package/domain/settings/validation.d.ts +14 -0
  129. package/domain/settings/validation.js +36 -0
  130. package/domain/settings/validation.js.map +1 -0
  131. package/features/FileManagerFeature.d.ts +1 -0
  132. package/features/FileManagerFeature.js +28 -0
  133. package/features/FileManagerFeature.js.map +1 -0
  134. package/features/file/CreateFile/CreateFileRepository.d.ts +15 -0
  135. package/features/file/CreateFile/CreateFileRepository.js +30 -0
  136. package/features/file/CreateFile/CreateFileRepository.js.map +1 -0
  137. package/features/file/CreateFile/CreateFileUseCase.d.ts +21 -0
  138. package/features/file/CreateFile/CreateFileUseCase.js +89 -0
  139. package/features/file/CreateFile/CreateFileUseCase.js.map +1 -0
  140. package/features/file/CreateFile/abstractions.d.ts +57 -0
  141. package/features/file/CreateFile/abstractions.js +15 -0
  142. package/features/file/CreateFile/abstractions.js.map +1 -0
  143. package/features/file/CreateFile/events.d.ts +29 -0
  144. package/features/file/CreateFile/events.js +28 -0
  145. package/features/file/CreateFile/events.js.map +1 -0
  146. package/features/file/CreateFile/feature.d.ts +1 -0
  147. package/features/file/CreateFile/feature.js +12 -0
  148. package/features/file/CreateFile/feature.js.map +1 -0
  149. package/features/file/CreateFile/index.d.ts +2 -0
  150. package/features/file/CreateFile/index.js +4 -0
  151. package/features/file/CreateFile/index.js.map +1 -0
  152. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.d.ts +13 -0
  153. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js +24 -0
  154. package/features/file/CreateFilesInBatch/CreateFilesInBatchRepository.js.map +1 -0
  155. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.d.ts +19 -0
  156. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js +84 -0
  157. package/features/file/CreateFilesInBatch/CreateFilesInBatchUseCase.js.map +1 -0
  158. package/features/file/CreateFilesInBatch/abstractions.d.ts +40 -0
  159. package/features/file/CreateFilesInBatch/abstractions.js +15 -0
  160. package/features/file/CreateFilesInBatch/abstractions.js.map +1 -0
  161. package/features/file/CreateFilesInBatch/events.d.ts +29 -0
  162. package/features/file/CreateFilesInBatch/events.js +28 -0
  163. package/features/file/CreateFilesInBatch/events.js.map +1 -0
  164. package/features/file/CreateFilesInBatch/feature.d.ts +1 -0
  165. package/features/file/CreateFilesInBatch/feature.js +12 -0
  166. package/features/file/CreateFilesInBatch/feature.js.map +1 -0
  167. package/features/file/CreateFilesInBatch/index.d.ts +1 -0
  168. package/features/file/CreateFilesInBatch/index.js +3 -0
  169. package/features/file/CreateFilesInBatch/index.js.map +1 -0
  170. package/features/file/DeleteFile/DeleteFileRepository.d.ts +15 -0
  171. package/features/file/DeleteFile/DeleteFileRepository.js +30 -0
  172. package/features/file/DeleteFile/DeleteFileRepository.js.map +1 -0
  173. package/features/file/DeleteFile/DeleteFileUseCase.d.ts +17 -0
  174. package/features/file/DeleteFile/DeleteFileUseCase.js +45 -0
  175. package/features/file/DeleteFile/DeleteFileUseCase.js.map +1 -0
  176. package/features/file/DeleteFile/abstractions.d.ts +37 -0
  177. package/features/file/DeleteFile/abstractions.js +15 -0
  178. package/features/file/DeleteFile/abstractions.js.map +1 -0
  179. package/features/file/DeleteFile/events.d.ts +27 -0
  180. package/features/file/DeleteFile/events.js +28 -0
  181. package/features/file/DeleteFile/events.js.map +1 -0
  182. package/features/file/DeleteFile/feature.d.ts +1 -0
  183. package/features/file/DeleteFile/feature.js +12 -0
  184. package/features/file/DeleteFile/feature.js.map +1 -0
  185. package/features/file/DeleteFile/index.d.ts +2 -0
  186. package/features/file/DeleteFile/index.js +4 -0
  187. package/features/file/DeleteFile/index.js.map +1 -0
  188. package/features/file/FileUrlGenerator/abstractions.d.ts +8 -0
  189. package/features/file/FileUrlGenerator/abstractions.js +4 -0
  190. package/features/file/FileUrlGenerator/abstractions.js.map +1 -0
  191. package/features/file/GetFile/GetFileRepository.d.ts +15 -0
  192. package/features/file/GetFile/GetFileRepository.js +33 -0
  193. package/features/file/GetFile/GetFileRepository.js.map +1 -0
  194. package/features/file/GetFile/GetFileUseCase.d.ts +14 -0
  195. package/features/file/GetFile/GetFileUseCase.js +31 -0
  196. package/features/file/GetFile/GetFileUseCase.js.map +1 -0
  197. package/features/file/GetFile/abstractions.d.ts +38 -0
  198. package/features/file/GetFile/abstractions.js +15 -0
  199. package/features/file/GetFile/abstractions.js.map +1 -0
  200. package/features/file/GetFile/feature.d.ts +1 -0
  201. package/features/file/GetFile/feature.js +12 -0
  202. package/features/file/GetFile/feature.js.map +1 -0
  203. package/features/file/GetFile/index.d.ts +1 -0
  204. package/features/file/GetFile/index.js +3 -0
  205. package/features/file/GetFile/index.js.map +1 -0
  206. package/features/file/ListFiles/ListFilesRepository.d.ts +18 -0
  207. package/features/file/ListFiles/ListFilesRepository.js +51 -0
  208. package/features/file/ListFiles/ListFilesRepository.js.map +1 -0
  209. package/features/file/ListFiles/ListFilesUseCase.d.ts +15 -0
  210. package/features/file/ListFiles/ListFilesUseCase.js +45 -0
  211. package/features/file/ListFiles/ListFilesUseCase.js.map +1 -0
  212. package/features/file/ListFiles/abstractions.d.ts +47 -0
  213. package/features/file/ListFiles/abstractions.js +15 -0
  214. package/features/file/ListFiles/abstractions.js.map +1 -0
  215. package/features/file/ListFiles/feature.d.ts +1 -0
  216. package/features/file/ListFiles/feature.js +12 -0
  217. package/features/file/ListFiles/feature.js.map +1 -0
  218. package/features/file/ListFiles/index.d.ts +1 -0
  219. package/features/file/ListFiles/index.js +3 -0
  220. package/features/file/ListFiles/index.js.map +1 -0
  221. package/features/file/ListTags/ListTagsRepository.d.ts +16 -0
  222. package/features/file/ListTags/ListTagsRepository.js +47 -0
  223. package/features/file/ListTags/ListTagsRepository.js.map +1 -0
  224. package/features/file/ListTags/ListTagsUseCase.d.ts +13 -0
  225. package/features/file/ListTags/ListTagsUseCase.js +31 -0
  226. package/features/file/ListTags/ListTagsUseCase.js.map +1 -0
  227. package/features/file/ListTags/abstractions.d.ts +43 -0
  228. package/features/file/ListTags/abstractions.js +15 -0
  229. package/features/file/ListTags/abstractions.js.map +1 -0
  230. package/features/file/ListTags/feature.d.ts +1 -0
  231. package/features/file/ListTags/feature.js +12 -0
  232. package/features/file/ListTags/feature.js.map +1 -0
  233. package/features/file/ListTags/index.d.ts +1 -0
  234. package/features/file/ListTags/index.js +3 -0
  235. package/features/file/ListTags/index.js.map +1 -0
  236. package/features/file/UpdateFile/UpdateFileRepository.d.ts +15 -0
  237. package/features/file/UpdateFile/UpdateFileRepository.js +39 -0
  238. package/features/file/UpdateFile/UpdateFileRepository.js.map +1 -0
  239. package/features/file/UpdateFile/UpdateFileUseCase.d.ts +20 -0
  240. package/features/file/UpdateFile/UpdateFileUseCase.js +78 -0
  241. package/features/file/UpdateFile/UpdateFileUseCase.js.map +1 -0
  242. package/features/file/UpdateFile/abstractions.d.ts +53 -0
  243. package/features/file/UpdateFile/abstractions.js +15 -0
  244. package/features/file/UpdateFile/abstractions.js.map +1 -0
  245. package/features/file/UpdateFile/events.d.ts +32 -0
  246. package/features/file/UpdateFile/events.js +28 -0
  247. package/features/file/UpdateFile/events.js.map +1 -0
  248. package/features/file/UpdateFile/feature.d.ts +1 -0
  249. package/features/file/UpdateFile/feature.js +12 -0
  250. package/features/file/UpdateFile/feature.js.map +1 -0
  251. package/features/file/UpdateFile/index.d.ts +2 -0
  252. package/features/file/UpdateFile/index.js +4 -0
  253. package/features/file/UpdateFile/index.js.map +1 -0
  254. package/features/file/shared/EntryToFileMapper.d.ts +5 -0
  255. package/features/file/shared/EntryToFileMapper.js +26 -0
  256. package/features/file/shared/EntryToFileMapper.js.map +1 -0
  257. package/features/file/shared/FileInputToEntryInputMapper.d.ts +5 -0
  258. package/features/file/shared/FileInputToEntryInputMapper.js +30 -0
  259. package/features/file/shared/FileInputToEntryInputMapper.js.map +1 -0
  260. package/features/file/shared/FileToEntryMapper.d.ts +5 -0
  261. package/features/file/shared/FileToEntryMapper.js +29 -0
  262. package/features/file/shared/FileToEntryMapper.js.map +1 -0
  263. package/features/settings/GetSettings/GetSettingsUseCase.d.ts +13 -0
  264. package/features/settings/GetSettings/GetSettingsUseCase.js +28 -0
  265. package/features/settings/GetSettings/GetSettingsUseCase.js.map +1 -0
  266. package/features/settings/GetSettings/abstractions.d.ts +17 -0
  267. package/features/settings/GetSettings/abstractions.js +9 -0
  268. package/features/settings/GetSettings/abstractions.js.map +1 -0
  269. package/features/settings/GetSettings/feature.d.ts +1 -0
  270. package/features/settings/GetSettings/feature.js +10 -0
  271. package/features/settings/GetSettings/feature.js.map +1 -0
  272. package/features/settings/SettingsInstaller/SettingsInstaller.d.ts +15 -0
  273. package/features/settings/SettingsInstaller/SettingsInstaller.js +35 -0
  274. package/features/settings/SettingsInstaller/SettingsInstaller.js.map +1 -0
  275. package/features/settings/SettingsInstaller/feature.d.ts +1 -0
  276. package/features/settings/SettingsInstaller/feature.js +10 -0
  277. package/features/settings/SettingsInstaller/feature.js.map +1 -0
  278. package/features/settings/UpdateSettings/UpdateSettingsUseCase.d.ts +18 -0
  279. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js +62 -0
  280. package/features/settings/UpdateSettings/UpdateSettingsUseCase.js.map +1 -0
  281. package/features/settings/UpdateSettings/abstractions.d.ts +22 -0
  282. package/features/settings/UpdateSettings/abstractions.js +9 -0
  283. package/features/settings/UpdateSettings/abstractions.js.map +1 -0
  284. package/features/settings/UpdateSettings/events.d.ts +32 -0
  285. package/features/settings/UpdateSettings/events.js +28 -0
  286. package/features/settings/UpdateSettings/events.js.map +1 -0
  287. package/features/settings/UpdateSettings/feature.d.ts +1 -0
  288. package/features/settings/UpdateSettings/feature.js +10 -0
  289. package/features/settings/UpdateSettings/feature.js.map +1 -0
  290. package/features/settings/UpdateSettings/index.d.ts +2 -0
  291. package/features/settings/UpdateSettings/index.js +4 -0
  292. package/features/settings/UpdateSettings/index.js.map +1 -0
  293. package/features/shared/abstractions.d.ts +1 -0
  294. package/features/shared/abstractions.js +3 -0
  295. package/features/shared/abstractions.js.map +1 -0
  296. package/graphql/baseSchema.d.ts +3 -0
  297. package/graphql/baseSchema.js +103 -0
  298. package/graphql/baseSchema.js.map +1 -0
  299. package/graphql/createFilesTypeDefs.d.ts +7 -0
  300. package/graphql/createFilesTypeDefs.js +199 -0
  301. package/graphql/createFilesTypeDefs.js.map +1 -0
  302. package/graphql/filesSchema.d.ts +4 -0
  303. package/graphql/filesSchema.js +116 -0
  304. package/graphql/filesSchema.js.map +1 -0
  305. package/graphql/getFileByUrl.d.ts +3 -0
  306. package/graphql/getFileByUrl.js +69 -0
  307. package/graphql/getFileByUrl.js.map +1 -0
  308. package/graphql/index.d.ts +3 -2
  309. package/graphql/index.js +51 -286
  310. package/graphql/index.js.map +1 -1
  311. package/graphql/utils.d.ts +11 -0
  312. package/graphql/utils.js +17 -0
  313. package/graphql/utils.js.map +1 -0
  314. package/index.d.ts +6 -5
  315. package/index.js +32 -63
  316. package/index.js.map +1 -1
  317. package/modelModifier/CmsModelModifier.d.ts +26 -0
  318. package/modelModifier/CmsModelModifier.js +54 -0
  319. package/modelModifier/CmsModelModifier.js.map +1 -0
  320. package/package.json +26 -37
  321. package/permissions/schema.d.ts +73 -0
  322. package/permissions/schema.js +20 -0
  323. package/permissions/schema.js.map +1 -0
  324. package/types.d.ts +1 -355
  325. package/types.js +2 -26
  326. package/types.js.map +1 -1
  327. package/createFileManager/checkBasePermissions.d.ts +0 -5
  328. package/createFileManager/checkBasePermissions.js +0 -24
  329. package/createFileManager/checkBasePermissions.js.map +0 -1
  330. package/createFileManager/files.crud.d.ts +0 -3
  331. package/createFileManager/files.crud.js +0 -318
  332. package/createFileManager/files.crud.js.map +0 -1
  333. package/createFileManager/filevalidation.disabled.d.ts +0 -0
  334. package/createFileManager/filevalidation.disabled.js +0 -55
  335. package/createFileManager/filevalidation.disabled.js.map +0 -1
  336. package/createFileManager/index.d.ts +0 -13
  337. package/createFileManager/index.js +0 -20
  338. package/createFileManager/index.js.map +0 -1
  339. package/createFileManager/settings.crud.d.ts +0 -3
  340. package/createFileManager/settings.crud.js +0 -91
  341. package/createFileManager/settings.crud.js.map +0 -1
  342. package/createFileManager/system.crud.d.ts +0 -3
  343. package/createFileManager/system.crud.js +0 -86
  344. package/createFileManager/system.crud.js.map +0 -1
  345. package/handlers/download/byAlias.d.ts +0 -6
  346. package/handlers/download/byAlias.js +0 -89
  347. package/handlers/download/byAlias.js.map +0 -1
  348. package/handlers/download/byExactKey.d.ts +0 -2
  349. package/handlers/download/byExactKey.js +0 -57
  350. package/handlers/download/byExactKey.js.map +0 -1
  351. package/handlers/download/extractFileInformation.d.ts +0 -9
  352. package/handlers/download/extractFileInformation.js +0 -20
  353. package/handlers/download/extractFileInformation.js.map +0 -1
  354. package/handlers/download/getS3Object.d.ts +0 -10
  355. package/handlers/download/getS3Object.js +0 -57
  356. package/handlers/download/getS3Object.js.map +0 -1
  357. package/handlers/download/index.d.ts +0 -2
  358. package/handlers/download/index.js +0 -27
  359. package/handlers/download/index.js.map +0 -1
  360. package/handlers/manage/index.d.ts +0 -5
  361. package/handlers/manage/index.js +0 -55
  362. package/handlers/manage/index.js.map +0 -1
  363. package/handlers/transform/index.d.ts +0 -2
  364. package/handlers/transform/index.js +0 -89
  365. package/handlers/transform/index.js.map +0 -1
  366. package/handlers/transform/legacyUtils.d.ts +0 -17
  367. package/handlers/transform/legacyUtils.js +0 -42
  368. package/handlers/transform/legacyUtils.js.map +0 -1
  369. package/handlers/transform/loaders/imageLoader.d.ts +0 -30
  370. package/handlers/transform/loaders/imageLoader.js +0 -94
  371. package/handlers/transform/loaders/imageLoader.js.map +0 -1
  372. package/handlers/transform/loaders/index.d.ts +0 -8
  373. package/handlers/transform/loaders/index.js +0 -10
  374. package/handlers/transform/loaders/index.js.map +0 -1
  375. package/handlers/transform/loaders/sanitizeImageTransformations.d.ts +0 -11
  376. package/handlers/transform/loaders/sanitizeImageTransformations.js +0 -45
  377. package/handlers/transform/loaders/sanitizeImageTransformations.js.map +0 -1
  378. package/handlers/transform/managers/imageManager.d.ts +0 -15
  379. package/handlers/transform/managers/imageManager.js +0 -74
  380. package/handlers/transform/managers/imageManager.js.map +0 -1
  381. package/handlers/transform/managers/index.d.ts +0 -5
  382. package/handlers/transform/managers/index.js +0 -10
  383. package/handlers/transform/managers/index.js.map +0 -1
  384. package/handlers/transform/optimizeImage.d.ts +0 -3
  385. package/handlers/transform/optimizeImage.js +0 -42
  386. package/handlers/transform/optimizeImage.js.map +0 -1
  387. package/handlers/transform/transformImage.d.ts +0 -10
  388. package/handlers/transform/transformImage.js +0 -25
  389. package/handlers/transform/transformImage.js.map +0 -1
  390. package/handlers/transform/utils.d.ts +0 -12
  391. package/handlers/transform/utils.js +0 -36
  392. package/handlers/transform/utils.js.map +0 -1
  393. package/handlers/types.d.ts +0 -8
  394. package/handlers/types.js +0 -5
  395. package/handlers/types.js.map +0 -1
  396. package/handlers/utils/getEnvironment.d.ts +0 -5
  397. package/handlers/utils/getEnvironment.js +0 -11
  398. package/handlers/utils/getEnvironment.js.map +0 -1
  399. package/handlers/utils/getObjectParams.d.ts +0 -9
  400. package/handlers/utils/getObjectParams.js +0 -21
  401. package/handlers/utils/getObjectParams.js.map +0 -1
  402. package/handlers/utils/index.d.ts +0 -2
  403. package/handlers/utils/index.js +0 -20
  404. package/handlers/utils/index.js.map +0 -1
  405. package/plugins/FilePhysicalStoragePlugin.d.ts +0 -21
  406. package/plugins/FilePhysicalStoragePlugin.js +0 -31
  407. package/plugins/FilePhysicalStoragePlugin.js.map +0 -1
  408. package/plugins/FileStorageTransformPlugin.d.ts +0 -34
  409. package/plugins/FileStorageTransformPlugin.js +0 -40
  410. package/plugins/FileStorageTransformPlugin.js.map +0 -1
  411. package/plugins/crud/files/validation.d.ts +0 -3
  412. package/plugins/crud/files/validation.js +0 -41
  413. package/plugins/crud/files/validation.js.map +0 -1
  414. package/plugins/crud/files.crud.d.ts +0 -4
  415. package/plugins/crud/files.crud.js +0 -431
  416. package/plugins/crud/files.crud.js.map +0 -1
  417. package/plugins/crud/settings.crud.d.ts +0 -5
  418. package/plugins/crud/settings.crud.js +0 -116
  419. package/plugins/crud/settings.crud.js.map +0 -1
  420. package/plugins/crud/system.crud.d.ts +0 -4
  421. package/plugins/crud/system.crud.js +0 -153
  422. package/plugins/crud/system.crud.js.map +0 -1
  423. package/plugins/crud/utils/checkBasePermissions.d.ts +0 -5
  424. package/plugins/crud/utils/checkBasePermissions.js +0 -33
  425. package/plugins/crud/utils/checkBasePermissions.js.map +0 -1
  426. package/plugins/crud/utils/createFileModel.d.ts +0 -5
  427. package/plugins/crud/utils/createFileModel.js +0 -77
  428. package/plugins/crud/utils/createFileModel.js.map +0 -1
  429. package/plugins/crud/utils/lifecycleEvents.d.ts +0 -6
  430. package/plugins/crud/utils/lifecycleEvents.js +0 -38
  431. package/plugins/crud/utils/lifecycleEvents.js.map +0 -1
  432. package/plugins/definitions/FilePhysicalStoragePlugin.d.ts +0 -21
  433. package/plugins/definitions/FilePhysicalStoragePlugin.js +0 -42
  434. package/plugins/definitions/FilePhysicalStoragePlugin.js.map +0 -1
  435. package/plugins/definitions/FilePlugin.d.ts +0 -136
  436. package/plugins/definitions/FilePlugin.js +0 -70
  437. package/plugins/definitions/FilePlugin.js.map +0 -1
  438. package/plugins/definitions/FileStorageTransformPlugin.d.ts +0 -34
  439. package/plugins/definitions/FileStorageTransformPlugin.js +0 -51
  440. package/plugins/definitions/FileStorageTransformPlugin.js.map +0 -1
  441. package/plugins/definitions/FilesStorageOperationsProviderPlugin.d.ts +0 -9
  442. package/plugins/definitions/FilesStorageOperationsProviderPlugin.js +0 -17
  443. package/plugins/definitions/FilesStorageOperationsProviderPlugin.js.map +0 -1
  444. package/plugins/definitions/InstallationPlugin.d.ts +0 -19
  445. package/plugins/definitions/InstallationPlugin.js +0 -42
  446. package/plugins/definitions/InstallationPlugin.js.map +0 -1
  447. package/plugins/definitions/SettingsStorageOperationsProviderPlugin.d.ts +0 -9
  448. package/plugins/definitions/SettingsStorageOperationsProviderPlugin.js +0 -17
  449. package/plugins/definitions/SettingsStorageOperationsProviderPlugin.js.map +0 -1
  450. package/plugins/definitions/SystemStorageOperationsProviderPlugin.d.ts +0 -9
  451. package/plugins/definitions/SystemStorageOperationsProviderPlugin.js +0 -17
  452. package/plugins/definitions/SystemStorageOperationsProviderPlugin.js.map +0 -1
  453. package/plugins/graphql.d.ts +0 -4
  454. package/plugins/graphql.js +0 -290
  455. package/plugins/graphql.js.map +0 -1
  456. package/plugins/index.d.ts +0 -2
  457. package/plugins/index.js +0 -27
  458. package/plugins/index.js.map +0 -1
  459. package/plugins/storage/FileStorage.d.ts +0 -30
  460. package/plugins/storage/FileStorage.js +0 -103
  461. package/plugins/storage/FileStorage.js.map +0 -1
  462. package/plugins/storage/index.d.ts +0 -4
  463. package/plugins/storage/index.js +0 -26
  464. package/plugins/storage/index.js.map +0 -1
  465. package/storage/FileStorage.d.ts +0 -32
  466. package/storage/FileStorage.js +0 -86
  467. package/storage/FileStorage.js.map +0 -1
  468. package/types/file.d.ts +0 -33
  469. package/types/file.js +0 -5
  470. package/types/file.js.map +0 -1
  471. package/types/file.lifecycle.d.ts +0 -40
  472. package/types/file.lifecycle.js +0 -5
  473. package/types/file.lifecycle.js.map +0 -1
  474. package/utils.d.ts +0 -4
  475. package/utils.js +0 -16
  476. package/utils.js.map +0 -1
@@ -0,0 +1,16 @@
1
+ export * from "./AssetDelivery/AssetDeliveryConfig.js";
2
+ export * from "./AssetDelivery/Asset.js";
3
+ export * from "./AssetDelivery/AssetRequest.js";
4
+ export type * from "./AssetDelivery/abstractions/AssetRequestResolver.js";
5
+ export type * from "./AssetDelivery/abstractions/AssetResolver.js";
6
+ export type * from "./AssetDelivery/abstractions/AssetProcessor.js";
7
+ export type * from "./AssetDelivery/abstractions/AssetContentsReader.js";
8
+ export type * from "./AssetDelivery/abstractions/AssetOutputStrategy.js";
9
+ export type * from "./AssetDelivery/abstractions/AssetTransformationStrategy.js";
10
+ export * from "./AssetDelivery/abstractions/AssetReply.js";
11
+ export * from "./AssetDelivery/createAssetDeliveryPluginLoader.js";
12
+ export * from "./AssetDelivery/FilesAssetRequestResolver.js";
13
+ export * from "./AssetDelivery/SetCacheControlHeaders.js";
14
+ export * from "./AssetDelivery/SetResponseHeaders.js";
15
+ export * from "./AssetDelivery/privateFiles/PublicCache.js";
16
+ export * from "./AssetDelivery/privateFiles/PrivateCache.js";
@@ -0,0 +1,12 @@
1
+ export * from "./AssetDelivery/AssetDeliveryConfig.js";
2
+ export * from "./AssetDelivery/Asset.js";
3
+ export * from "./AssetDelivery/AssetRequest.js";
4
+ export * from "./AssetDelivery/abstractions/AssetReply.js";
5
+ export * from "./AssetDelivery/createAssetDeliveryPluginLoader.js";
6
+ export * from "./AssetDelivery/FilesAssetRequestResolver.js";
7
+ export * from "./AssetDelivery/SetCacheControlHeaders.js";
8
+ export * from "./AssetDelivery/SetResponseHeaders.js";
9
+ export * from "./AssetDelivery/privateFiles/PublicCache.js";
10
+ export * from "./AssetDelivery/privateFiles/PrivateCache.js";
11
+
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./AssetDelivery/AssetDeliveryConfig.js\";\nexport * from \"./AssetDelivery/Asset.js\";\nexport * from \"./AssetDelivery/AssetRequest.js\";\nexport type * from \"./AssetDelivery/abstractions/AssetRequestResolver.js\";\nexport type * from \"./AssetDelivery/abstractions/AssetResolver.js\";\nexport type * from \"./AssetDelivery/abstractions/AssetProcessor.js\";\nexport type * from \"./AssetDelivery/abstractions/AssetContentsReader.js\";\nexport type * from \"./AssetDelivery/abstractions/AssetOutputStrategy.js\";\nexport type * from \"./AssetDelivery/abstractions/AssetTransformationStrategy.js\";\nexport * from \"./AssetDelivery/abstractions/AssetReply.js\";\nexport * from \"./AssetDelivery/createAssetDeliveryPluginLoader.js\";\nexport * from \"./AssetDelivery/FilesAssetRequestResolver.js\";\nexport * from \"./AssetDelivery/SetCacheControlHeaders.js\";\nexport * from \"./AssetDelivery/SetResponseHeaders.js\";\nexport * from \"./AssetDelivery/privateFiles/PublicCache.js\";\nexport * from \"./AssetDelivery/privateFiles/PrivateCache.js\";\n"],"mappings":"AAAA;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import { AssetDeliveryConfigModifierPlugin } from "./index.js";
2
+ export declare const setupAssetDelivery: () => (AssetDeliveryConfigModifierPlugin | import("@webiny/handler").ModifyFastifyPlugin)[];
@@ -0,0 +1,114 @@
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({
7
+ "content-type": "application/json",
8
+ "cache-control": "no-cache, no-store, must-revalidate"
9
+ });
10
+ function assertAssetRequestWasResolved(request) {
11
+ if (request === undefined) {
12
+ throw new Error("Not an AssetRequest!");
13
+ }
14
+ }
15
+ function assertAssetWasResolved(asset) {
16
+ if (asset === undefined) {
17
+ throw new Error("Not an Asset!");
18
+ }
19
+ }
20
+ export const setupAssetDelivery = () => {
21
+ const outputAsset = async (reply, asset) => {
22
+ const assetReply = await asset.output();
23
+ const headers = assetReply.getHeaders();
24
+
25
+ // Set default headers.
26
+ headers.set("x-webiny-base64-encoded", "true");
27
+ reply.code(assetReply.getCode());
28
+ reply.headers(headers.getHeaders());
29
+ return reply.send(await assetReply.getBody());
30
+ };
31
+ return [createModifyFastifyPlugin(app => {
32
+ // Config builder allows config modification via plugins.
33
+ const configBuilder = new AssetDeliveryConfigBuilder();
34
+
35
+ // Apply config modifications.
36
+ const configPlugins = app.webiny.plugins.byType(AssetDeliveryConfigModifierPlugin.type);
37
+ configPlugins.forEach(configPlugin => configPlugin.buildConfig(configBuilder));
38
+ let resolvedRequest;
39
+ let resolvedAsset;
40
+
41
+ // Create a `HandlerOnRequest` plugin to resolve `tenant`, and allow the system to bootstrap.
42
+ const handlerOnRequest = createHandlerOnRequest(async (request, reply) => {
43
+ const requestResolver = configBuilder.getAssetRequestResolver();
44
+ resolvedRequest = await requestResolver.resolve(request);
45
+ if (!resolvedRequest) {
46
+ reply.code(404).headers(noCacheHeaders.getHeaders()).send({
47
+ error: "Unable to resolve the request!"
48
+ }).hijack();
49
+ return false;
50
+ }
51
+ const container = app.webiny.container;
52
+ const assetResolver = configBuilder.getAssetResolver(container);
53
+ resolvedAsset = await assetResolver.resolve(resolvedRequest);
54
+ if (!resolvedAsset) {
55
+ reply.code(404).headers(noCacheHeaders.getHeaders()).send({
56
+ error: "Asset not found!"
57
+ }).hijack();
58
+ return false;
59
+ }
60
+ request.headers = {
61
+ ...request.headers,
62
+ "x-tenant": resolvedAsset.getTenant()
63
+ };
64
+ return;
65
+ });
66
+
67
+ // Create the `Route` plugin, to handle all GET requests, and output the resolved asset.
68
+ const deliveryRoute = createRoute(({
69
+ onGet,
70
+ context
71
+ }) => {
72
+ onGet("*", async (_, reply) => {
73
+ assertAssetRequestWasResolved(resolvedRequest);
74
+ assertAssetWasResolved(resolvedAsset);
75
+ if (context.wcp.canUsePrivateFiles()) {
76
+ configBuilder.decorateAssetProcessor(({
77
+ assetProcessor,
78
+ context
79
+ }) => {
80
+ // Currently, we only have one authorizer.
81
+ const assetAuthorizer = new PrivateAuthenticatedAuthorizer(context);
82
+ return new PrivateFilesAssetProcessor(context, assetAuthorizer, assetProcessor);
83
+ });
84
+ }
85
+ const outputStrategy = configBuilder.getAssetOutputStrategy(context, resolvedRequest, resolvedAsset);
86
+ resolvedAsset.setOutputStrategy(outputStrategy);
87
+ const assetProcessor = configBuilder.getAssetProcessor(context);
88
+ const processedAsset = await assetProcessor.process(resolvedRequest, resolvedAsset);
89
+
90
+ // Get reply object (runs the output strategy under the hood).
91
+ console.log(`Output asset (size: ${processedAsset.getSize()} bytes).`);
92
+ return outputAsset(reply, processedAsset);
93
+ }, {
94
+ override: true
95
+ });
96
+ });
97
+ app.webiny.plugins.register(handlerOnRequest, deliveryRoute);
98
+ }),
99
+ // Create the default configuration
100
+ createAssetDeliveryConfig(config => {
101
+ config.decorateAssetRequestResolver(() => {
102
+ // This resolver works with `/files/*` requests.
103
+ return new FilesAssetRequestResolver();
104
+ });
105
+ config.decorateAssetRequestResolver(({
106
+ assetRequestResolver
107
+ }) => {
108
+ // This resolver works with `/private/*` requests.
109
+ return new PrivateFileAssetRequestResolver(assetRequestResolver);
110
+ });
111
+ })];
112
+ };
113
+
114
+ //# sourceMappingURL=setupAssetDelivery.js.map
@@ -0,0 +1 @@
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":"AAAA,SACIA,sBAAsB,EACtBC,yBAAyB,EACzBC,WAAW,EACXC,eAAe,QACZ,iBAAiB;AACxB,SAASC,0BAA0B;AACnC,SAASC,8BAA8B;AACvC,SAASC,+BAA+B;AAExC,SACIC,0BAA0B,EAC1BC,iCAAiC,EACjCC,yBAAyB,EACzBC,yBAAyB;AAK7B,MAAMC,cAAc,GAAGR,eAAe,CAACS,MAAM,CAAC;EAC1C,cAAc,EAAE,kBAAkB;EAClC,eAAe,EAAE;AACrB,CAAC,CAAC;AAEF,SAASC,6BAA6BA,CAACC,OAAY,EAAmC;EAClF,IAAIA,OAAO,KAAKC,SAAS,EAAE;IACvB,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;EAC3C;AACJ;AAEA,SAASC,sBAAsBA,CAACC,KAAwB,EAA0B;EAC9E,IAAIA,KAAK,KAAKH,SAAS,EAAE;IACrB,MAAM,IAAIC,KAAK,CAAC,eAAe,CAAC;EACpC;AACJ;AAEA,OAAO,MAAMG,kBAAkB,GAAGA,CAAA,KAAM;EACpC,MAAMC,WAAW,GAAG,MAAAA,CAAOC,KAAY,EAAEH,KAAY,KAAK;IACtD,MAAMI,UAAU,GAAG,MAAMJ,KAAK,CAACK,MAAM,CAAC,CAAC;IACvC,MAAMC,OAAO,GAAGF,UAAU,CAACG,UAAU,CAAC,CAAC;;IAEvC;IACAD,OAAO,CAACE,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAE9CL,KAAK,CAACM,IAAI,CAACL,UAAU,CAACM,OAAO,CAAC,CAAC,CAAC;IAChCP,KAAK,CAACG,OAAO,CAACA,OAAO,CAACC,UAAU,CAAC,CAAC,CAAC;IACnC,OAAOJ,KAAK,CAACQ,IAAI,CAAC,MAAMP,UAAU,CAACQ,OAAO,CAAC,CAAC,CAAC;EACjD,CAAC;EAED,OAAO,CACH7B,yBAAyB,CAAC8B,GAAG,IAAI;IAC7B;IACA,MAAMC,aAAa,GAAG,IAAIzB,0BAA0B,CAAC,CAAC;;IAEtD;IACA,MAAM0B,aAAa,GAAGF,GAAG,CAACG,MAAM,CAACC,OAAO,CAACC,MAAM,CAC3C5B,iCAAiC,CAAC6B,IACtC,CAAC;IAEDJ,aAAa,CAACK,OAAO,CAACC,YAAY,IAAIA,YAAY,CAACC,WAAW,CAACR,aAAa,CAAC,CAAC;IAE9E,IAAIS,eAAyC;IAC7C,IAAIC,aAAgC;;IAEpC;IACA,MAAMC,gBAAgB,GAAG3C,sBAAsB,CAAC,OAAOc,OAAO,EAAEO,KAAK,KAAK;MACtE,MAAMuB,eAAe,GAAGZ,aAAa,CAACa,uBAAuB,CAAC,CAAC;MAC/DJ,eAAe,GAAG,MAAMG,eAAe,CAACE,OAAO,CAAChC,OAAO,CAAC;MAExD,IAAI,CAAC2B,eAAe,EAAE;QAClBpB,KAAK,CACAM,IAAI,CAAC,GAAG,CAAC,CACTH,OAAO,CAACb,cAAc,CAACc,UAAU,CAAC,CAAC,CAAC,CACpCI,IAAI,CAAC;UAAEkB,KAAK,EAAE;QAAiC,CAAC,CAAC,CACjDC,MAAM,CAAC,CAAC;QAEb,OAAO,KAAK;MAChB;MAEA,MAAMC,SAAS,GAAGlB,GAAG,CAACG,MAAM,CAACe,SAAS;MACtC,MAAMC,aAAa,GAAGlB,aAAa,CAACmB,gBAAgB,CAACF,SAAS,CAAC;MAE/DP,aAAa,GAAG,MAAMQ,aAAa,CAACJ,OAAO,CAACL,eAAe,CAAC;MAE5D,IAAI,CAACC,aAAa,EAAE;QAChBrB,KAAK,CACAM,IAAI,CAAC,GAAG,CAAC,CACTH,OAAO,CAACb,cAAc,CAACc,UAAU,CAAC,CAAC,CAAC,CACpCI,IAAI,CAAC;UAAEkB,KAAK,EAAE;QAAmB,CAAC,CAAC,CACnCC,MAAM,CAAC,CAAC;QAEb,OAAO,KAAK;MAChB;MAEAlC,OAAO,CAACU,OAAO,GAAG;QACd,GAAGV,OAAO,CAACU,OAAO;QAClB,UAAU,EAAEkB,aAAa,CAACU,SAAS,CAAC;MACxC,CAAC;MAED;IACJ,CAAC,CAAC;;IAEF;IACA,MAAMC,aAAa,GAAGnD,WAAW,CAAiB,CAAC;MAAEoD,KAAK;MAAEC;IAAQ,CAAC,KAAK;MACtED,KAAK,CACD,GAAG,EACH,OAAOE,CAAC,EAAEnC,KAAK,KAAK;QAChBR,6BAA6B,CAAC4B,eAAe,CAAC;QAC9CxB,sBAAsB,CAACyB,aAAa,CAAC;QAErC,IAAIa,OAAO,CAACE,GAAG,CAACC,kBAAkB,CAAC,CAAC,EAAE;UAClC1B,aAAa,CAAC2B,sBAAsB,CAAC,CAAC;YAAEC,cAAc;YAAEL;UAAQ,CAAC,KAAK;YAClE;YACA,MAAMM,eAAe,GAAG,IAAIxD,8BAA8B,CAACkD,OAAO,CAAC;YAEnE,OAAO,IAAInD,0BAA0B,CACjCmD,OAAO,EACPM,eAAe,EACfD,cACJ,CAAC;UACL,CAAC,CAAC;QACN;QAEA,MAAME,cAAc,GAAG9B,aAAa,CAAC+B,sBAAsB,CACvDR,OAAO,EACPd,eAAe,EACfC,aACJ,CAAC;QAEDA,aAAa,CAACsB,iBAAiB,CAACF,cAAc,CAAC;QAE/C,MAAMF,cAAc,GAAG5B,aAAa,CAACiC,iBAAiB,CAACV,OAAO,CAAC;QAE/D,MAAMW,cAAc,GAAG,MAAMN,cAAc,CAACO,OAAO,CAC/C1B,eAAe,EACfC,aACJ,CAAC;;QAED;QACA0B,OAAO,CAACC,GAAG,CAAC,uBAAuBH,cAAc,CAACI,OAAO,CAAC,CAAC,UAAU,CAAC;QACtE,OAAOlD,WAAW,CAACC,KAAK,EAAE6C,cAAc,CAAC;MAC7C,CAAC,EACD;QAAEK,QAAQ,EAAE;MAAK,CACrB,CAAC;IACL,CAAC,CAAC;IAEFxC,GAAG,CAACG,MAAM,CAACC,OAAO,CAACqC,QAAQ,CAAC7B,gBAAgB,EAAEU,aAAa,CAAC;EAChE,CAAC,CAAC;EACF;EACA3C,yBAAyB,CAAC+D,MAAM,IAAI;IAChCA,MAAM,CAACC,4BAA4B,CAAC,MAAM;MACtC;MACA,OAAO,IAAIjE,yBAAyB,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEFgE,MAAM,CAACC,4BAA4B,CAAC,CAAC;MAAEC;IAAqB,CAAC,KAAK;MAC9D;MACA,OAAO,IAAIrE,+BAA+B,CAACqE,oBAAoB,CAAC;IACpE,CAAC,CAAC;EACN,CAAC,CAAC,CACL;AACL,CAAC","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":[]}