@payloadcms/plugin-cloud-storage 1.0.9 → 1.0.11

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
@@ -51,12 +51,13 @@ This plugin is configurable to work across many different Payload collections. A
51
51
 
52
52
  **Collection-specific options:**
53
53
 
54
- | Option | Type | Description |
55
- |-------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------|
56
- | `adapter` * | [Adapter](https://github.com/payloadcms/plugin-cloud-storage/blob/c4a492a62abc2f21b4cd6a7c97778acd8e831212/src/types.ts#L46) | Pass in the adapter that you'd like to use for this collection. You can also set this field to `null` for local development if you'd like to bypass cloud storage in certain scenarios and use local storage. |
57
- | `disableLocalStorage` | `boolean` | Choose to disable local storage on this collection. Defaults to `true`. |
58
- | `disablePayloadAccessControl` | `true` | Set to `true` to disable Payload's access control. [More](#payload-access-control) |
59
- | `prefix` | `string` | Set to `media/images` to upload files inside `media/images` folder in the bucket. |
54
+ | Option | Type | Description |
55
+ |-------------------------------|----------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------|
56
+ | `adapter` * | [Adapter](https://github.com/payloadcms/plugin-cloud-storage/blob/master/src/types.ts#L51) | Pass in the adapter that you'd like to use for this collection. You can also set this field to `null` for local development if you'd like to bypass cloud storage in certain scenarios and use local storage. |
57
+ | `disableLocalStorage` | `boolean` | Choose to disable local storage on this collection. Defaults to `true`. |
58
+ | `disablePayloadAccessControl` | `true` | Set to `true` to disable Payload's access control. [More](#payload-access-control) |
59
+ | `prefix` | `string` | Set to `media/images` to upload files inside `media/images` folder in the bucket. |
60
+ | `generateFileURL` | [GenerateFileURL](https://github.com/payloadcms/plugin-cloud-storage/blob/master/src/types.ts#L53) | Override the generated file URL with one that you create. |
60
61
 
61
62
  ### Azure Blob Storage Adapter
62
63
 
@@ -1,10 +1,11 @@
1
1
  import type { CollectionConfig, Field } from 'payload/types';
2
- import type { GeneratedAdapter } from '../types';
2
+ import type { GeneratedAdapter, GenerateFileURL } from '../types';
3
3
  interface Args {
4
4
  collection: CollectionConfig;
5
5
  disablePayloadAccessControl?: true;
6
+ generateFileURL?: GenerateFileURL;
6
7
  prefix?: string;
7
8
  adapter: GeneratedAdapter;
8
9
  }
9
- export declare const getFields: ({ adapter, collection, disablePayloadAccessControl, prefix, }: Args) => Field[];
10
+ export declare const getFields: ({ adapter, collection, disablePayloadAccessControl, generateFileURL, prefix, }: Args) => Field[];
10
11
  export {};
@@ -28,7 +28,7 @@ var path_1 = __importDefault(require("path"));
28
28
  var afterRead_1 = require("../hooks/afterRead");
29
29
  var getFields = function (_a) {
30
30
  var _b;
31
- var adapter = _a.adapter, collection = _a.collection, disablePayloadAccessControl = _a.disablePayloadAccessControl, prefix = _a.prefix;
31
+ var adapter = _a.adapter, collection = _a.collection, disablePayloadAccessControl = _a.disablePayloadAccessControl, generateFileURL = _a.generateFileURL, prefix = _a.prefix;
32
32
  var baseURLField = {
33
33
  name: 'url',
34
34
  label: 'URL',
@@ -47,53 +47,56 @@ var getFields = function (_a) {
47
47
  },
48
48
  };
49
49
  var fields = __spreadArray([], collection.fields, true);
50
- // If Payload access control is disabled,
51
- // inject a hook into all URL fields to point directly to the cloud source
52
- if (disablePayloadAccessControl) {
53
- var existingURLFieldIndex_1 = -1;
54
- var existingURLField = fields.find(function (existingField, i) {
55
- if ('name' in existingField && existingField.name === 'url') {
56
- existingURLFieldIndex_1 = i;
50
+ // Inject a hook into all URL fields to generate URLs
51
+ var existingURLFieldIndex = -1;
52
+ var existingURLField = fields.find(function (existingField, i) {
53
+ if ('name' in existingField && existingField.name === 'url') {
54
+ existingURLFieldIndex = i;
55
+ return true;
56
+ }
57
+ return false;
58
+ });
59
+ if (existingURLFieldIndex > -1) {
60
+ fields.splice(existingURLFieldIndex, 1);
61
+ }
62
+ fields.push(__assign(__assign(__assign({}, baseURLField), (existingURLField || {})), { hooks: {
63
+ afterRead: __spreadArray([
64
+ (0, afterRead_1.getAfterReadHook)({ adapter: adapter, collection: collection, disablePayloadAccessControl: disablePayloadAccessControl, generateFileURL: generateFileURL })
65
+ ], (((_b = existingURLField === null || existingURLField === void 0 ? void 0 : existingURLField.hooks) === null || _b === void 0 ? void 0 : _b.afterRead) || []), true),
66
+ } }));
67
+ if (typeof collection.upload === 'object' && collection.upload.imageSizes) {
68
+ var existingSizesFieldIndex_1 = -1;
69
+ var existingSizesField_1 = fields.find(function (existingField, i) {
70
+ if ('name' in existingField && existingField.name === 'sizes') {
71
+ existingSizesFieldIndex_1 = i;
57
72
  return true;
58
73
  }
59
74
  return false;
60
75
  });
61
- if (existingURLFieldIndex_1 > -1) {
62
- fields.splice(existingURLFieldIndex_1, 1);
63
- }
64
- fields.push(__assign(__assign(__assign({}, baseURLField), (existingURLField || {})), { hooks: {
65
- afterRead: __spreadArray([
66
- (0, afterRead_1.getAfterReadHook)({ adapter: adapter, collection: collection })
67
- ], (((_b = existingURLField === null || existingURLField === void 0 ? void 0 : existingURLField.hooks) === null || _b === void 0 ? void 0 : _b.afterRead) || []), true),
68
- } }));
69
- if (typeof collection.upload === 'object' && collection.upload.imageSizes) {
70
- var existingSizesFieldIndex_1 = -1;
71
- var existingSizesField_1 = fields.find(function (existingField, i) {
72
- if ('name' in existingField && existingField.name === 'sizes') {
73
- existingSizesFieldIndex_1 = i;
74
- return true;
75
- }
76
- return false;
77
- });
78
- if (existingSizesFieldIndex_1 > -1) {
79
- fields.splice(existingSizesFieldIndex_1, 1);
80
- }
81
- var sizesField = __assign(__assign({}, (existingSizesField_1 || {})), { name: 'sizes', type: 'group', admin: {
82
- disabled: true,
83
- }, fields: collection.upload.imageSizes.map(function (size) {
84
- var _a;
85
- 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; });
86
- var existingSizeURLField = existingSizeField === null || existingSizeField === void 0 ? void 0 : existingSizeField.fields.find(function (existingField) { return 'name' in existingField && existingField.name === 'url'; });
87
- return __assign(__assign({}, existingSizeField), { name: size.name, type: 'group', fields: [
88
- __assign(__assign(__assign({}, (existingSizeURLField || {})), baseURLField), { hooks: {
89
- afterRead: __spreadArray([
90
- (0, afterRead_1.getAfterReadHook)({ adapter: adapter, collection: collection, size: size })
91
- ], (((_a = existingSizeURLField === null || existingSizeURLField === void 0 ? void 0 : existingSizeURLField.hooks) === null || _a === void 0 ? void 0 : _a.afterRead) || []), true),
92
- } }),
93
- ] });
94
- }) });
95
- fields.push(sizesField);
76
+ if (existingSizesFieldIndex_1 > -1) {
77
+ fields.splice(existingSizesFieldIndex_1, 1);
96
78
  }
79
+ var sizesField = __assign(__assign({}, (existingSizesField_1 || {})), { name: 'sizes', type: 'group', admin: {
80
+ disabled: true,
81
+ }, fields: collection.upload.imageSizes.map(function (size) {
82
+ var _a;
83
+ var existingSizeField = existingSizesField_1 === null || existingSizesField_1 === void 0 ? void 0 : existingSizesField_1.fields.find(function (existingField) { return 'name' in existingField && existingField.name === size.name; });
84
+ var existingSizeURLField = existingSizeField === null || existingSizeField === void 0 ? void 0 : existingSizeField.fields.find(function (existingField) { return 'name' in existingField && existingField.name === 'url'; });
85
+ return __assign(__assign({}, existingSizeField), { name: size.name, type: 'group', fields: [
86
+ __assign(__assign(__assign({}, (existingSizeURLField || {})), baseURLField), { hooks: {
87
+ afterRead: __spreadArray([
88
+ (0, afterRead_1.getAfterReadHook)({
89
+ adapter: adapter,
90
+ collection: collection,
91
+ size: size,
92
+ disablePayloadAccessControl: disablePayloadAccessControl,
93
+ generateFileURL: generateFileURL,
94
+ })
95
+ ], (((_a = existingSizeURLField === null || existingSizeURLField === void 0 ? void 0 : existingSizeURLField.hooks) === null || _a === void 0 ? void 0 : _a.afterRead) || []), true),
96
+ } }),
97
+ ] });
98
+ }) });
99
+ fields.push(sizesField);
97
100
  }
98
101
  // If prefix is enabled, save it to db
99
102
  if (prefix) {
@@ -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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"}
@@ -1,10 +1,12 @@
1
1
  import type { ImageSize } from 'payload/dist/uploads/types';
2
2
  import type { CollectionConfig, FieldHook } from 'payload/types';
3
- import type { GeneratedAdapter } from '../types';
3
+ import type { GeneratedAdapter, GenerateFileURL } from '../types';
4
4
  interface Args {
5
5
  collection: CollectionConfig;
6
6
  adapter: GeneratedAdapter;
7
+ disablePayloadAccessControl?: boolean;
7
8
  size?: ImageSize;
9
+ generateFileURL?: GenerateFileURL;
8
10
  }
9
- export declare const getAfterReadHook: ({ collection, adapter, size }: Args) => FieldHook;
11
+ export declare const getAfterReadHook: ({ collection, adapter, size, disablePayloadAccessControl, generateFileURL }: Args) => FieldHook;
10
12
  export {};
@@ -38,7 +38,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.getAfterReadHook = void 0;
40
40
  var getAfterReadHook = function (_a) {
41
- var collection = _a.collection, adapter = _a.adapter, size = _a.size;
41
+ var collection = _a.collection, adapter = _a.adapter, size = _a.size, disablePayloadAccessControl = _a.disablePayloadAccessControl, generateFileURL = _a.generateFileURL;
42
42
  return function (_a) {
43
43
  var data = _a.data, value = _a.value;
44
44
  return __awaiter(void 0, void 0, void 0, function () {
@@ -49,6 +49,8 @@ var getAfterReadHook = function (_a) {
49
49
  case 0:
50
50
  filename = size ? (_c = (_b = data === null || data === void 0 ? void 0 : data.sizes) === null || _b === void 0 ? void 0 : _b[size.name]) === null || _c === void 0 ? void 0 : _c.filename : data === null || data === void 0 ? void 0 : data.filename;
51
51
  prefix = data === null || data === void 0 ? void 0 : data.prefix;
52
+ url = value;
53
+ if (!(disablePayloadAccessControl && filename)) return [3 /*break*/, 2];
52
54
  return [4 /*yield*/, adapter.generateURL({
53
55
  collection: collection,
54
56
  filename: filename,
@@ -56,7 +58,19 @@ var getAfterReadHook = function (_a) {
56
58
  })];
57
59
  case 1:
58
60
  url = _d.sent();
59
- return [2 /*return*/, url || value];
61
+ _d.label = 2;
62
+ case 2:
63
+ if (!generateFileURL) return [3 /*break*/, 4];
64
+ return [4 /*yield*/, generateFileURL({
65
+ collection: collection,
66
+ filename: filename,
67
+ prefix: prefix,
68
+ size: size,
69
+ })];
70
+ case 3:
71
+ url = _d.sent();
72
+ _d.label = 4;
73
+ case 4: return [2 /*return*/, url];
60
74
  }
61
75
  });
62
76
  });
@@ -1 +1 @@
1
- {"version":3,"file":"afterRead.js","sourceRoot":"","sources":["../../src/hooks/afterRead.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUO,IAAM,gBAAgB,GAC3B,UAAC,EAAmC;QAAjC,UAAU,gBAAA,EAAE,OAAO,aAAA,EAAE,IAAI,UAAA;IAC5B,OAAA,UAAO,EAAe;YAAb,IAAI,UAAA,EAAE,KAAK,WAAA;;;;;;;wBACZ,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAG,IAAI,CAAC,IAAI,CAAC,0CAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAA;wBACrE,MAAM,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAA;wBAEf,qBAAM,OAAO,CAAC,WAAW,CAAC;gCACpC,UAAU,YAAA;gCACV,QAAQ,UAAA;gCACR,MAAM,QAAA;6BACP,CAAC,EAAA;;wBAJI,GAAG,GAAG,SAIV;wBAEF,sBAAO,GAAG,IAAI,KAAK,EAAA;;;;KACpB;AAXD,CAWC,CAAA;AAbU,QAAA,gBAAgB,oBAa1B"}
1
+ {"version":3,"file":"afterRead.js","sourceRoot":"","sources":["../../src/hooks/afterRead.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,IAAM,gBAAgB,GAC3B,UAAC,EAAiF;QAA/E,UAAU,gBAAA,EAAE,OAAO,aAAA,EAAE,IAAI,UAAA,EAAE,2BAA2B,iCAAA,EAAE,eAAe,qBAAA;IAC1E,OAAA,UAAO,EAAe;YAAb,IAAI,UAAA,EAAE,KAAK,WAAA;;;;;;;wBACZ,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAG,IAAI,CAAC,IAAI,CAAC,0CAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAA;wBACrE,MAAM,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAA;wBACvB,GAAG,GAAG,KAAK,CAAA;6BAEX,CAAA,2BAA2B,IAAI,QAAQ,CAAA,EAAvC,wBAAuC;wBACnC,qBAAM,OAAO,CAAC,WAAW,CAAC;gCAC9B,UAAU,YAAA;gCACV,QAAQ,UAAA;gCACR,MAAM,QAAA;6BACP,CAAC,EAAA;;wBAJF,GAAG,GAAG,SAIJ,CAAA;;;6BAGA,eAAe,EAAf,wBAAe;wBACX,qBAAM,eAAe,CAAC;gCAC1B,UAAU,YAAA;gCACV,QAAQ,UAAA;gCACR,MAAM,QAAA;gCACN,IAAI,MAAA;6BACL,CAAC,EAAA;;wBALF,GAAG,GAAG,SAKJ,CAAA;;4BAGJ,sBAAO,GAAG,EAAA;;;;KACX;AAvBD,CAuBC,CAAA;AAzBU,QAAA,gBAAgB,oBAyB1B"}
package/dist/plugin.js CHANGED
@@ -46,6 +46,7 @@ var cloudStorage = function (pluginOptions) {
46
46
  var fields = (0, getFields_1.getFields)({
47
47
  collection: existingCollection,
48
48
  disablePayloadAccessControl: options.disablePayloadAccessControl,
49
+ generateFileURL: options.generateFileURL,
49
50
  prefix: options.prefix,
50
51
  adapter: adapter,
51
52
  });
@@ -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,iFAAiF;AACjF,qEAAqE;AAErE,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,wBACA,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,KACvB,OAAO,SAAA,KAET,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,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE;oBACpB,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;wBAC9B,UAAU,EAAE,kBAAkB;wBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;qBACvB,CAAC,CAAA;oBAEF,IAAM,MAAM,GAAG,IAAA,qBAAS,EAAC;wBACvB,UAAU,EAAE,kBAAkB;wBAC9B,2BAA2B,EAAE,OAAO,CAAC,2BAA2B;wBAChE,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,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;AAlED,CAkEC,CAAA;AApEU,QAAA,YAAY,gBAoEtB"}
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,iFAAiF;AACjF,qEAAqE;AAErE,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,wBACA,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,KACvB,OAAO,SAAA,KAET,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,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE;oBACpB,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;wBAC9B,UAAU,EAAE,kBAAkB;wBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;qBACvB,CAAC,CAAA;oBAEF,IAAM,MAAM,GAAG,IAAA,qBAAS,EAAC;wBACvB,UAAU,EAAE,kBAAkB;wBAC9B,2BAA2B,EAAE,OAAO,CAAC,2BAA2B;wBAChE,eAAe,EAAE,OAAO,CAAC,eAAe;wBACxC,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,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;AAnED,CAmEC,CAAA;AArEU,QAAA,YAAY,gBAqEtB"}
package/dist/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import type { NextFunction, Response } from 'express';
3
3
  import type { TypeWithID } from 'payload/dist/collections/config/types';
4
- import type { FileData } from 'payload/dist/uploads/types';
4
+ import type { FileData, ImageSize } from 'payload/dist/uploads/types';
5
5
  import type { CollectionConfig, PayloadRequest } from 'payload/types';
6
6
  import type { Configuration as WebpackConfig } from 'webpack';
7
7
  export interface File {
@@ -41,9 +41,16 @@ export declare type Adapter = (args: {
41
41
  collection: CollectionConfig;
42
42
  prefix?: string;
43
43
  }) => GeneratedAdapter;
44
+ export declare type GenerateFileURL = (args: {
45
+ collection: CollectionConfig;
46
+ filename: string;
47
+ prefix?: string;
48
+ size?: ImageSize;
49
+ }) => Promise<string> | string;
44
50
  export interface CollectionOptions {
45
51
  disableLocalStorage?: boolean;
46
52
  disablePayloadAccessControl?: true;
53
+ generateFileURL?: GenerateFileURL;
47
54
  prefix?: string;
48
55
  adapter: Adapter | null;
49
56
  }
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.9",
4
+ "version": "1.0.11",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "license": "SEE LICENSE IN LICENSE.MD",
@@ -49,7 +49,7 @@
49
49
  "eslint-plugin-import": "2.25.4",
50
50
  "eslint-plugin-prettier": "^4.0.0",
51
51
  "nodemon": "^2.0.6",
52
- "payload": "^1.0.27",
52
+ "payload": "^1.1.3",
53
53
  "prettier": "^2.7.1",
54
54
  "ts-node": "^9.1.1",
55
55
  "typescript": "^4.1.3"