@payloadcms/plugin-cloud-storage 3.25.0-canary.f62445f → 3.25.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/dist/client/createClientUploadHandler.d.ts +22 -0
- package/dist/client/createClientUploadHandler.d.ts.map +1 -0
- package/dist/client/createClientUploadHandler.js +36 -0
- package/dist/client/createClientUploadHandler.js.map +1 -0
- package/dist/exports/client.d.ts +2 -0
- package/dist/exports/client.d.ts.map +1 -0
- package/dist/exports/client.js +3 -0
- package/dist/exports/client.js.map +1 -0
- package/dist/exports/utilities.d.ts +1 -0
- package/dist/exports/utilities.d.ts.map +1 -1
- package/dist/exports/utilities.js +1 -0
- package/dist/exports/utilities.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utilities/initClientUploads.d.ts +13 -0
- package/dist/utilities/initClientUploads.d.ts.map +1 -0
- package/dist/utilities/initClientUploads.js +48 -0
- package/dist/utilities/initClientUploads.js.map +1 -0
- package/package.json +14 -4
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { UploadCollectionSlug } from 'payload';
|
|
2
|
+
import { type ReactNode } from 'react';
|
|
3
|
+
type ClientUploadHandlerProps<T extends Record<string, unknown>> = {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
collectionSlug: UploadCollectionSlug;
|
|
6
|
+
enabled?: boolean;
|
|
7
|
+
extra: T;
|
|
8
|
+
serverHandlerPath: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const createClientUploadHandler: <T extends Record<string, unknown>>({ handler, }: {
|
|
11
|
+
handler: (args: {
|
|
12
|
+
apiRoute: string;
|
|
13
|
+
collectionSlug: UploadCollectionSlug;
|
|
14
|
+
extra: T;
|
|
15
|
+
file: File;
|
|
16
|
+
serverHandlerPath: string;
|
|
17
|
+
serverURL: string;
|
|
18
|
+
updateFilename: (value: string) => void;
|
|
19
|
+
}) => Promise<unknown>;
|
|
20
|
+
}) => ({ children, collectionSlug, enabled, extra, serverHandlerPath, }: ClientUploadHandlerProps<T>) => import("react").JSX.Element;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=createClientUploadHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createClientUploadHandler.d.ts","sourceRoot":"","sources":["../../src/client/createClientUploadHandler.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAGnD,OAAO,EAAY,KAAK,SAAS,EAAa,MAAM,OAAO,CAAA;AAE3D,KAAK,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACjE,QAAQ,EAAE,SAAS,CAAA;IACnB,cAAc,EAAE,oBAAoB,CAAA;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,EAAE,CAAC,CAAA;IACR,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,gBAExE;IACD,OAAO,EAAE,CAAC,IAAI,EAAE;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,cAAc,EAAE,oBAAoB,CAAA;QACpC,KAAK,EAAE,CAAC,CAAA;QACR,IAAI,EAAE,IAAI,CAAA;QACV,iBAAiB,EAAE,MAAM,CAAA;QACzB,SAAS,EAAE,MAAM,CAAA;QACjB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;KACxC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACvB,wEAOI,wBAAwB,CAAC,CAAC,CAAC,gCAkC/B,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useConfig, useEffectEvent, useUploadHandlers } from '@payloadcms/ui';
|
|
4
|
+
import { Fragment, useEffect } from 'react';
|
|
5
|
+
export const createClientUploadHandler = ({ handler })=>{
|
|
6
|
+
return function ClientUploadHandler({ children, collectionSlug, enabled, extra, serverHandlerPath }) {
|
|
7
|
+
const { setUploadHandler } = useUploadHandlers();
|
|
8
|
+
const { config: { routes: { api: apiRoute }, serverURL } } = useConfig();
|
|
9
|
+
const initializeHandler = useEffectEvent(()=>{
|
|
10
|
+
if (enabled) {
|
|
11
|
+
setUploadHandler({
|
|
12
|
+
collectionSlug,
|
|
13
|
+
handler: ({ file, updateFilename })=>{
|
|
14
|
+
return handler({
|
|
15
|
+
apiRoute,
|
|
16
|
+
collectionSlug,
|
|
17
|
+
extra,
|
|
18
|
+
file,
|
|
19
|
+
serverHandlerPath,
|
|
20
|
+
serverURL,
|
|
21
|
+
updateFilename
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
useEffect(()=>{
|
|
28
|
+
initializeHandler();
|
|
29
|
+
}, []);
|
|
30
|
+
return /*#__PURE__*/ _jsx(Fragment, {
|
|
31
|
+
children: children
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=createClientUploadHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/client/createClientUploadHandler.tsx"],"sourcesContent":["'use client'\n\nimport type { UploadCollectionSlug } from 'payload'\n\nimport { useConfig, useEffectEvent, useUploadHandlers } from '@payloadcms/ui'\nimport { Fragment, type ReactNode, useEffect } from 'react'\n\ntype ClientUploadHandlerProps<T extends Record<string, unknown>> = {\n children: ReactNode\n collectionSlug: UploadCollectionSlug\n enabled?: boolean\n extra: T\n serverHandlerPath: string\n}\n\nexport const createClientUploadHandler = <T extends Record<string, unknown>>({\n handler,\n}: {\n handler: (args: {\n apiRoute: string\n collectionSlug: UploadCollectionSlug\n extra: T\n file: File\n serverHandlerPath: string\n serverURL: string\n updateFilename: (value: string) => void\n }) => Promise<unknown>\n}) => {\n return function ClientUploadHandler({\n children,\n collectionSlug,\n enabled,\n extra,\n serverHandlerPath,\n }: ClientUploadHandlerProps<T>) {\n const { setUploadHandler } = useUploadHandlers()\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const initializeHandler = useEffectEvent(() => {\n if (enabled) {\n setUploadHandler({\n collectionSlug,\n handler: ({ file, updateFilename }) => {\n return handler({\n apiRoute,\n collectionSlug,\n extra,\n file,\n serverHandlerPath,\n serverURL,\n updateFilename,\n })\n },\n })\n }\n })\n\n useEffect(() => {\n initializeHandler()\n }, [])\n\n return <Fragment>{children}</Fragment>\n }\n}\n"],"names":["useConfig","useEffectEvent","useUploadHandlers","Fragment","useEffect","createClientUploadHandler","handler","ClientUploadHandler","children","collectionSlug","enabled","extra","serverHandlerPath","setUploadHandler","config","routes","api","apiRoute","serverURL","initializeHandler","file","updateFilename"],"mappings":"AAAA;;AAIA,SAASA,SAAS,EAAEC,cAAc,EAAEC,iBAAiB,QAAQ,iBAAgB;AAC7E,SAASC,QAAQ,EAAkBC,SAAS,QAAQ,QAAO;AAU3D,OAAO,MAAMC,4BAA4B,CAAoC,EAC3EC,OAAO,EAWR;IACC,OAAO,SAASC,oBAAoB,EAClCC,QAAQ,EACRC,cAAc,EACdC,OAAO,EACPC,KAAK,EACLC,iBAAiB,EACW;QAC5B,MAAM,EAAEC,gBAAgB,EAAE,GAAGX;QAC7B,MAAM,EACJY,QAAQ,EACNC,QAAQ,EAAEC,KAAKC,QAAQ,EAAE,EACzBC,SAAS,EACV,EACF,GAAGlB;QAEJ,MAAMmB,oBAAoBlB,eAAe;YACvC,IAAIS,SAAS;gBACXG,iBAAiB;oBACfJ;oBACAH,SAAS,CAAC,EAAEc,IAAI,EAAEC,cAAc,EAAE;wBAChC,OAAOf,QAAQ;4BACbW;4BACAR;4BACAE;4BACAS;4BACAR;4BACAM;4BACAG;wBACF;oBACF;gBACF;YACF;QACF;QAEAjB,UAAU;YACRe;QACF,GAAG,EAAE;QAEL,qBAAO,KAAChB;sBAAUK;;IACpB;AACF,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/exports/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/exports/client.ts"],"sourcesContent":["export { createClientUploadHandler } from '../client/createClientUploadHandler.js'\n"],"names":["createClientUploadHandler"],"mappings":"AAAA,SAASA,yBAAyB,QAAQ,yCAAwC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/exports/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA"}
|
|
1
|
+
{"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/exports/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/exports/utilities.ts"],"sourcesContent":["export { getFilePrefix } from '../utilities/getFilePrefix.js'\n"],"names":["getFilePrefix"],"mappings":"AAAA,SAASA,aAAa,QAAQ,gCAA+B"}
|
|
1
|
+
{"version":3,"sources":["../../src/exports/utilities.ts"],"sourcesContent":["export { getFilePrefix } from '../utilities/getFilePrefix.js'\nexport { initClientUploads } from '../utilities/initClientUploads.js'\n"],"names":["getFilePrefix","initClientUploads"],"mappings":"AAAA,SAASA,aAAa,QAAQ,gCAA+B;AAC7D,SAASC,iBAAiB,QAAQ,oCAAmC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -6,6 +6,13 @@ export interface File {
|
|
|
6
6
|
mimeType: string;
|
|
7
7
|
tempFilePath?: string;
|
|
8
8
|
}
|
|
9
|
+
export type ClientUploadsAccess = (args: {
|
|
10
|
+
collectionSlug: UploadCollectionSlug;
|
|
11
|
+
req: PayloadRequest;
|
|
12
|
+
}) => boolean | Promise<boolean>;
|
|
13
|
+
export type ClientUploadsConfig = {
|
|
14
|
+
access?: ClientUploadsAccess;
|
|
15
|
+
} | boolean;
|
|
9
16
|
export type HandleUpload = (args: {
|
|
10
17
|
collection: CollectionConfig;
|
|
11
18
|
data: any;
|
|
@@ -30,6 +37,7 @@ export type GenerateURL = (args: {
|
|
|
30
37
|
export type StaticHandler = (req: PayloadRequest, args: {
|
|
31
38
|
doc?: TypeWithID;
|
|
32
39
|
params: {
|
|
40
|
+
clientUploadContext?: unknown;
|
|
33
41
|
collection: string;
|
|
34
42
|
filename: string;
|
|
35
43
|
};
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,KAAK,EACL,QAAQ,EACR,SAAS,EACT,cAAc,EACd,UAAU,EACV,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAEhB,MAAM,WAAW,IAAI;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE;IAChC,UAAU,EAAE,gBAAgB,CAAA;IAC5B,IAAI,EAAE,GAAG,CAAA;IACT,IAAI,EAAE,IAAI,CAAA;IACV,GAAG,EAAE,cAAc,CAAA;CACpB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAE1B,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE;IAChC,UAAU,EAAE,gBAAgB,CAAA;IAC5B,GAAG,EAAE,QAAQ,GAAG,UAAU,GAAG,cAAc,CAAA;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAE1B,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE;IAC/B,UAAU,EAAE,gBAAgB,CAAA;IAC5B,IAAI,EAAE,GAAG,CAAA;IACT,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;AAE9B,MAAM,MAAM,aAAa,GAAG,CAC1B,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,KAAK,EACL,QAAQ,EACR,SAAS,EACT,cAAc,EACd,UAAU,EACV,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAEhB,MAAM,WAAW,IAAI;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE;IACvC,cAAc,EAAE,oBAAoB,CAAA;IACpC,GAAG,EAAE,cAAc,CAAA;CACpB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;AAEhC,MAAM,MAAM,mBAAmB,GAC3B;IACE,MAAM,CAAC,EAAE,mBAAmB,CAAA;CAC7B,GACD,OAAO,CAAA;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE;IAChC,UAAU,EAAE,gBAAgB,CAAA;IAC5B,IAAI,EAAE,GAAG,CAAA;IACT,IAAI,EAAE,IAAI,CAAA;IACV,GAAG,EAAE,cAAc,CAAA;CACpB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAE1B,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE;IAChC,UAAU,EAAE,gBAAgB,CAAA;IAC5B,GAAG,EAAE,QAAQ,GAAG,UAAU,GAAG,cAAc,CAAA;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAE1B,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE;IAC/B,UAAU,EAAE,gBAAgB,CAAA;IAC5B,IAAI,EAAE,GAAG,CAAA;IACT,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;AAE9B,MAAM,MAAM,aAAa,GAAG,CAC1B,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IACJ,GAAG,CAAC,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE;QAAE,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAChF,KACE,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;AAEjC,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAChB;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,YAAY,EAAE,YAAY,CAAA;IAC1B,YAAY,EAAE,YAAY,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,aAAa,EAAE,aAAa,CAAA;CAC7B;AAED,MAAM,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,gBAAgB,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK,gBAAgB,CAAA;AAEnG,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE;IACnC,UAAU,EAAE,gBAAgB,CAAA;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;AAE9B,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,2BAA2B,CAAC,EAAE,IAAI,CAAA;IAClC,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC,CAAA;IACrE;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type {\n CollectionConfig,\n Field,\n FileData,\n ImageSize,\n PayloadRequest,\n TypeWithID,\n UploadCollectionSlug,\n} from 'payload'\n\nexport interface File {\n buffer: Buffer\n filename: string\n filesize: number\n mimeType: string\n tempFilePath?: string\n}\n\nexport type HandleUpload = (args: {\n collection: CollectionConfig\n data: any\n file: File\n req: PayloadRequest\n}) => Promise<void> | void\n\nexport interface TypeWithPrefix {\n prefix?: string\n}\n\nexport type HandleDelete = (args: {\n collection: CollectionConfig\n doc: FileData & TypeWithID & TypeWithPrefix\n filename: string\n req: PayloadRequest\n}) => Promise<void> | void\n\nexport type GenerateURL = (args: {\n collection: CollectionConfig\n data: any\n filename: string\n prefix?: string\n}) => Promise<string> | string\n\nexport type StaticHandler = (\n req: PayloadRequest,\n args: {
|
|
1
|
+
{"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type {\n CollectionConfig,\n Field,\n FileData,\n ImageSize,\n PayloadRequest,\n TypeWithID,\n UploadCollectionSlug,\n} from 'payload'\n\nexport interface File {\n buffer: Buffer\n filename: string\n filesize: number\n mimeType: string\n tempFilePath?: string\n}\n\nexport type ClientUploadsAccess = (args: {\n collectionSlug: UploadCollectionSlug\n req: PayloadRequest\n}) => boolean | Promise<boolean>\n\nexport type ClientUploadsConfig =\n | {\n access?: ClientUploadsAccess\n }\n | boolean\n\nexport type HandleUpload = (args: {\n collection: CollectionConfig\n data: any\n file: File\n req: PayloadRequest\n}) => Promise<void> | void\n\nexport interface TypeWithPrefix {\n prefix?: string\n}\n\nexport type HandleDelete = (args: {\n collection: CollectionConfig\n doc: FileData & TypeWithID & TypeWithPrefix\n filename: string\n req: PayloadRequest\n}) => Promise<void> | void\n\nexport type GenerateURL = (args: {\n collection: CollectionConfig\n data: any\n filename: string\n prefix?: string\n}) => Promise<string> | string\n\nexport type StaticHandler = (\n req: PayloadRequest,\n args: {\n doc?: TypeWithID\n params: { clientUploadContext?: unknown; collection: string; filename: string }\n },\n) => Promise<Response> | Response\n\nexport interface GeneratedAdapter {\n /**\n * Additional fields to be injected into the base collection and image sizes\n */\n fields?: Field[]\n /**\n * Generates the public URL for a file\n */\n generateURL?: GenerateURL\n handleDelete: HandleDelete\n handleUpload: HandleUpload\n name: string\n onInit?: () => void\n staticHandler: StaticHandler\n}\n\nexport type Adapter = (args: { collection: CollectionConfig; prefix?: string }) => GeneratedAdapter\n\nexport type GenerateFileURL = (args: {\n collection: CollectionConfig\n filename: string\n prefix?: string\n size?: ImageSize\n}) => Promise<string> | string\n\nexport interface CollectionOptions {\n adapter: Adapter | null\n disableLocalStorage?: boolean\n disablePayloadAccessControl?: true\n generateFileURL?: GenerateFileURL\n prefix?: string\n}\n\nexport interface PluginOptions {\n collections: Partial<Record<UploadCollectionSlug, CollectionOptions>>\n /**\n * Whether or not to enable the plugin\n *\n * Default: true\n */\n enabled?: boolean\n}\n"],"names":[],"mappings":"AA+FA,WAQC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Config, PayloadHandler } from 'payload';
|
|
2
|
+
export declare const initClientUploads: <ExtraProps extends Record<string, unknown>, T>({ clientHandler, collections, config, enabled, extraClientHandlerProps, serverHandler, serverHandlerPath, }: {
|
|
3
|
+
/** Path to clientHandler component */
|
|
4
|
+
clientHandler: string;
|
|
5
|
+
collections: Record<string, T>;
|
|
6
|
+
config: Config;
|
|
7
|
+
enabled: boolean;
|
|
8
|
+
/** extra props to pass to the client handler */
|
|
9
|
+
extraClientHandlerProps?: (collection: T) => ExtraProps;
|
|
10
|
+
serverHandler: PayloadHandler;
|
|
11
|
+
serverHandlerPath: string;
|
|
12
|
+
}) => void;
|
|
13
|
+
//# sourceMappingURL=initClientUploads.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initClientUploads.d.ts","sourceRoot":"","sources":["../../src/utilities/initClientUploads.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAErD,eAAO,MAAM,iBAAiB,GAAI,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,+GAQ5E;IACD,sCAAsC;IACtC,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,gDAAgD;IAChD,uBAAuB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,KAAK,UAAU,CAAA;IACvD,aAAa,EAAE,cAAc,CAAA;IAC7B,iBAAiB,EAAE,MAAM,CAAA;CAC1B,SAuDA,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export const initClientUploads = ({ clientHandler, collections, config, enabled, extraClientHandlerProps, serverHandler, serverHandlerPath })=>{
|
|
2
|
+
if (enabled) {
|
|
3
|
+
if (!config.endpoints) {
|
|
4
|
+
config.endpoints = [];
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Tracks how many times the same handler was already applied.
|
|
8
|
+
* This allows to apply the same plugin multiple times, for example
|
|
9
|
+
* to use different buckets for different collections.
|
|
10
|
+
*/ let handlerCount = 0;
|
|
11
|
+
for (const endpoint of config.endpoints){
|
|
12
|
+
if (endpoint.path === serverHandlerPath) {
|
|
13
|
+
handlerCount++;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
if (handlerCount) {
|
|
17
|
+
serverHandlerPath = `${serverHandlerPath}-${handlerCount}`;
|
|
18
|
+
}
|
|
19
|
+
config.endpoints.push({
|
|
20
|
+
handler: serverHandler,
|
|
21
|
+
method: 'post',
|
|
22
|
+
path: serverHandlerPath
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
if (!config.admin) {
|
|
26
|
+
config.admin = {};
|
|
27
|
+
}
|
|
28
|
+
if (!config.admin.components) {
|
|
29
|
+
config.admin.components = {};
|
|
30
|
+
}
|
|
31
|
+
if (!config.admin.components.providers) {
|
|
32
|
+
config.admin.components.providers = [];
|
|
33
|
+
}
|
|
34
|
+
for(const collectionSlug in collections){
|
|
35
|
+
const collection = collections[collectionSlug];
|
|
36
|
+
config.admin.components.providers.push({
|
|
37
|
+
clientProps: {
|
|
38
|
+
collectionSlug,
|
|
39
|
+
enabled,
|
|
40
|
+
extra: extraClientHandlerProps ? extraClientHandlerProps(collection) : undefined,
|
|
41
|
+
serverHandlerPath
|
|
42
|
+
},
|
|
43
|
+
path: clientHandler
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
//# sourceMappingURL=initClientUploads.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/initClientUploads.ts"],"sourcesContent":["import type { Config, PayloadHandler } from 'payload'\n\nexport const initClientUploads = <ExtraProps extends Record<string, unknown>, T>({\n clientHandler,\n collections,\n config,\n enabled,\n extraClientHandlerProps,\n serverHandler,\n serverHandlerPath,\n}: {\n /** Path to clientHandler component */\n clientHandler: string\n collections: Record<string, T>\n config: Config\n enabled: boolean\n /** extra props to pass to the client handler */\n extraClientHandlerProps?: (collection: T) => ExtraProps\n serverHandler: PayloadHandler\n serverHandlerPath: string\n}) => {\n if (enabled) {\n if (!config.endpoints) {\n config.endpoints = []\n }\n\n /**\n * Tracks how many times the same handler was already applied.\n * This allows to apply the same plugin multiple times, for example\n * to use different buckets for different collections.\n */\n let handlerCount = 0\n\n for (const endpoint of config.endpoints) {\n if (endpoint.path === serverHandlerPath) {\n handlerCount++\n }\n }\n\n if (handlerCount) {\n serverHandlerPath = `${serverHandlerPath}-${handlerCount}`\n }\n\n config.endpoints.push({\n handler: serverHandler,\n method: 'post',\n path: serverHandlerPath,\n })\n }\n\n if (!config.admin) {\n config.admin = {}\n }\n\n if (!config.admin.components) {\n config.admin.components = {}\n }\n\n if (!config.admin.components.providers) {\n config.admin.components.providers = []\n }\n\n for (const collectionSlug in collections) {\n const collection = collections[collectionSlug]\n\n config.admin.components.providers.push({\n clientProps: {\n collectionSlug,\n enabled,\n extra: extraClientHandlerProps ? extraClientHandlerProps(collection) : undefined,\n serverHandlerPath,\n },\n path: clientHandler,\n })\n }\n}\n"],"names":["initClientUploads","clientHandler","collections","config","enabled","extraClientHandlerProps","serverHandler","serverHandlerPath","endpoints","handlerCount","endpoint","path","push","handler","method","admin","components","providers","collectionSlug","collection","clientProps","extra","undefined"],"mappings":"AAEA,OAAO,MAAMA,oBAAoB,CAAgD,EAC/EC,aAAa,EACbC,WAAW,EACXC,MAAM,EACNC,OAAO,EACPC,uBAAuB,EACvBC,aAAa,EACbC,iBAAiB,EAWlB;IACC,IAAIH,SAAS;QACX,IAAI,CAACD,OAAOK,SAAS,EAAE;YACrBL,OAAOK,SAAS,GAAG,EAAE;QACvB;QAEA;;;;KAIC,GACD,IAAIC,eAAe;QAEnB,KAAK,MAAMC,YAAYP,OAAOK,SAAS,CAAE;YACvC,IAAIE,SAASC,IAAI,KAAKJ,mBAAmB;gBACvCE;YACF;QACF;QAEA,IAAIA,cAAc;YAChBF,oBAAoB,GAAGA,kBAAkB,CAAC,EAAEE,cAAc;QAC5D;QAEAN,OAAOK,SAAS,CAACI,IAAI,CAAC;YACpBC,SAASP;YACTQ,QAAQ;YACRH,MAAMJ;QACR;IACF;IAEA,IAAI,CAACJ,OAAOY,KAAK,EAAE;QACjBZ,OAAOY,KAAK,GAAG,CAAC;IAClB;IAEA,IAAI,CAACZ,OAAOY,KAAK,CAACC,UAAU,EAAE;QAC5Bb,OAAOY,KAAK,CAACC,UAAU,GAAG,CAAC;IAC7B;IAEA,IAAI,CAACb,OAAOY,KAAK,CAACC,UAAU,CAACC,SAAS,EAAE;QACtCd,OAAOY,KAAK,CAACC,UAAU,CAACC,SAAS,GAAG,EAAE;IACxC;IAEA,IAAK,MAAMC,kBAAkBhB,YAAa;QACxC,MAAMiB,aAAajB,WAAW,CAACgB,eAAe;QAE9Cf,OAAOY,KAAK,CAACC,UAAU,CAACC,SAAS,CAACL,IAAI,CAAC;YACrCQ,aAAa;gBACXF;gBACAd;gBACAiB,OAAOhB,0BAA0BA,wBAAwBc,cAAcG;gBACvEf;YACF;YACAI,MAAMV;QACR;IACF;AACF,EAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/plugin-cloud-storage",
|
|
3
|
-
"version": "3.25.0
|
|
3
|
+
"version": "3.25.0",
|
|
4
4
|
"description": "The official cloud storage plugin for Payload CMS",
|
|
5
5
|
"homepage": "https://payloadcms.com",
|
|
6
6
|
"repository": {
|
|
@@ -33,6 +33,11 @@
|
|
|
33
33
|
"import": "./dist/exports/utilities.js",
|
|
34
34
|
"types": "./dist/exports/utilities.d.ts",
|
|
35
35
|
"default": "./dist/exports/utilities.js"
|
|
36
|
+
},
|
|
37
|
+
"./client": {
|
|
38
|
+
"import": "./dist/exports/client.js",
|
|
39
|
+
"types": "./dist/exports/client.d.ts",
|
|
40
|
+
"default": "./dist/exports/client.js"
|
|
36
41
|
}
|
|
37
42
|
},
|
|
38
43
|
"main": "./dist/index.js",
|
|
@@ -44,14 +49,19 @@
|
|
|
44
49
|
],
|
|
45
50
|
"dependencies": {
|
|
46
51
|
"find-node-modules": "^2.1.3",
|
|
47
|
-
"range-parser": "^1.2.1"
|
|
52
|
+
"range-parser": "^1.2.1",
|
|
53
|
+
"@payloadcms/ui": "3.25.0"
|
|
48
54
|
},
|
|
49
55
|
"devDependencies": {
|
|
50
56
|
"@types/find-node-modules": "^2.1.2",
|
|
51
|
-
"
|
|
57
|
+
"@types/react": "19.0.10",
|
|
58
|
+
"@types/react-dom": "19.0.4",
|
|
59
|
+
"payload": "3.25.0"
|
|
52
60
|
},
|
|
53
61
|
"peerDependencies": {
|
|
54
|
-
"
|
|
62
|
+
"react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
63
|
+
"react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
64
|
+
"payload": "3.25.0"
|
|
55
65
|
},
|
|
56
66
|
"publishConfig": {
|
|
57
67
|
"registry": "https://registry.npmjs.org/"
|