@payloadcms/plugin-cloud-storage 1.0.0 → 1.0.3

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 (52) hide show
  1. package/.eslintrc.js +4 -0
  2. package/README.md +54 -24
  3. package/azure.d.ts +1 -0
  4. package/azure.js +1 -0
  5. package/dist/adapters/azure/handleDelete.d.ts +3 -4
  6. package/dist/adapters/azure/handleDelete.js +1 -4
  7. package/dist/adapters/azure/handleDelete.js.map +1 -1
  8. package/dist/adapters/azure/handleUpload.d.ts +3 -4
  9. package/dist/adapters/azure/handleUpload.js +1 -4
  10. package/dist/adapters/azure/handleUpload.js.map +1 -1
  11. package/dist/adapters/azure/index.js +7 -4
  12. package/dist/adapters/azure/index.js.map +1 -1
  13. package/dist/adapters/azure/staticHandler.d.ts +7 -0
  14. package/dist/adapters/azure/staticHandler.js +65 -0
  15. package/dist/adapters/azure/staticHandler.js.map +1 -0
  16. package/dist/adapters/s3/generateURL.d.ts +8 -0
  17. package/dist/adapters/s3/generateURL.js +12 -0
  18. package/dist/adapters/s3/generateURL.js.map +1 -0
  19. package/dist/adapters/s3/handleDelete.d.ts +8 -0
  20. package/dist/adapters/s3/handleDelete.js +60 -0
  21. package/dist/adapters/s3/handleDelete.js.map +1 -0
  22. package/dist/adapters/s3/handleUpload.d.ts +11 -0
  23. package/dist/adapters/s3/handleUpload.js +63 -0
  24. package/dist/adapters/s3/handleUpload.js.map +1 -0
  25. package/dist/adapters/s3/index.d.ts +8 -0
  26. package/dist/adapters/s3/index.js +53 -0
  27. package/dist/adapters/s3/index.js.map +1 -0
  28. package/dist/adapters/s3/mock.d.ts +1 -0
  29. package/dist/adapters/s3/mock.js +5 -0
  30. package/dist/adapters/s3/mock.js.map +1 -0
  31. package/dist/adapters/s3/staticHandler.d.ts +8 -0
  32. package/dist/adapters/s3/staticHandler.js +67 -0
  33. package/dist/adapters/s3/staticHandler.js.map +1 -0
  34. package/dist/adapters/s3/webpack.d.ts +2 -0
  35. package/dist/adapters/s3/webpack.js +25 -0
  36. package/dist/adapters/s3/webpack.js.map +1 -0
  37. package/dist/fields/getFields.d.ts +2 -1
  38. package/dist/fields/getFields.js +52 -48
  39. package/dist/fields/getFields.js.map +1 -1
  40. package/dist/hooks/beforeChange.js +6 -7
  41. package/dist/hooks/beforeChange.js.map +1 -1
  42. package/dist/index.d.ts +0 -1
  43. package/dist/index.js +1 -3
  44. package/dist/index.js.map +1 -1
  45. package/dist/plugin.js +10 -5
  46. package/dist/plugin.js.map +1 -1
  47. package/dist/types.d.ts +5 -2
  48. package/dist/webpack.js +4 -6
  49. package/dist/webpack.js.map +1 -1
  50. package/package.json +13 -5
  51. package/s3.d.ts +1 -0
  52. package/s3.js +1 -0
package/.eslintrc.js ADDED
@@ -0,0 +1,4 @@
1
+ module.exports = {
2
+ root: true,
3
+ extends: ["./eslint-config"],
4
+ };
package/README.md CHANGED
@@ -4,7 +4,7 @@ This repository contains the officially supported Payload Cloud Storage plugin.
4
4
 
5
5
  #### Requirements
6
6
 
7
- - Payload version `1.0.16` or higher is required
7
+ - Payload version `1.0.19` or higher is required
8
8
 
9
9
  ## Usage
10
10
 
