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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/FileManagerContextSetup.js +8 -6
  2. package/FileManagerContextSetup.js.map +1 -1
  3. package/cmsFileStorage/CmsFilesStorage.js +28 -25
  4. package/cmsFileStorage/CmsFilesStorage.js.map +1 -1
  5. package/cmsFileStorage/ListFilesWhereProcessor.js +8 -10
  6. package/cmsFileStorage/ListFilesWhereProcessor.js.map +1 -1
  7. package/cmsFileStorage/ListTagsWhereProcessor.js +8 -10
  8. package/cmsFileStorage/ListTagsWhereProcessor.js.map +1 -1
  9. package/cmsFileStorage/createFileManagerPlugins.d.ts +5 -3
  10. package/cmsFileStorage/createFileManagerPlugins.js +8 -25
  11. package/cmsFileStorage/createFileManagerPlugins.js.map +1 -1
  12. package/cmsFileStorage/createModelField.js +5 -1
  13. package/cmsFileStorage/createModelField.js.map +1 -1
  14. package/cmsFileStorage/file.model.d.ts +5 -3
  15. package/cmsFileStorage/file.model.js +64 -29
  16. package/cmsFileStorage/file.model.js.map +1 -1
  17. package/cmsFileStorage/isInstallationPending.js +3 -1
  18. package/cmsFileStorage/isInstallationPending.js.map +1 -1
  19. package/contants.js +3 -1
  20. package/contants.js.map +1 -1
  21. package/createFileManager/files.crud.js +83 -55
  22. package/createFileManager/files.crud.js.map +1 -1
  23. package/createFileManager/index.js +8 -5
  24. package/createFileManager/index.js.map +1 -1
  25. package/createFileManager/permissions/FilesPermissions.js +3 -1
  26. package/createFileManager/permissions/FilesPermissions.js.map +1 -1
  27. package/createFileManager/settings.crud.js +28 -12
  28. package/createFileManager/settings.crud.js.map +1 -1
  29. package/createFileManager/system.crud.js +6 -4
  30. package/createFileManager/system.crud.js.map +1 -1
  31. package/delivery/AssetDelivery/AliasAssetRequestResolver.d.ts +10 -0
  32. package/delivery/AssetDelivery/AliasAssetRequestResolver.js +74 -0
  33. package/delivery/AssetDelivery/AliasAssetRequestResolver.js.map +1 -0
  34. package/delivery/AssetDelivery/Asset.d.ts +30 -0
  35. package/delivery/AssetDelivery/Asset.js +64 -0
  36. package/delivery/AssetDelivery/Asset.js.map +1 -0
  37. package/delivery/AssetDelivery/AssetDeliveryConfig.d.ts +63 -0
  38. package/delivery/AssetDelivery/AssetDeliveryConfig.js +102 -0
  39. package/delivery/AssetDelivery/AssetDeliveryConfig.js.map +1 -0
  40. package/delivery/AssetDelivery/AssetRequest.d.ts +24 -0
  41. package/delivery/AssetDelivery/AssetRequest.js +29 -0
  42. package/delivery/AssetDelivery/AssetRequest.js.map +1 -0
  43. package/delivery/AssetDelivery/FilesAssetRequestResolver.d.ts +6 -0
  44. package/delivery/AssetDelivery/FilesAssetRequestResolver.js +33 -0
  45. package/delivery/AssetDelivery/FilesAssetRequestResolver.js.map +1 -0
  46. package/delivery/AssetDelivery/NullAssetOutputStrategy.d.ts +4 -0
  47. package/delivery/AssetDelivery/NullAssetOutputStrategy.js +15 -0
  48. package/delivery/AssetDelivery/NullAssetOutputStrategy.js.map +1 -0
  49. package/delivery/AssetDelivery/NullAssetReply.d.ts +4 -0
  50. package/delivery/AssetDelivery/NullAssetReply.js +20 -0
  51. package/delivery/AssetDelivery/NullAssetReply.js.map +1 -0
  52. package/delivery/AssetDelivery/NullAssetResolver.d.ts +5 -0
  53. package/delivery/AssetDelivery/NullAssetResolver.js +14 -0
  54. package/delivery/AssetDelivery/NullAssetResolver.js.map +1 -0
  55. package/delivery/AssetDelivery/NullRequestResolver.d.ts +4 -0
  56. package/delivery/AssetDelivery/NullRequestResolver.js +14 -0
  57. package/delivery/AssetDelivery/NullRequestResolver.js.map +1 -0
  58. package/delivery/AssetDelivery/SetCacheControlHeaders.d.ts +8 -0
  59. package/delivery/AssetDelivery/SetCacheControlHeaders.js +25 -0
  60. package/delivery/AssetDelivery/SetCacheControlHeaders.js.map +1 -0
  61. package/delivery/AssetDelivery/SetResponseHeaders.d.ts +18 -0
  62. package/delivery/AssetDelivery/SetResponseHeaders.js +25 -0
  63. package/delivery/AssetDelivery/SetResponseHeaders.js.map +1 -0
  64. package/delivery/AssetDelivery/abstractions/AssetContentsReader.d.ts +5 -0
  65. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js +7 -0
  66. package/delivery/AssetDelivery/abstractions/AssetContentsReader.js.map +1 -0
  67. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.d.ts +4 -0
  68. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js +7 -0
  69. package/delivery/AssetDelivery/abstractions/AssetOutputStrategy.js.map +1 -0
  70. package/delivery/AssetDelivery/abstractions/AssetProcessor.d.ts +4 -0
  71. package/delivery/AssetDelivery/abstractions/AssetProcessor.js +7 -0
  72. package/delivery/AssetDelivery/abstractions/AssetProcessor.js.map +1 -0
  73. package/delivery/AssetDelivery/abstractions/AssetReply.d.ts +25 -0
  74. package/delivery/AssetDelivery/abstractions/AssetReply.js +38 -0
  75. package/delivery/AssetDelivery/abstractions/AssetReply.js.map +1 -0
  76. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.d.ts +5 -0
  77. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js +7 -0
  78. package/delivery/AssetDelivery/abstractions/AssetRequestResolver.js.map +1 -0
  79. package/delivery/AssetDelivery/abstractions/AssetResolver.d.ts +4 -0
  80. package/delivery/AssetDelivery/abstractions/AssetResolver.js +7 -0
  81. package/delivery/AssetDelivery/abstractions/AssetResolver.js.map +1 -0
  82. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.d.ts +4 -0
  83. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js +7 -0
  84. package/delivery/AssetDelivery/abstractions/AssetTransformationStrategy.js.map +1 -0
  85. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.d.ts +2 -0
  86. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js +15 -0
  87. package/delivery/AssetDelivery/createAssetDeliveryPluginLoader.js.map +1 -0
  88. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.d.ts +4 -0
  89. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js +7 -0
  90. package/delivery/AssetDelivery/privateFiles/AssetAuthorizer.js.map +1 -0
  91. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.d.ts +4 -0
  92. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js +26 -0
  93. package/delivery/AssetDelivery/privateFiles/NotAuthorizedAssetReply.js.map +1 -0
  94. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.d.ts +4 -0
  95. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js +15 -0
  96. package/delivery/AssetDelivery/privateFiles/NotAuthorizedOutputStrategy.js.map +1 -0
  97. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.d.ts +7 -0
  98. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js +28 -0
  99. package/delivery/AssetDelivery/privateFiles/PrivateAuthenticatedAuthorizer.js.map +1 -0
  100. package/delivery/AssetDelivery/privateFiles/PrivateCache.d.ts +4 -0
  101. package/delivery/AssetDelivery/privateFiles/PrivateCache.js +18 -0
  102. package/delivery/AssetDelivery/privateFiles/PrivateCache.js.map +1 -0
  103. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.d.ts +7 -0
  104. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js +37 -0
  105. package/delivery/AssetDelivery/privateFiles/PrivateFileAssetRequestResolver.js.map +1 -0
  106. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.d.ts +13 -0
  107. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js +62 -0
  108. package/delivery/AssetDelivery/privateFiles/PrivateFilesAssetProcessor.js.map +1 -0
  109. package/delivery/AssetDelivery/privateFiles/PublicCache.d.ts +4 -0
  110. package/delivery/AssetDelivery/privateFiles/PublicCache.js +18 -0
  111. package/delivery/AssetDelivery/privateFiles/PublicCache.js.map +1 -0
  112. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.d.ts +6 -0
  113. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js +27 -0
  114. package/delivery/AssetDelivery/privateFiles/RedirectToPrivateUrlOutputStrategy.js.map +1 -0
  115. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.d.ts +6 -0
  116. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js +27 -0
  117. package/delivery/AssetDelivery/privateFiles/RedirectToPublicUrlOutputStrategy.js.map +1 -0
  118. package/delivery/AssetDelivery/privateFiles/internalIdentity.d.ts +7 -0
  119. package/delivery/AssetDelivery/privateFiles/internalIdentity.js +19 -0
  120. package/delivery/AssetDelivery/privateFiles/internalIdentity.js.map +1 -0
  121. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.d.ts +4 -0
  122. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js +14 -0
  123. package/delivery/AssetDelivery/transformation/PassthroughAssetProcessor.js.map +1 -0
  124. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.d.ts +4 -0
  125. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js +14 -0
  126. package/delivery/AssetDelivery/transformation/PassthroughAssetTransformationStrategy.js.map +1 -0
  127. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.d.ts +6 -0
  128. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js +25 -0
  129. package/delivery/AssetDelivery/transformation/TransformationAssetProcessor.js.map +1 -0
  130. package/delivery/index.d.ts +15 -0
  131. package/delivery/index.js +172 -0
  132. package/delivery/index.js.map +1 -0
  133. package/delivery/setupAssetDelivery.d.ts +6 -0
  134. package/delivery/setupAssetDelivery.js +124 -0
  135. package/delivery/setupAssetDelivery.js.map +1 -0
  136. package/graphql/baseSchema.js +4 -1
  137. package/graphql/baseSchema.js.map +1 -1
  138. package/graphql/createFilesTypeDefs.js +29 -6
  139. package/graphql/createFilesTypeDefs.js.map +1 -1
  140. package/graphql/filesSchema.js +13 -5
  141. package/graphql/filesSchema.js.map +1 -1
  142. package/graphql/getFileByUrl.d.ts +3 -0
  143. package/graphql/getFileByUrl.js +78 -0
  144. package/graphql/getFileByUrl.js.map +1 -0
  145. package/graphql/index.d.ts +2 -1
  146. package/graphql/index.js +24 -2
  147. package/graphql/index.js.map +1 -1
  148. package/graphql/utils.js +3 -1
  149. package/graphql/utils.js.map +1 -1
  150. package/handlers/{transform/managers → manage}/imageManager.d.ts +2 -3
  151. package/handlers/{transform/managers → manage}/imageManager.js +11 -9
  152. package/handlers/manage/imageManager.js.map +1 -0
  153. package/handlers/manage/index.d.ts +1 -1
  154. package/handlers/manage/index.js +9 -5
  155. package/handlers/manage/index.js.map +1 -1
  156. package/handlers/{transform → manage}/legacyUtils.d.ts +0 -5
  157. package/handlers/{transform → manage}/legacyUtils.js +3 -7
  158. package/handlers/manage/legacyUtils.js.map +1 -0
  159. package/handlers/{transform → manage}/utils.js +3 -1
  160. package/handlers/manage/utils.js.map +1 -0
  161. package/handlers/types.d.ts +1 -1
  162. package/handlers/types.js +3 -1
  163. package/handlers/types.js.map +1 -1
  164. package/handlers/utils/getEnvironment.js +3 -1
  165. package/handlers/utils/getEnvironment.js.map +1 -1
  166. package/handlers/utils/getObjectParams.js +3 -1
  167. package/handlers/utils/getObjectParams.js.map +1 -1
  168. package/handlers/utils/index.js +3 -1
  169. package/handlers/utils/index.js.map +1 -1
  170. package/index.d.ts +4 -1
  171. package/index.js +27 -7
  172. package/index.js.map +1 -1
  173. package/modelModifier/CmsModelModifier.d.ts +3 -1
  174. package/modelModifier/CmsModelModifier.js +13 -10
  175. package/modelModifier/CmsModelModifier.js.map +1 -1
  176. package/package.json +26 -26
  177. package/plugins/FilePhysicalStoragePlugin.js +3 -3
  178. package/plugins/FilePhysicalStoragePlugin.js.map +1 -1
  179. package/plugins/FileStorageTransformPlugin.js +3 -4
  180. package/plugins/FileStorageTransformPlugin.js.map +1 -1
  181. package/plugins/index.js +3 -1
  182. package/plugins/index.js.map +1 -1
  183. package/storage/FileStorage.d.ts +2 -1
  184. package/storage/FileStorage.js +20 -16
  185. package/storage/FileStorage.js.map +1 -1
  186. package/types/file.d.ts +11 -0
  187. package/types/file.js +3 -1
  188. package/types/file.js.map +1 -1
  189. package/types/file.lifecycle.js +3 -1
  190. package/types.d.ts +22 -2
  191. package/types.js +3 -1
  192. package/types.js.map +1 -1
  193. package/createFileManager/filevalidation.disabled.d.ts +0 -0
  194. package/createFileManager/filevalidation.disabled.js +0 -55
  195. package/createFileManager/filevalidation.disabled.js.map +0 -1
  196. package/handlers/download/byAlias.d.ts +0 -6
  197. package/handlers/download/byAlias.js +0 -89
  198. package/handlers/download/byAlias.js.map +0 -1
  199. package/handlers/download/byExactKey.d.ts +0 -2
  200. package/handlers/download/byExactKey.js +0 -57
  201. package/handlers/download/byExactKey.js.map +0 -1
  202. package/handlers/download/extractFileInformation.d.ts +0 -9
  203. package/handlers/download/extractFileInformation.js +0 -20
  204. package/handlers/download/extractFileInformation.js.map +0 -1
  205. package/handlers/download/getS3Object.d.ts +0 -12
  206. package/handlers/download/getS3Object.js +0 -72
  207. package/handlers/download/getS3Object.js.map +0 -1
  208. package/handlers/download/index.d.ts +0 -2
  209. package/handlers/download/index.js +0 -27
  210. package/handlers/download/index.js.map +0 -1
  211. package/handlers/transform/index.d.ts +0 -2
  212. package/handlers/transform/index.js +0 -92
  213. package/handlers/transform/index.js.map +0 -1
  214. package/handlers/transform/legacyUtils.js.map +0 -1
  215. package/handlers/transform/loaders/imageLoader.d.ts +0 -30
  216. package/handlers/transform/loaders/imageLoader.js +0 -94
  217. package/handlers/transform/loaders/imageLoader.js.map +0 -1
  218. package/handlers/transform/loaders/index.d.ts +0 -8
  219. package/handlers/transform/loaders/index.js +0 -10
  220. package/handlers/transform/loaders/index.js.map +0 -1
  221. package/handlers/transform/loaders/sanitizeImageTransformations.d.ts +0 -11
  222. package/handlers/transform/loaders/sanitizeImageTransformations.js +0 -45
  223. package/handlers/transform/loaders/sanitizeImageTransformations.js.map +0 -1
  224. package/handlers/transform/managers/imageManager.js.map +0 -1
  225. package/handlers/transform/managers/index.d.ts +0 -5
  226. package/handlers/transform/managers/index.js +0 -10
  227. package/handlers/transform/managers/index.js.map +0 -1
  228. package/handlers/transform/optimizeImage.d.ts +0 -3
  229. package/handlers/transform/optimizeImage.js +0 -42
  230. package/handlers/transform/optimizeImage.js.map +0 -1
  231. package/handlers/transform/transformImage.d.ts +0 -13
  232. package/handlers/transform/transformImage.js +0 -28
  233. package/handlers/transform/transformImage.js.map +0 -1
  234. package/handlers/transform/utils.js.map +0 -1
  235. /package/handlers/{transform → manage}/utils.d.ts +0 -0
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NullAssetReply = void 0;
7
+ var _AssetReply = require("./abstractions/AssetReply");
8
+ class NullAssetReply extends _AssetReply.AssetReply {
9
+ constructor() {
10
+ super({
11
+ code: 404,
12
+ body: () => ({
13
+ error: "Asset output strategy is not implemented!"
14
+ })
15
+ });
16
+ }
17
+ }
18
+ exports.NullAssetReply = NullAssetReply;
19
+
20
+ //# sourceMappingURL=NullAssetReply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AssetReply","require","NullAssetReply","AssetReply","constructor","code","body","error","exports"],"sources":["NullAssetReply.ts"],"sourcesContent":["import { AssetReply } from \"~/delivery/AssetDelivery/abstractions/AssetReply\";\n\nexport class NullAssetReply extends AssetReply {\n constructor() {\n super({\n code: 404,\n body: () => ({ error: \"Asset output strategy is not implemented!\" })\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAEO,MAAMC,cAAc,SAASC,sBAAU,CAAC;EAC3CC,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC;MACFC,IAAI,EAAE,GAAG;MACTC,IAAI,EAAEA,CAAA,MAAO;QAAEC,KAAK,EAAE;MAA4C,CAAC;IACvE,CAAC,CAAC;EACN;AACJ;AAACC,OAAA,CAAAN,cAAA,GAAAA,cAAA"}
@@ -0,0 +1,5 @@
1
+ import { AssetResolver } from "./abstractions/AssetResolver";
2
+ import { Asset } from "./Asset";
3
+ export declare class NullAssetResolver implements AssetResolver {
4
+ resolve(): Promise<Asset | undefined>;
5
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NullAssetResolver = void 0;
7
+ class NullAssetResolver {
8
+ resolve() {
9
+ return Promise.resolve(undefined);
10
+ }
11
+ }
12
+ exports.NullAssetResolver = NullAssetResolver;
13
+
14
+ //# sourceMappingURL=NullAssetResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NullAssetResolver","resolve","Promise","undefined","exports"],"sources":["NullAssetResolver.ts"],"sourcesContent":["import { AssetResolver } from \"./abstractions/AssetResolver\";\nimport { Asset } from \"./Asset\";\n\nexport class NullAssetResolver implements AssetResolver {\n resolve(): Promise<Asset | undefined> {\n return Promise.resolve(undefined);\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,iBAAiB,CAA0B;EACpDC,OAAOA,CAAA,EAA+B;IAClC,OAAOC,OAAO,CAACD,OAAO,CAACE,SAAS,CAAC;EACrC;AACJ;AAACC,OAAA,CAAAJ,iBAAA,GAAAA,iBAAA"}
@@ -0,0 +1,4 @@
1
+ import { AssetRequest, AssetRequestResolver } from "..";
2
+ export declare class NullRequestResolver implements AssetRequestResolver {
3
+ resolve(): Promise<AssetRequest | undefined>;
4
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NullRequestResolver = void 0;
7
+ class NullRequestResolver {
8
+ resolve() {
9
+ return Promise.resolve(undefined);
10
+ }
11
+ }
12
+ exports.NullRequestResolver = NullRequestResolver;
13
+
14
+ //# sourceMappingURL=NullRequestResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NullRequestResolver","resolve","Promise","undefined","exports"],"sources":["NullRequestResolver.ts"],"sourcesContent":["import { AssetRequest, AssetRequestResolver } from \"~/delivery\";\n\nexport class NullRequestResolver implements AssetRequestResolver {\n resolve(): Promise<AssetRequest | undefined> {\n return Promise.resolve(undefined);\n }\n}\n"],"mappings":";;;;;;AAEO,MAAMA,mBAAmB,CAAiC;EAC7DC,OAAOA,CAAA,EAAsC;IACzC,OAAOC,OAAO,CAACD,OAAO,CAACE,SAAS,CAAC;EACrC;AACJ;AAACC,OAAA,CAAAJ,mBAAA,GAAAA,mBAAA"}
@@ -0,0 +1,8 @@
1
+ import { ResponseHeaders } from "@webiny/handler";
2
+ import { Asset, AssetOutputStrategy, AssetReply } from "..";
3
+ export declare class SetCacheControlHeaders implements AssetOutputStrategy {
4
+ private readonly strategy;
5
+ private readonly headers;
6
+ constructor(headers: ResponseHeaders, strategy: AssetOutputStrategy | undefined);
7
+ output(asset: Asset): Promise<AssetReply>;
8
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SetCacheControlHeaders = void 0;
7
+ class SetCacheControlHeaders {
8
+ constructor(headers, strategy) {
9
+ this.headers = headers;
10
+ this.strategy = strategy;
11
+ }
12
+ async output(asset) {
13
+ if (!this.strategy) {
14
+ throw Error(`No asset output strategy is configured!`);
15
+ }
16
+ const reply = await this.strategy.output(asset);
17
+ reply.setHeaders(headers => {
18
+ return headers.merge(this.headers);
19
+ });
20
+ return reply;
21
+ }
22
+ }
23
+ exports.SetCacheControlHeaders = SetCacheControlHeaders;
24
+
25
+ //# sourceMappingURL=SetCacheControlHeaders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SetCacheControlHeaders","constructor","headers","strategy","output","asset","Error","reply","setHeaders","merge","exports"],"sources":["SetCacheControlHeaders.ts"],"sourcesContent":["import { ResponseHeaders } from \"@webiny/handler\";\nimport { Asset, AssetOutputStrategy, AssetReply } from \"~/delivery\";\n\nexport class SetCacheControlHeaders implements AssetOutputStrategy {\n private readonly strategy: AssetOutputStrategy | undefined;\n private readonly headers: ResponseHeaders;\n\n constructor(headers: ResponseHeaders, strategy: AssetOutputStrategy | undefined) {\n this.headers = headers;\n this.strategy = strategy;\n }\n\n async output(asset: Asset): Promise<AssetReply> {\n if (!this.strategy) {\n throw Error(`No asset output strategy is configured!`);\n }\n\n const reply = await this.strategy.output(asset);\n\n reply.setHeaders(headers => {\n return headers.merge(this.headers);\n });\n\n return reply;\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,sBAAsB,CAAgC;EAI/DC,WAAWA,CAACC,OAAwB,EAAEC,QAAyC,EAAE;IAC7E,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;EAC5B;EAEA,MAAMC,MAAMA,CAACC,KAAY,EAAuB;IAC5C,IAAI,CAAC,IAAI,CAACF,QAAQ,EAAE;MAChB,MAAMG,KAAK,CAAE,yCAAwC,CAAC;IAC1D;IAEA,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACJ,QAAQ,CAACC,MAAM,CAACC,KAAK,CAAC;IAE/CE,KAAK,CAACC,UAAU,CAACN,OAAO,IAAI;MACxB,OAAOA,OAAO,CAACO,KAAK,CAAC,IAAI,CAACP,OAAO,CAAC;IACtC,CAAC,CAAC;IAEF,OAAOK,KAAK;EAChB;AACJ;AAACG,OAAA,CAAAV,sBAAA,GAAAA,sBAAA"}
@@ -0,0 +1,18 @@
1
+ import { AssetOutputStrategy, Asset, AssetReply, AssetRequest, AssetOutputStrategyDecoratorParams } from "..";
2
+ import { FileManagerContext } from "../../types";
3
+ import { ResponseHeaders } from "@webiny/handler";
4
+ export interface ResponseHeadersParams {
5
+ headers: ResponseHeaders;
6
+ context: FileManagerContext;
7
+ assetRequest: AssetRequest;
8
+ asset: Asset;
9
+ }
10
+ export interface ResponseHeadersSetter {
11
+ (params: ResponseHeadersParams): Promise<void> | void;
12
+ }
13
+ export declare class SetResponseHeaders implements AssetOutputStrategy {
14
+ private readonly setter;
15
+ private strategyDecoratorParams;
16
+ constructor(setter: ResponseHeadersSetter, strategyDecoratorParams: AssetOutputStrategyDecoratorParams);
17
+ output(asset: Asset): Promise<AssetReply>;
18
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SetResponseHeaders = void 0;
7
+ class SetResponseHeaders {
8
+ constructor(setter, strategyDecoratorParams) {
9
+ this.strategyDecoratorParams = strategyDecoratorParams;
10
+ this.setter = setter;
11
+ }
12
+ async output(asset) {
13
+ const reply = await this.strategyDecoratorParams.assetOutputStrategy.output(asset);
14
+ await this.setter({
15
+ asset: this.strategyDecoratorParams.asset,
16
+ assetRequest: this.strategyDecoratorParams.assetRequest,
17
+ context: this.strategyDecoratorParams.context,
18
+ headers: reply.getHeaders()
19
+ });
20
+ return reply;
21
+ }
22
+ }
23
+ exports.SetResponseHeaders = SetResponseHeaders;
24
+
25
+ //# sourceMappingURL=SetResponseHeaders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SetResponseHeaders","constructor","setter","strategyDecoratorParams","output","asset","reply","assetOutputStrategy","assetRequest","context","headers","getHeaders","exports"],"sources":["SetResponseHeaders.ts"],"sourcesContent":["import {\n AssetOutputStrategy,\n Asset,\n AssetReply,\n AssetRequest,\n AssetOutputStrategyDecoratorParams\n} from \"~/delivery\";\nimport { FileManagerContext } from \"~/types\";\nimport { ResponseHeaders } from \"@webiny/handler\";\n\nexport interface ResponseHeadersParams {\n headers: ResponseHeaders;\n context: FileManagerContext;\n assetRequest: AssetRequest;\n asset: Asset;\n}\n\nexport interface ResponseHeadersSetter {\n (params: ResponseHeadersParams): Promise<void> | void;\n}\n\nexport class SetResponseHeaders implements AssetOutputStrategy {\n private readonly setter: ResponseHeadersSetter;\n private strategyDecoratorParams: AssetOutputStrategyDecoratorParams;\n\n constructor(\n setter: ResponseHeadersSetter,\n strategyDecoratorParams: AssetOutputStrategyDecoratorParams\n ) {\n this.strategyDecoratorParams = strategyDecoratorParams;\n this.setter = setter;\n }\n\n async output(asset: Asset): Promise<AssetReply> {\n const reply = await this.strategyDecoratorParams.assetOutputStrategy.output(asset);\n\n await this.setter({\n asset: this.strategyDecoratorParams.asset,\n assetRequest: this.strategyDecoratorParams.assetRequest,\n context: this.strategyDecoratorParams.context,\n headers: reply.getHeaders()\n });\n\n return reply;\n }\n}\n"],"mappings":";;;;;;AAqBO,MAAMA,kBAAkB,CAAgC;EAI3DC,WAAWA,CACPC,MAA6B,EAC7BC,uBAA2D,EAC7D;IACE,IAAI,CAACA,uBAAuB,GAAGA,uBAAuB;IACtD,IAAI,CAACD,MAAM,GAAGA,MAAM;EACxB;EAEA,MAAME,MAAMA,CAACC,KAAY,EAAuB;IAC5C,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACH,uBAAuB,CAACI,mBAAmB,CAACH,MAAM,CAACC,KAAK,CAAC;IAElF,MAAM,IAAI,CAACH,MAAM,CAAC;MACdG,KAAK,EAAE,IAAI,CAACF,uBAAuB,CAACE,KAAK;MACzCG,YAAY,EAAE,IAAI,CAACL,uBAAuB,CAACK,YAAY;MACvDC,OAAO,EAAE,IAAI,CAACN,uBAAuB,CAACM,OAAO;MAC7CC,OAAO,EAAEJ,KAAK,CAACK,UAAU,CAAC;IAC9B,CAAC,CAAC;IAEF,OAAOL,KAAK;EAChB;AACJ;AAACM,OAAA,CAAAZ,kBAAA,GAAAA,kBAAA"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="node" />
2
+ import { Asset } from "../..";
3
+ export interface AssetContentsReader {
4
+ read(asset: Asset): Promise<Buffer>;
5
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=AssetContentsReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["AssetContentsReader.ts"],"sourcesContent":["import { Asset } from \"~/delivery\";\n\nexport interface AssetContentsReader {\n read(asset: Asset): Promise<Buffer>;\n}\n"],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { Asset, AssetReply } from "../..";
2
+ export interface AssetOutputStrategy {
3
+ output(asset: Asset): Promise<AssetReply>;
4
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=AssetOutputStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["AssetOutputStrategy.ts"],"sourcesContent":["import { Asset, AssetReply } from \"~/delivery\";\n\nexport interface AssetOutputStrategy {\n output(asset: Asset): Promise<AssetReply>;\n}\n"],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { Asset, AssetRequest } from "../..";
2
+ export interface AssetProcessor {
3
+ process(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
4
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=AssetProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["AssetProcessor.ts"],"sourcesContent":["import { Asset, AssetRequest } from \"~/delivery\";\n\nexport interface AssetProcessor {\n process(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;\n}\n"],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { ResponseHeaders } from "@webiny/handler";
2
+ interface HeadersSetter {
3
+ (headers: ResponseHeaders): ResponseHeaders;
4
+ }
5
+ interface AssetReplyParams {
6
+ code: number;
7
+ headers?: ResponseHeaders;
8
+ body?: AssetReplyBody;
9
+ }
10
+ interface AssetReplyBody {
11
+ (): Promise<unknown> | unknown;
12
+ }
13
+ export declare class AssetReply {
14
+ private headers;
15
+ private code;
16
+ private body;
17
+ constructor(params?: AssetReplyParams);
18
+ setHeaders(cb: HeadersSetter): void;
19
+ getHeaders(): ResponseHeaders;
20
+ setCode(code: number): void;
21
+ getCode(): number;
22
+ setBody(body: AssetReplyBody): void;
23
+ getBody(): unknown;
24
+ }
25
+ export {};
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AssetReply = void 0;
7
+ var _handler = require("@webiny/handler");
8
+ const defaultBody = () => "";
9
+ class AssetReply {
10
+ constructor(params = {
11
+ code: 200
12
+ }) {
13
+ this.code = params.code;
14
+ this.headers = params.headers || _handler.ResponseHeaders.create();
15
+ this.body = params.body || defaultBody;
16
+ }
17
+ setHeaders(cb) {
18
+ this.headers = cb(this.headers);
19
+ }
20
+ getHeaders() {
21
+ return this.headers;
22
+ }
23
+ setCode(code) {
24
+ this.code = code;
25
+ }
26
+ getCode() {
27
+ return this.code;
28
+ }
29
+ setBody(body) {
30
+ this.body = body;
31
+ }
32
+ getBody() {
33
+ return this.body();
34
+ }
35
+ }
36
+ exports.AssetReply = AssetReply;
37
+
38
+ //# sourceMappingURL=AssetReply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_handler","require","defaultBody","AssetReply","constructor","params","code","headers","ResponseHeaders","create","body","setHeaders","cb","getHeaders","setCode","getCode","setBody","getBody","exports"],"sources":["AssetReply.ts"],"sourcesContent":["import { ResponseHeaders } from \"@webiny/handler\";\n\ninterface HeadersSetter {\n (headers: ResponseHeaders): ResponseHeaders;\n}\n\ninterface AssetReplyParams {\n code: number;\n headers?: ResponseHeaders;\n body?: AssetReplyBody;\n}\n\ninterface AssetReplyBody {\n (): Promise<unknown> | unknown;\n}\n\nconst defaultBody = () => \"\";\n\nexport class AssetReply {\n private headers: ResponseHeaders;\n private code: number;\n private body: AssetReplyBody;\n\n constructor(params: AssetReplyParams = { code: 200 }) {\n this.code = params.code;\n this.headers = params.headers || ResponseHeaders.create();\n this.body = params.body || defaultBody;\n }\n\n setHeaders(cb: HeadersSetter) {\n this.headers = cb(this.headers);\n }\n\n getHeaders() {\n return this.headers;\n }\n\n setCode(code: number) {\n this.code = code;\n }\n\n getCode() {\n return this.code;\n }\n\n setBody(body: AssetReplyBody) {\n this.body = body;\n }\n\n getBody() {\n return this.body();\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAgBA,MAAMC,WAAW,GAAGA,CAAA,KAAM,EAAE;AAErB,MAAMC,UAAU,CAAC;EAKpBC,WAAWA,CAACC,MAAwB,GAAG;IAAEC,IAAI,EAAE;EAAI,CAAC,EAAE;IAClD,IAAI,CAACA,IAAI,GAAGD,MAAM,CAACC,IAAI;IACvB,IAAI,CAACC,OAAO,GAAGF,MAAM,CAACE,OAAO,IAAIC,wBAAe,CAACC,MAAM,CAAC,CAAC;IACzD,IAAI,CAACC,IAAI,GAAGL,MAAM,CAACK,IAAI,IAAIR,WAAW;EAC1C;EAEAS,UAAUA,CAACC,EAAiB,EAAE;IAC1B,IAAI,CAACL,OAAO,GAAGK,EAAE,CAAC,IAAI,CAACL,OAAO,CAAC;EACnC;EAEAM,UAAUA,CAAA,EAAG;IACT,OAAO,IAAI,CAACN,OAAO;EACvB;EAEAO,OAAOA,CAACR,IAAY,EAAE;IAClB,IAAI,CAACA,IAAI,GAAGA,IAAI;EACpB;EAEAS,OAAOA,CAAA,EAAG;IACN,OAAO,IAAI,CAACT,IAAI;EACpB;EAEAU,OAAOA,CAACN,IAAoB,EAAE;IAC1B,IAAI,CAACA,IAAI,GAAGA,IAAI;EACpB;EAEAO,OAAOA,CAAA,EAAG;IACN,OAAO,IAAI,CAACP,IAAI,CAAC,CAAC;EACtB;AACJ;AAACQ,OAAA,CAAAf,UAAA,GAAAA,UAAA"}
@@ -0,0 +1,5 @@
1
+ import { Request } from "@webiny/handler/types";
2
+ import { AssetRequest } from "../..";
3
+ export interface AssetRequestResolver {
4
+ resolve(request: Request): Promise<AssetRequest | undefined>;
5
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=AssetRequestResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["AssetRequestResolver.ts"],"sourcesContent":["import { Request } from \"@webiny/handler/types\";\nimport { AssetRequest } from \"~/delivery\";\n\nexport interface AssetRequestResolver {\n resolve(request: Request): Promise<AssetRequest | undefined>;\n}\n"],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { Asset, AssetRequest } from "../..";
2
+ export interface AssetResolver {
3
+ resolve(request: AssetRequest): Promise<Asset | undefined>;
4
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=AssetResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["AssetResolver.ts"],"sourcesContent":["import { Asset, AssetRequest } from \"~/delivery\";\n\nexport interface AssetResolver {\n resolve(request: AssetRequest): Promise<Asset | undefined>;\n}\n"],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { Asset, AssetRequest } from "../..";
2
+ export interface AssetTransformationStrategy {
3
+ transform(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
4
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=AssetTransformationStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["AssetTransformationStrategy.ts"],"sourcesContent":["import { Asset, AssetRequest } from \"~/delivery\";\n\nexport interface AssetTransformationStrategy {\n transform(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;\n}\n"],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { PluginFactory } from "@webiny/plugins/types";
2
+ export declare const createAssetDeliveryPluginLoader: (cb: PluginFactory) => PluginFactory;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createAssetDeliveryPluginLoader = void 0;
7
+ const createAssetDeliveryPluginLoader = cb => {
8
+ if (process.env.WEBINY_FUNCTION_TYPE === "asset-delivery") {
9
+ return () => cb();
10
+ }
11
+ return () => Promise.resolve([]);
12
+ };
13
+ exports.createAssetDeliveryPluginLoader = createAssetDeliveryPluginLoader;
14
+
15
+ //# sourceMappingURL=createAssetDeliveryPluginLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAssetDeliveryPluginLoader","cb","process","env","WEBINY_FUNCTION_TYPE","Promise","resolve","exports"],"sources":["createAssetDeliveryPluginLoader.ts"],"sourcesContent":["import { PluginFactory } from \"@webiny/plugins/types\";\n\nexport const createAssetDeliveryPluginLoader = (cb: PluginFactory): PluginFactory => {\n if (process.env.WEBINY_FUNCTION_TYPE === \"asset-delivery\") {\n return () => cb();\n }\n\n return () => Promise.resolve([]);\n};\n"],"mappings":";;;;;;AAEO,MAAMA,+BAA+B,GAAIC,EAAiB,IAAoB;EACjF,IAAIC,OAAO,CAACC,GAAG,CAACC,oBAAoB,KAAK,gBAAgB,EAAE;IACvD,OAAO,MAAMH,EAAE,CAAC,CAAC;EACrB;EAEA,OAAO,MAAMI,OAAO,CAACC,OAAO,CAAC,EAAE,CAAC;AACpC,CAAC;AAACC,OAAA,CAAAP,+BAAA,GAAAA,+BAAA"}
@@ -0,0 +1,4 @@
1
+ import { File } from "../../../types";
2
+ export interface AssetAuthorizer {
3
+ authorize(file: File): Promise<void>;
4
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=AssetAuthorizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["AssetAuthorizer.ts"],"sourcesContent":["import { File } from \"~/types\";\n\nexport interface AssetAuthorizer {\n authorize(file: File): Promise<void>;\n}\n"],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { AssetReply } from "../..";
2
+ export declare class NotAuthorizedAssetReply extends AssetReply {
3
+ constructor();
4
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NotAuthorizedAssetReply = void 0;
7
+ var _handler = require("@webiny/handler");
8
+ var _ = require("../..");
9
+ class NotAuthorizedAssetReply extends _.AssetReply {
10
+ constructor() {
11
+ super({
12
+ code: 403,
13
+ headers: _handler.ResponseHeaders.create({
14
+ "cache-control": "no-store",
15
+ "content-type": "application/json"
16
+ }),
17
+ body: () => ({
18
+ error: "Not authorized!",
19
+ code: "NOT_AUTHORIZED"
20
+ })
21
+ });
22
+ }
23
+ }
24
+ exports.NotAuthorizedAssetReply = NotAuthorizedAssetReply;
25
+
26
+ //# sourceMappingURL=NotAuthorizedAssetReply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_handler","require","_","NotAuthorizedAssetReply","AssetReply","constructor","code","headers","ResponseHeaders","create","body","error","exports"],"sources":["NotAuthorizedAssetReply.ts"],"sourcesContent":["import { ResponseHeaders } from \"@webiny/handler\";\nimport { AssetReply } from \"~/delivery\";\n\nexport class NotAuthorizedAssetReply extends AssetReply {\n constructor() {\n super({\n code: 403,\n headers: ResponseHeaders.create({\n \"cache-control\": \"no-store\",\n \"content-type\": \"application/json\"\n }),\n body: () => ({ error: \"Not authorized!\", code: \"NOT_AUTHORIZED\" })\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,CAAA,GAAAD,OAAA;AAEO,MAAME,uBAAuB,SAASC,YAAU,CAAC;EACpDC,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC;MACFC,IAAI,EAAE,GAAG;MACTC,OAAO,EAAEC,wBAAe,CAACC,MAAM,CAAC;QAC5B,eAAe,EAAE,UAAU;QAC3B,cAAc,EAAE;MACpB,CAAC,CAAC;MACFC,IAAI,EAAEA,CAAA,MAAO;QAAEC,KAAK,EAAE,iBAAiB;QAAEL,IAAI,EAAE;MAAiB,CAAC;IACrE,CAAC,CAAC;EACN;AACJ;AAACM,OAAA,CAAAT,uBAAA,GAAAA,uBAAA"}
@@ -0,0 +1,4 @@
1
+ import { AssetOutputStrategy, AssetReply } from "../..";
2
+ export declare class NotAuthorizedOutputStrategy implements AssetOutputStrategy {
3
+ output(): Promise<AssetReply>;
4
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NotAuthorizedOutputStrategy = void 0;
7
+ var _NotAuthorizedAssetReply = require("./NotAuthorizedAssetReply");
8
+ class NotAuthorizedOutputStrategy {
9
+ async output() {
10
+ return new _NotAuthorizedAssetReply.NotAuthorizedAssetReply();
11
+ }
12
+ }
13
+ exports.NotAuthorizedOutputStrategy = NotAuthorizedOutputStrategy;
14
+
15
+ //# sourceMappingURL=NotAuthorizedOutputStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_NotAuthorizedAssetReply","require","NotAuthorizedOutputStrategy","output","NotAuthorizedAssetReply","exports"],"sources":["NotAuthorizedOutputStrategy.ts"],"sourcesContent":["import { AssetOutputStrategy, AssetReply } from \"~/delivery\";\nimport { NotAuthorizedAssetReply } from \"./NotAuthorizedAssetReply\";\n\nexport class NotAuthorizedOutputStrategy implements AssetOutputStrategy {\n async output(): Promise<AssetReply> {\n return new NotAuthorizedAssetReply();\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,wBAAA,GAAAC,OAAA;AAEO,MAAMC,2BAA2B,CAAgC;EACpE,MAAMC,MAAMA,CAAA,EAAwB;IAChC,OAAO,IAAIC,gDAAuB,CAAC,CAAC;EACxC;AACJ;AAACC,OAAA,CAAAH,2BAAA,GAAAA,2BAAA"}
@@ -0,0 +1,7 @@
1
+ import { File, FileManagerContext } from "../../../types";
2
+ import { AssetAuthorizer } from "./AssetAuthorizer";
3
+ export declare class PrivateAuthenticatedAuthorizer implements AssetAuthorizer {
4
+ private context;
5
+ constructor(context: FileManagerContext);
6
+ authorize(file: File): Promise<void>;
7
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.PrivateAuthenticatedAuthorizer = void 0;
8
+ var _error = _interopRequireDefault(require("@webiny/error"));
9
+ class PrivateAuthenticatedAuthorizer {
10
+ constructor(context) {
11
+ this.context = context;
12
+ }
13
+ async authorize(file) {
14
+ if (file.accessControl && file.accessControl.type === "private-authenticated") {
15
+ // Make sure there's a valid identity!
16
+ const identity = this.context.security.getIdentity();
17
+ if (!identity) {
18
+ throw new _error.default({
19
+ code: "NOT_AUTHORIZED",
20
+ message: "You're not authorized to access this asset!"
21
+ });
22
+ }
23
+ }
24
+ }
25
+ }
26
+ exports.PrivateAuthenticatedAuthorizer = PrivateAuthenticatedAuthorizer;
27
+
28
+ //# sourceMappingURL=PrivateAuthenticatedAuthorizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","PrivateAuthenticatedAuthorizer","constructor","context","authorize","file","accessControl","type","identity","security","getIdentity","Error","code","message","exports"],"sources":["PrivateAuthenticatedAuthorizer.ts"],"sourcesContent":["import Error from \"@webiny/error\";\nimport { File, FileManagerContext } from \"~/types\";\nimport { AssetAuthorizer } from \"./AssetAuthorizer\";\n\nexport class PrivateAuthenticatedAuthorizer implements AssetAuthorizer {\n private context: FileManagerContext;\n\n constructor(context: FileManagerContext) {\n this.context = context;\n }\n\n async authorize(file: File) {\n if (file.accessControl && file.accessControl.type === \"private-authenticated\") {\n // Make sure there's a valid identity!\n const identity = this.context.security.getIdentity();\n\n if (!identity) {\n throw new Error({\n code: \"NOT_AUTHORIZED\",\n message: \"You're not authorized to access this asset!\"\n });\n }\n }\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIO,MAAMC,8BAA8B,CAA4B;EAGnEC,WAAWA,CAACC,OAA2B,EAAE;IACrC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,SAASA,CAACC,IAAU,EAAE;IACxB,IAAIA,IAAI,CAACC,aAAa,IAAID,IAAI,CAACC,aAAa,CAACC,IAAI,KAAK,uBAAuB,EAAE;MAC3E;MACA,MAAMC,QAAQ,GAAG,IAAI,CAACL,OAAO,CAACM,QAAQ,CAACC,WAAW,CAAC,CAAC;MAEpD,IAAI,CAACF,QAAQ,EAAE;QACX,MAAM,IAAIG,cAAK,CAAC;UACZC,IAAI,EAAE,gBAAgB;UACtBC,OAAO,EAAE;QACb,CAAC,CAAC;MACN;IACJ;EACJ;AACJ;AAACC,OAAA,CAAAb,8BAAA,GAAAA,8BAAA"}
@@ -0,0 +1,4 @@
1
+ import { AssetOutputStrategy, SetCacheControlHeaders } from "../..";
2
+ export declare class PrivateCache extends SetCacheControlHeaders {
3
+ constructor(days: number, strategy: AssetOutputStrategy | undefined);
4
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PrivateCache = void 0;
7
+ var _ = require("../..");
8
+ var _handler = require("@webiny/handler");
9
+ class PrivateCache extends _.SetCacheControlHeaders {
10
+ constructor(days, strategy) {
11
+ super(_handler.ResponseHeaders.create({
12
+ "cache-control": `private, max-age=${86400 * days}`
13
+ }), strategy);
14
+ }
15
+ }
16
+ exports.PrivateCache = PrivateCache;
17
+
18
+ //# sourceMappingURL=PrivateCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_","require","_handler","PrivateCache","SetCacheControlHeaders","constructor","days","strategy","ResponseHeaders","create","exports"],"sources":["PrivateCache.ts"],"sourcesContent":["import { AssetOutputStrategy, SetCacheControlHeaders } from \"~/delivery\";\nimport { ResponseHeaders } from \"@webiny/handler\";\n\nexport class PrivateCache extends SetCacheControlHeaders {\n constructor(days: number, strategy: AssetOutputStrategy | undefined) {\n super(\n ResponseHeaders.create({\n \"cache-control\": `private, max-age=${86400 * days}`\n }),\n strategy\n );\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEO,MAAME,YAAY,SAASC,wBAAsB,CAAC;EACrDC,WAAWA,CAACC,IAAY,EAAEC,QAAyC,EAAE;IACjE,KAAK,CACDC,wBAAe,CAACC,MAAM,CAAC;MACnB,eAAe,EAAG,oBAAmB,KAAK,GAAGH,IAAK;IACtD,CAAC,CAAC,EACFC,QACJ,CAAC;EACL;AACJ;AAACG,OAAA,CAAAP,YAAA,GAAAA,YAAA"}
@@ -0,0 +1,7 @@
1
+ import { AssetRequest, AssetRequestResolver } from "../..";
2
+ import { Request } from "@webiny/handler/types";
3
+ export declare class PrivateFileAssetRequestResolver implements AssetRequestResolver {
4
+ private readonly resolver;
5
+ constructor(resolver: AssetRequestResolver);
6
+ resolve(request: Request): Promise<AssetRequest | undefined>;
7
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PrivateFileAssetRequestResolver = void 0;
7
+ var _ = require("../..");
8
+ class PrivateFileAssetRequestResolver {
9
+ constructor(resolver) {
10
+ this.resolver = resolver;
11
+ }
12
+ async resolve(request) {
13
+ // Example: /private/65722cb5c7824a0008d05963/image-48.jpg?width=300
14
+ if (!request.url.startsWith("/private/")) {
15
+ return this.resolver.resolve(request);
16
+ }
17
+ const params = request.params ?? {};
18
+ const query = request.query ?? {};
19
+
20
+ // Example: { '*': '/private/65722cb5c7824a0008d05963/image-48.jpg' },
21
+ const path = params["*"];
22
+ return new _.AssetRequest({
23
+ key: decodeURI(path).replace("/private/", ""),
24
+ context: {
25
+ url: request.url,
26
+ private: true
27
+ },
28
+ options: {
29
+ ...query,
30
+ width: query.width ? parseInt(query.width) : undefined
31
+ }
32
+ });
33
+ }
34
+ }
35
+ exports.PrivateFileAssetRequestResolver = PrivateFileAssetRequestResolver;
36
+
37
+ //# sourceMappingURL=PrivateFileAssetRequestResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_","require","PrivateFileAssetRequestResolver","constructor","resolver","resolve","request","url","startsWith","params","query","path","AssetRequest","key","decodeURI","replace","context","private","options","width","parseInt","undefined","exports"],"sources":["PrivateFileAssetRequestResolver.ts"],"sourcesContent":["import { AssetRequest, AssetRequestResolver } from \"~/delivery\";\nimport { Request } from \"@webiny/handler/types\";\n\nexport class PrivateFileAssetRequestResolver implements AssetRequestResolver {\n private readonly resolver: AssetRequestResolver;\n\n constructor(resolver: AssetRequestResolver) {\n this.resolver = resolver;\n }\n\n async resolve(request: Request): Promise<AssetRequest | undefined> {\n // Example: /private/65722cb5c7824a0008d05963/image-48.jpg?width=300\n if (!request.url.startsWith(\"/private/\")) {\n return this.resolver.resolve(request);\n }\n\n const params = (request.params ?? {}) as Record<string, any>;\n const query = (request.query ?? {}) as Record<string, any>;\n\n // Example: { '*': '/private/65722cb5c7824a0008d05963/image-48.jpg' },\n const path = params[\"*\"];\n\n return new AssetRequest({\n key: decodeURI(path).replace(\"/private/\", \"\"),\n context: {\n url: request.url,\n private: true\n },\n options: {\n ...query,\n width: query.width ? parseInt(query.width) : undefined\n }\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AAGO,MAAMC,+BAA+B,CAAiC;EAGzEC,WAAWA,CAACC,QAA8B,EAAE;IACxC,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC5B;EAEA,MAAMC,OAAOA,CAACC,OAAgB,EAAqC;IAC/D;IACA,IAAI,CAACA,OAAO,CAACC,GAAG,CAACC,UAAU,CAAC,WAAW,CAAC,EAAE;MACtC,OAAO,IAAI,CAACJ,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAC;IACzC;IAEA,MAAMG,MAAM,GAAIH,OAAO,CAACG,MAAM,IAAI,CAAC,CAAyB;IAC5D,MAAMC,KAAK,GAAIJ,OAAO,CAACI,KAAK,IAAI,CAAC,CAAyB;;IAE1D;IACA,MAAMC,IAAI,GAAGF,MAAM,CAAC,GAAG,CAAC;IAExB,OAAO,IAAIG,cAAY,CAAC;MACpBC,GAAG,EAAEC,SAAS,CAACH,IAAI,CAAC,CAACI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;MAC7CC,OAAO,EAAE;QACLT,GAAG,EAAED,OAAO,CAACC,GAAG;QAChBU,OAAO,EAAE;MACb,CAAC;MACDC,OAAO,EAAE;QACL,GAAGR,KAAK;QACRS,KAAK,EAAET,KAAK,CAACS,KAAK,GAAGC,QAAQ,CAACV,KAAK,CAACS,KAAK,CAAC,GAAGE;MACjD;IACJ,CAAC,CAAC;EACN;AACJ;AAACC,OAAA,CAAApB,+BAAA,GAAAA,+BAAA"}
@@ -0,0 +1,13 @@
1
+ import { FileManagerContext } from "../../../types";
2
+ import { Asset, AssetProcessor, AssetRequest } from "../..";
3
+ import { AssetAuthorizer } from "./AssetAuthorizer";
4
+ export declare class PrivateFilesAssetProcessor implements AssetProcessor {
5
+ private readonly context;
6
+ private assetProcessor;
7
+ private assetAuthorizer;
8
+ constructor(context: FileManagerContext, assetAuthorizer: AssetAuthorizer, assetProcessor: AssetProcessor);
9
+ process(assetRequest: AssetRequest, asset: Asset): Promise<Asset>;
10
+ private isPrivate;
11
+ private requestedViaPrivateEndpoint;
12
+ private requestedViaPublicEndpoint;
13
+ }