@payloadcms/plugin-cloud-storage 1.0.16 → 1.0.17-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.
- package/.editorconfig +10 -0
- package/.gitignore +248 -0
- package/.prettierignore +1 -0
- package/.prettierrc.js +8 -0
- package/.vscode/launch.json +40 -0
- package/.vscode/settings.json +9 -0
- package/README.md +20 -2
- package/dev/.env +21 -0
- package/dev/.env.example +21 -0
- package/dev/dist/dev/src/collections/Media.js +56 -0
- package/dev/dist/dev/src/collections/Media.js.map +1 -0
- package/dev/dist/dev/src/collections/Users.js +23 -0
- package/dev/dist/dev/src/collections/Users.js.map +1 -0
- package/dev/dist/dev/src/payload.config.js +153 -0
- package/dev/dist/dev/src/payload.config.js.map +1 -0
- package/dev/dist/dev/src/server.js +26 -0
- package/dev/dist/dev/src/server.js.map +1 -0
- package/dev/dist/src/adapters/azure/generateURL.js +16 -0
- package/dev/dist/src/adapters/azure/generateURL.js.map +1 -0
- package/dev/dist/src/adapters/azure/handleDelete.js +64 -0
- package/dev/dist/src/adapters/azure/handleDelete.js.map +1 -0
- package/dev/dist/src/adapters/azure/handleUpload.js +81 -0
- package/dev/dist/src/adapters/azure/handleUpload.js.map +1 -0
- package/dev/dist/src/adapters/azure/index.js +43 -0
- package/dev/dist/src/adapters/azure/index.js.map +1 -0
- package/dev/dist/src/adapters/azure/staticHandler.js +82 -0
- package/dev/dist/src/adapters/azure/staticHandler.js.map +1 -0
- package/dev/dist/src/adapters/azure/webpack.js +25 -0
- package/dev/dist/src/adapters/azure/webpack.js.map +1 -0
- package/dev/dist/src/adapters/gcs/generateURL.js +16 -0
- package/dev/dist/src/adapters/gcs/generateURL.js.map +1 -0
- package/dev/dist/src/adapters/gcs/handleDelete.js +63 -0
- package/dev/dist/src/adapters/gcs/handleDelete.js.map +1 -0
- package/dev/dist/src/adapters/gcs/handleUpload.js +73 -0
- package/dev/dist/src/adapters/gcs/handleUpload.js.map +1 -0
- package/dev/dist/src/adapters/gcs/index.js +36 -0
- package/dev/dist/src/adapters/gcs/index.js.map +1 -0
- package/dev/dist/src/adapters/gcs/staticHandler.js +77 -0
- package/dev/dist/src/adapters/gcs/staticHandler.js.map +1 -0
- package/dev/dist/src/adapters/gcs/webpack.js +25 -0
- package/dev/dist/src/adapters/gcs/webpack.js.map +1 -0
- package/dev/dist/src/adapters/s3/generateURL.js +16 -0
- package/dev/dist/src/adapters/s3/generateURL.js.map +1 -0
- package/dev/dist/src/adapters/s3/handleDelete.js +64 -0
- package/dev/dist/src/adapters/s3/handleDelete.js.map +1 -0
- package/dev/dist/src/adapters/s3/handleUpload.js +94 -0
- package/dev/dist/src/adapters/s3/handleUpload.js.map +1 -0
- package/dev/dist/src/adapters/s3/index.js +60 -0
- package/dev/dist/src/adapters/s3/index.js.map +1 -0
- package/dev/dist/src/adapters/s3/staticHandler.js +82 -0
- package/dev/dist/src/adapters/s3/staticHandler.js.map +1 -0
- package/dev/dist/src/adapters/s3/webpack.js +25 -0
- package/dev/dist/src/adapters/s3/webpack.js.map +1 -0
- package/dev/dist/src/fields/getFields.js +119 -0
- package/dev/dist/src/fields/getFields.js.map +1 -0
- package/dev/dist/src/hooks/afterDelete.js +92 -0
- package/dev/dist/src/hooks/afterDelete.js.map +1 -0
- package/dev/dist/src/hooks/afterRead.js +80 -0
- package/dev/dist/src/hooks/afterRead.js.map +1 -0
- package/dev/dist/src/hooks/beforeChange.js +106 -0
- package/dev/dist/src/hooks/beforeChange.js.map +1 -0
- package/dev/dist/src/index.js +6 -0
- package/dev/dist/src/index.js.map +1 -0
- package/dev/dist/src/plugin.js +131 -0
- package/dev/dist/src/plugin.js.map +1 -0
- package/dev/dist/src/types.js +3 -0
- package/dev/dist/src/types.js.map +1 -0
- package/dev/dist/src/utilities/getFilePrefix.js +81 -0
- package/dev/dist/src/utilities/getFilePrefix.js.map +1 -0
- package/dev/dist/src/utilities/getIncomingFiles.js +38 -0
- package/dev/dist/src/utilities/getIncomingFiles.js.map +1 -0
- package/dev/dist/src/utilities/getRangeFromHeader.js +67 -0
- package/dev/dist/src/utilities/getRangeFromHeader.js.map +1 -0
- package/dev/dist/src/webpack.js +40 -0
- package/dev/dist/src/webpack.js.map +1 -0
- package/dev/nodemon.json +8 -0
- package/dev/package.json +34 -0
- package/dev/src/collections/Media.ts +56 -0
- package/dev/src/collections/Users.ts +23 -0
- package/dev/src/mocks/fsMock.js +1 -0
- package/dev/src/mocks/promisifyMock.js +1 -0
- package/dev/src/payload.config.ts +111 -0
- package/dev/src/server.ts +26 -0
- package/dev/tsconfig.json +20 -0
- package/dist/adapters/s3/fsMock.d.ts +3 -0
- package/dist/adapters/s3/fsMock.js +3 -0
- package/dist/adapters/s3/fsMock.js.map +1 -0
- package/dist/adapters/s3/webpack.js +1 -1
- package/dist/adapters/s3/webpack.js.map +1 -1
- package/dist/plugin.d.ts +1 -1
- package/dist/plugin.js +10 -4
- package/dist/plugin.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/docs/local-dev.md +47 -0
- package/eslint-config/index.js +15 -0
- package/eslint-config/rules/import.js +38 -0
- package/eslint-config/rules/prettier.js +7 -0
- package/eslint-config/rules/style.js +21 -0
- package/eslint-config/rules/typescript.js +628 -0
- package/package.json +1 -1
- package/src/adapters/azure/emulator/docker-compose.yml +16 -0
- package/src/adapters/azure/fileStub.js +1 -0
- package/src/adapters/azure/generateURL.ts +13 -0
- package/src/adapters/azure/handleDelete.ts +16 -0
- package/src/adapters/azure/handleUpload.ts +41 -0
- package/src/adapters/azure/index.ts +48 -0
- package/src/adapters/azure/mock.js +13 -0
- package/src/adapters/azure/staticHandler.ts +38 -0
- package/src/adapters/azure/webpack.ts +24 -0
- package/src/adapters/gcs/emulator/docker-compose.yml +15 -0
- package/src/adapters/gcs/generateURL.ts +16 -0
- package/src/adapters/gcs/handleDelete.ts +16 -0
- package/src/adapters/gcs/handleUpload.ts +34 -0
- package/src/adapters/gcs/index.ts +37 -0
- package/src/adapters/gcs/mock.js +3 -0
- package/src/adapters/gcs/staticHandler.ts +34 -0
- package/src/adapters/gcs/webpack.ts +21 -0
- package/src/adapters/s3/emulator/.localstack/cache/machine.json +1 -0
- package/src/adapters/s3/emulator/.localstack/cache/server.test.pem +127 -0
- package/src/adapters/s3/emulator/.localstack/cache/server.test.pem.crt +99 -0
- package/src/adapters/s3/emulator/.localstack/cache/server.test.pem.key +28 -0
- package/src/adapters/s3/emulator/.localstack/cache/service-catalog-2_1_1_dev-1_29_149.pickle +0 -0
- package/src/adapters/s3/emulator/docker-compose.yml +15 -0
- package/src/adapters/s3/fileStub.js +1 -0
- package/src/adapters/s3/fsMock.js +1 -0
- package/src/adapters/s3/generateURL.ts +14 -0
- package/src/adapters/s3/handleDelete.ts +17 -0
- package/src/adapters/s3/handleUpload.ts +62 -0
- package/src/adapters/s3/index.ts +38 -0
- package/src/adapters/s3/mock.js +9 -0
- package/src/adapters/s3/staticHandler.ts +41 -0
- package/src/adapters/s3/webpack.ts +23 -0
- package/src/fields/getFields.ts +155 -0
- package/src/hooks/afterDelete.ts +35 -0
- package/src/hooks/afterRead.ts +38 -0
- package/src/hooks/beforeChange.ts +59 -0
- package/src/index.ts +1 -0
- package/src/plugin.ts +101 -0
- package/src/types.ts +79 -0
- package/src/utilities/getFilePrefix.ts +26 -0
- package/src/utilities/getIncomingFiles.ts +44 -0
- package/src/utilities/getRangeFromHeader.ts +27 -0
- package/src/webpack.ts +46 -0
- package/tsconfig.json +23 -0
- package/yarn-error.log +8163 -0
- package/yarn.lock +8062 -0
|
@@ -0,0 +1,77 @@
|
|
|
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, file, metadata, 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
|
+
file = getStorageClient()
|
|
57
|
+
.bucket(bucket)
|
|
58
|
+
.file(path_1.default.posix.join(prefix, req.params.filename));
|
|
59
|
+
return [4 /*yield*/, file.getMetadata()];
|
|
60
|
+
case 2:
|
|
61
|
+
metadata = (_a.sent())[0];
|
|
62
|
+
res.set({
|
|
63
|
+
'Content-Length': metadata.size,
|
|
64
|
+
'Content-Type': metadata.contentType,
|
|
65
|
+
ETag: metadata.etag,
|
|
66
|
+
});
|
|
67
|
+
return [2 /*return*/, file.createReadStream().pipe(res)];
|
|
68
|
+
case 3:
|
|
69
|
+
err_1 = _a.sent();
|
|
70
|
+
return [2 /*return*/, next()];
|
|
71
|
+
case 4: return [2 /*return*/];
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}); };
|
|
75
|
+
};
|
|
76
|
+
exports.getHandler = getHandler;
|
|
77
|
+
//# sourceMappingURL=staticHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staticHandler.js","sourceRoot":"","sources":["../../../../../src/adapters/gcs/staticHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAIvB,+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;oBACjD,IAAI,GAAG,gBAAgB,EAAE;yBAC5B,MAAM,CAAC,MAAM,CAAC;yBACd,IAAI,CAAC,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAElC,qBAAM,IAAI,CAAC,WAAW,EAAE,EAAA;;oBAApC,QAAQ,GAAI,CAAA,SAAwB,CAAA,GAA5B;oBAEf,GAAG,CAAC,GAAG,CAAC;wBACN,gBAAgB,EAAE,QAAQ,CAAC,IAAI;wBAC/B,cAAc,EAAE,QAAQ,CAAC,WAAW;wBACpC,IAAI,EAAE,QAAQ,CAAC,IAAI;qBACpB,CAAC,CAAA;oBAEF,sBAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA;;;oBAExC,sBAAO,IAAI,EAAE,EAAA;;;;SAEhB,CAAA;AACH,CAAC,CAAA;AArBY,QAAA,UAAU,cAqBtB"}
|
|
@@ -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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"}
|