@@ -18,10 +18,11 @@ import { cloudStorage } from '@payloadcms/plugin-cloud-storage';
18
18
  export default buildConfig({
19
19
  plugins: [
20
20
  cloudStorage({
21
- collections: [{
22
- slug: 'my-collection-slug',
23
- adapter: theAdapterToUse, // see docs for the adapter you want to use
24
- }]
21
+ collections: {
22
+ 'my-collection-slug': {
23
+ adapter: theAdapterToUse, // see docs for the adapter you want to use
24
+ },
25
+ },
25
26
  }),
26
27
  ],
27
28
  // The rest of your config goes here
@@ -31,9 +32,11 @@ export default buildConfig({
31
32
  ## Features
32
33
 
33
34
  **Adapter-based Implementation**
35
+
34
36
  This plugin supports the following adapters:
35
37
 
36
38
  - [Azure Blob Storage](#azure-blob-storage-adapter)
39
+ - [AWS S3-style Storage](#s3-adapter)
37
40
 
38
41
  However, you can create your own adapter for any third-party service you would like to use.
39
42
 
@@ -41,26 +44,26 @@ However, you can create your own adapter for any third-party service you would l
41
44
 
42
45
  This plugin is configurable to work across many different Payload collections. A `*` denotes that the property is required.
43
46
 
44
- | Option | Description |
45
- | ----------------------------- | ----------- |
46
- | **[`collections`]** * | Array of collection-specific options to enable the plugin for. |
47
+ | Option | Description |
48
+ | ----------------------- | ----------- |
49
+ | `collections` * | Object with keys set to the slug of collections you want to enable the plugin for, and values set to collection-specific options. |
47
50
 
48
- #### Collection-specific options
51
+ **Collection-specific options:**
49
52
 
50
53
  | Option | Description |
51
54
  |------------------------------|---------------------------------|
52
- | **[`slug`]** * | The collection slug to extend. |
53
- | **[`disableLocalStorage`]** | Choose to disable local storage on this collection. Defaults to `true`. |
54
- | **[`adapter`]** | Pass in the adapter that you'd like to use for this collection. |
55
+ | `adapter` * | Pass in the adapter that you'd like to use for this collection. |
56
+ | `disableLocalStorage` | Choose to disable local storage on this collection. Defaults to `true`. |
57
+ | `disablePayloadAccessControl` | Set to `true` to disable Payload's access control. [More](#payload-access-control) |
55
58
 
56
- #### Azure Blob Storage Adapter
59
+ ### Azure Blob Storage Adapter
57
60
 
58
61
  To use the Azure Blob Storage adapter, you need to have `@azure/storage-blob` installed in your project dependencies. To do so, run `yarn add @azure/storage-blob`.
59
62
 
60
63
  From there, create the adapter, passing in all of its required properties:
61
64
 
62
65
  ```js
63
- import { azureBlobStorageAdapter } from '@payloadcms/plugin-cloud-storage';
66
+ import { azureBlobStorageAdapter } from '@payloadcms/plugin-cloud-storage/azure';
64
67
 
65
68
  const adapter = azureBlobStorageAdapter({
66
69
  connectionString: process.env.AZURE_STORAGE_CONNECTION_STRING,
@@ -72,20 +75,47 @@ const adapter = azureBlobStorageAdapter({
72
75
  // Now you can pass this adapter to the plugin
73
76
  ```
74
77
 
75
- **Important:** make sure you have all of the above environment variables filled out and that they reflect your Azure blob storage configuration.
78
+ ### S3 Adapter
79
+
80
+ To use the S3 adapter, you need to have `@aws-sdk/client-s3` installed in your project dependencies. To do so, run `yarn add @aws-sdk/client-s3`.
81
+
82
+ From there, create the adapter, passing in all of its required properties:
83
+
84
+ ```js
85
+ import { s3Adapter } from '@payloadcms/plugin-cloud-storage/s3';
86
+
87
+ const adapter = s3Adapter({
88
+ config: {
89
+ endpoint: process.env.S3_ENDPOINT,
90
+ credentials: {
91
+ accessKeyId: process.env.S3_ACCESS_KEY_ID,
92
+ secretAccessKey: process.env.S3_SECRET_ACCESS_KEY,
93
+ }
94
+ },
95
+ bucket: process.env.S3_BUCKET,
96
+ })
97
+
98
+ // Now you can pass this adapter to the plugin
99
+ ```
100
+
101
+ ### Payload Access Control
102
+
103
+ Payload ships with access control that runs _even on statically served files_. The same `read` access control property on your `upload`-enabled collections is used, and it allows you to restrict who can request your uploaded files.
76
104
 
77
- #### Local sandbox & plugin development
105
+ To preserve this feature, by default, this plugin _keeps all file URLs exactly the same_. Your file URLs won't be updated to point directly to your cloud storage source, as in that case, Payload's access control will be completely bypassed and you would need public readability on your cloud-hosted files.
78
106
 
79
- This repository includes a local development environment for local testing and development of this plugin. To run the local sandbox, follow the instructions below.
107
+ Instead, all uploads will still be reached from the default `/collectionSlug/staticURL/filename` path. This plugin will "pass through" all files that are hosted on your third-party cloud service—with the added benefit of keeping your existing access control in place.
80
108
 
81
- 1. Make sure you have Node and a MongoDB to work with
82
- 1. Clone the repo
83
- 1. `yarn` in both the root folder of the repo, and the `./dev` folder
84
- 1. `cd` into `./dev` and run `cp .env.example .env` to create an `.env` file
85
- 1. Open your newly created `./dev/.env` file and _completely_ fill out each property
86
- 1. Run `yarn dev` within the `/dev` folder
87
- 1. Open `http://localhost:3000/admin` in your browser
109
+ If this does not apply to you (your upload collection has `read: () => true` or similar) you can disable this functionality by setting `disablePayloadAccessControl` to `true`. When this setting is in place, this plugin will update your file URLs to point directly to your cloud host.
110
+
111
+ ## Local development
112
+
113
+ For instructions regarding how to develop with this plugin locally, [click here](https://github.com/payloadcms/plugin-cloud-storage/blob/master/docs/local-dev.md).
88
114
 
89
115
  ## Questions
90
116
 
91
117
  Please contact [Payload](dev@payloadcms.com) with any questions about using this plugin.
118
+
119
+ ## Credit
120
+
121
+ This plugin was created with significant help, and code, from [Alex Bechmann](https://github.com/alexbechmann) and [Richard VanBergen](https://github.com/richardvanbergen). Thank you!!
package/azure.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './dist/adapters/azure'
package/azure.js ADDED
@@ -0,0 +1 @@
1
+ exports.azureBlobStorageAdapter = require('./dist/adapters/azure')
@@ -1,10 +1,9 @@
1
1
  import type { CollectionConfig } from 'payload/types';
2
+ import type { ContainerClient } from '@azure/storage-blob';
2
3
  import type { HandleDelete } from '../../types';
3
4
  interface Args {
4
5
  collection: CollectionConfig;
5
- connectionString: string;
6
- containerName: string;
7
- baseURL: string;
6
+ containerClient: ContainerClient;
8
7
  }
9
- export declare const getHandleDelete: ({ connectionString, containerName }: Args) => HandleDelete;
8
+ export declare const getHandleDelete: ({ containerClient }: Args) => HandleDelete;
10
9
  export {};
@@ -37,11 +37,8 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.getHandleDelete = void 0;
40
- var storage_blob_1 = require("@azure/storage-blob");
41
40
  var getHandleDelete = function (_a) {
42
- var connectionString = _a.connectionString, containerName = _a.containerName;
43
- var blobServiceClient = storage_blob_1.BlobServiceClient.fromConnectionString(connectionString);
44
- var containerClient = blobServiceClient.getContainerClient(containerName);
41
+ var containerClient = _a.containerClient;
45
42
  return function (_a) {
46
43
  var filename = _a.filename;
47
44
  return __awaiter(void 0, void 0, void 0, function () {
@@ -1 +1 @@
1
- {"version":3,"file":"handleDelete.js","sourceRoot":"","sources":["../../../src/adapters/azure/handleDelete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oDAAuD;AAUhD,IAAM,eAAe,GAAG,UAAC,EAAyC;QAAvC,gBAAgB,sBAAA,EAAE,aAAa,mBAAA;IAC/D,IAAM,iBAAiB,GAAG,gCAAiB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IAClF,IAAM,eAAe,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAA;IAE3E,OAAO,UAAO,EAAY;YAAV,QAAQ,cAAA;;;;;;wBAChB,eAAe,GAAG,eAAe,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;wBACpE,qBAAM,eAAe,CAAC,cAAc,EAAE,EAAA;;wBAAtC,SAAsC,CAAA;;;;;KACvC,CAAA;AACH,CAAC,CAAA;AARY,QAAA,eAAe,mBAQ3B"}
1
+ {"version":3,"file":"handleDelete.js","sourceRoot":"","sources":["../../../src/adapters/azure/handleDelete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASO,IAAM,eAAe,GAAG,UAAC,EAAyB;QAAvB,eAAe,qBAAA;IAC/C,OAAO,UAAO,EAAY;YAAV,QAAQ,cAAA;;;;;;wBAChB,eAAe,GAAG,eAAe,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;wBACpE,qBAAM,eAAe,CAAC,cAAc,EAAE,EAAA;;wBAAtC,SAAsC,CAAA;;;;;KACvC,CAAA;AACH,CAAC,CAAA;AALY,QAAA,eAAe,mBAK3B"}
@@ -1,11 +1,10 @@
1
+ import type { ContainerClient } from '@azure/storage-blob';
1
2
  import type { CollectionConfig } from 'payload/types';
2
3
  import type { HandleUpload } from '../../types';
3
4
  interface Args {
4
5
  collection: CollectionConfig;
5
- connectionString: string;
6
- containerName: string;
7
- baseURL: string;
6
+ containerClient: ContainerClient;
8
7
  allowContainerCreate: boolean;
9
8
  }
10
- export declare const getHandleUpload: ({ allowContainerCreate, connectionString, containerName, }: Args) => HandleUpload;
9
+ export declare const getHandleUpload: ({ allowContainerCreate, containerClient }: Args) => HandleUpload;
11
10
  export {};
@@ -37,11 +37,8 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.getHandleUpload = void 0;
40
- var storage_blob_1 = require("@azure/storage-blob");
41
40
  var getHandleUpload = function (_a) {
42
- var allowContainerCreate = _a.allowContainerCreate, connectionString = _a.connectionString, containerName = _a.containerName;
43
- var blobServiceClient = storage_blob_1.BlobServiceClient.fromConnectionString(connectionString);
44
- var containerClient = blobServiceClient.getContainerClient(containerName);
41
+ var allowContainerCreate = _a.allowContainerCreate, containerClient = _a.containerClient;
45
42
  if (allowContainerCreate) {
46
43
  containerClient.createIfNotExists({ access: 'blob' });
47
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handleUpload.js","sourceRoot":"","sources":["../../../src/adapters/azure/handleUpload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oDAAuD;AAWhD,IAAM,eAAe,GAAG,UAAC,EAIzB;QAHL,oBAAoB,0BAAA,EACpB,gBAAgB,sBAAA,EAChB,aAAa,mBAAA;IAEb,IAAM,iBAAiB,GAAG,gCAAiB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IAClF,IAAM,eAAe,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAA;IAE3E,IAAI,oBAAoB,EAAE;QACxB,eAAe,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;KACtD;IAED,OAAO,UAAO,EAAc;YAAZ,IAAI,UAAA,EAAE,IAAI,UAAA;;;;;;wBAClB,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;wBACxB,eAAe,GAAG,eAAe,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;wBAEpE,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;AAtBY,QAAA,eAAe,mBAsB3B"}
1
+ {"version":3,"file":"handleUpload.js","sourceRoot":"","sources":["../../../src/adapters/azure/handleUpload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUO,IAAM,eAAe,GAAG,UAAC,EAA+C;QAA7C,oBAAoB,0BAAA,EAAE,eAAe,qBAAA;IACrE,IAAI,oBAAoB,EAAE;QACxB,eAAe,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;KACtD;IAED,OAAO,UAAO,EAAc;YAAZ,IAAI,UAAA,EAAE,IAAI,UAAA;;;;;;wBAClB,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;wBACxB,eAAe,GAAG,eAAe,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;wBAEpE,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;AAfY,QAAA,eAAe,mBAe3B"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.azureBlobStorageAdapter = void 0;
4
+ var storage_blob_1 = require("@azure/storage-blob");
5
+ var staticHandler_1 = require("./staticHandler");
4
6
  var generateURL_1 = require("./generateURL");
5
7
  var handleDelete_1 = require("./handleDelete");
6
8
  var handleUpload_1 = require("./handleUpload");
@@ -9,16 +11,17 @@ var azureBlobStorageAdapter = function (_a) {
9
11
  var connectionString = _a.connectionString, containerName = _a.containerName, baseURL = _a.baseURL, allowContainerCreate = _a.allowContainerCreate;
10
12
  return function (_a) {
11
13
  var collection = _a.collection;
14
+ var blobServiceClient = storage_blob_1.BlobServiceClient.fromConnectionString(connectionString);
15
+ var containerClient = blobServiceClient.getContainerClient(containerName);
12
16
  return {
13
17
  handleUpload: (0, handleUpload_1.getHandleUpload)({
14
18
  collection: collection,
15
- connectionString: connectionString,
16
- containerName: containerName,
17
- baseURL: baseURL,
19
+ containerClient: containerClient,
18
20
  allowContainerCreate: allowContainerCreate,
19
21
  }),
20
- handleDelete: (0, handleDelete_1.getHandleDelete)({ collection: collection, connectionString: connectionString, containerName: containerName, baseURL: baseURL }),
22
+ handleDelete: (0, handleDelete_1.getHandleDelete)({ collection: collection, containerClient: containerClient }),
21
23
  generateURL: (0, generateURL_1.getGenerateURL)({ containerName: containerName, baseURL: baseURL }),
24
+ staticHandler: (0, staticHandler_1.getHandler)({ containerClient: containerClient }),
22
25
  webpack: webpack_1.extendWebpackConfig,
23
26
  };
24
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/azure/index.ts"],"names":[],"mappings":";;;AACA,6CAA8C;AAC9C,+CAAgD;AAChD,+CAAgD;AAChD,qCAA+C;AASxC,IAAM,uBAAuB,GAClC,UAAC,EAAwE;QAAtE,gBAAgB,sBAAA,EAAE,aAAa,mBAAA,EAAE,OAAO,aAAA,EAAE,oBAAoB,0BAAA;IACjE,OAAA,UAAC,EAAc;YAAZ,UAAU,gBAAA;QACX,OAAO;YACL,YAAY,EAAE,IAAA,8BAAe,EAAC;gBAC5B,UAAU,YAAA;gBACV,gBAAgB,kBAAA;gBAChB,aAAa,eAAA;gBACb,OAAO,SAAA;gBACP,oBAAoB,sBAAA;aACrB,CAAC;YACF,YAAY,EAAE,IAAA,8BAAe,EAAC,EAAE,UAAU,YAAA,EAAE,gBAAgB,kBAAA,EAAE,aAAa,eAAA,EAAE,OAAO,SAAA,EAAE,CAAC;YACvF,WAAW,EAAE,IAAA,4BAAc,EAAC,EAAE,aAAa,eAAA,EAAE,OAAO,SAAA,EAAE,CAAC;YACvD,OAAO,EAAE,6BAAmB;SAC7B,CAAA;IACH,CAAC;AAbD,CAaC,CAAA;AAfU,QAAA,uBAAuB,2BAejC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/azure/index.ts"],"names":[],"mappings":";;;AAAA,oDAAuD;AAEvD,iDAA4C;AAC5C,6CAA8C;AAC9C,+CAAgD;AAChD,+CAAgD;AAChD,qCAA+C;AASxC,IAAM,uBAAuB,GAClC,UAAC,EAAwE;QAAtE,gBAAgB,sBAAA,EAAE,aAAa,mBAAA,EAAE,OAAO,aAAA,EAAE,oBAAoB,0BAAA;IACjE,OAAA,UAAC,EAAc;YAAZ,UAAU,gBAAA;QACX,IAAM,iBAAiB,GAAG,gCAAiB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;QAClF,IAAM,eAAe,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAA;QAE3E,OAAO;YACL,YAAY,EAAE,IAAA,8BAAe,EAAC;gBAC5B,UAAU,YAAA;gBACV,eAAe,iBAAA;gBACf,oBAAoB,sBAAA;aACrB,CAAC;YACF,YAAY,EAAE,IAAA,8BAAe,EAAC,EAAE,UAAU,YAAA,EAAE,eAAe,iBAAA,EAAE,CAAC;YAC9D,WAAW,EAAE,IAAA,4BAAc,EAAC,EAAE,aAAa,eAAA,EAAE,OAAO,SAAA,EAAE,CAAC;YACvD,aAAa,EAAE,IAAA,0BAAU,EAAC,EAAE,eAAe,iBAAA,EAAE,CAAC;YAC9C,OAAO,EAAE,6BAAmB;SAC7B,CAAA;IACH,CAAC;AAfD,CAeC,CAAA;AAjBU,QAAA,uBAAuB,2BAiBjC"}
@@ -0,0 +1,7 @@
1
+ import type { ContainerClient } from '@azure/storage-blob';
2
+ import type { StaticHandler } from '../../types';
3
+ interface Args {
4
+ containerClient: ContainerClient;
5
+ }
6
+ export declare const getHandler: ({ containerClient }: Args) => StaticHandler;
7
+ export {};
@@ -0,0 +1,65 @@
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 (_) 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
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getHandler = void 0;
40
+ var getHandler = function (_a) {
41
+ var containerClient = _a.containerClient;
42
+ return function (req, res, next) { return __awaiter(void 0, void 0, void 0, function () {
43
+ var blockBlobClient, downloadBlockBlobResponse, err_1;
44
+ return __generator(this, function (_a) {
45
+ switch (_a.label) {
46
+ case 0:
47
+ _a.trys.push([0, 2, , 3]);
48
+ blockBlobClient = containerClient.getBlockBlobClient(req.params.filename);
49
+ return [4 /*yield*/, blockBlobClient.download(0)];
50
+ case 1:
51
+ downloadBlockBlobResponse = _a.sent();
52
+ if (downloadBlockBlobResponse === null || downloadBlockBlobResponse === void 0 ? void 0 : downloadBlockBlobResponse.readableStreamBody) {
53
+ return [2 /*return*/, downloadBlockBlobResponse.readableStreamBody.pipe(res)];
54
+ }
55
+ return [2 /*return*/, next()];
56
+ case 2:
57
+ err_1 = _a.sent();
58
+ return [2 /*return*/, next()];
59
+ case 3: return [2 /*return*/];
60
+ }
61
+ });
62
+ }); };
63
+ };
64
+ exports.getHandler = getHandler;
65
+ //# sourceMappingURL=staticHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staticHandler.js","sourceRoot":"","sources":["../../../src/adapters/azure/staticHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,IAAM,UAAU,GAAG,UAAC,EAAyB;QAAvB,eAAe,qBAAA;IAC1C,OAAO,UAAO,GAAG,EAAE,GAAG,EAAE,IAAI;;;;;;oBAElB,eAAe,GAAG,eAAe,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;oBAE7C,qBAAM,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAA;;oBAA7D,yBAAyB,GAAG,SAAiC;oBAEnE,IAAI,yBAAyB,aAAzB,yBAAyB,uBAAzB,yBAAyB,CAAE,kBAAkB,EAAE;wBACjD,sBAAO,yBAAyB,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA;qBAC9D;oBAED,sBAAO,IAAI,EAAE,EAAA;;;oBAEb,sBAAO,IAAI,EAAE,EAAA;;;;SAEhB,CAAA;AACH,CAAC,CAAA;AAhBY,QAAA,UAAU,cAgBtB"}
@@ -0,0 +1,8 @@
1
+ import type * as AWS from '@aws-sdk/client-s3';
2
+ import type { GenerateURL } from '../../types';
3
+ interface Args {
4
+ config: AWS.S3ClientConfig;
5
+ bucket: string;
6
+ }
7
+ export declare const getGenerateURL: ({ config: { endpoint }, bucket }: Args) => GenerateURL;
8
+ export {};
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGenerateURL = void 0;
4
+ var getGenerateURL = function (_a) {
5
+ var endpoint = _a.config.endpoint, bucket = _a.bucket;
6
+ return function (_a) {
7
+ var filename = _a.filename;
8
+ return "".concat(endpoint, "/").concat(bucket, "/").concat(filename);
9
+ };
10
+ };
11
+ exports.getGenerateURL = getGenerateURL;
12
+ //# sourceMappingURL=generateURL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateURL.js","sourceRoot":"","sources":["../../../src/adapters/s3/generateURL.ts"],"names":[],"mappings":";;;AAQO,IAAM,cAAc,GACzB,UAAC,EAAsC;QAA1B,QAAQ,qBAAA,EAAI,MAAM,YAAA;IAC/B,OAAA,UAAC,EAAY;YAAV,QAAQ,cAAA;QACT,OAAO,UAAG,QAAQ,cAAI,MAAM,cAAI,QAAQ,CAAE,CAAA;IAC5C,CAAC;AAFD,CAEC,CAAA;AAJU,QAAA,cAAc,kBAIxB"}
@@ -0,0 +1,8 @@
1
+ import type * as AWS from '@aws-sdk/client-s3';
2
+ import type { HandleDelete } from '../../types';
3
+ interface Args {
4
+ s3: AWS.S3;
5
+ bucket: string;
6
+ }
7
+ export declare const getHandleDelete: ({ s3, bucket }: Args) => HandleDelete;
8
+ export {};
@@ -0,0 +1,60 @@
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 (_) 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
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getHandleDelete = void 0;
40
+ var getHandleDelete = function (_a) {
41
+ var s3 = _a.s3, bucket = _a.bucket;
42
+ return function (_a) {
43
+ var filename = _a.filename;
44
+ return __awaiter(void 0, void 0, void 0, function () {
45
+ return __generator(this, function (_b) {
46
+ switch (_b.label) {
47
+ case 0: return [4 /*yield*/, s3.deleteObject({
48
+ Bucket: bucket,
49
+ Key: filename,
50
+ })];
51
+ case 1:
52
+ _b.sent();
53
+ return [2 /*return*/];
54
+ }
55
+ });
56
+ });
57
+ };
58
+ };
59
+ exports.getHandleDelete = getHandleDelete;
60
+ //# sourceMappingURL=handleDelete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleDelete.js","sourceRoot":"","sources":["../../../src/adapters/s3/handleDelete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,IAAM,eAAe,GAAG,UAAC,EAAoB;QAAlB,EAAE,QAAA,EAAE,MAAM,YAAA;IAC1C,OAAO,UAAO,EAAY;YAAV,QAAQ,cAAA;;;;4BACtB,qBAAM,EAAE,CAAC,YAAY,CAAC;4BACpB,MAAM,EAAE,MAAM;4BACd,GAAG,EAAE,QAAQ;yBACd,CAAC,EAAA;;wBAHF,SAGE,CAAA;;;;;KACH,CAAA;AACH,CAAC,CAAA;AAPY,QAAA,eAAe,mBAO3B"}
@@ -0,0 +1,11 @@
1
+ import type * as AWS from '@aws-sdk/client-s3';
2
+ import type { CollectionConfig } from 'payload/types';
3
+ import type { HandleUpload } from '../../types';
4
+ interface Args {
5
+ collection: CollectionConfig;
6
+ bucket: string;
7
+ acl?: 'private' | 'public-read';
8
+ s3: AWS.S3;
9
+ }
10
+ export declare const getHandleUpload: ({ s3, bucket, acl }: Args) => HandleUpload;
11
+ export {};
@@ -0,0 +1,63 @@
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 (_) 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
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getHandleUpload = void 0;
40
+ var getHandleUpload = function (_a) {
41
+ var s3 = _a.s3, bucket = _a.bucket, acl = _a.acl;
42
+ return function (_a) {
43
+ var data = _a.data, file = _a.file;
44
+ return __awaiter(void 0, void 0, void 0, function () {
45
+ return __generator(this, function (_b) {
46
+ switch (_b.label) {
47
+ case 0: return [4 /*yield*/, s3.putObject({
48
+ Bucket: bucket,
49
+ Key: file.filename,
50
+ Body: file.buffer,
51
+ ACL: acl,
52
+ ContentType: file.mimeType,
53
+ })];
54
+ case 1:
55
+ _b.sent();
56
+ return [2 /*return*/, data];
57
+ }
58
+ });
59
+ });
60
+ };
61
+ };
62
+ exports.getHandleUpload = getHandleUpload;
63
+ //# sourceMappingURL=handleUpload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleUpload.js","sourceRoot":"","sources":["../../../src/adapters/s3/handleUpload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,IAAM,eAAe,GAAG,UAAC,EAAyB;QAAvB,EAAE,QAAA,EAAE,MAAM,YAAA,EAAE,GAAG,SAAA;IAC/C,OAAO,UAAO,EAAc;YAAZ,IAAI,UAAA,EAAE,IAAI,UAAA;;;;4BACxB,qBAAM,EAAE,CAAC,SAAS,CAAC;4BACjB,MAAM,EAAE,MAAM;4BACd,GAAG,EAAE,IAAI,CAAC,QAAQ;4BAClB,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;AAZY,QAAA,eAAe,mBAY3B"}
@@ -0,0 +1,8 @@
1
+ import * as AWS from '@aws-sdk/client-s3';
2
+ import type { Adapter } from '../../types';
3
+ export interface Args {
4
+ config: AWS.S3ClientConfig;
5
+ bucket: string;
6
+ acl?: 'private' | 'public-read';
7
+ }
8
+ export declare const s3Adapter: ({ config, bucket, acl }: Args) => Adapter;
@@ -0,0 +1,53 @@
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;
37
+ var s3 = new AWS.S3(config);
38
+ return {
39
+ handleUpload: (0, handleUpload_1.getHandleUpload)({
40
+ collection: collection,
41
+ s3: s3,
42
+ bucket: bucket,
43
+ acl: acl,
44
+ }),
45
+ handleDelete: (0, handleDelete_1.getHandleDelete)({ s3: s3, bucket: bucket }),
46
+ generateURL: (0, generateURL_1.getGenerateURL)({ bucket: bucket, config: config }),
47
+ staticHandler: (0, staticHandler_1.getHandler)({ bucket: bucket, s3: s3 }),
48
+ webpack: webpack_1.extendWebpackConfig,
49
+ };
50
+ };
51
+ };
52
+ exports.s3Adapter = s3Adapter;
53
+ //# 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,EAAc;YAAZ,UAAU,gBAAA;QACX,IAAM,EAAE,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;QAE7B,OAAO;YACL,YAAY,EAAE,IAAA,8BAAe,EAAC;gBAC5B,UAAU,YAAA;gBACV,EAAE,IAAA;gBACF,MAAM,QAAA;gBACN,GAAG,KAAA;aACJ,CAAC;YACF,YAAY,EAAE,IAAA,8BAAe,EAAC,EAAE,EAAE,IAAA,EAAE,MAAM,QAAA,EAAE,CAAC;YAC7C,WAAW,EAAE,IAAA,4BAAc,EAAC,EAAE,MAAM,QAAA,EAAE,MAAM,QAAA,EAAE,CAAC;YAC/C,aAAa,EAAE,IAAA,0BAAU,EAAC,EAAE,MAAM,QAAA,EAAE,EAAE,IAAA,EAAE,CAAC;YACzC,OAAO,EAAE,6BAAmB;SAC7B,CAAA;IACH,CAAC;AAfD,CAeC,CAAA;AAjBU,QAAA,SAAS,aAiBnB"}
@@ -0,0 +1 @@
1
+ export function S3(): null;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ exports.S3 = function () {
3
+ return null;
4
+ };
5
+ //# sourceMappingURL=mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../../src/adapters/s3/mock.js"],"names":[],"mappings":";AAAA,OAAO,CAAC,EAAE,GAAG;IACX,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type * as AWS from '@aws-sdk/client-s3';
2
+ import type { StaticHandler } from '../../types';
3
+ interface Args {
4
+ s3: AWS.S3;
5
+ bucket: string;
6
+ }
7
+ export declare const getHandler: ({ s3, bucket }: Args) => StaticHandler;
8
+ export {};
@@ -0,0 +1,67 @@
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 (_) 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
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getHandler = void 0;
40
+ var getHandler = function (_a) {
41
+ var s3 = _a.s3, bucket = _a.bucket;
42
+ return function (req, res, next) { return __awaiter(void 0, void 0, void 0, function () {
43
+ var response, err_1;
44
+ return __generator(this, function (_a) {
45
+ switch (_a.label) {
46
+ case 0:
47
+ _a.trys.push([0, 2, , 3]);
48
+ return [4 /*yield*/, s3.getObject({
49
+ Bucket: bucket,
50
+ Key: req.params.filename,
51
+ })];
52
+ case 1:
53
+ response = _a.sent();
54
+ if (response === null || response === void 0 ? void 0 : response.Body) {
55
+ return [2 /*return*/, response.Body.pipe(res)];
56
+ }
57
+ return [2 /*return*/, next()];
58
+ case 2:
59
+ err_1 = _a.sent();
60
+ return [2 /*return*/, next()];
61
+ case 3: return [2 /*return*/];
62
+ }
63
+ });
64
+ }); };
65
+ };
66
+ exports.getHandler = getHandler;
67
+ //# sourceMappingURL=staticHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staticHandler.js","sourceRoot":"","sources":["../../../src/adapters/s3/staticHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASO,IAAM,UAAU,GAAG,UAAC,EAAoB;QAAlB,EAAE,QAAA,EAAE,MAAM,YAAA;IACrC,OAAO,UAAO,GAAG,EAAE,GAAG,EAAE,IAAI;;;;;;oBAEP,qBAAM,EAAE,CAAC,SAAS,CAAC;4BAClC,MAAM,EAAE,MAAM;4BACd,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ;yBACzB,CAAC,EAAA;;oBAHI,QAAQ,GAAG,SAGf;oBAEF,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE;wBAClB,sBAAQ,QAAQ,CAAC,IAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA;qBAC7C;oBAED,sBAAO,IAAI,EAAE,EAAA;;;oBAEb,sBAAO,IAAI,EAAE,EAAA;;;;SAEhB,CAAA;AACH,CAAC,CAAA;AAjBY,QAAA,UAAU,cAiBtB"}
@@ -0,0 +1,2 @@
1
+ import type { Configuration as WebpackConfig } from 'webpack';
2
+ export declare const extendWebpackConfig: (existingWebpackConfig: WebpackConfig) => WebpackConfig;
@@ -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;
21
+ var newConfig = __assign(__assign({}, existingWebpackConfig), { resolve: __assign(__assign({}, (existingWebpackConfig.resolve || {})), { alias: __assign(__assign({}, (((_a = existingWebpackConfig.resolve) === null || _a === void 0 ? void 0 : _a.alias) ? existingWebpackConfig.resolve.alias : {})), { '@aws-sdk/client-s3': 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/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,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,SAG/D,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAbY,QAAA,mBAAmB,uBAa/B"}
@@ -2,7 +2,8 @@ import type { CollectionConfig, Field } from 'payload/types';
2
2
  import type { GeneratedAdapter } from '../types';
3
3
  interface Args {
4
4
  collection: CollectionConfig;
5
+ disablePayloadAccessControl?: true;
5
6
  adapter: GeneratedAdapter;
6
7
  }
7
- export declare const getFields: ({ adapter, collection }: Args) => Field[];
8
+ export declare const getFields: ({ adapter, collection, disablePayloadAccessControl }: Args) => Field[];
8
9
  export {};
@@ -22,62 +22,66 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.getFields = void 0;
24
24
  var afterRead_1 = require("../hooks/afterRead");
25
- var baseURLField = {
26
- name: 'url',
27
- label: 'URL',
28
- type: 'text',
29
- admin: {
30
- readOnly: true,
31
- disabled: true,
32
- },
33
- };
34
25
  var getFields = function (_a) {
35
26
  var _b;
36
- var adapter = _a.adapter, collection = _a.collection;
27
+ var adapter = _a.adapter, collection = _a.collection, disablePayloadAccessControl = _a.disablePayloadAccessControl;
28
+ var baseURLField = {
29
+ name: 'url',
30
+ label: 'URL',
31
+ type: 'text',
32
+ admin: {
33
+ readOnly: true,
34
+ disabled: true,
35
+ },
36
+ };
37
37
  var fields = __spreadArray([], collection.fields, true);
38
- var existingURLFieldIndex = -1;
39
- var existingURLField = fields.find(function (existingField, i) {
40
- if ('name' in existingField && existingField.name === 'url') {
41
- existingURLFieldIndex = i;
42
- return true;
43
- }
44
- return false;
45
- });
46
- if (existingURLFieldIndex > -1) {
47
- fields.splice(existingURLFieldIndex, 1);
48
- }
49
- fields.push(__assign(__assign(__assign({}, baseURLField), (existingURLField || {})), { hooks: {
50
- afterRead: __spreadArray([
51
- (0, afterRead_1.getAfterReadHook)({ adapter: adapter, collection: collection })
52
- ], (((_b = existingURLField === null || existingURLField === void 0 ? void 0 : existingURLField.hooks) === null || _b === void 0 ? void 0 : _b.afterRead) || []), true),
53
- } }));
54
- if (typeof collection.upload === 'object' && collection.upload.imageSizes) {
55
- var existingSizesFieldIndex_1 = -1;
56
- var existingSizesField_1 = fields.find(function (existingField, i) {
57
- if ('name' in existingField && existingField.name === 'sizes') {
58
- existingSizesFieldIndex_1 = i;
38
+ // If Payload access control is disabled,
39
+ // inject a hook into all URL fields to point directly to the cloud source
40
+ if (disablePayloadAccessControl) {
41
+ var existingURLFieldIndex_1 = -1;
42
+ var existingURLField = fields.find(function (existingField, i) {
43
+ if ('name' in existingField && existingField.name === 'url') {
44
+ existingURLFieldIndex_1 = i;
59
45
  return true;
60
46
  }
61
47
  return false;
62
48
  });
63
- if (existingSizesFieldIndex_1 > -1) {
64
- fields.splice(existingSizesFieldIndex_1, 1);
49
+ if (existingURLFieldIndex_1 > -1) {
50
+ fields.splice(existingURLFieldIndex_1, 1);
51
+ }
52
+ fields.push(__assign(__assign(__assign({}, baseURLField), (existingURLField || {})), { hooks: {
53
+ afterRead: __spreadArray([
54
+ (0, afterRead_1.getAfterReadHook)({ adapter: adapter, collection: collection })
55
+ ], (((_b = existingURLField === null || existingURLField === void 0 ? void 0 : existingURLField.hooks) === null || _b === void 0 ? void 0 : _b.afterRead) || []), true),
56
+ } }));
57
+ if (typeof collection.upload === 'object' && collection.upload.imageSizes) {
58
+ var existingSizesFieldIndex_1 = -1;
59
+ var existingSizesField_1 = fields.find(function (existingField, i) {
60
+ if ('name' in existingField && existingField.name === 'sizes') {
61
+ existingSizesFieldIndex_1 = i;
62
+ return true;
63
+ }
64
+ return false;
65
+ });
66
+ if (existingSizesFieldIndex_1 > -1) {
67
+ fields.splice(existingSizesFieldIndex_1, 1);
68
+ }
69
+ var sizesField = __assign(__assign({}, (existingSizesField_1 || {})), { name: 'sizes', type: 'group', admin: {
70
+ disabled: true,
71
+ }, fields: collection.upload.imageSizes.map(function (size) {
72
+ var _a;
73
+ 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; });
74
+ var existingSizeURLField = existingSizeField === null || existingSizeField === void 0 ? void 0 : existingSizeField.fields.find(function (existingField) { return 'name' in existingField && existingField.name === 'url'; });
75
+ return __assign(__assign({}, existingSizeField), { name: size.name, type: 'group', fields: [
76
+ __assign(__assign(__assign({}, (existingSizeURLField || {})), baseURLField), { hooks: {
77
+ afterRead: __spreadArray([
78
+ (0, afterRead_1.getAfterReadHook)({ adapter: adapter, collection: collection, size: size })
79
+ ], (((_a = existingSizeURLField === null || existingSizeURLField === void 0 ? void 0 : existingSizeURLField.hooks) === null || _a === void 0 ? void 0 : _a.afterRead) || []), true),
80
+ } }),
81
+ ] });
82
+ }) });
83
+ fields.push(sizesField);
65
84
  }
66
- var sizesField = __assign(__assign({}, (existingSizesField_1 || {})), { name: 'sizes', type: 'group', admin: {
67
- disabled: true,
68
- }, fields: collection.upload.imageSizes.map(function (size) {
69
- var _a;
70
- 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; });
71
- var existingSizeURLField = existingSizeField === null || existingSizeField === void 0 ? void 0 : existingSizeField.fields.find(function (existingField) { return 'name' in existingField && existingField.name === 'url'; });
72
- return __assign(__assign({}, existingSizeField), { name: size.name, type: 'group', fields: [
73
- __assign(__assign(__assign({}, (existingSizeURLField || {})), baseURLField), { hooks: {
74
- afterRead: __spreadArray([
75
- (0, afterRead_1.getAfterReadHook)({ adapter: adapter, collection: collection, size: size })
76
- ], (((_a = existingSizeURLField === null || existingSizeURLField === void 0 ? void 0 : existingSizeURLField.hooks) === null || _a === void 0 ? void 0 : _a.afterRead) || []), true),
77
- } }),
78
- ] });
79
- }) });
80
- fields.push(sizesField);
81
85
  }
82
86
  return fields;
83
87
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getFields.js","sourceRoot":"","sources":["../../src/fields/getFields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getFields.js","sourceRoot":"","sources":["../../src/fields/getFields.ts"],"names":[],"mappings":"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"}
@@ -44,11 +44,10 @@ var getBeforeChangeHook = function (_a) {
44
44
  var req = _a.req, data = _a.data;
45
45
  return __awaiter(void 0, void 0, void 0, function () {
46
46
  var files, promises, err_1;
47
- var _b;
48
- return __generator(this, function (_c) {
49
- switch (_c.label) {
47
+ return __generator(this, function (_b) {
48
+ switch (_b.label) {
50
49
  case 0:
51
- _c.trys.push([0, 2, , 3]);
50
+ _b.trys.push([0, 2, , 3]);
52
51
  files = (0, getIncomingFiles_1.getIncomingFiles)({ req: req, data: data });
53
52
  promises = files.map(function (file) { return __awaiter(void 0, void 0, void 0, function () {
54
53
  return __generator(this, function (_a) {
@@ -62,11 +61,11 @@ var getBeforeChangeHook = function (_a) {
62
61
  }); });
63
62
  return [4 /*yield*/, Promise.all(promises)];
64
63
  case 1:
65
- _c.sent();
64
+ _b.sent();
66
65
  return [3 /*break*/, 3];
67
66
  case 2:
68
- err_1 = _c.sent();
69
- req.payload.logger.error("There was an error while uploading files corresponding to the ".concat((_b = collection.labels) === null || _b === void 0 ? void 0 : _b.singular, " with filename ").concat(data.filename, ":"));
67
+ err_1 = _b.sent();
68
+ req.payload.logger.error("There was an error while uploading files corresponding to the collection ".concat(collection.slug, " with filename ").concat(data.filename, ":"));
70
69
  req.payload.logger.error(err_1);
71
70
  return [3 /*break*/, 3];
72
71
  case 3: return [2 /*return*/, data];
@@ -1 +1 @@
1
- {"version":3,"file":"beforeChange.js","sourceRoot":"","sources":["../../src/hooks/beforeChange.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,kEAAgE;AAOzD,IAAM,mBAAmB,GAC9B,UAAC,EAA6B;QAA3B,UAAU,gBAAA,EAAE,OAAO,aAAA;IACtB,OAAA,UAAO,EAAa;YAAX,GAAG,SAAA,EAAE,IAAI,UAAA;;;;;;;;wBAER,KAAK,GAAG,IAAA,mCAAgB,EAAC,EAAE,GAAG,KAAA,EAAE,IAAI,MAAA,EAAE,CAAC,CAAA;wBAEvC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,UAAM,IAAI;;;4CACnC,qBAAM,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,YAAA,EAAE,IAAI,MAAA,EAAE,GAAG,KAAA,EAAE,IAAI,MAAA,EAAE,CAAC,EAAA;;wCAA3D,SAA2D,CAAA;;;;6BAC5D,CAAC,CAAA;wBAEF,qBAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAA;;wBAA3B,SAA2B,CAAA;;;;wBAE3B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACtB,wEAAiE,MAAA,UAAU,CAAC,MAAM,0CAAE,QAAQ,4BAAkB,IAAI,CAAC,QAAQ,MAAG,CAC/H,CAAA;wBACD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAG,CAAC,CAAA;;4BAE/B,sBAAO,IAAI,EAAA;;;;KACZ;AAhBD,CAgBC,CAAA;AAlBU,QAAA,mBAAmB,uBAkB7B"}
1
+ {"version":3,"file":"beforeChange.js","sourceRoot":"","sources":["../../src/hooks/beforeChange.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,kEAAgE;AAOzD,IAAM,mBAAmB,GAC9B,UAAC,EAA6B;QAA3B,UAAU,gBAAA,EAAE,OAAO,aAAA;IACtB,OAAA,UAAO,EAAa;YAAX,GAAG,SAAA,EAAE,IAAI,UAAA;;;;;;;wBAER,KAAK,GAAG,IAAA,mCAAgB,EAAC,EAAE,GAAG,KAAA,EAAE,IAAI,MAAA,EAAE,CAAC,CAAA;wBAEvC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,UAAM,IAAI;;;4CACnC,qBAAM,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,YAAA,EAAE,IAAI,MAAA,EAAE,GAAG,KAAA,EAAE,IAAI,MAAA,EAAE,CAAC,EAAA;;wCAA3D,SAA2D,CAAA;;;;6BAC5D,CAAC,CAAA;wBAEF,qBAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAA;;wBAA3B,SAA2B,CAAA;;;;wBAE3B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACtB,mFAA4E,UAAU,CAAC,IAAI,4BAAkB,IAAI,CAAC,QAAQ,MAAG,CAC9H,CAAA;wBACD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAG,CAAC,CAAA;;4BAE/B,sBAAO,IAAI,EAAA;;;;KACZ;AAhBD,CAgBC,CAAA;AAlBU,QAAA,mBAAmB,uBAkB7B"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1 @@
1
1
  export { cloudStorage } from './plugin';
2
- export { azureBlobStorageAdapter } from './adapters/azure';
package/dist/index.js CHANGED
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.azureBlobStorageAdapter = exports.cloudStorage = void 0;
3
+ exports.cloudStorage = void 0;
4
4
  var plugin_1 = require("./plugin");
5
5
  Object.defineProperty(exports, "cloudStorage", { enumerable: true, get: function () { return plugin_1.cloudStorage; } });
6
- var azure_1 = require("./adapters/azure");
7
- Object.defineProperty(exports, "azureBlobStorageAdapter", { enumerable: true, get: function () { return azure_1.azureBlobStorageAdapter; } });
8
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAuC;AAA9B,sGAAA,YAAY,OAAA;AACrB,0CAA0D;AAAjD,gHAAA,uBAAuB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAuC;AAA9B,sGAAA,YAAY,OAAA"}
package/dist/plugin.js CHANGED
@@ -39,17 +39,22 @@ var cloudStorage = function (pluginOptions) {
39
39
  webpack: webpack,
40
40
  }, collections: (config.collections || []).map(function (existingCollection) {
41
41
  var _a, _b;
42
- var options = allCollectionOptions.find(function (_a) {
43
- var slug = _a.slug;
44
- return slug === existingCollection.slug;
45
- });
42
+ var options = allCollectionOptions[existingCollection.slug];
46
43
  if (options) {
47
44
  var adapter = options.adapter({ collection: existingCollection });
48
45
  var fields = (0, getFields_1.getFields)({
49
46
  collection: existingCollection,
47
+ disablePayloadAccessControl: options.disablePayloadAccessControl,
50
48
  adapter: adapter,
51
49
  });
52
- return __assign(__assign({}, existingCollection), { upload: __assign(__assign({}, (typeof existingCollection.upload === 'object' ? existingCollection.upload : {})), { disableLocalStorage: typeof options.disableLocalStorage === 'boolean'
50
+ var handlers = __spreadArray([], (typeof existingCollection.upload === 'object' &&
51
+ Array.isArray(existingCollection.upload.handlers)
52
+ ? existingCollection.upload.handlers
53
+ : []), true);
54
+ if (!options.disablePayloadAccessControl) {
55
+ handlers.push(adapter.staticHandler);
56
+ }
57
+ return __assign(__assign({}, existingCollection), { upload: __assign(__assign({}, (typeof existingCollection.upload === 'object' ? existingCollection.upload : {})), { handlers: handlers, disableLocalStorage: typeof options.disableLocalStorage === 'boolean'
53
58
  ? options.disableLocalStorage
54
59
  : true }), hooks: __assign(__assign({}, (existingCollection.hooks || {})), { beforeChange: __spreadArray(__spreadArray([], (((_a = existingCollection.hooks) === null || _a === void 0 ? void 0 : _a.beforeChange) || []), true), [
55
60
  (0, beforeChange_1.getBeforeChangeHook)({ adapter: adapter, collection: existingCollection }),
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,qCAA+C;AAE/C,qDAA0D;AAC1D,mDAAwD;AACxD,gDAA8C;AAE9C,4EAA4E;AAC5E,4DAA4D;AAE5D,4FAA4F;AAC5F,kFAAkF;AAClF,mDAAmD;AAEnD,0FAA0F;AAEnF,IAAM,YAAY,GACvB,UAAC,aAA4B;IAC7B,OAAA,UAAC,MAAc;QACL,IAAa,oBAAoB,GAAK,aAAa,YAAlB,CAAkB;QAE3D,IAAM,OAAO,GAAG,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAA,EAAE,CAAC,CAAA;QAEvE,6BACK,MAAM,KACT,KAAK,EAAE;gBACL,OAAO,SAAA;aACR,EACD,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAA,kBAAkB;;gBAC5D,IAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAC,EAAQ;wBAAN,IAAI,UAAA;oBAAO,OAAA,IAAI,KAAK,kBAAkB,CAAC,IAAI;gBAAhC,CAAgC,CAAC,CAAA;gBAEzF,IAAI,OAAO,EAAE;oBACX,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAA;oBAEnE,IAAM,MAAM,GAAG,IAAA,qBAAS,EAAC;wBACvB,UAAU,EAAE,kBAAkB;wBAC9B,OAAO,SAAA;qBACR,CAAC,CAAA;oBAEF,6BACK,kBAAkB,KACrB,MAAM,wBACD,CAAC,OAAO,kBAAkB,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KACnF,mBAAmB,EACjB,OAAO,OAAO,CAAC,mBAAmB,KAAK,SAAS;gCAC9C,CAAC,CAAC,OAAO,CAAC,mBAAmB;gCAC7B,CAAC,CAAC,IAAI,KAEZ,KAAK,wBACA,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,KACnC,YAAY,kCACP,CAAC,CAAA,MAAA,kBAAkB,CAAC,KAAK,0CAAE,YAAY,KAAI,EAAE,CAAC;gCACjD,IAAA,kCAAmB,EAAC,EAAE,OAAO,SAAA,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;uCAElE,WAAW,kCACN,CAAC,CAAA,MAAA,kBAAkB,CAAC,KAAK,0CAAE,WAAW,KAAI,EAAE,CAAC;gCAChD,IAAA,gCAAkB,EAAC,EAAE,OAAO,SAAA,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;0CAGnE,MAAM,QAAA,IACP;iBACF;gBAED,OAAO,kBAAkB,CAAA;YAC3B,CAAC,CAAC,IACH;IACH,CAAC;AAhDD,CAgDC,CAAA;AAlDU,QAAA,YAAY,gBAkDtB"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,qCAA+C;AAE/C,qDAA0D;AAC1D,mDAAwD;AACxD,gDAA8C;AAE9C,4EAA4E;AAC5E,4DAA4D;AAE5D,4FAA4F;AAC5F,kFAAkF;AAClF,mDAAmD;AAEnD,0FAA0F;AAEnF,IAAM,YAAY,GACvB,UAAC,aAA4B;IAC7B,OAAA,UAAC,MAAc;QACL,IAAa,oBAAoB,GAAK,aAAa,YAAlB,CAAkB;QAE3D,IAAM,OAAO,GAAG,IAAA,6BAAmB,EAAC,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAA,EAAE,CAAC,CAAA;QAEvE,6BACK,MAAM,KACT,KAAK,EAAE;gBACL,OAAO,SAAA;aACR,EACD,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAA,kBAAkB;;gBAC5D,IAAM,OAAO,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBAE7D,IAAI,OAAO,EAAE;oBACX,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAA;oBAEnE,IAAM,MAAM,GAAG,IAAA,qBAAS,EAAC;wBACvB,UAAU,EAAE,kBAAkB;wBAC9B,2BAA2B,EAAE,OAAO,CAAC,2BAA2B;wBAChE,OAAO,SAAA;qBACR,CAAC,CAAA;oBAEF,IAAM,QAAQ,qBACT,CAAC,OAAO,kBAAkB,CAAC,MAAM,KAAK,QAAQ;wBACjD,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC;wBAC/C,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ;wBACpC,CAAC,CAAC,EAAE,CAAC,OACR,CAAA;oBAED,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE;wBACxC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;qBACrC;oBAED,6BACK,kBAAkB,KACrB,MAAM,wBACD,CAAC,OAAO,kBAAkB,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KACnF,QAAQ,UAAA,EACR,mBAAmB,EACjB,OAAO,OAAO,CAAC,mBAAmB,KAAK,SAAS;gCAC9C,CAAC,CAAC,OAAO,CAAC,mBAAmB;gCAC7B,CAAC,CAAC,IAAI,KAEZ,KAAK,wBACA,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,KACnC,YAAY,kCACP,CAAC,CAAA,MAAA,kBAAkB,CAAC,KAAK,0CAAE,YAAY,KAAI,EAAE,CAAC;gCACjD,IAAA,kCAAmB,EAAC,EAAE,OAAO,SAAA,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;uCAElE,WAAW,kCACN,CAAC,CAAA,MAAA,kBAAkB,CAAC,KAAK,0CAAE,WAAW,KAAI,EAAE,CAAC;gCAChD,IAAA,gCAAkB,EAAC,EAAE,OAAO,SAAA,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;0CAGnE,MAAM,QAAA,IACP;iBACF;gBAED,OAAO,kBAAkB,CAAA;YAC3B,CAAC,CAAC,IACH;IACH,CAAC;AA7DD,CA6DC,CAAA;AA/DU,QAAA,YAAY,gBA+DtB"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ import type { NextFunction, Response } from 'express';
2
3
  import type { TypeWithID } from 'payload/dist/collections/config/types';
3
4
  import type { FileData } from 'payload/dist/uploads/types';
4
5
  import type { CollectionConfig, PayloadRequest } from 'payload/types';
@@ -24,20 +25,22 @@ export declare type GenerateURL = (args: {
24
25
  filename: string;
25
26
  collection: CollectionConfig;
26
27
  }) => string | Promise<string>;
28
+ export declare type StaticHandler = (req: PayloadRequest, res: Response, next: NextFunction) => Promise<unknown> | unknown;
27
29
  export interface GeneratedAdapter {
28
30
  handleUpload: HandleUpload;
29
31
  handleDelete: HandleDelete;
30
32
  generateURL: GenerateURL;
33
+ staticHandler: StaticHandler;
31
34
  webpack?: (config: WebpackConfig) => WebpackConfig;
32
35
  }
33
36
  export declare type Adapter = (args: {
34
37
  collection: CollectionConfig;
35
38
  }) => GeneratedAdapter;
36
39
  export interface CollectionOptions {
37
- slug: string;
38
40
  disableLocalStorage?: boolean;
41
+ disablePayloadAccessControl?: true;
39
42
  adapter: Adapter;
40
43
  }
41
44
  export interface PluginOptions {
42
- collections: CollectionOptions[];
45
+ collections: Record<string, CollectionOptions>;
43
46
  }
package/dist/webpack.js CHANGED
@@ -20,12 +20,10 @@ var extendWebpackConfig = function (_a) {
20
20
  ? config.admin.webpack(webpackConfig)
21
21
  : webpackConfig;
22
22
  var newConfig = __assign(__assign({}, existingWebpackConfig), { resolve: __assign(__assign({}, (existingWebpackConfig.resolve || {})), { alias: __assign({}, (((_b = existingWebpackConfig.resolve) === null || _b === void 0 ? void 0 : _b.alias) ? existingWebpackConfig.resolve.alias : {})) }) });
23
- return options.collections.reduce(function (resultingWebpackConfig, collectionOptions) {
24
- var _a;
25
- var matchedCollection = (_a = config.collections) === null || _a === void 0 ? void 0 : _a.find(function (_a) {
26
- var slug = _a.slug;
27
- return slug === collectionOptions.slug;
28
- });
23
+ return Object.entries(options.collections).reduce(function (resultingWebpackConfig, _a) {
24
+ var _b;
25
+ var slug = _a[0], collectionOptions = _a[1];
26
+ var matchedCollection = (_b = config.collections) === null || _b === void 0 ? void 0 : _b.find(function (coll) { return coll.slug === slug; });
29
27
  if (matchedCollection) {
30
28
  var adapter = collectionOptions.adapter({
31
29
  collection: matchedCollection,
@@ -1 +1 @@
1
- {"version":3,"file":"webpack.js","sourceRoot":"","sources":["../src/webpack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AASO,IAAM,mBAAmB,GAC9B,UAAC,EAAyB;QAAvB,MAAM,YAAA,EAAE,OAAO,aAAA;IAClB,OAAA,UAAA,aAAa;;QACX,IAAM,qBAAqB,GACzB,OAAO,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,OAAO,CAAA,KAAK,UAAU;YACzC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;YACrC,CAAC,CAAC,aAAa,CAAA;QAEnB,IAAM,SAAS,yBACV,qBAAqB,KACxB,OAAO,wBACF,CAAC,qBAAqB,CAAC,OAAO,IAAI,EAAE,CAAC,KACxC,KAAK,eACA,CAAC,CAAA,MAAA,qBAAqB,CAAC,OAAO,0CAAE,KAAK,EAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAGzF,CAAA;QAED,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,UAAC,sBAAsB,EAAE,iBAAiB;;YAC1E,IAAM,iBAAiB,GAAG,MAAA,MAAM,CAAC,WAAW,0CAAE,IAAI,CAChD,UAAC,EAAQ;oBAAN,IAAI,UAAA;gBAAO,OAAA,IAAI,KAAK,iBAAiB,CAAC,IAAI;YAA/B,CAA+B,CAC9C,CAAA;YAED,IAAI,iBAAiB,EAAE;gBACrB,IAAM,OAAO,GAAqB,iBAAiB,CAAC,OAAO,CAAC;oBAC1D,UAAU,EAAE,iBAAiB;iBAC9B,CAAC,CAAA;gBAEF,IAAI,OAAO,CAAC,OAAO,EAAE;oBACnB,OAAO,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;iBAC/C;aACF;YAED,OAAO,sBAAsB,CAAA;QAC/B,CAAC,EAAE,SAAS,CAAC,CAAA;IACf,CAAC;AAjCD,CAiCC,CAAA;AAnCU,QAAA,mBAAmB,uBAmC7B"}
1
+ {"version":3,"file":"webpack.js","sourceRoot":"","sources":["../src/webpack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AASO,IAAM,mBAAmB,GAC9B,UAAC,EAAyB;QAAvB,MAAM,YAAA,EAAE,OAAO,aAAA;IAClB,OAAA,UAAA,aAAa;;QACX,IAAM,qBAAqB,GACzB,OAAO,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,OAAO,CAAA,KAAK,UAAU;YACzC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;YACrC,CAAC,CAAC,aAAa,CAAA;QAEnB,IAAM,SAAS,yBACV,qBAAqB,KACxB,OAAO,wBACF,CAAC,qBAAqB,CAAC,OAAO,IAAI,EAAE,CAAC,KACxC,KAAK,eACA,CAAC,CAAA,MAAA,qBAAqB,CAAC,OAAO,0CAAE,KAAK,EAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAGzF,CAAA;QAED,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAC/C,UAAC,sBAAsB,EAAE,EAAyB;;gBAAxB,IAAI,QAAA,EAAE,iBAAiB,QAAA;YAC/C,IAAM,iBAAiB,GAAG,MAAA,MAAM,CAAC,WAAW,0CAAE,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,IAAI,EAAlB,CAAkB,CAAC,CAAA;YAE9E,IAAI,iBAAiB,EAAE;gBACrB,IAAM,OAAO,GAAqB,iBAAiB,CAAC,OAAO,CAAC;oBAC1D,UAAU,EAAE,iBAAiB;iBAC9B,CAAC,CAAA;gBAEF,IAAI,OAAO,CAAC,OAAO,EAAE;oBACnB,OAAO,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;iBAC/C;aACF;YAED,OAAO,sBAAsB,CAAA;QAC/B,CAAC,EACD,SAAS,CACV,CAAA;IACH,CAAC;AAlCD,CAkCC,CAAA;AApCU,QAAA,mBAAmB,uBAoC7B"}
package/package.json CHANGED
@@ -1,12 +1,9 @@
1
1
  {
2
2
  "name": "@payloadcms/plugin-cloud-storage",
3
3
  "description": "The official cloud storage plugin for Payload CMS",
4
- "version": "1.0.0",
4
+ "version": "1.0.3",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
- "files": [
8
- "dist"
9
- ],
10
7
  "license": "SEE LICENSE IN LICENSE.MD",
11
8
  "scripts": {
12
9
  "build": "tsc",
@@ -14,14 +11,25 @@
14
11
  "lint:fix": "eslint --fix --ext .ts,.tsx src"
15
12
  },
16
13
  "peerDependencies": {
14
+ "@aws-sdk/client-s3": "^3.142.0",
17
15
  "@azure/storage-blob": "^12.11.0"
18
16
  },
19
17
  "peerDependenciesMeta": {
18
+ "@aws-sdk/client-s3": {
19
+ "optional": true
20
+ },
20
21
  "@azure/storage-blob": {
21
22
  "optional": true
22
23
  }
23
24
  },
25
+ "files": [
26
+ "dist",
27
+ "*.js",
28
+ "*.d.ts",
29
+ "!.prettierrc.js"
30
+ ],
24
31
  "devDependencies": {
32
+ "@aws-sdk/client-s3": "^3.142.0",
25
33
  "@azure/storage-blob": "^12.11.0",
26
34
  "@types/express": "^4.17.9",
27
35
  "@typescript-eslint/eslint-plugin": "5.12.1",
@@ -34,7 +42,7 @@
34
42
  "eslint-plugin-import": "2.25.4",
35
43
  "eslint-plugin-prettier": "^4.0.0",
36
44
  "nodemon": "^2.0.6",
37
- "payload": "^1.0.18",
45
+ "payload": "^1.0.19",
38
46
  "prettier": "^2.7.1",
39
47
  "ts-node": "^9.1.1",
40
48
  "typescript": "^4.1.3"
package/s3.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './dist/adapters/s3'
package/s3.js ADDED
@@ -0,0 +1 @@
1
+ exports.s3Adapter = require('./dist/adapters/s3')