@payloadcms/plugin-cloud-storage 1.0.19 → 1.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/.editorconfig +10 -0
  2. package/.gitignore +248 -0
  3. package/.prettierignore +1 -0
  4. package/.prettierrc.js +8 -0
  5. package/.vscode/launch.json +40 -0
  6. package/.vscode/settings.json +9 -0
  7. package/dev/.env +21 -0
  8. package/dev/.env.example +21 -0
  9. package/dev/dist/dev/src/collections/Media.js +56 -0
  10. package/dev/dist/dev/src/collections/Media.js.map +1 -0
  11. package/dev/dist/dev/src/collections/Users.js +23 -0
  12. package/dev/dist/dev/src/collections/Users.js.map +1 -0
  13. package/dev/dist/dev/src/payload.config.js +153 -0
  14. package/dev/dist/dev/src/payload.config.js.map +1 -0
  15. package/dev/dist/dev/src/server.js +26 -0
  16. package/dev/dist/dev/src/server.js.map +1 -0
  17. package/dev/dist/src/adapters/azure/generateURL.js +16 -0
  18. package/dev/dist/src/adapters/azure/generateURL.js.map +1 -0
  19. package/dev/dist/src/adapters/azure/handleDelete.js +64 -0
  20. package/dev/dist/src/adapters/azure/handleDelete.js.map +1 -0
  21. package/dev/dist/src/adapters/azure/handleUpload.js +81 -0
  22. package/dev/dist/src/adapters/azure/handleUpload.js.map +1 -0
  23. package/dev/dist/src/adapters/azure/index.js +43 -0
  24. package/dev/dist/src/adapters/azure/index.js.map +1 -0
  25. package/dev/dist/src/adapters/azure/staticHandler.js +82 -0
  26. package/dev/dist/src/adapters/azure/staticHandler.js.map +1 -0
  27. package/dev/dist/src/adapters/azure/webpack.js +25 -0
  28. package/dev/dist/src/adapters/azure/webpack.js.map +1 -0
  29. package/dev/dist/src/adapters/gcs/generateURL.js +16 -0
  30. package/dev/dist/src/adapters/gcs/generateURL.js.map +1 -0
  31. package/dev/dist/src/adapters/gcs/handleDelete.js +63 -0
  32. package/dev/dist/src/adapters/gcs/handleDelete.js.map +1 -0
  33. package/dev/dist/src/adapters/gcs/handleUpload.js +73 -0
  34. package/dev/dist/src/adapters/gcs/handleUpload.js.map +1 -0
  35. package/dev/dist/src/adapters/gcs/index.js +36 -0
  36. package/dev/dist/src/adapters/gcs/index.js.map +1 -0
  37. package/dev/dist/src/adapters/gcs/staticHandler.js +77 -0
  38. package/dev/dist/src/adapters/gcs/staticHandler.js.map +1 -0
  39. package/dev/dist/src/adapters/gcs/webpack.js +25 -0
  40. package/dev/dist/src/adapters/gcs/webpack.js.map +1 -0
  41. package/dev/dist/src/adapters/s3/generateURL.js +16 -0
  42. package/dev/dist/src/adapters/s3/generateURL.js.map +1 -0
  43. package/dev/dist/src/adapters/s3/handleDelete.js +64 -0
  44. package/dev/dist/src/adapters/s3/handleDelete.js.map +1 -0
  45. package/dev/dist/src/adapters/s3/handleUpload.js +94 -0
  46. package/dev/dist/src/adapters/s3/handleUpload.js.map +1 -0
  47. package/dev/dist/src/adapters/s3/index.js +60 -0
  48. package/dev/dist/src/adapters/s3/index.js.map +1 -0
  49. package/dev/dist/src/adapters/s3/staticHandler.js +82 -0
  50. package/dev/dist/src/adapters/s3/staticHandler.js.map +1 -0
  51. package/dev/dist/src/adapters/s3/webpack.js +25 -0
  52. package/dev/dist/src/adapters/s3/webpack.js.map +1 -0
  53. package/dev/dist/src/fields/getFields.js +119 -0
  54. package/dev/dist/src/fields/getFields.js.map +1 -0
  55. package/dev/dist/src/hooks/afterDelete.js +92 -0
  56. package/dev/dist/src/hooks/afterDelete.js.map +1 -0
  57. package/dev/dist/src/hooks/afterRead.js +80 -0
  58. package/dev/dist/src/hooks/afterRead.js.map +1 -0
  59. package/dev/dist/src/hooks/beforeChange.js +106 -0
  60. package/dev/dist/src/hooks/beforeChange.js.map +1 -0
  61. package/dev/dist/src/index.js +6 -0
  62. package/dev/dist/src/index.js.map +1 -0
  63. package/dev/dist/src/plugin.js +131 -0
  64. package/dev/dist/src/plugin.js.map +1 -0
  65. package/{dist/adapters/s3/fileStub.js → dev/dist/src/types.js} +1 -2
  66. package/dev/dist/src/types.js.map +1 -0
  67. package/dev/dist/src/utilities/getFilePrefix.js +81 -0
  68. package/dev/dist/src/utilities/getFilePrefix.js.map +1 -0
  69. package/dev/dist/src/utilities/getIncomingFiles.js +38 -0
  70. package/dev/dist/src/utilities/getIncomingFiles.js.map +1 -0
  71. package/dev/dist/src/utilities/getRangeFromHeader.js +67 -0
  72. package/dev/dist/src/utilities/getRangeFromHeader.js.map +1 -0
  73. package/dev/dist/src/webpack.js +40 -0
  74. package/dev/dist/src/webpack.js.map +1 -0
  75. package/dev/nodemon.json +8 -0
  76. package/dev/package.json +34 -0
  77. package/dev/src/collections/Media.ts +56 -0
  78. package/dev/src/collections/Users.ts +23 -0
  79. package/dev/src/mocks/fsMock.js +1 -0
  80. package/dev/src/mocks/promisifyMock.js +1 -0
  81. package/dev/src/payload.config.ts +123 -0
  82. package/dev/src/server.ts +26 -0
  83. package/dev/tmp/tmp-1-1688568985997 +0 -0
  84. package/dev/tmp/tmp-2-1687546883112 +0 -0
  85. package/dev/tsconfig.json +20 -0
  86. package/dist/adapters/azure/mock.d.ts +1 -13
  87. package/dist/adapters/azure/mock.js +4 -11
  88. package/dist/adapters/azure/mock.js.map +1 -1
  89. package/dist/adapters/azure/webpack.js +1 -1
  90. package/dist/adapters/azure/webpack.js.map +1 -1
  91. package/dist/adapters/gcs/index.d.ts +1 -1
  92. package/dist/adapters/gcs/index.js +2 -1
  93. package/dist/adapters/gcs/index.js.map +1 -1
  94. package/dist/adapters/gcs/mock.d.ts +1 -1
  95. package/dist/adapters/gcs/mock.js +4 -3
  96. package/dist/adapters/gcs/mock.js.map +1 -1
  97. package/dist/adapters/s3/mock.d.ts +1 -8
  98. package/dist/adapters/s3/mock.js +4 -8
  99. package/dist/adapters/s3/mock.js.map +1 -1
  100. package/dist/adapters/s3/webpack.js +1 -1
  101. package/dist/adapters/s3/webpack.js.map +1 -1
  102. package/dist/admin/fields/getFields.d.ts +7 -0
  103. package/dist/admin/fields/getFields.js +102 -0
  104. package/dist/admin/fields/getFields.js.map +1 -0
  105. package/dist/admin/index.d.ts +3 -0
  106. package/dist/admin/index.js +40 -0
  107. package/dist/admin/index.js.map +1 -0
  108. package/dist/fields/getFields.js +1 -1
  109. package/dist/fields/getFields.js.map +1 -1
  110. package/dist/webpack.js +5 -1
  111. package/dist/webpack.js.map +1 -1
  112. package/docs/local-dev.md +47 -0
  113. package/eslint-config/index.js +15 -0
  114. package/eslint-config/rules/import.js +38 -0
  115. package/eslint-config/rules/prettier.js +7 -0
  116. package/eslint-config/rules/style.js +21 -0
  117. package/eslint-config/rules/typescript.js +628 -0
  118. package/package.json +1 -1
  119. package/src/adapters/azure/emulator/docker-compose.yml +16 -0
  120. package/src/adapters/azure/generateURL.ts +13 -0
  121. package/src/adapters/azure/handleDelete.ts +16 -0
  122. package/src/adapters/azure/handleUpload.ts +43 -0
  123. package/src/adapters/azure/index.ts +48 -0
  124. package/src/adapters/azure/mock.js +1 -0
  125. package/src/adapters/azure/staticHandler.ts +38 -0
  126. package/src/adapters/azure/webpack.ts +21 -0
  127. package/src/adapters/gcs/emulator/docker-compose.yml +15 -0
  128. package/src/adapters/gcs/generateURL.ts +16 -0
  129. package/src/adapters/gcs/handleDelete.ts +16 -0
  130. package/src/adapters/gcs/handleUpload.ts +36 -0
  131. package/src/adapters/gcs/index.ts +40 -0
  132. package/src/adapters/gcs/mock.js +1 -0
  133. package/src/adapters/gcs/staticHandler.ts +34 -0
  134. package/src/adapters/gcs/webpack.ts +21 -0
  135. package/src/adapters/s3/emulator/.localstack/cache/machine.json +1 -0
  136. package/src/adapters/s3/emulator/.localstack/cache/server.test.pem +127 -0
  137. package/src/adapters/s3/emulator/.localstack/cache/server.test.pem.crt +99 -0
  138. package/src/adapters/s3/emulator/.localstack/cache/server.test.pem.key +28 -0
  139. package/src/adapters/s3/emulator/.localstack/cache/service-catalog-2_1_1_dev-1_29_149.pickle +0 -0
  140. package/src/adapters/s3/emulator/docker-compose.yml +15 -0
  141. package/src/adapters/s3/generateURL.ts +14 -0
  142. package/src/adapters/s3/handleDelete.ts +17 -0
  143. package/src/adapters/s3/handleUpload.ts +62 -0
  144. package/src/adapters/s3/index.ts +48 -0
  145. package/src/adapters/s3/mock.js +1 -0
  146. package/src/adapters/s3/staticHandler.ts +41 -0
  147. package/src/adapters/s3/webpack.ts +21 -0
  148. package/src/admin/fields/getFields.ts +126 -0
  149. package/src/admin/index.ts +39 -0
  150. package/src/fields/getFields.ts +155 -0
  151. package/src/hooks/afterDelete.ts +35 -0
  152. package/src/hooks/afterRead.ts +38 -0
  153. package/src/hooks/beforeChange.ts +59 -0
  154. package/src/index.ts +1 -0
  155. package/src/plugin.ts +101 -0
  156. package/src/types.ts +79 -0
  157. package/src/utilities/getFilePrefix.ts +26 -0
  158. package/src/utilities/getIncomingFiles.ts +44 -0
  159. package/src/utilities/getRangeFromHeader.ts +27 -0
  160. package/src/webpack.ts +48 -0
  161. package/tsconfig.json +23 -0
  162. package/yarn-error.log +8163 -0
  163. package/yarn.lock +8062 -0
  164. package/dist/adapters/azure/fileStub.d.ts +0 -2
  165. package/dist/adapters/azure/fileStub.js +0 -4
  166. package/dist/adapters/azure/fileStub.js.map +0 -1
  167. package/dist/adapters/s3/fileStub.d.ts +0 -2
  168. package/dist/adapters/s3/fileStub.js.map +0 -1
  169. package/dist/adapters/s3/fsMock.d.ts +0 -3
  170. package/dist/adapters/s3/fsMock.js +0 -3
  171. package/dist/adapters/s3/fsMock.js.map +0 -1
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.extendWebpackConfig = void 0;
18
+ var path_1 = __importDefault(require("path"));
19
+ var extendWebpackConfig = function (existingWebpackConfig) {
20
+ var _a, _b;
21
+ var newConfig = __assign(__assign({}, existingWebpackConfig), { resolve: __assign(__assign({}, (existingWebpackConfig.resolve || {})), { fallback: __assign(__assign({}, (((_a = existingWebpackConfig.resolve) === null || _a === void 0 ? void 0 : _a.fallback) ? existingWebpackConfig.resolve.fallback : {})), { stream: false }), alias: __assign(__assign({}, (((_b = existingWebpackConfig.resolve) === null || _b === void 0 ? void 0 : _b.alias) ? existingWebpackConfig.resolve.alias : {})), { '@google-cloud/storage': path_1.default.resolve(__dirname, './mock.js') }) }) });
22
+ return newConfig;
23
+ };
24
+ exports.extendWebpackConfig = extendWebpackConfig;
25
+ //# sourceMappingURL=webpack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webpack.js","sourceRoot":"","sources":["../../../../../src/adapters/gcs/webpack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,8CAAuB;AAEhB,IAAM,mBAAmB,GAAG,UAAC,qBAAoC;;IACtE,IAAM,SAAS,yBACV,qBAAqB,KACxB,OAAO,wBACF,CAAC,qBAAqB,CAAC,OAAO,IAAI,EAAE,CAAC,KACxC,QAAQ,wBACH,CAAC,CAAA,MAAA,qBAAqB,CAAC,OAAO,0CAAE,QAAQ,EAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAC1F,MAAM,EAAE,KAAK,KAEf,KAAK,wBACA,CAAC,CAAA,MAAA,qBAAqB,CAAC,OAAO,0CAAE,KAAK,EAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KACpF,uBAAuB,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,SAGlE,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAjBY,QAAA,mBAAmB,uBAiB/B"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getGenerateURL = void 0;
7
+ var path_1 = __importDefault(require("path"));
8
+ var getGenerateURL = function (_a) {
9
+ var endpoint = _a.config.endpoint, bucket = _a.bucket;
10
+ return function (_a) {
11
+ var filename = _a.filename, _b = _a.prefix, prefix = _b === void 0 ? '' : _b;
12
+ return "".concat(endpoint, "/").concat(bucket, "/").concat(path_1.default.posix.join(prefix, filename));
13
+ };
14
+ };
15
+ exports.getGenerateURL = getGenerateURL;
16
+ //# sourceMappingURL=generateURL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateURL.js","sourceRoot":"","sources":["../../../../../src/adapters/s3/generateURL.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAuB;AAShB,IAAM,cAAc,GACzB,UAAC,EAAsC;QAA1B,QAAQ,qBAAA,EAAI,MAAM,YAAA;IAC/B,OAAA,UAAC,EAAyB;YAAvB,QAAQ,cAAA,EAAE,cAAW,EAAX,MAAM,mBAAG,EAAE,KAAA;QACtB,OAAO,UAAG,QAAQ,cAAI,MAAM,cAAI,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAE,CAAA;IACrE,CAAC;AAFD,CAEC,CAAA;AAJU,QAAA,cAAc,kBAIxB"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.getHandleDelete = void 0;
43
+ var path_1 = __importDefault(require("path"));
44
+ var getHandleDelete = function (_a) {
45
+ var getStorageClient = _a.getStorageClient, bucket = _a.bucket;
46
+ return function (_a) {
47
+ var filename = _a.filename, _b = _a.doc.prefix, prefix = _b === void 0 ? '' : _b;
48
+ return __awaiter(void 0, void 0, void 0, function () {
49
+ return __generator(this, function (_c) {
50
+ switch (_c.label) {
51
+ case 0: return [4 /*yield*/, getStorageClient().deleteObject({
52
+ Bucket: bucket,
53
+ Key: path_1.default.posix.join(prefix, filename),
54
+ })];
55
+ case 1:
56
+ _c.sent();
57
+ return [2 /*return*/];
58
+ }
59
+ });
60
+ });
61
+ };
62
+ };
63
+ exports.getHandleDelete = getHandleDelete;
64
+ //# sourceMappingURL=handleDelete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleDelete.js","sourceRoot":"","sources":["../../../../../src/adapters/s3/handleDelete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAShB,IAAM,eAAe,GAAG,UAAC,EAAkC;QAAhC,gBAAgB,sBAAA,EAAE,MAAM,YAAA;IACxD,OAAO,UAAO,EAAkC;YAAhC,QAAQ,cAAA,EAAS,kBAAW,EAAX,MAAM,mBAAG,EAAE,KAAA;;;;4BAC1C,qBAAM,gBAAgB,EAAE,CAAC,YAAY,CAAC;4BACpC,MAAM,EAAE,MAAM;4BACd,GAAG,EAAE,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;yBACvC,CAAC,EAAA;;wBAHF,SAGE,CAAA;;;;;KACH,CAAA;AACH,CAAC,CAAA;AAPY,QAAA,eAAe,mBAO3B"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.getHandleUpload = void 0;
43
+ var fs_1 = __importDefault(require("fs"));
44
+ var path_1 = __importDefault(require("path"));
45
+ var lib_storage_1 = require("@aws-sdk/lib-storage");
46
+ var multipartThreshold = 1024 * 1024 * 50; // 50MB
47
+ var getHandleUpload = function (_a) {
48
+ var getStorageClient = _a.getStorageClient, bucket = _a.bucket, acl = _a.acl, _b = _a.prefix, prefix = _b === void 0 ? '' : _b;
49
+ return function (_a) {
50
+ var data = _a.data, file = _a.file;
51
+ return __awaiter(void 0, void 0, void 0, function () {
52
+ var fileKey, fileBufferOrStream, parallelUploadS3;
53
+ return __generator(this, function (_b) {
54
+ switch (_b.label) {
55
+ case 0:
56
+ fileKey = path_1.default.posix.join(prefix, file.filename);
57
+ fileBufferOrStream = file.tempFilePath
58
+ ? fs_1.default.createReadStream(file.tempFilePath)
59
+ : file.buffer;
60
+ if (!(file.buffer.length > 0 && file.buffer.length < multipartThreshold)) return [3 /*break*/, 2];
61
+ return [4 /*yield*/, getStorageClient().putObject({
62
+ Bucket: bucket,
63
+ Key: fileKey,
64
+ Body: fileBufferOrStream,
65
+ ACL: acl,
66
+ ContentType: file.mimeType,
67
+ })];
68
+ case 1:
69
+ _b.sent();
70
+ return [2 /*return*/, data];
71
+ case 2:
72
+ parallelUploadS3 = new lib_storage_1.Upload({
73
+ client: getStorageClient(),
74
+ params: {
75
+ Bucket: bucket,
76
+ Key: fileKey,
77
+ Body: fileBufferOrStream,
78
+ ACL: acl,
79
+ ContentType: file.mimeType,
80
+ },
81
+ queueSize: 4,
82
+ partSize: multipartThreshold,
83
+ });
84
+ return [4 /*yield*/, parallelUploadS3.done()];
85
+ case 3:
86
+ _b.sent();
87
+ return [2 /*return*/, data];
88
+ }
89
+ });
90
+ });
91
+ };
92
+ };
93
+ exports.getHandleUpload = getHandleUpload;
94
+ //# sourceMappingURL=handleUpload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleUpload.js","sourceRoot":"","sources":["../../../../../src/adapters/s3/handleUpload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAmB;AACnB,8CAAuB;AAKvB,oDAA6C;AAW7C,IAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,CAAA,CAAC,OAAO;AAE5C,IAAM,eAAe,GAAG,UAAC,EAKzB;QAJL,gBAAgB,sBAAA,EAChB,MAAM,YAAA,EACN,GAAG,SAAA,EACH,cAAW,EAAX,MAAM,mBAAG,EAAE,KAAA;IAEX,OAAO,UAAO,EAAc;YAAZ,IAAI,UAAA,EAAE,IAAI,UAAA;;;;;;wBAClB,OAAO,GAAG,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;wBAEhD,kBAAkB,GAA6B,IAAI,CAAC,YAAY;4BACpE,CAAC,CAAC,YAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC;4BACxC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;6BAEX,CAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,kBAAkB,CAAA,EAAjE,wBAAiE;wBACnE,qBAAM,gBAAgB,EAAE,CAAC,SAAS,CAAC;gCACjC,MAAM,EAAE,MAAM;gCACd,GAAG,EAAE,OAAO;gCACZ,IAAI,EAAE,kBAAkB;gCACxB,GAAG,EAAE,GAAG;gCACR,WAAW,EAAE,IAAI,CAAC,QAAQ;6BAC3B,CAAC,EAAA;;wBANF,SAME,CAAA;wBAEF,sBAAO,IAAI,EAAA;;wBAGP,gBAAgB,GAAG,IAAI,oBAAM,CAAC;4BAClC,MAAM,EAAE,gBAAgB,EAAE;4BAC1B,MAAM,EAAE;gCACN,MAAM,EAAE,MAAM;gCACd,GAAG,EAAE,OAAO;gCACZ,IAAI,EAAE,kBAAkB;gCACxB,GAAG,EAAE,GAAG;gCACR,WAAW,EAAE,IAAI,CAAC,QAAQ;6BAC3B;4BACD,SAAS,EAAE,CAAC;4BACZ,QAAQ,EAAE,kBAAkB;yBAC7B,CAAC,CAAA;wBAEF,qBAAM,gBAAgB,CAAC,IAAI,EAAE,EAAA;;wBAA7B,SAA6B,CAAA;wBAE7B,sBAAO,IAAI,EAAA;;;;KACZ,CAAA;AACH,CAAC,CAAA;AA1CY,QAAA,eAAe,mBA0C3B"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.s3Adapter = void 0;
27
+ var AWS = __importStar(require("@aws-sdk/client-s3"));
28
+ var generateURL_1 = require("./generateURL");
29
+ var staticHandler_1 = require("./staticHandler");
30
+ var handleDelete_1 = require("./handleDelete");
31
+ var handleUpload_1 = require("./handleUpload");
32
+ var webpack_1 = require("./webpack");
33
+ var s3Adapter = function (_a) {
34
+ var config = _a.config, bucket = _a.bucket, acl = _a.acl;
35
+ return function (_a) {
36
+ var collection = _a.collection, prefix = _a.prefix;
37
+ var storageClient = null;
38
+ var getStorageClient = function () {
39
+ if (storageClient)
40
+ return storageClient;
41
+ storageClient = new AWS.S3(config);
42
+ return storageClient;
43
+ };
44
+ return {
45
+ handleUpload: (0, handleUpload_1.getHandleUpload)({
46
+ collection: collection,
47
+ getStorageClient: getStorageClient,
48
+ bucket: bucket,
49
+ acl: acl,
50
+ prefix: prefix,
51
+ }),
52
+ handleDelete: (0, handleDelete_1.getHandleDelete)({ getStorageClient: getStorageClient, bucket: bucket }),
53
+ generateURL: (0, generateURL_1.getGenerateURL)({ bucket: bucket, config: config }),
54
+ staticHandler: (0, staticHandler_1.getHandler)({ bucket: bucket, getStorageClient: getStorageClient, collection: collection }),
55
+ webpack: webpack_1.extendWebpackConfig,
56
+ };
57
+ };
58
+ };
59
+ exports.s3Adapter = s3Adapter;
60
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/adapters/s3/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAyC;AAEzC,6CAA8C;AAC9C,iDAA4C;AAC5C,+CAAgD;AAChD,+CAAgD;AAChD,qCAA+C;AAQxC,IAAM,SAAS,GACpB,UAAC,EAA6B;QAA3B,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,GAAG,SAAA;IACtB,OAAA,UAAC,EAAsB;YAApB,UAAU,gBAAA,EAAE,MAAM,YAAA;QACnB,IAAI,aAAa,GAAkB,IAAI,CAAA;QACvC,IAAM,gBAAgB,GAAiB;YACrC,IAAI,aAAa;gBAAE,OAAO,aAAa,CAAA;YACvC,aAAa,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;YAClC,OAAO,aAAa,CAAA;QACtB,CAAC,CAAA;QAED,OAAO;YACL,YAAY,EAAE,IAAA,8BAAe,EAAC;gBAC5B,UAAU,YAAA;gBACV,gBAAgB,kBAAA;gBAChB,MAAM,QAAA;gBACN,GAAG,KAAA;gBACH,MAAM,QAAA;aACP,CAAC;YACF,YAAY,EAAE,IAAA,8BAAe,EAAC,EAAE,gBAAgB,kBAAA,EAAE,MAAM,QAAA,EAAE,CAAC;YAC3D,WAAW,EAAE,IAAA,4BAAc,EAAC,EAAE,MAAM,QAAA,EAAE,MAAM,QAAA,EAAE,CAAC;YAC/C,aAAa,EAAE,IAAA,0BAAU,EAAC,EAAE,MAAM,QAAA,EAAE,gBAAgB,kBAAA,EAAE,UAAU,YAAA,EAAE,CAAC;YACnE,OAAO,EAAE,6BAAmB;SAC7B,CAAA;IACH,CAAC;AArBD,CAqBC,CAAA;AAvBU,QAAA,SAAS,aAuBnB"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.getHandler = void 0;
43
+ var path_1 = __importDefault(require("path"));
44
+ var getFilePrefix_1 = require("../../utilities/getFilePrefix");
45
+ var getHandler = function (_a) {
46
+ var getStorageClient = _a.getStorageClient, bucket = _a.bucket, collection = _a.collection;
47
+ return function (req, res, next) { return __awaiter(void 0, void 0, void 0, function () {
48
+ var prefix, object, err_1;
49
+ return __generator(this, function (_a) {
50
+ switch (_a.label) {
51
+ case 0:
52
+ _a.trys.push([0, 3, , 4]);
53
+ return [4 /*yield*/, (0, getFilePrefix_1.getFilePrefix)({ req: req, collection: collection })];
54
+ case 1:
55
+ prefix = _a.sent();
56
+ return [4 /*yield*/, getStorageClient().getObject({
57
+ Bucket: bucket,
58
+ Key: path_1.default.posix.join(prefix, req.params.filename),
59
+ })];
60
+ case 2:
61
+ object = _a.sent();
62
+ res.set({
63
+ 'Accept-Ranges': object.AcceptRanges,
64
+ 'Content-Length': object.ContentLength,
65
+ 'Content-Type': object.ContentType,
66
+ ETag: object.ETag,
67
+ });
68
+ if (object === null || object === void 0 ? void 0 : object.Body) {
69
+ return [2 /*return*/, object.Body.pipe(res)];
70
+ }
71
+ return [2 /*return*/, next()];
72
+ case 3:
73
+ err_1 = _a.sent();
74
+ req.payload.logger.error(err_1);
75
+ return [2 /*return*/, next()];
76
+ case 4: return [2 /*return*/];
77
+ }
78
+ });
79
+ }); };
80
+ };
81
+ exports.getHandler = getHandler;
82
+ //# sourceMappingURL=staticHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staticHandler.js","sourceRoot":"","sources":["../../../../../src/adapters/s3/staticHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAKvB,+DAA6D;AAQtD,IAAM,UAAU,GAAG,UAAC,EAA8C;QAA5C,gBAAgB,sBAAA,EAAE,MAAM,YAAA,EAAE,UAAU,gBAAA;IAC/D,OAAO,UAAO,GAAG,EAAE,GAAG,EAAE,IAAI;;;;;;oBAET,qBAAM,IAAA,6BAAa,EAAC,EAAE,GAAG,KAAA,EAAE,UAAU,YAAA,EAAE,CAAC,EAAA;;oBAAjD,MAAM,GAAG,SAAwC;oBAExC,qBAAM,gBAAgB,EAAE,CAAC,SAAS,CAAC;4BAChD,MAAM,EAAE,MAAM;4BACd,GAAG,EAAE,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;yBAClD,CAAC,EAAA;;oBAHI,MAAM,GAAG,SAGb;oBAEF,GAAG,CAAC,GAAG,CAAC;wBACN,eAAe,EAAE,MAAM,CAAC,YAAY;wBACpC,gBAAgB,EAAE,MAAM,CAAC,aAAa;wBACtC,cAAc,EAAE,MAAM,CAAC,WAAW;wBAClC,IAAI,EAAE,MAAM,CAAC,IAAI;qBAClB,CAAC,CAAA;oBAEF,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,EAAE;wBAChB,sBAAQ,MAAM,CAAC,IAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA;qBAC3C;oBAED,sBAAO,IAAI,EAAE,EAAA;;;oBAEb,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAG,CAAC,CAAA;oBAC7B,sBAAO,IAAI,EAAE,EAAA;;;;SAEhB,CAAA;AACH,CAAC,CAAA;AA3BY,QAAA,UAAU,cA2BtB"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.extendWebpackConfig = void 0;
18
+ var path_1 = __importDefault(require("path"));
19
+ var extendWebpackConfig = function (existingWebpackConfig) {
20
+ var _a, _b;
21
+ var newConfig = __assign(__assign({}, existingWebpackConfig), { resolve: __assign(__assign({}, (existingWebpackConfig.resolve || {})), { fallback: __assign(__assign({}, (((_a = existingWebpackConfig.resolve) === null || _a === void 0 ? void 0 : _a.fallback) ? existingWebpackConfig.resolve.fallback : {})), { stream: false }), alias: __assign(__assign({}, (((_b = existingWebpackConfig.resolve) === null || _b === void 0 ? void 0 : _b.alias) ? existingWebpackConfig.resolve.alias : {})), { '@aws-sdk/client-s3': path_1.default.resolve(__dirname, './mock.js'), '@aws-sdk/lib-storage': path_1.default.resolve(__dirname, './mock.js'), fs: path_1.default.resolve(__dirname, './fsMock.js') }) }) });
22
+ return newConfig;
23
+ };
24
+ exports.extendWebpackConfig = extendWebpackConfig;
25
+ //# sourceMappingURL=webpack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webpack.js","sourceRoot":"","sources":["../../../../../src/adapters/s3/webpack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,8CAAuB;AAEhB,IAAM,mBAAmB,GAAG,UAAC,qBAAoC;;IACtE,IAAM,SAAS,yBACV,qBAAqB,KACxB,OAAO,wBACF,CAAC,qBAAqB,CAAC,OAAO,IAAI,EAAE,CAAC,KACxC,QAAQ,wBACH,CAAC,CAAA,MAAA,qBAAqB,CAAC,OAAO,0CAAE,QAAQ,EAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAC1F,MAAM,EAAE,KAAK,KAEf,KAAK,wBACA,CAAC,CAAA,MAAA,qBAAqB,CAAC,OAAO,0CAAE,KAAK,EAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KACpF,oBAAoB,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,EAC1D,sBAAsB,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,EAC5D,EAAE,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,SAG/C,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAnBY,QAAA,mBAAmB,uBAmB/B"}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.getFields = void 0;
27
+ var path_1 = __importDefault(require("path"));
28
+ var afterRead_1 = require("../hooks/afterRead");
29
+ var getFields = function (_a) {
30
+ var _b;
31
+ var adapter = _a.adapter, collection = _a.collection, disablePayloadAccessControl = _a.disablePayloadAccessControl, generateFileURL = _a.generateFileURL, prefix = _a.prefix;
32
+ var baseURLField = {
33
+ name: 'url',
34
+ label: 'URL',
35
+ type: 'text',
36
+ admin: {
37
+ readOnly: true,
38
+ hidden: true,
39
+ },
40
+ };
41
+ var basePrefixField = {
42
+ name: 'prefix',
43
+ type: 'text',
44
+ admin: {
45
+ readOnly: true,
46
+ hidden: true,
47
+ },
48
+ };
49
+ var fields = __spreadArray([], collection.fields, true);
50
+ // Inject a hook into all URL fields to generate URLs
51
+ var existingURLFieldIndex = -1;
52
+ var existingURLField = fields.find(function (existingField, i) {
53
+ if ('name' in existingField && existingField.name === 'url') {
54
+ existingURLFieldIndex = i;
55
+ return true;
56
+ }
57
+ return false;
58
+ });
59
+ if (existingURLFieldIndex > -1) {
60
+ fields.splice(existingURLFieldIndex, 1);
61
+ }
62
+ fields.push(__assign(__assign(__assign({}, baseURLField), (existingURLField || {})), { hooks: {
63
+ afterRead: __spreadArray([
64
+ (0, afterRead_1.getAfterReadHook)({ adapter: adapter, collection: collection, disablePayloadAccessControl: disablePayloadAccessControl, generateFileURL: generateFileURL })
65
+ ], (((_b = existingURLField === null || existingURLField === void 0 ? void 0 : existingURLField.hooks) === null || _b === void 0 ? void 0 : _b.afterRead) || []), true),
66
+ } }));
67
+ if (typeof collection.upload === 'object' && collection.upload.imageSizes) {
68
+ var existingSizesFieldIndex_1 = -1;
69
+ var existingSizesField_1 = fields.find(function (existingField, i) {
70
+ if ('name' in existingField && existingField.name === 'sizes') {
71
+ existingSizesFieldIndex_1 = i;
72
+ return true;
73
+ }
74
+ return false;
75
+ });
76
+ if (existingSizesFieldIndex_1 > -1) {
77
+ fields.splice(existingSizesFieldIndex_1, 1);
78
+ }
79
+ var sizesField = __assign(__assign({}, (existingSizesField_1 || {})), { name: 'sizes', type: 'group', admin: {
80
+ hidden: true,
81
+ }, fields: collection.upload.imageSizes.map(function (size) {
82
+ var _a;
83
+ var existingSizeField = existingSizesField_1 === null || existingSizesField_1 === void 0 ? void 0 : existingSizesField_1.fields.find(function (existingField) { return 'name' in existingField && existingField.name === size.name; });
84
+ var existingSizeURLField = existingSizeField === null || existingSizeField === void 0 ? void 0 : existingSizeField.fields.find(function (existingField) { return 'name' in existingField && existingField.name === 'url'; });
85
+ return __assign(__assign({}, existingSizeField), { name: size.name, type: 'group', fields: [
86
+ __assign(__assign(__assign({}, (existingSizeURLField || {})), baseURLField), { hooks: {
87
+ afterRead: __spreadArray([
88
+ (0, afterRead_1.getAfterReadHook)({
89
+ adapter: adapter,
90
+ collection: collection,
91
+ size: size,
92
+ disablePayloadAccessControl: disablePayloadAccessControl,
93
+ generateFileURL: generateFileURL,
94
+ })
95
+ ], (((_a = existingSizeURLField === null || existingSizeURLField === void 0 ? void 0 : existingSizeURLField.hooks) === null || _a === void 0 ? void 0 : _a.afterRead) || []), true),
96
+ } }),
97
+ ] });
98
+ }) });
99
+ fields.push(sizesField);
100
+ }
101
+ // If prefix is enabled, save it to db
102
+ if (prefix) {
103
+ var existingPrefixFieldIndex_1 = -1;
104
+ var existingPrefixField = fields.find(function (existingField, i) {
105
+ if ('name' in existingField && existingField.name === 'prefix') {
106
+ existingPrefixFieldIndex_1 = i;
107
+ return true;
108
+ }
109
+ return false;
110
+ });
111
+ if (existingPrefixFieldIndex_1 > -1) {
112
+ fields.splice(existingPrefixFieldIndex_1, 1);
113
+ }
114
+ fields.push(__assign(__assign(__assign({}, basePrefixField), (existingPrefixField || {})), { defaultValue: path_1.default.posix.join(prefix) }));
115
+ }
116
+ return fields;
117
+ };
118
+ exports.getFields = getFields;
119
+ //# sourceMappingURL=getFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFields.js","sourceRoot":"","sources":["../../../../src/fields/getFields.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
39
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
40
+ if (ar || !(i in from)) {
41
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
42
+ ar[i] = from[i];
43
+ }
44
+ }
45
+ return to.concat(ar || Array.prototype.slice.call(from));
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.getAfterDeleteHook = void 0;
49
+ var getAfterDeleteHook = function (_a) {
50
+ var collection = _a.collection, adapter = _a.adapter;
51
+ return function (_a) {
52
+ var req = _a.req, doc = _a.doc;
53
+ return __awaiter(void 0, void 0, void 0, function () {
54
+ var filesToDelete, promises, err_1;
55
+ var _b;
56
+ return __generator(this, function (_c) {
57
+ switch (_c.label) {
58
+ case 0:
59
+ _c.trys.push([0, 2, , 3]);
60
+ filesToDelete = __spreadArray([
61
+ doc.filename
62
+ ], Object.values((doc === null || doc === void 0 ? void 0 : doc.sizes) || []).map(function (resizedFileData) { return resizedFileData === null || resizedFileData === void 0 ? void 0 : resizedFileData.filename; }), true);
63
+ promises = filesToDelete.map(function (filename) { return __awaiter(void 0, void 0, void 0, function () {
64
+ return __generator(this, function (_a) {
65
+ switch (_a.label) {
66
+ case 0:
67
+ if (!filename) return [3 /*break*/, 2];
68
+ return [4 /*yield*/, adapter.handleDelete({ collection: collection, doc: doc, req: req, filename: filename })];
69
+ case 1:
70
+ _a.sent();
71
+ _a.label = 2;
72
+ case 2: return [2 /*return*/];
73
+ }
74
+ });
75
+ }); });
76
+ return [4 /*yield*/, Promise.all(promises)];
77
+ case 1:
78
+ _c.sent();
79
+ return [3 /*break*/, 3];
80
+ case 2:
81
+ err_1 = _c.sent();
82
+ req.payload.logger.error("There was an error while deleting files corresponding to the ".concat((_b = collection.labels) === null || _b === void 0 ? void 0 : _b.singular, " with ID ").concat(doc.id, ":"));
83
+ req.payload.logger.error(err_1);
84
+ return [3 /*break*/, 3];
85
+ case 3: return [2 /*return*/, doc];
86
+ }
87
+ });
88
+ });
89
+ };
90
+ };
91
+ exports.getAfterDeleteHook = getAfterDeleteHook;
92
+ //# sourceMappingURL=afterDelete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"afterDelete.js","sourceRoot":"","sources":["../../../../src/hooks/afterDelete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUO,IAAM,kBAAkB,GAAG,UAAC,EAG5B;QAFL,UAAU,gBAAA,EACV,OAAO,aAAA;IAEP,OAAO,UAAO,EAAY;YAAV,GAAG,SAAA,EAAE,GAAG,SAAA;;;;;;;;wBAEd,aAAa;4BACjB,GAAG,CAAC,QAAQ;2BACT,MAAM,CAAC,MAAM,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAA,eAAe,IAAI,OAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,EAAzB,CAAyB,CAAC,OACrF,CAAA;wBAEK,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,UAAM,QAAQ;;;;6CAC3C,QAAQ,EAAR,wBAAQ;wCAAE,qBAAM,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,YAAA,EAAE,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,EAAA;;wCAA9D,SAA8D,CAAA;;;;;6BAC7E,CAAC,CAAA;wBAEF,qBAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAA;;wBAA3B,SAA2B,CAAA;;;;wBAE3B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACtB,uEAAgE,MAAA,UAAU,CAAC,MAAM,0CAAE,QAAQ,sBAAY,GAAG,CAAC,EAAE,MAAG,CACjH,CAAA;wBACD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAG,CAAC,CAAA;;4BAE/B,sBAAO,GAAG,EAAA;;;;KACX,CAAA;AACH,CAAC,CAAA;AAxBY,QAAA,kBAAkB,sBAwB9B"}