@payloadcms/plugin-cloud-storage 1.0.12 → 1.0.13-beta.0
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/README.md +20 -1
- package/dist/adapters/azure/handleDelete.d.ts +2 -2
- package/dist/adapters/azure/handleDelete.js +2 -2
- package/dist/adapters/azure/handleDelete.js.map +1 -1
- package/dist/adapters/azure/handleUpload.d.ts +2 -3
- package/dist/adapters/azure/handleUpload.js +2 -5
- package/dist/adapters/azure/handleUpload.js.map +1 -1
- package/dist/adapters/azure/index.d.ts +1 -1
- package/dist/adapters/azure/index.js +25 -13
- package/dist/adapters/azure/index.js.map +1 -1
- package/dist/adapters/azure/staticHandler.d.ts +2 -2
- package/dist/adapters/azure/staticHandler.js +2 -2
- package/dist/adapters/azure/staticHandler.js.map +1 -1
- package/dist/adapters/gcs/generateURL.d.ts +2 -2
- package/dist/adapters/gcs/generateURL.js +2 -2
- package/dist/adapters/gcs/generateURL.js.map +1 -1
- package/dist/adapters/gcs/handleDelete.d.ts +2 -2
- package/dist/adapters/gcs/handleDelete.js +2 -2
- package/dist/adapters/gcs/handleDelete.js.map +1 -1
- package/dist/adapters/gcs/handleUpload.d.ts +2 -2
- package/dist/adapters/gcs/handleUpload.js +2 -2
- package/dist/adapters/gcs/handleUpload.js.map +1 -1
- package/dist/adapters/gcs/index.js +10 -5
- package/dist/adapters/gcs/index.js.map +1 -1
- package/dist/adapters/gcs/staticHandler.d.ts +2 -2
- package/dist/adapters/gcs/staticHandler.js +4 -2
- package/dist/adapters/gcs/staticHandler.js.map +1 -1
- package/dist/adapters/s3/handleDelete.d.ts +2 -2
- package/dist/adapters/s3/handleDelete.js +2 -2
- package/dist/adapters/s3/handleDelete.js.map +1 -1
- package/dist/adapters/s3/handleUpload.d.ts +2 -2
- package/dist/adapters/s3/handleUpload.js +2 -2
- package/dist/adapters/s3/handleUpload.js.map +1 -1
- package/dist/adapters/s3/index.js +9 -4
- package/dist/adapters/s3/index.js.map +1 -1
- package/dist/adapters/s3/mockCredentialProviders.d.ts +1 -0
- package/dist/adapters/s3/mockCredentialProviders.js +3 -0
- package/dist/adapters/s3/mockCredentialProviders.js.map +1 -0
- package/dist/adapters/s3/staticHandler.d.ts +2 -2
- package/dist/adapters/s3/staticHandler.js +2 -2
- package/dist/adapters/s3/staticHandler.js.map +1 -1
- package/dist/plugin.js +53 -1
- package/dist/plugin.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,6 +6,10 @@ This repository contains the officially supported Payload Cloud Storage plugin.
|
|
|
6
6
|
|
|
7
7
|
- Payload version `1.0.19` or higher is required
|
|
8
8
|
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
`yarn add @payloadcms/plugin-cloud-storage` or `npm install @payloadcms/plugin-cloud-storage`
|
|
12
|
+
|
|
9
13
|
## Usage
|
|
10
14
|
|
|
11
15
|
Install this plugin within your Payload as follows:
|
|
@@ -89,7 +93,6 @@ import { s3Adapter } from '@payloadcms/plugin-cloud-storage/s3';
|
|
|
89
93
|
|
|
90
94
|
const adapter = s3Adapter({
|
|
91
95
|
config: {
|
|
92
|
-
endpoint: process.env.S3_ENDPOINT,
|
|
93
96
|
credentials: {
|
|
94
97
|
accessKeyId: process.env.S3_ACCESS_KEY_ID,
|
|
95
98
|
secretAccessKey: process.env.S3_SECRET_ACCESS_KEY,
|
|
@@ -101,6 +104,22 @@ const adapter = s3Adapter({
|
|
|
101
104
|
// Now you can pass this adapter to the plugin
|
|
102
105
|
```
|
|
103
106
|
|
|
107
|
+
#### Other S3-Compatible Storage
|
|
108
|
+
|
|
109
|
+
If you're running an S3-compatible object storage such as MinIO or Digital Ocean Spaces, you'll have to set the `endpoint` appropriately for the provider.
|
|
110
|
+
|
|
111
|
+
```js
|
|
112
|
+
import { s3Adapter } from '@payloadcms/plugin-cloud-storage/s3';
|
|
113
|
+
|
|
114
|
+
const adapter = s3Adapter({
|
|
115
|
+
config: {
|
|
116
|
+
endpoint: process.env.S3_ENDPOINT, // Configure for your provider
|
|
117
|
+
// ...
|
|
118
|
+
},
|
|
119
|
+
// ...
|
|
120
|
+
})
|
|
121
|
+
```
|
|
122
|
+
|
|
104
123
|
### GCS Adapter
|
|
105
124
|
|
|
106
125
|
To use the GCS adapter, you need to have `@google-cloud/storage` installed in your project dependencies. To do so, run `yarn add @google-cloud/storage`.
|
|
@@ -3,7 +3,7 @@ import type { ContainerClient } from '@azure/storage-blob';
|
|
|
3
3
|
import type { HandleDelete } from '../../types';
|
|
4
4
|
interface Args {
|
|
5
5
|
collection: CollectionConfig;
|
|
6
|
-
|
|
6
|
+
getStorageClient: () => ContainerClient;
|
|
7
7
|
}
|
|
8
|
-
export declare const getHandleDelete: ({
|
|
8
|
+
export declare const getHandleDelete: ({ getStorageClient }: Args) => HandleDelete;
|
|
9
9
|
export {};
|
|
@@ -42,7 +42,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
42
42
|
exports.getHandleDelete = void 0;
|
|
43
43
|
var path_1 = __importDefault(require("path"));
|
|
44
44
|
var getHandleDelete = function (_a) {
|
|
45
|
-
var
|
|
45
|
+
var getStorageClient = _a.getStorageClient;
|
|
46
46
|
return function (_a) {
|
|
47
47
|
var filename = _a.filename, _b = _a.doc.prefix, prefix = _b === void 0 ? '' : _b;
|
|
48
48
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -50,7 +50,7 @@ var getHandleDelete = function (_a) {
|
|
|
50
50
|
return __generator(this, function (_c) {
|
|
51
51
|
switch (_c.label) {
|
|
52
52
|
case 0:
|
|
53
|
-
blockBlobClient =
|
|
53
|
+
blockBlobClient = getStorageClient().getBlockBlobClient(path_1.default.posix.join(prefix, filename));
|
|
54
54
|
return [4 /*yield*/, blockBlobClient.deleteIfExists()];
|
|
55
55
|
case 1:
|
|
56
56
|
_c.sent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleDelete.js","sourceRoot":"","sources":["../../../src/adapters/azure/handleDelete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAUhB,IAAM,eAAe,GAAG,UAAC,
|
|
1
|
+
{"version":3,"file":"handleDelete.js","sourceRoot":"","sources":["../../../src/adapters/azure/handleDelete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAUhB,IAAM,eAAe,GAAG,UAAC,EAA0B;QAAxB,gBAAgB,sBAAA;IAChD,OAAO,UAAO,EAAkC;YAAhC,QAAQ,cAAA,EAAS,kBAAW,EAAX,MAAM,mBAAG,EAAE,KAAA;;;;;;wBACpC,eAAe,GAAG,gBAAgB,EAAE,CAAC,kBAAkB,CAAC,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;wBAChG,qBAAM,eAAe,CAAC,cAAc,EAAE,EAAA;;wBAAtC,SAAsC,CAAA;;;;;KACvC,CAAA;AACH,CAAC,CAAA;AALY,QAAA,eAAe,mBAK3B"}
|
|
@@ -3,9 +3,8 @@ import type { CollectionConfig } from 'payload/types';
|
|
|
3
3
|
import type { HandleUpload } from '../../types';
|
|
4
4
|
interface Args {
|
|
5
5
|
collection: CollectionConfig;
|
|
6
|
-
|
|
7
|
-
allowContainerCreate: boolean;
|
|
6
|
+
getStorageClient: () => ContainerClient;
|
|
8
7
|
prefix?: string;
|
|
9
8
|
}
|
|
10
|
-
export declare const getHandleUpload: ({
|
|
9
|
+
export declare const getHandleUpload: ({ getStorageClient, prefix }: Args) => HandleUpload;
|
|
11
10
|
export {};
|
|
@@ -42,10 +42,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
42
42
|
exports.getHandleUpload = void 0;
|
|
43
43
|
var path_1 = __importDefault(require("path"));
|
|
44
44
|
var getHandleUpload = function (_a) {
|
|
45
|
-
var
|
|
46
|
-
if (allowContainerCreate) {
|
|
47
|
-
containerClient.createIfNotExists({ access: 'blob' });
|
|
48
|
-
}
|
|
45
|
+
var getStorageClient = _a.getStorageClient, _b = _a.prefix, prefix = _b === void 0 ? '' : _b;
|
|
49
46
|
return function (_a) {
|
|
50
47
|
var data = _a.data, file = _a.file;
|
|
51
48
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -53,7 +50,7 @@ var getHandleUpload = function (_a) {
|
|
|
53
50
|
return __generator(this, function (_b) {
|
|
54
51
|
switch (_b.label) {
|
|
55
52
|
case 0:
|
|
56
|
-
blockBlobClient =
|
|
53
|
+
blockBlobClient = getStorageClient().getBlockBlobClient(path_1.default.posix.join(prefix, file.filename));
|
|
57
54
|
return [4 /*yield*/, blockBlobClient.upload(file.buffer, file.buffer.byteLength, {
|
|
58
55
|
blobHTTPHeaders: { blobContentType: file.mimeType },
|
|
59
56
|
})];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleUpload.js","sourceRoot":"","sources":["../../../src/adapters/azure/handleUpload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;
|
|
1
|
+
{"version":3,"file":"handleUpload.js","sourceRoot":"","sources":["../../../src/adapters/azure/handleUpload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAWhB,IAAM,eAAe,GAAG,UAAC,EAAuC;QAArC,gBAAgB,sBAAA,EAAE,cAAW,EAAX,MAAM,mBAAG,EAAE,KAAA;IAC7D,OAAO,UAAO,EAAc;YAAZ,IAAI,UAAA,EAAE,IAAI,UAAA;;;;;;wBAClB,eAAe,GAAG,gBAAgB,EAAE,CAAC,kBAAkB,CAC3D,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAA;wBAED,qBAAM,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gCAChE,eAAe,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE;6BACpD,CAAC,EAAA;;wBAFF,SAEE,CAAA;wBAEF,sBAAO,IAAI,EAAA;;;;KACZ,CAAA;AACH,CAAC,CAAA;AAZY,QAAA,eAAe,mBAY3B"}
|
|
@@ -5,4 +5,4 @@ export interface Args {
|
|
|
5
5
|
baseURL: string;
|
|
6
6
|
allowContainerCreate: boolean;
|
|
7
7
|
}
|
|
8
|
-
export declare const azureBlobStorageAdapter: ({ connectionString, containerName, baseURL,
|
|
8
|
+
export declare const azureBlobStorageAdapter: ({ connectionString, allowContainerCreate, containerName, baseURL, }: Args) => Adapter;
|
|
@@ -1,4 +1,15 @@
|
|
|
1
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
|
+
};
|
|
2
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
14
|
exports.azureBlobStorageAdapter = void 0;
|
|
4
15
|
var storage_blob_1 = require("@azure/storage-blob");
|
|
@@ -8,23 +19,24 @@ var handleDelete_1 = require("./handleDelete");
|
|
|
8
19
|
var handleUpload_1 = require("./handleUpload");
|
|
9
20
|
var webpack_1 = require("./webpack");
|
|
10
21
|
var azureBlobStorageAdapter = function (_a) {
|
|
11
|
-
var connectionString = _a.connectionString,
|
|
22
|
+
var connectionString = _a.connectionString, allowContainerCreate = _a.allowContainerCreate, containerName = _a.containerName, baseURL = _a.baseURL;
|
|
23
|
+
var storageClient = null;
|
|
24
|
+
var getStorageClient = function () {
|
|
25
|
+
if (storageClient)
|
|
26
|
+
return storageClient;
|
|
27
|
+
var blobServiceClient = storage_blob_1.BlobServiceClient.fromConnectionString(connectionString);
|
|
28
|
+
return (storageClient = blobServiceClient.getContainerClient(containerName));
|
|
29
|
+
};
|
|
30
|
+
var createContainerIfNotExists = function () {
|
|
31
|
+
getStorageClient().createIfNotExists({ access: 'blob' });
|
|
32
|
+
};
|
|
12
33
|
return function (_a) {
|
|
13
34
|
var collection = _a.collection, prefix = _a.prefix;
|
|
14
|
-
|
|
15
|
-
var containerClient = blobServiceClient.getContainerClient(containerName);
|
|
16
|
-
return {
|
|
17
|
-
handleUpload: (0, handleUpload_1.getHandleUpload)({
|
|
35
|
+
return __assign({ handleUpload: (0, handleUpload_1.getHandleUpload)({
|
|
18
36
|
collection: collection,
|
|
19
|
-
|
|
20
|
-
allowContainerCreate: allowContainerCreate,
|
|
37
|
+
getStorageClient: getStorageClient,
|
|
21
38
|
prefix: prefix,
|
|
22
|
-
}),
|
|
23
|
-
handleDelete: (0, handleDelete_1.getHandleDelete)({ collection: collection, containerClient: containerClient }),
|
|
24
|
-
generateURL: (0, generateURL_1.getGenerateURL)({ containerName: containerName, baseURL: baseURL }),
|
|
25
|
-
staticHandler: (0, staticHandler_1.getHandler)({ containerClient: containerClient, collection: collection }),
|
|
26
|
-
webpack: webpack_1.extendWebpackConfig,
|
|
27
|
-
};
|
|
39
|
+
}), handleDelete: (0, handleDelete_1.getHandleDelete)({ collection: collection, getStorageClient: getStorageClient }), generateURL: (0, generateURL_1.getGenerateURL)({ containerName: containerName, baseURL: baseURL }), staticHandler: (0, staticHandler_1.getHandler)({ getStorageClient: getStorageClient, collection: collection }), webpack: webpack_1.extendWebpackConfig }, (allowContainerCreate && { onInit: createContainerIfNotExists }));
|
|
28
40
|
};
|
|
29
41
|
};
|
|
30
42
|
exports.azureBlobStorageAdapter = azureBlobStorageAdapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/azure/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/azure/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oDAAwE;AAExE,iDAA4C;AAC5C,6CAA8C;AAC9C,+CAAgD;AAChD,+CAAgD;AAChD,qCAA+C;AASxC,IAAM,uBAAuB,GAAG,UAAC,EAKjC;QAJL,gBAAgB,sBAAA,EAChB,oBAAoB,0BAAA,EACpB,aAAa,mBAAA,EACb,OAAO,aAAA;IAEP,IAAI,aAAa,GAA2B,IAAI,CAAA;IAChD,IAAM,gBAAgB,GAAG;QACvB,IAAI,aAAa;YAAE,OAAO,aAAa,CAAA;QACvC,IAAM,iBAAiB,GAAG,gCAAiB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;QAClF,OAAO,CAAC,aAAa,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAA;IAC9E,CAAC,CAAA;IAED,IAAM,0BAA0B,GAAG;QACjC,gBAAgB,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC1D,CAAC,CAAA;IAED,OAAO,UAAC,EAAsB;YAApB,UAAU,gBAAA,EAAE,MAAM,YAAA;QAC1B,kBACE,YAAY,EAAE,IAAA,8BAAe,EAAC;gBAC5B,UAAU,YAAA;gBACV,gBAAgB,kBAAA;gBAChB,MAAM,QAAA;aACP,CAAC,EACF,YAAY,EAAE,IAAA,8BAAe,EAAC,EAAE,UAAU,YAAA,EAAE,gBAAgB,kBAAA,EAAE,CAAC,EAC/D,WAAW,EAAE,IAAA,4BAAc,EAAC,EAAE,aAAa,eAAA,EAAE,OAAO,SAAA,EAAE,CAAC,EACvD,aAAa,EAAE,IAAA,0BAAU,EAAC,EAAE,gBAAgB,kBAAA,EAAE,UAAU,YAAA,EAAE,CAAC,EAC3D,OAAO,EAAE,6BAAmB,IACzB,CAAC,oBAAoB,IAAI,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,EACpE;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AA/BY,QAAA,uBAAuB,2BA+BnC"}
|
|
@@ -2,8 +2,8 @@ import type { ContainerClient } from '@azure/storage-blob';
|
|
|
2
2
|
import type { CollectionConfig } from 'payload/types';
|
|
3
3
|
import type { StaticHandler } from '../../types';
|
|
4
4
|
interface Args {
|
|
5
|
-
|
|
5
|
+
getStorageClient: () => ContainerClient;
|
|
6
6
|
collection: CollectionConfig;
|
|
7
7
|
}
|
|
8
|
-
export declare const getHandler: ({
|
|
8
|
+
export declare const getHandler: ({ getStorageClient, collection }: Args) => StaticHandler;
|
|
9
9
|
export {};
|
|
@@ -43,7 +43,7 @@ exports.getHandler = void 0;
|
|
|
43
43
|
var path_1 = __importDefault(require("path"));
|
|
44
44
|
var getFilePrefix_1 = require("../../utilities/getFilePrefix");
|
|
45
45
|
var getHandler = function (_a) {
|
|
46
|
-
var
|
|
46
|
+
var getStorageClient = _a.getStorageClient, collection = _a.collection;
|
|
47
47
|
return function (req, res, next) { return __awaiter(void 0, void 0, void 0, function () {
|
|
48
48
|
var prefix, blockBlobClient, blob, err_1;
|
|
49
49
|
return __generator(this, function (_a) {
|
|
@@ -53,7 +53,7 @@ var getHandler = function (_a) {
|
|
|
53
53
|
return [4 /*yield*/, (0, getFilePrefix_1.getFilePrefix)({ req: req, collection: collection })];
|
|
54
54
|
case 1:
|
|
55
55
|
prefix = _a.sent();
|
|
56
|
-
blockBlobClient =
|
|
56
|
+
blockBlobClient = getStorageClient().getBlockBlobClient(path_1.default.posix.join(prefix, req.params.filename));
|
|
57
57
|
return [4 /*yield*/, blockBlobClient.download(0)];
|
|
58
58
|
case 2:
|
|
59
59
|
blob = _a.sent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staticHandler.js","sourceRoot":"","sources":["../../../src/adapters/azure/staticHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAIvB,+DAA6D;AAOtD,IAAM,UAAU,GAAG,UAAC,
|
|
1
|
+
{"version":3,"file":"staticHandler.js","sourceRoot":"","sources":["../../../src/adapters/azure/staticHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAIvB,+DAA6D;AAOtD,IAAM,UAAU,GAAG,UAAC,EAAsC;QAApC,gBAAgB,sBAAA,EAAE,UAAU,gBAAA;IACvD,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,eAAe,GAAG,gBAAgB,EAAE,CAAC,kBAAkB,CAC3D,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC7C,CAAA;oBAEY,qBAAM,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAA;;oBAAxC,IAAI,GAAG,SAAiC;oBAE9C,GAAG,CAAC,GAAG,CAAC;wBACN,gBAAgB,EAAE,IAAI,CAAC,aAAa;wBACpC,cAAc,EAAE,IAAI,CAAC,WAAW;wBAChC,IAAI,EAAE,IAAI,CAAC,IAAI;qBAChB,CAAC,CAAA;oBAEF,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,kBAAkB,EAAE;wBAC5B,sBAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA;qBACzC;oBAED,sBAAO,IAAI,EAAE,EAAA;;;oBAEb,sBAAO,IAAI,EAAE,EAAA;;;;SAEhB,CAAA;AACH,CAAC,CAAA;AAzBY,QAAA,UAAU,cAyBtB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Storage } from '@google-cloud/storage';
|
|
2
2
|
import type { GenerateURL } from '../../types';
|
|
3
3
|
interface Args {
|
|
4
|
-
|
|
4
|
+
getStorageClient: () => Storage;
|
|
5
5
|
bucket: string;
|
|
6
6
|
}
|
|
7
|
-
export declare const getGenerateURL: ({
|
|
7
|
+
export declare const getGenerateURL: ({ getStorageClient, bucket }: Args) => GenerateURL;
|
|
8
8
|
export {};
|
|
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.getGenerateURL = void 0;
|
|
7
7
|
var path_1 = __importDefault(require("path"));
|
|
8
8
|
var getGenerateURL = function (_a) {
|
|
9
|
-
var
|
|
9
|
+
var getStorageClient = _a.getStorageClient, bucket = _a.bucket;
|
|
10
10
|
return function (_a) {
|
|
11
11
|
var filename = _a.filename, _b = _a.prefix, prefix = _b === void 0 ? '' : _b;
|
|
12
|
-
return decodeURIComponent(
|
|
12
|
+
return decodeURIComponent(getStorageClient().bucket(bucket).file(path_1.default.posix.join(prefix, filename)).publicUrl());
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
15
|
exports.getGenerateURL = getGenerateURL;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateURL.js","sourceRoot":"","sources":["../../../src/adapters/gcs/generateURL.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAuB;AAShB,IAAM,cAAc,GACzB,UAAC,
|
|
1
|
+
{"version":3,"file":"generateURL.js","sourceRoot":"","sources":["../../../src/adapters/gcs/generateURL.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAuB;AAShB,IAAM,cAAc,GACzB,UAAC,EAAkC;QAAhC,gBAAgB,sBAAA,EAAE,MAAM,YAAA;IAC3B,OAAA,UAAC,EAAyB;YAAvB,QAAQ,cAAA,EAAE,cAAW,EAAX,MAAM,mBAAG,EAAE,KAAA;QACtB,OAAO,kBAAkB,CACvB,gBAAgB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CACtF,CAAA;IACH,CAAC;AAJD,CAIC,CAAA;AANU,QAAA,cAAc,kBAMxB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Storage } from '@google-cloud/storage';
|
|
2
2
|
import type { HandleDelete } from '../../types';
|
|
3
3
|
interface Args {
|
|
4
|
-
|
|
4
|
+
getStorageClient: () => Storage;
|
|
5
5
|
bucket: string;
|
|
6
6
|
}
|
|
7
|
-
export declare const getHandleDelete: ({
|
|
7
|
+
export declare const getHandleDelete: ({ getStorageClient, bucket }: Args) => HandleDelete;
|
|
8
8
|
export {};
|
|
@@ -42,13 +42,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
42
42
|
exports.getHandleDelete = void 0;
|
|
43
43
|
var path_1 = __importDefault(require("path"));
|
|
44
44
|
var getHandleDelete = function (_a) {
|
|
45
|
-
var
|
|
45
|
+
var getStorageClient = _a.getStorageClient, bucket = _a.bucket;
|
|
46
46
|
return function (_a) {
|
|
47
47
|
var filename = _a.filename, _b = _a.doc.prefix, prefix = _b === void 0 ? '' : _b;
|
|
48
48
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
49
49
|
return __generator(this, function (_c) {
|
|
50
50
|
switch (_c.label) {
|
|
51
|
-
case 0: return [4 /*yield*/,
|
|
51
|
+
case 0: return [4 /*yield*/, getStorageClient().bucket(bucket).file(path_1.default.posix.join(prefix, filename)).delete({
|
|
52
52
|
ignoreNotFound: true,
|
|
53
53
|
})];
|
|
54
54
|
case 1:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleDelete.js","sourceRoot":"","sources":["../../../src/adapters/gcs/handleDelete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAShB,IAAM,eAAe,GAAG,UAAC,
|
|
1
|
+
{"version":3,"file":"handleDelete.js","sourceRoot":"","sources":["../../../src/adapters/gcs/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,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;4BACrF,cAAc,EAAE,IAAI;yBACrB,CAAC,EAAA;;wBAFF,SAEE,CAAA;;;;;KACH,CAAA;AACH,CAAC,CAAA;AANY,QAAA,eAAe,mBAM3B"}
|
|
@@ -6,7 +6,7 @@ interface Args {
|
|
|
6
6
|
bucket: string;
|
|
7
7
|
acl?: 'Private' | 'Public';
|
|
8
8
|
prefix?: string;
|
|
9
|
-
|
|
9
|
+
getStorageClient: () => Storage;
|
|
10
10
|
}
|
|
11
|
-
export declare const getHandleUpload: ({
|
|
11
|
+
export declare const getHandleUpload: ({ getStorageClient, bucket, acl, prefix, }: Args) => HandleUpload;
|
|
12
12
|
export {};
|
|
@@ -42,7 +42,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
42
42
|
exports.getHandleUpload = void 0;
|
|
43
43
|
var path_1 = __importDefault(require("path"));
|
|
44
44
|
var getHandleUpload = function (_a) {
|
|
45
|
-
var
|
|
45
|
+
var getStorageClient = _a.getStorageClient, bucket = _a.bucket, acl = _a.acl, _b = _a.prefix, prefix = _b === void 0 ? '' : _b;
|
|
46
46
|
return function (_a) {
|
|
47
47
|
var data = _a.data, file = _a.file;
|
|
48
48
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -50,7 +50,7 @@ var getHandleUpload = function (_a) {
|
|
|
50
50
|
return __generator(this, function (_b) {
|
|
51
51
|
switch (_b.label) {
|
|
52
52
|
case 0:
|
|
53
|
-
gcsFile =
|
|
53
|
+
gcsFile = getStorageClient().bucket(bucket).file(path_1.default.posix.join(prefix, file.filename));
|
|
54
54
|
return [4 /*yield*/, gcsFile.save(file.buffer, {
|
|
55
55
|
metadata: {
|
|
56
56
|
contentType: file.mimeType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleUpload.js","sourceRoot":"","sources":["../../../src/adapters/gcs/handleUpload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAahB,IAAM,eAAe,GAAG,UAAC,
|
|
1
|
+
{"version":3,"file":"handleUpload.js","sourceRoot":"","sources":["../../../src/adapters/gcs/handleUpload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAahB,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,gBAAgB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;wBAC9F,qBAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gCAC9B,QAAQ,EAAE;oCACR,WAAW,EAAE,IAAI,CAAC,QAAQ;iCAC3B;6BACF,CAAC,EAAA;;wBAJF,SAIE,CAAA;6BAEE,GAAG,EAAH,wBAAG;wBACL,qBAAM,OAAO,CAAC,cAAO,GAAG,CAAE,CAAC,EAAE,EAAA;;wBAA7B,SAA6B,CAAA;;4BAG/B,sBAAO,IAAI,EAAA;;;;KACZ,CAAA;AACH,CAAC,CAAA;AApBY,QAAA,eAAe,mBAoB3B"}
|
|
@@ -11,18 +11,23 @@ var gcsAdapter = function (_a) {
|
|
|
11
11
|
var options = _a.options, bucket = _a.bucket, acl = _a.acl;
|
|
12
12
|
return function (_a) {
|
|
13
13
|
var collection = _a.collection, prefix = _a.prefix;
|
|
14
|
-
var
|
|
14
|
+
var storageClient = null;
|
|
15
|
+
var getStorageClient = function () {
|
|
16
|
+
if (storageClient)
|
|
17
|
+
return storageClient;
|
|
18
|
+
return (storageClient = new storage_1.Storage(options));
|
|
19
|
+
};
|
|
15
20
|
return {
|
|
16
21
|
handleUpload: (0, handleUpload_1.getHandleUpload)({
|
|
17
22
|
collection: collection,
|
|
18
|
-
|
|
23
|
+
getStorageClient: getStorageClient,
|
|
19
24
|
bucket: bucket,
|
|
20
25
|
acl: acl,
|
|
21
26
|
prefix: prefix,
|
|
22
27
|
}),
|
|
23
|
-
handleDelete: (0, handleDelete_1.getHandleDelete)({
|
|
24
|
-
generateURL: (0, generateURL_1.getGenerateURL)({
|
|
25
|
-
staticHandler: (0, staticHandler_1.getHandler)({
|
|
28
|
+
handleDelete: (0, handleDelete_1.getHandleDelete)({ getStorageClient: getStorageClient, bucket: bucket }),
|
|
29
|
+
generateURL: (0, generateURL_1.getGenerateURL)({ getStorageClient: getStorageClient, bucket: bucket }),
|
|
30
|
+
staticHandler: (0, staticHandler_1.getHandler)({ getStorageClient: getStorageClient, bucket: bucket, collection: collection }),
|
|
26
31
|
webpack: webpack_1.extendWebpackConfig,
|
|
27
32
|
};
|
|
28
33
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/gcs/index.ts"],"names":[],"mappings":";;;AAAA,iDAA+D;AAE/D,6CAA8C;AAC9C,iDAA4C;AAC5C,+CAAgD;AAChD,+CAAgD;AAChD,qCAA+C;AAQxC,IAAM,UAAU,GACrB,UAAC,EAA8B;QAA5B,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,GAAG,SAAA;IACvB,OAAA,UAAC,EAAsB;YAApB,UAAU,gBAAA,EAAE,MAAM,YAAA;QACnB,IAAM,GAAG,GAAG,IAAI,iBAAO,CAAC,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/gcs/index.ts"],"names":[],"mappings":";;;AAAA,iDAA+D;AAE/D,6CAA8C;AAC9C,iDAA4C;AAC5C,+CAAgD;AAChD,+CAAgD;AAChD,qCAA+C;AAQxC,IAAM,UAAU,GACrB,UAAC,EAA8B;QAA5B,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,GAAG,SAAA;IACvB,OAAA,UAAC,EAAsB;YAApB,UAAU,gBAAA,EAAE,MAAM,YAAA;QACnB,IAAI,aAAa,GAAmB,IAAI,CAAA;QACxC,IAAM,gBAAgB,GAAG;YACvB,IAAI,aAAa;gBAAE,OAAO,aAAa,CAAA;YACvC,OAAO,CAAC,aAAa,GAAG,IAAI,iBAAO,CAAC,OAAO,CAAC,CAAC,CAAA;QAC/C,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,gBAAgB,kBAAA,EAAE,MAAM,QAAA,EAAE,CAAC;YACzD,aAAa,EAAE,IAAA,0BAAU,EAAC,EAAE,gBAAgB,kBAAA,EAAE,MAAM,QAAA,EAAE,UAAU,YAAA,EAAE,CAAC;YACnE,OAAO,EAAE,6BAAmB;SAC7B,CAAA;IACH,CAAC;AApBD,CAoBC,CAAA;AAtBU,QAAA,UAAU,cAsBpB"}
|
|
@@ -2,9 +2,9 @@ import type { Storage } from '@google-cloud/storage';
|
|
|
2
2
|
import type { CollectionConfig } from 'payload/types';
|
|
3
3
|
import type { StaticHandler } from '../../types';
|
|
4
4
|
interface Args {
|
|
5
|
-
|
|
5
|
+
getStorageClient: () => Storage;
|
|
6
6
|
bucket: string;
|
|
7
7
|
collection: CollectionConfig;
|
|
8
8
|
}
|
|
9
|
-
export declare const getHandler: ({
|
|
9
|
+
export declare const getHandler: ({ getStorageClient, bucket, collection }: Args) => StaticHandler;
|
|
10
10
|
export {};
|
|
@@ -43,7 +43,7 @@ exports.getHandler = void 0;
|
|
|
43
43
|
var path_1 = __importDefault(require("path"));
|
|
44
44
|
var getFilePrefix_1 = require("../../utilities/getFilePrefix");
|
|
45
45
|
var getHandler = function (_a) {
|
|
46
|
-
var
|
|
46
|
+
var getStorageClient = _a.getStorageClient, bucket = _a.bucket, collection = _a.collection;
|
|
47
47
|
return function (req, res, next) { return __awaiter(void 0, void 0, void 0, function () {
|
|
48
48
|
var prefix, file, metadata, err_1;
|
|
49
49
|
return __generator(this, function (_a) {
|
|
@@ -53,7 +53,9 @@ var getHandler = function (_a) {
|
|
|
53
53
|
return [4 /*yield*/, (0, getFilePrefix_1.getFilePrefix)({ req: req, collection: collection })];
|
|
54
54
|
case 1:
|
|
55
55
|
prefix = _a.sent();
|
|
56
|
-
file =
|
|
56
|
+
file = getStorageClient()
|
|
57
|
+
.bucket(bucket)
|
|
58
|
+
.file(path_1.default.posix.join(prefix, req.params.filename));
|
|
57
59
|
return [4 /*yield*/, file.getMetadata()];
|
|
58
60
|
case 2:
|
|
59
61
|
metadata = (_a.sent())[0];
|
|
@@ -1 +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,
|
|
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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type * as AWS from '@aws-sdk/client-s3';
|
|
2
2
|
import type { HandleDelete } from '../../types';
|
|
3
3
|
interface Args {
|
|
4
|
-
|
|
4
|
+
getStorageClient: () => AWS.S3;
|
|
5
5
|
bucket: string;
|
|
6
6
|
}
|
|
7
|
-
export declare const getHandleDelete: ({
|
|
7
|
+
export declare const getHandleDelete: ({ getStorageClient, bucket }: Args) => HandleDelete;
|
|
8
8
|
export {};
|
|
@@ -42,13 +42,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
42
42
|
exports.getHandleDelete = void 0;
|
|
43
43
|
var path_1 = __importDefault(require("path"));
|
|
44
44
|
var getHandleDelete = function (_a) {
|
|
45
|
-
var
|
|
45
|
+
var getStorageClient = _a.getStorageClient, bucket = _a.bucket;
|
|
46
46
|
return function (_a) {
|
|
47
47
|
var filename = _a.filename, _b = _a.doc.prefix, prefix = _b === void 0 ? '' : _b;
|
|
48
48
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
49
49
|
return __generator(this, function (_c) {
|
|
50
50
|
switch (_c.label) {
|
|
51
|
-
case 0: return [4 /*yield*/,
|
|
51
|
+
case 0: return [4 /*yield*/, getStorageClient().deleteObject({
|
|
52
52
|
Bucket: bucket,
|
|
53
53
|
Key: path_1.default.posix.join(prefix, filename),
|
|
54
54
|
})];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleDelete.js","sourceRoot":"","sources":["../../../src/adapters/s3/handleDelete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAShB,IAAM,eAAe,GAAG,UAAC,
|
|
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"}
|
|
@@ -6,7 +6,7 @@ interface Args {
|
|
|
6
6
|
bucket: string;
|
|
7
7
|
acl?: 'private' | 'public-read';
|
|
8
8
|
prefix?: string;
|
|
9
|
-
|
|
9
|
+
getStorageClient: () => AWS.S3;
|
|
10
10
|
}
|
|
11
|
-
export declare const getHandleUpload: ({
|
|
11
|
+
export declare const getHandleUpload: ({ getStorageClient, bucket, acl, prefix, }: Args) => HandleUpload;
|
|
12
12
|
export {};
|
|
@@ -42,13 +42,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
42
42
|
exports.getHandleUpload = void 0;
|
|
43
43
|
var path_1 = __importDefault(require("path"));
|
|
44
44
|
var getHandleUpload = function (_a) {
|
|
45
|
-
var
|
|
45
|
+
var getStorageClient = _a.getStorageClient, bucket = _a.bucket, acl = _a.acl, _b = _a.prefix, prefix = _b === void 0 ? '' : _b;
|
|
46
46
|
return function (_a) {
|
|
47
47
|
var data = _a.data, file = _a.file;
|
|
48
48
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
49
49
|
return __generator(this, function (_b) {
|
|
50
50
|
switch (_b.label) {
|
|
51
|
-
case 0: return [4 /*yield*/,
|
|
51
|
+
case 0: return [4 /*yield*/, getStorageClient().putObject({
|
|
52
52
|
Bucket: bucket,
|
|
53
53
|
Key: path_1.default.posix.join(prefix, file.filename),
|
|
54
54
|
Body: file.buffer,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleUpload.js","sourceRoot":"","sources":["../../../src/adapters/s3/handleUpload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAahB,IAAM,eAAe,GAAG,UAAC,
|
|
1
|
+
{"version":3,"file":"handleUpload.js","sourceRoot":"","sources":["../../../src/adapters/s3/handleUpload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAahB,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;;;;4BACxB,qBAAM,gBAAgB,EAAE,CAAC,SAAS,CAAC;4BACjC,MAAM,EAAE,MAAM;4BACd,GAAG,EAAE,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;4BAC3C,IAAI,EAAE,IAAI,CAAC,MAAM;4BACjB,GAAG,EAAE,GAAG;4BACR,WAAW,EAAE,IAAI,CAAC,QAAQ;yBAC3B,CAAC,EAAA;;wBANF,SAME,CAAA;wBAEF,sBAAO,IAAI,EAAA;;;;KACZ,CAAA;AACH,CAAC,CAAA;AAjBY,QAAA,eAAe,mBAiB3B"}
|
|
@@ -34,18 +34,23 @@ var s3Adapter = function (_a) {
|
|
|
34
34
|
var config = _a.config, bucket = _a.bucket, acl = _a.acl;
|
|
35
35
|
return function (_a) {
|
|
36
36
|
var collection = _a.collection, prefix = _a.prefix;
|
|
37
|
-
var
|
|
37
|
+
var storageClient = null;
|
|
38
|
+
var getStorageClient = function () {
|
|
39
|
+
if (storageClient)
|
|
40
|
+
return storageClient;
|
|
41
|
+
return (storageClient = new AWS.S3(config));
|
|
42
|
+
};
|
|
38
43
|
return {
|
|
39
44
|
handleUpload: (0, handleUpload_1.getHandleUpload)({
|
|
40
45
|
collection: collection,
|
|
41
|
-
|
|
46
|
+
getStorageClient: getStorageClient,
|
|
42
47
|
bucket: bucket,
|
|
43
48
|
acl: acl,
|
|
44
49
|
prefix: prefix,
|
|
45
50
|
}),
|
|
46
|
-
handleDelete: (0, handleDelete_1.getHandleDelete)({
|
|
51
|
+
handleDelete: (0, handleDelete_1.getHandleDelete)({ getStorageClient: getStorageClient, bucket: bucket }),
|
|
47
52
|
generateURL: (0, generateURL_1.getGenerateURL)({ bucket: bucket, config: config }),
|
|
48
|
-
staticHandler: (0, staticHandler_1.getHandler)({ bucket: bucket,
|
|
53
|
+
staticHandler: (0, staticHandler_1.getHandler)({ bucket: bucket, getStorageClient: getStorageClient, collection: collection }),
|
|
49
54
|
webpack: webpack_1.extendWebpackConfig,
|
|
50
55
|
};
|
|
51
56
|
};
|
|
@@ -1 +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,IAAM,
|
|
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,GAAG;YACvB,IAAI,aAAa;gBAAE,OAAO,aAAa,CAAA;YACvC,OAAO,CAAC,aAAa,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;QAC7C,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;AApBD,CAoBC,CAAA;AAtBU,QAAA,SAAS,aAsBnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function fromContainerMetadata(): null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockCredentialProviders.js","sourceRoot":"","sources":["../../../src/adapters/s3/mockCredentialProviders.js"],"names":[],"mappings":";AAAA,OAAO,CAAC,qBAAqB,GAAG,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAA"}
|
|
@@ -2,9 +2,9 @@ import type * as AWS from '@aws-sdk/client-s3';
|
|
|
2
2
|
import type { CollectionConfig } from 'payload/types';
|
|
3
3
|
import type { StaticHandler } from '../../types';
|
|
4
4
|
interface Args {
|
|
5
|
-
|
|
5
|
+
getStorageClient: () => AWS.S3;
|
|
6
6
|
bucket: string;
|
|
7
7
|
collection: CollectionConfig;
|
|
8
8
|
}
|
|
9
|
-
export declare const getHandler: ({
|
|
9
|
+
export declare const getHandler: ({ getStorageClient, bucket, collection }: Args) => StaticHandler;
|
|
10
10
|
export {};
|
|
@@ -43,7 +43,7 @@ exports.getHandler = void 0;
|
|
|
43
43
|
var path_1 = __importDefault(require("path"));
|
|
44
44
|
var getFilePrefix_1 = require("../../utilities/getFilePrefix");
|
|
45
45
|
var getHandler = function (_a) {
|
|
46
|
-
var
|
|
46
|
+
var getStorageClient = _a.getStorageClient, bucket = _a.bucket, collection = _a.collection;
|
|
47
47
|
return function (req, res, next) { return __awaiter(void 0, void 0, void 0, function () {
|
|
48
48
|
var prefix, object, err_1;
|
|
49
49
|
return __generator(this, function (_a) {
|
|
@@ -53,7 +53,7 @@ var getHandler = function (_a) {
|
|
|
53
53
|
return [4 /*yield*/, (0, getFilePrefix_1.getFilePrefix)({ req: req, collection: collection })];
|
|
54
54
|
case 1:
|
|
55
55
|
prefix = _a.sent();
|
|
56
|
-
return [4 /*yield*/,
|
|
56
|
+
return [4 /*yield*/, getStorageClient().getObject({
|
|
57
57
|
Bucket: bucket,
|
|
58
58
|
Key: path_1.default.posix.join(prefix, req.params.filename),
|
|
59
59
|
})];
|
|
@@ -1 +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,
|
|
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,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;AA1BY,QAAA,UAAU,cA0BtB"}
|
package/dist/plugin.js
CHANGED
|
@@ -10,6 +10,42 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (_) try {
|
|
29
|
+
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;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
13
49
|
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
50
|
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
51
|
if (ar || !(i in from)) {
|
|
@@ -35,6 +71,7 @@ var cloudStorage = function (pluginOptions) {
|
|
|
35
71
|
return function (config) {
|
|
36
72
|
var allCollectionOptions = pluginOptions.collections;
|
|
37
73
|
var webpack = (0, webpack_1.extendWebpackConfig)({ options: pluginOptions, config: config });
|
|
74
|
+
var initFunctions = [];
|
|
38
75
|
return __assign(__assign({}, config), { admin: __assign(__assign({}, (config.admin || {})), { webpack: webpack }), collections: (config.collections || []).map(function (existingCollection) {
|
|
39
76
|
var _a, _b;
|
|
40
77
|
var options = allCollectionOptions[existingCollection.slug];
|
|
@@ -43,6 +80,8 @@ var cloudStorage = function (pluginOptions) {
|
|
|
43
80
|
collection: existingCollection,
|
|
44
81
|
prefix: options.prefix,
|
|
45
82
|
});
|
|
83
|
+
if (adapter.onInit)
|
|
84
|
+
initFunctions.push(adapter.onInit);
|
|
46
85
|
var fields = (0, getFields_1.getFields)({
|
|
47
86
|
collection: existingCollection,
|
|
48
87
|
disablePayloadAccessControl: options.disablePayloadAccessControl,
|
|
@@ -66,7 +105,20 @@ var cloudStorage = function (pluginOptions) {
|
|
|
66
105
|
], false) }), fields: fields });
|
|
67
106
|
}
|
|
68
107
|
return existingCollection;
|
|
69
|
-
})
|
|
108
|
+
}), onInit: function (payload) { return __awaiter(void 0, void 0, void 0, function () {
|
|
109
|
+
return __generator(this, function (_a) {
|
|
110
|
+
switch (_a.label) {
|
|
111
|
+
case 0:
|
|
112
|
+
initFunctions.forEach(function (fn) { return fn(); });
|
|
113
|
+
if (!config.onInit) return [3 /*break*/, 2];
|
|
114
|
+
return [4 /*yield*/, config.onInit(payload)];
|
|
115
|
+
case 1:
|
|
116
|
+
_a.sent();
|
|
117
|
+
_a.label = 2;
|
|
118
|
+
case 2: return [2 /*return*/];
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
}); } });
|
|
70
122
|
};
|
|
71
123
|
};
|
|
72
124
|
exports.cloudStorage = cloudStorage;
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/plugin-cloud-storage",
|
|
3
3
|
"description": "The official cloud storage plugin for Payload CMS",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.13-beta.0",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"license": "SEE LICENSE IN LICENSE.MD",
|