@payloadcms/plugin-cloud-storage 1.1.3 → 1.2.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
CHANGED
|
@@ -96,11 +96,19 @@ From there, create the adapter, passing in all of its required properties:
|
|
|
96
96
|
```js
|
|
97
97
|
import { azureBlobStorageAdapter } from '@payloadcms/plugin-cloud-storage/azure'
|
|
98
98
|
|
|
99
|
+
// if you need to obtain credentials you may do so by following the instructions here: https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad-app?tabs=javascript
|
|
100
|
+
// or you can use the connection string directly.
|
|
101
|
+
|
|
99
102
|
const adapter = azureBlobStorageAdapter({
|
|
100
103
|
connectionString: process.env.AZURE_STORAGE_CONNECTION_STRING,
|
|
101
104
|
containerName: process.env.AZURE_STORAGE_CONTAINER_NAME,
|
|
102
105
|
allowContainerCreate: process.env.AZURE_STORAGE_ALLOW_CONTAINER_CREATE === 'true',
|
|
103
106
|
baseURL: process.env.AZURE_STORAGE_ACCOUNT_BASEURL,
|
|
107
|
+
/**
|
|
108
|
+
* Optional: You may wish to obtain credentials that cannot be passed through in the connectionString connection option. In that case the connectionString will only be the URL to the storage account.
|
|
109
|
+
* Can be one of AnonymousCredential | StorageSharedKeyCredential | TokenCredential
|
|
110
|
+
**/
|
|
111
|
+
credentials: new StorageSharedKeyCredential(process.env.AZURE_STORAGE_ACCOUNT_NAME, process.env.AZURE_STORAGE_ACCOUNT_KEY),
|
|
104
112
|
})
|
|
105
113
|
|
|
106
114
|
// Now you can pass this adapter to the plugin
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import type { TokenCredential } from '@azure/core-http';
|
|
2
|
+
import type { AnonymousCredential, StorageSharedKeyCredential } from '@azure/storage-blob';
|
|
1
3
|
import type { Adapter } from '../../types';
|
|
2
4
|
export interface Args {
|
|
3
5
|
allowContainerCreate: boolean;
|
|
4
6
|
baseURL: string;
|
|
5
7
|
connectionString: string;
|
|
6
8
|
containerName: string;
|
|
9
|
+
credential?: AnonymousCredential | StorageSharedKeyCredential | TokenCredential;
|
|
7
10
|
}
|
|
8
|
-
export declare const azureBlobStorageAdapter: ({ allowContainerCreate, baseURL, connectionString, containerName, }: Args) => Adapter;
|
|
11
|
+
export declare const azureBlobStorageAdapter: ({ allowContainerCreate, baseURL, connectionString, containerName, credential, }: Args) => Adapter;
|
|
9
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/azure/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/azure/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EACV,mBAAmB,EAEnB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAA;AAI5B,OAAO,KAAK,EAAE,OAAO,EAAoB,MAAM,aAAa,CAAA;AAQ5D,MAAM,WAAW,IAAI;IACnB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,mBAAmB,GAAG,0BAA0B,GAAG,eAAe,CAAA;CAChF;AAED,eAAO,MAAM,uBAAuB,oFAMjC,IAAI,KAAG,OA4BT,CAAA"}
|
|
@@ -14,11 +14,11 @@ const _handleDelete = require("./handleDelete");
|
|
|
14
14
|
const _handleUpload = require("./handleUpload");
|
|
15
15
|
const _staticHandler = require("./staticHandler");
|
|
16
16
|
const _webpack = require("./webpack");
|
|
17
|
-
const azureBlobStorageAdapter = ({ allowContainerCreate, baseURL, connectionString, containerName })=>{
|
|
17
|
+
const azureBlobStorageAdapter = ({ allowContainerCreate, baseURL, connectionString, containerName, credential })=>{
|
|
18
18
|
let storageClient = null;
|
|
19
19
|
const getStorageClient = ()=>{
|
|
20
20
|
if (storageClient) return storageClient;
|
|
21
|
-
const blobServiceClient = _storageblob.BlobServiceClient.fromConnectionString(connectionString);
|
|
21
|
+
const blobServiceClient = credential ? new _storageblob.BlobServiceClient(connectionString, credential) : _storageblob.BlobServiceClient.fromConnectionString(connectionString);
|
|
22
22
|
return storageClient = blobServiceClient.getContainerClient(containerName);
|
|
23
23
|
};
|
|
24
24
|
const createContainerIfNotExists = ()=>{
|
|
@@ -53,4 +53,4 @@ const azureBlobStorageAdapter = ({ allowContainerCreate, baseURL, connectionStri
|
|
|
53
53
|
};
|
|
54
54
|
};
|
|
55
55
|
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGVycy9henVyZS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRva2VuQ3JlZGVudGlhbCB9IGZyb20gJ0BhenVyZS9jb3JlLWh0dHAnXG5pbXBvcnQgdHlwZSB7XG4gIEFub255bW91c0NyZWRlbnRpYWwsXG4gIENvbnRhaW5lckNsaWVudCxcbiAgU3RvcmFnZVNoYXJlZEtleUNyZWRlbnRpYWwsXG59IGZyb20gJ0BhenVyZS9zdG9yYWdlLWJsb2InXG5cbmltcG9ydCB7IEJsb2JTZXJ2aWNlQ2xpZW50IH0gZnJvbSAnQGF6dXJlL3N0b3JhZ2UtYmxvYidcblxuaW1wb3J0IHR5cGUgeyBBZGFwdGVyLCBHZW5lcmF0ZWRBZGFwdGVyIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5cbmltcG9ydCB7IGdldEdlbmVyYXRlVVJMIH0gZnJvbSAnLi9nZW5lcmF0ZVVSTCdcbmltcG9ydCB7IGdldEhhbmRsZURlbGV0ZSB9IGZyb20gJy4vaGFuZGxlRGVsZXRlJ1xuaW1wb3J0IHsgZ2V0SGFuZGxlVXBsb2FkIH0gZnJvbSAnLi9oYW5kbGVVcGxvYWQnXG5pbXBvcnQgeyBnZXRIYW5kbGVyIH0gZnJvbSAnLi9zdGF0aWNIYW5kbGVyJ1xuaW1wb3J0IHsgZXh0ZW5kV2VicGFja0NvbmZpZyB9IGZyb20gJy4vd2VicGFjaydcblxuZXhwb3J0IGludGVyZmFjZSBBcmdzIHtcbiAgYWxsb3dDb250YWluZXJDcmVhdGU6IGJvb2xlYW5cbiAgYmFzZVVSTDogc3RyaW5nXG4gIGNvbm5lY3Rpb25TdHJpbmc6IHN0cmluZ1xuICBjb250YWluZXJOYW1lOiBzdHJpbmdcbiAgY3JlZGVudGlhbD86IEFub255bW91c0NyZWRlbnRpYWwgfCBTdG9yYWdlU2hhcmVkS2V5Q3JlZGVudGlhbCB8IFRva2VuQ3JlZGVudGlhbFxufVxuXG5leHBvcnQgY29uc3QgYXp1cmVCbG9iU3RvcmFnZUFkYXB0ZXIgPSAoe1xuICBhbGxvd0NvbnRhaW5lckNyZWF0ZSxcbiAgYmFzZVVSTCxcbiAgY29ubmVjdGlvblN0cmluZyxcbiAgY29udGFpbmVyTmFtZSxcbiAgY3JlZGVudGlhbCxcbn06IEFyZ3MpOiBBZGFwdGVyID0+IHtcbiAgbGV0IHN0b3JhZ2VDbGllbnQ6IENvbnRhaW5lckNsaWVudCB8IG51bGwgPSBudWxsXG4gIGNvbnN0IGdldFN0b3JhZ2VDbGllbnQgPSAoKSA9PiB7XG4gICAgaWYgKHN0b3JhZ2VDbGllbnQpIHJldHVybiBzdG9yYWdlQ2xpZW50XG4gICAgY29uc3QgYmxvYlNlcnZpY2VDbGllbnQgPSBjcmVkZW50aWFsXG4gICAgICA/IG5ldyBCbG9iU2VydmljZUNsaWVudChjb25uZWN0aW9uU3RyaW5nLCBjcmVkZW50aWFsKVxuICAgICAgOiBCbG9iU2VydmljZUNsaWVudC5mcm9tQ29ubmVjdGlvblN0cmluZyhjb25uZWN0aW9uU3RyaW5nKVxuICAgIHJldHVybiAoc3RvcmFnZUNsaWVudCA9IGJsb2JTZXJ2aWNlQ2xpZW50LmdldENvbnRhaW5lckNsaWVudChjb250YWluZXJOYW1lKSlcbiAgfVxuXG4gIGNvbnN0IGNyZWF0ZUNvbnRhaW5lcklmTm90RXhpc3RzID0gKCkgPT4ge1xuICAgIGdldFN0b3JhZ2VDbGllbnQoKS5jcmVhdGVJZk5vdEV4aXN0cyh7IGFjY2VzczogJ2Jsb2InIH0pXG4gIH1cblxuICByZXR1cm4gKHsgY29sbGVjdGlvbiwgcHJlZml4IH0pOiBHZW5lcmF0ZWRBZGFwdGVyID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgZ2VuZXJhdGVVUkw6IGdldEdlbmVyYXRlVVJMKHsgYmFzZVVSTCwgY29udGFpbmVyTmFtZSB9KSxcbiAgICAgIGhhbmRsZURlbGV0ZTogZ2V0SGFuZGxlRGVsZXRlKHsgY29sbGVjdGlvbiwgZ2V0U3RvcmFnZUNsaWVudCB9KSxcbiAgICAgIGhhbmRsZVVwbG9hZDogZ2V0SGFuZGxlVXBsb2FkKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgZ2V0U3RvcmFnZUNsaWVudCxcbiAgICAgICAgcHJlZml4LFxuICAgICAgfSksXG4gICAgICBzdGF0aWNIYW5kbGVyOiBnZXRIYW5kbGVyKHsgY29sbGVjdGlvbiwgZ2V0U3RvcmFnZUNsaWVudCB9KSxcbiAgICAgIHdlYnBhY2s6IGV4dGVuZFdlYnBhY2tDb25maWcsXG4gICAgICAuLi4oYWxsb3dDb250YWluZXJDcmVhdGUgJiYgeyBvbkluaXQ6IGNyZWF0ZUNvbnRhaW5lcklmTm90RXhpc3RzIH0pLFxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbImF6dXJlQmxvYlN0b3JhZ2VBZGFwdGVyIiwiYWxsb3dDb250YWluZXJDcmVhdGUiLCJiYXNlVVJMIiwiY29ubmVjdGlvblN0cmluZyIsImNvbnRhaW5lck5hbWUiLCJjcmVkZW50aWFsIiwic3RvcmFnZUNsaWVudCIsImdldFN0b3JhZ2VDbGllbnQiLCJibG9iU2VydmljZUNsaWVudCIsIkJsb2JTZXJ2aWNlQ2xpZW50IiwiZnJvbUNvbm5lY3Rpb25TdHJpbmciLCJnZXRDb250YWluZXJDbGllbnQiLCJjcmVhdGVDb250YWluZXJJZk5vdEV4aXN0cyIsImNyZWF0ZUlmTm90RXhpc3RzIiwiYWNjZXNzIiwiY29sbGVjdGlvbiIsInByZWZpeCIsImdlbmVyYXRlVVJMIiwiZ2V0R2VuZXJhdGVVUkwiLCJoYW5kbGVEZWxldGUiLCJnZXRIYW5kbGVEZWxldGUiLCJoYW5kbGVVcGxvYWQiLCJnZXRIYW5kbGVVcGxvYWQiLCJzdGF0aWNIYW5kbGVyIiwiZ2V0SGFuZGxlciIsIndlYnBhY2siLCJleHRlbmRXZWJwYWNrQ29uZmlnIiwib25Jbml0Il0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiOzs7OytCQXlCYUE7OztlQUFBQTs7OzZCQWxCcUI7NkJBSUg7OEJBQ0M7OEJBQ0E7K0JBQ0w7eUJBQ1M7QUFVN0IsTUFBTUEsMEJBQTBCLENBQUMsRUFDdENDLG9CQUFvQixFQUNwQkMsT0FBTyxFQUNQQyxnQkFBZ0IsRUFDaEJDLGFBQWEsRUFDYkMsVUFBVSxFQUNMO0lBQ0wsSUFBSUMsZ0JBQXdDO0lBQzVDLE1BQU1DLG1CQUFtQjtRQUN2QixJQUFJRCxlQUFlLE9BQU9BO1FBQzFCLE1BQU1FLG9CQUFvQkgsYUFDdEIsSUFBSUksOEJBQWlCLENBQUNOLGtCQUFrQkUsY0FDeENJLDhCQUFpQixDQUFDQyxvQkFBb0IsQ0FBQ1A7UUFDM0MsT0FBUUcsZ0JBQWdCRSxrQkFBa0JHLGtCQUFrQixDQUFDUDtJQUMvRDtJQUVBLE1BQU1RLDZCQUE2QjtRQUNqQ0wsbUJBQW1CTSxpQkFBaUIsQ0FBQztZQUFFQyxRQUFRO1FBQU87SUFDeEQ7SUFFQSxPQUFPLENBQUMsRUFBRUMsVUFBVSxFQUFFQyxNQUFNLEVBQUU7UUFDNUIsT0FBTztZQUNMQyxhQUFhQyxJQUFBQSwyQkFBYyxFQUFDO2dCQUFFaEI7Z0JBQVNFO1lBQWM7WUFDckRlLGNBQWNDLElBQUFBLDZCQUFlLEVBQUM7Z0JBQUVMO2dCQUFZUjtZQUFpQjtZQUM3RGMsY0FBY0MsSUFBQUEsNkJBQWUsRUFBQztnQkFDNUJQO2dCQUNBUjtnQkFDQVM7WUFDRjtZQUNBTyxlQUFlQyxJQUFBQSx5QkFBVSxFQUFDO2dCQUFFVDtnQkFBWVI7WUFBaUI7WUFDekRrQixTQUFTQyw0QkFBbUI7WUFDNUIsR0FBSXpCLHdCQUF3QjtnQkFBRTBCLFFBQVFmO1lBQTJCLENBQUM7UUFDcEU7SUFDRjtBQUNGIn0=
|
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.
|
|
4
|
+
"version": "1.2.0",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"license": "MIT",
|
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
"@aws-sdk/client-s3": "^3.142.0",
|
|
46
46
|
"@aws-sdk/lib-storage": "^3.267.0",
|
|
47
47
|
"@azure/storage-blob": "^12.11.0",
|
|
48
|
+
"@azure/core-http": "^3.0.0",
|
|
48
49
|
"@google-cloud/storage": "^6.4.1",
|
|
49
50
|
"@types/express": "^4.17.9",
|
|
50
51
|
"@types/find-node-modules": "^2.1.2",
|
|
@@ -54,7 +55,7 @@
|
|
|
54
55
|
"rimraf": "^4.1.2",
|
|
55
56
|
"ts-node": "^9.1.1",
|
|
56
57
|
"webpack": "^5.78.0",
|
|
57
|
-
"payload": "2.
|
|
58
|
+
"payload": "2.30.1"
|
|
58
59
|
},
|
|
59
60
|
"dependencies": {
|
|
60
61
|
"find-node-modules": "^2.1.3",
|