@payloadcms/storage-uploadthing 3.25.0 → 3.26.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/UploadthingClientUploadHandler.d.ts +2 -1
- package/dist/client/UploadthingClientUploadHandler.d.ts.map +1 -1
- package/dist/handleUpload.d.ts.map +1 -1
- package/dist/handleUpload.js +5 -1
- package/dist/handleUpload.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -9
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export declare const UploadthingClientUploadHandler: ({ children, collectionSlug, enabled, extra, serverHandlerPath, }: {
|
|
1
|
+
export declare const UploadthingClientUploadHandler: ({ children, collectionSlug, enabled, extra, prefix, serverHandlerPath, }: {
|
|
2
2
|
children: import("react").ReactNode;
|
|
3
3
|
collectionSlug: import("payload").UploadCollectionSlug;
|
|
4
4
|
enabled?: boolean;
|
|
5
5
|
extra: Record<string, unknown>;
|
|
6
|
+
prefix?: string;
|
|
6
7
|
serverHandlerPath: string;
|
|
7
8
|
}) => import("react").JSX.Element;
|
|
8
9
|
//# sourceMappingURL=UploadthingClientUploadHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadthingClientUploadHandler.d.ts","sourceRoot":"","sources":["../../src/client/UploadthingClientUploadHandler.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,8BAA8B
|
|
1
|
+
{"version":3,"file":"UploadthingClientUploadHandler.d.ts","sourceRoot":"","sources":["../../src/client/UploadthingClientUploadHandler.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,8BAA8B;;;;;;;aAc6L,OAAO,aAD7O,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleUpload.d.ts","sourceRoot":"","sources":["../src/handleUpload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAK/C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAErC,KAAK,gBAAgB,GAAG;IACtB,GAAG,EAAE,GAAG,CAAA;IACR,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,eAAe,mBAAoB,gBAAgB,KAAG,
|
|
1
|
+
{"version":3,"file":"handleUpload.d.ts","sourceRoot":"","sources":["../src/handleUpload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAK/C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAErC,KAAK,gBAAgB,GAAG;IACtB,GAAG,EAAE,GAAG,CAAA;IACR,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,eAAe,mBAAoB,gBAAgB,KAAG,YAqDlE,CAAA"}
|
package/dist/handleUpload.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { APIError } from 'payload';
|
|
2
2
|
import { UTFile } from 'uploadthing/server';
|
|
3
3
|
export const getHandleUpload = ({ acl, utApi })=>{
|
|
4
|
-
return async ({ data, file })=>{
|
|
4
|
+
return async ({ clientUploadContext, data, file })=>{
|
|
5
5
|
try {
|
|
6
|
+
if (clientUploadContext && typeof clientUploadContext === 'object' && 'key' in clientUploadContext && typeof clientUploadContext.key === 'string') {
|
|
7
|
+
// Clear the old file
|
|
8
|
+
await utApi.deleteFiles(clientUploadContext.key);
|
|
9
|
+
}
|
|
6
10
|
const { buffer, filename, mimeType } = file;
|
|
7
11
|
const blob = new Blob([
|
|
8
12
|
buffer
|
package/dist/handleUpload.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/handleUpload.ts"],"sourcesContent":["import type { HandleUpload } from '@payloadcms/plugin-cloud-storage/types'\nimport type { UTApi } from 'uploadthing/server'\n\nimport { APIError } from 'payload'\nimport { UTFile } from 'uploadthing/server'\n\nimport type { ACL } from './index.js'\n\ntype HandleUploadArgs = {\n acl: ACL\n utApi: UTApi\n}\n\nexport const getHandleUpload = ({ acl, utApi }: HandleUploadArgs): HandleUpload => {\n return async ({ data, file }) => {\n try {\n const { buffer, filename, mimeType } = file\n\n const blob = new Blob([buffer], { type: mimeType })\n const res = await utApi.uploadFiles(new UTFile([blob], filename), { acl })\n\n if (res.error) {\n throw new APIError(`Error uploading file: ${res.error.code} - ${res.error.message}`)\n }\n\n // Find matching data.sizes entry\n const foundSize = Object.keys(data.sizes || {}).find(\n (key) => data.sizes?.[key]?.filename === filename,\n )\n\n if (foundSize) {\n data.sizes[foundSize]._key = res.data?.key\n } else {\n data._key = res.data?.key\n data.filename = res.data?.name\n }\n\n return data\n } catch (error: unknown) {\n if (error instanceof Error) {\n // Interrogate uploadthing error which returns FiberFailure\n if ('toJSON' in error && typeof error.toJSON === 'function') {\n const json = error.toJSON() as {\n cause?: { defect?: { _id?: string; data?: { error?: string }; error?: string } }\n }\n if (json.cause?.defect?.error && json.cause.defect.data?.error) {\n throw new APIError(\n `Error uploading file with uploadthing: ${json.cause.defect.error} - ${json.cause.defect.data.error}`,\n )\n }\n } else {\n throw new APIError(`Error uploading file with uploadthing: ${error.message}`)\n }\n }\n }\n }\n}\n"],"names":["APIError","UTFile","getHandleUpload","acl","utApi","data","file","buffer","filename","mimeType","blob","Blob","type","res","uploadFiles","error","code","message","foundSize","Object","keys","sizes","find","
|
|
1
|
+
{"version":3,"sources":["../src/handleUpload.ts"],"sourcesContent":["import type { HandleUpload } from '@payloadcms/plugin-cloud-storage/types'\nimport type { UTApi } from 'uploadthing/server'\n\nimport { APIError } from 'payload'\nimport { UTFile } from 'uploadthing/server'\n\nimport type { ACL } from './index.js'\n\ntype HandleUploadArgs = {\n acl: ACL\n utApi: UTApi\n}\n\nexport const getHandleUpload = ({ acl, utApi }: HandleUploadArgs): HandleUpload => {\n return async ({ clientUploadContext, data, file }) => {\n try {\n if (\n clientUploadContext &&\n typeof clientUploadContext === 'object' &&\n 'key' in clientUploadContext &&\n typeof clientUploadContext.key === 'string'\n ) {\n // Clear the old file\n await utApi.deleteFiles(clientUploadContext.key)\n }\n\n const { buffer, filename, mimeType } = file\n\n const blob = new Blob([buffer], { type: mimeType })\n const res = await utApi.uploadFiles(new UTFile([blob], filename), { acl })\n\n if (res.error) {\n throw new APIError(`Error uploading file: ${res.error.code} - ${res.error.message}`)\n }\n\n // Find matching data.sizes entry\n const foundSize = Object.keys(data.sizes || {}).find(\n (key) => data.sizes?.[key]?.filename === filename,\n )\n\n if (foundSize) {\n data.sizes[foundSize]._key = res.data?.key\n } else {\n data._key = res.data?.key\n data.filename = res.data?.name\n }\n\n return data\n } catch (error: unknown) {\n if (error instanceof Error) {\n // Interrogate uploadthing error which returns FiberFailure\n if ('toJSON' in error && typeof error.toJSON === 'function') {\n const json = error.toJSON() as {\n cause?: { defect?: { _id?: string; data?: { error?: string }; error?: string } }\n }\n if (json.cause?.defect?.error && json.cause.defect.data?.error) {\n throw new APIError(\n `Error uploading file with uploadthing: ${json.cause.defect.error} - ${json.cause.defect.data.error}`,\n )\n }\n } else {\n throw new APIError(`Error uploading file with uploadthing: ${error.message}`)\n }\n }\n }\n }\n}\n"],"names":["APIError","UTFile","getHandleUpload","acl","utApi","clientUploadContext","data","file","key","deleteFiles","buffer","filename","mimeType","blob","Blob","type","res","uploadFiles","error","code","message","foundSize","Object","keys","sizes","find","_key","name","Error","toJSON","json","cause","defect"],"mappings":"AAGA,SAASA,QAAQ,QAAQ,UAAS;AAClC,SAASC,MAAM,QAAQ,qBAAoB;AAS3C,OAAO,MAAMC,kBAAkB,CAAC,EAAEC,GAAG,EAAEC,KAAK,EAAoB;IAC9D,OAAO,OAAO,EAAEC,mBAAmB,EAAEC,IAAI,EAAEC,IAAI,EAAE;QAC/C,IAAI;YACF,IACEF,uBACA,OAAOA,wBAAwB,YAC/B,SAASA,uBACT,OAAOA,oBAAoBG,GAAG,KAAK,UACnC;gBACA,qBAAqB;gBACrB,MAAMJ,MAAMK,WAAW,CAACJ,oBAAoBG,GAAG;YACjD;YAEA,MAAM,EAAEE,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAE,GAAGL;YAEvC,MAAMM,OAAO,IAAIC,KAAK;gBAACJ;aAAO,EAAE;gBAAEK,MAAMH;YAAS;YACjD,MAAMI,MAAM,MAAMZ,MAAMa,WAAW,CAAC,IAAIhB,OAAO;gBAACY;aAAK,EAAEF,WAAW;gBAAER;YAAI;YAExE,IAAIa,IAAIE,KAAK,EAAE;gBACb,MAAM,IAAIlB,SAAS,CAAC,sBAAsB,EAAEgB,IAAIE,KAAK,CAACC,IAAI,CAAC,GAAG,EAAEH,IAAIE,KAAK,CAACE,OAAO,EAAE;YACrF;YAEA,iCAAiC;YACjC,MAAMC,YAAYC,OAAOC,IAAI,CAACjB,KAAKkB,KAAK,IAAI,CAAC,GAAGC,IAAI,CAClD,CAACjB,MAAQF,KAAKkB,KAAK,EAAE,CAAChB,IAAI,EAAEG,aAAaA;YAG3C,IAAIU,WAAW;gBACbf,KAAKkB,KAAK,CAACH,UAAU,CAACK,IAAI,GAAGV,IAAIV,IAAI,EAAEE;YACzC,OAAO;gBACLF,KAAKoB,IAAI,GAAGV,IAAIV,IAAI,EAAEE;gBACtBF,KAAKK,QAAQ,GAAGK,IAAIV,IAAI,EAAEqB;YAC5B;YAEA,OAAOrB;QACT,EAAE,OAAOY,OAAgB;YACvB,IAAIA,iBAAiBU,OAAO;gBAC1B,2DAA2D;gBAC3D,IAAI,YAAYV,SAAS,OAAOA,MAAMW,MAAM,KAAK,YAAY;oBAC3D,MAAMC,OAAOZ,MAAMW,MAAM;oBAGzB,IAAIC,KAAKC,KAAK,EAAEC,QAAQd,SAASY,KAAKC,KAAK,CAACC,MAAM,CAAC1B,IAAI,EAAEY,OAAO;wBAC9D,MAAM,IAAIlB,SACR,CAAC,uCAAuC,EAAE8B,KAAKC,KAAK,CAACC,MAAM,CAACd,KAAK,CAAC,GAAG,EAAEY,KAAKC,KAAK,CAACC,MAAM,CAAC1B,IAAI,CAACY,KAAK,EAAE;oBAEzG;gBACF,OAAO;oBACL,MAAM,IAAIlB,SAAS,CAAC,uCAAuC,EAAEkB,MAAME,OAAO,EAAE;gBAC9E;YACF;QACF;IACF;AACF,EAAC"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,mBAAmB,EAEnB,iBAAiB,EAElB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,KAAK,EAAiB,MAAM,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAarD,MAAM,MAAM,yBAAyB,GAAG;IACtC;;OAEG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAEnC;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAE7F;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;OAEG;IACH,OAAO,EAAE;QACP;;WAEG;QACH,GAAG,CAAC,EAAE,GAAG,CAAA;KACV,GAAG,YAAY,CAAA;CACjB,CAAA;AAED,KAAK,iBAAiB,GAAG,CAAC,yBAAyB,EAAE,yBAAyB,KAAK,MAAM,CAAA;AAEzF,+FAA+F;AAC/F,MAAM,MAAM,GAAG,GAAG,SAAS,GAAG,aAAa,CAAA;AAE3C,eAAO,MAAM,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,mBAAmB,EAEnB,iBAAiB,EAElB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,KAAK,EAAiB,MAAM,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAarD,MAAM,MAAM,yBAAyB,GAAG;IACtC;;OAEG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAEnC;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAE7F;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;OAEG;IACH,OAAO,EAAE;QACP;;WAEG;QACH,GAAG,CAAC,EAAE,GAAG,CAAA;KACV,GAAG,YAAY,CAAA;CACjB,CAAA;AAED,KAAK,iBAAiB,GAAG,CAAC,yBAAyB,EAAE,yBAAyB,KAAK,MAAM,CAAA;AAEzF,+FAA+F;AAC/F,MAAM,MAAM,GAAG,GAAG,SAAS,GAAG,aAAa,CAAA;AAE3C,eAAO,MAAM,kBAAkB,EAAE,iBAyE9B,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -7,19 +7,12 @@ import { getHandleDelete } from './handleDelete.js';
|
|
|
7
7
|
import { getHandleUpload } from './handleUpload.js';
|
|
8
8
|
import { getHandler } from './staticHandler.js';
|
|
9
9
|
export const uploadthingStorage = (uploadthingStorageOptions)=>(incomingConfig)=>{
|
|
10
|
-
|
|
11
|
-
return incomingConfig;
|
|
12
|
-
}
|
|
13
|
-
// Default ACL to public-read
|
|
14
|
-
if (!uploadthingStorageOptions.options.acl) {
|
|
15
|
-
uploadthingStorageOptions.options.acl = 'public-read';
|
|
16
|
-
}
|
|
17
|
-
const adapter = uploadthingInternal(uploadthingStorageOptions);
|
|
10
|
+
const isPluginDisabled = uploadthingStorageOptions.enabled === false;
|
|
18
11
|
initClientUploads({
|
|
19
12
|
clientHandler: '@payloadcms/storage-uploadthing/client#UploadthingClientUploadHandler',
|
|
20
13
|
collections: uploadthingStorageOptions.collections,
|
|
21
14
|
config: incomingConfig,
|
|
22
|
-
enabled:
|
|
15
|
+
enabled: !isPluginDisabled && Boolean(uploadthingStorageOptions.clientUploads),
|
|
23
16
|
serverHandler: getClientUploadRoute({
|
|
24
17
|
access: typeof uploadthingStorageOptions.clientUploads === 'object' ? uploadthingStorageOptions.clientUploads.access : undefined,
|
|
25
18
|
acl: uploadthingStorageOptions.options.acl || 'public-read',
|
|
@@ -27,6 +20,14 @@ export const uploadthingStorage = (uploadthingStorageOptions)=>(incomingConfig)=
|
|
|
27
20
|
}),
|
|
28
21
|
serverHandlerPath: '/storage-uploadthing-client-upload-route'
|
|
29
22
|
});
|
|
23
|
+
if (isPluginDisabled) {
|
|
24
|
+
return incomingConfig;
|
|
25
|
+
}
|
|
26
|
+
// Default ACL to public-read
|
|
27
|
+
if (!uploadthingStorageOptions.options.acl) {
|
|
28
|
+
uploadthingStorageOptions.options.acl = 'public-read';
|
|
29
|
+
}
|
|
30
|
+
const adapter = uploadthingInternal(uploadthingStorageOptions);
|
|
30
31
|
// Add adapter to each collection option object
|
|
31
32
|
const collectionsWithAdapter = Object.entries(uploadthingStorageOptions.collections).reduce((acc, [slug, collOptions])=>({
|
|
32
33
|
...acc,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type {\n Adapter,\n ClientUploadsConfig,\n PluginOptions as CloudStoragePluginOptions,\n CollectionOptions,\n GeneratedAdapter,\n} from '@payloadcms/plugin-cloud-storage/types'\nimport type { Config, Field, Plugin, UploadCollectionSlug } from 'payload'\nimport type { UTApiOptions } from 'uploadthing/types'\n\nimport { cloudStoragePlugin } from '@payloadcms/plugin-cloud-storage'\nimport { initClientUploads } from '@payloadcms/plugin-cloud-storage/utilities'\nimport { createRouteHandler } from 'uploadthing/next'\nimport { createUploadthing, UTApi } from 'uploadthing/server'\n\nimport { generateURL } from './generateURL.js'\nimport { getClientUploadRoute } from './getClientUploadRoute.js'\nimport { getHandleDelete } from './handleDelete.js'\nimport { getHandleUpload } from './handleUpload.js'\nimport { getHandler } from './staticHandler.js'\n\nexport type UploadthingStorageOptions = {\n /**\n * Do uploads directly on the client, to bypass limits on Vercel.\n */\n clientUploads?: ClientUploadsConfig\n\n /**\n * Collection options to apply the adapter to.\n */\n collections: Partial<Record<UploadCollectionSlug, Omit<CollectionOptions, 'adapter'> | true>>\n\n /**\n * Whether or not to enable the plugin\n *\n * Default: true\n */\n enabled?: boolean\n\n /**\n * Uploadthing Options\n */\n options: {\n /**\n * @default 'public-read'\n */\n acl?: ACL\n } & UTApiOptions\n}\n\ntype UploadthingPlugin = (uploadthingStorageOptions: UploadthingStorageOptions) => Plugin\n\n/** NOTE: not synced with uploadthing's internal types. Need to modify if more options added */\nexport type ACL = 'private' | 'public-read'\n\nexport const uploadthingStorage: UploadthingPlugin =\n (uploadthingStorageOptions: UploadthingStorageOptions) =>\n (incomingConfig: Config): Config => {\n
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type {\n Adapter,\n ClientUploadsConfig,\n PluginOptions as CloudStoragePluginOptions,\n CollectionOptions,\n GeneratedAdapter,\n} from '@payloadcms/plugin-cloud-storage/types'\nimport type { Config, Field, Plugin, UploadCollectionSlug } from 'payload'\nimport type { UTApiOptions } from 'uploadthing/types'\n\nimport { cloudStoragePlugin } from '@payloadcms/plugin-cloud-storage'\nimport { initClientUploads } from '@payloadcms/plugin-cloud-storage/utilities'\nimport { createRouteHandler } from 'uploadthing/next'\nimport { createUploadthing, UTApi } from 'uploadthing/server'\n\nimport { generateURL } from './generateURL.js'\nimport { getClientUploadRoute } from './getClientUploadRoute.js'\nimport { getHandleDelete } from './handleDelete.js'\nimport { getHandleUpload } from './handleUpload.js'\nimport { getHandler } from './staticHandler.js'\n\nexport type UploadthingStorageOptions = {\n /**\n * Do uploads directly on the client, to bypass limits on Vercel.\n */\n clientUploads?: ClientUploadsConfig\n\n /**\n * Collection options to apply the adapter to.\n */\n collections: Partial<Record<UploadCollectionSlug, Omit<CollectionOptions, 'adapter'> | true>>\n\n /**\n * Whether or not to enable the plugin\n *\n * Default: true\n */\n enabled?: boolean\n\n /**\n * Uploadthing Options\n */\n options: {\n /**\n * @default 'public-read'\n */\n acl?: ACL\n } & UTApiOptions\n}\n\ntype UploadthingPlugin = (uploadthingStorageOptions: UploadthingStorageOptions) => Plugin\n\n/** NOTE: not synced with uploadthing's internal types. Need to modify if more options added */\nexport type ACL = 'private' | 'public-read'\n\nexport const uploadthingStorage: UploadthingPlugin =\n (uploadthingStorageOptions: UploadthingStorageOptions) =>\n (incomingConfig: Config): Config => {\n const isPluginDisabled = uploadthingStorageOptions.enabled === false\n\n initClientUploads({\n clientHandler: '@payloadcms/storage-uploadthing/client#UploadthingClientUploadHandler',\n collections: uploadthingStorageOptions.collections,\n config: incomingConfig,\n enabled: !isPluginDisabled && Boolean(uploadthingStorageOptions.clientUploads),\n serverHandler: getClientUploadRoute({\n access:\n typeof uploadthingStorageOptions.clientUploads === 'object'\n ? uploadthingStorageOptions.clientUploads.access\n : undefined,\n acl: uploadthingStorageOptions.options.acl || 'public-read',\n token: uploadthingStorageOptions.options.token,\n }),\n serverHandlerPath: '/storage-uploadthing-client-upload-route',\n })\n\n if (isPluginDisabled) {\n return incomingConfig\n }\n\n // Default ACL to public-read\n if (!uploadthingStorageOptions.options.acl) {\n uploadthingStorageOptions.options.acl = 'public-read'\n }\n\n const adapter = uploadthingInternal(uploadthingStorageOptions)\n\n // Add adapter to each collection option object\n const collectionsWithAdapter: CloudStoragePluginOptions['collections'] = Object.entries(\n uploadthingStorageOptions.collections,\n ).reduce(\n (acc, [slug, collOptions]) => ({\n ...acc,\n [slug]: {\n ...(collOptions === true ? {} : collOptions),\n\n // Disable payload access control if the ACL is public-read or not set\n // ...(uploadthingStorageOptions.options.acl === 'public-read'\n // ? { disablePayloadAccessControl: true }\n // : {}),\n\n adapter,\n },\n }),\n {} as Record<string, CollectionOptions>,\n )\n\n // Set disableLocalStorage: true for collections specified in the plugin options\n const config = {\n ...incomingConfig,\n collections: (incomingConfig.collections || []).map((collection) => {\n if (!collectionsWithAdapter[collection.slug]) {\n return collection\n }\n\n return {\n ...collection,\n upload: {\n ...(typeof collection.upload === 'object' ? collection.upload : {}),\n disableLocalStorage: true,\n },\n }\n }),\n }\n\n return cloudStoragePlugin({\n collections: collectionsWithAdapter,\n })(config)\n }\n\nfunction uploadthingInternal(options: UploadthingStorageOptions): Adapter {\n const fields: Field[] = [\n {\n name: '_key',\n type: 'text',\n admin: {\n hidden: true,\n },\n },\n ]\n\n return (): GeneratedAdapter => {\n const {\n options: { acl = 'public-read', ...utOptions },\n } = options\n\n const utApi = new UTApi(utOptions)\n\n return {\n name: 'uploadthing',\n fields,\n generateURL,\n handleDelete: getHandleDelete({ utApi }),\n handleUpload: getHandleUpload({ acl, utApi }),\n staticHandler: getHandler({ utApi }),\n }\n }\n}\n"],"names":["cloudStoragePlugin","initClientUploads","UTApi","generateURL","getClientUploadRoute","getHandleDelete","getHandleUpload","getHandler","uploadthingStorage","uploadthingStorageOptions","incomingConfig","isPluginDisabled","enabled","clientHandler","collections","config","Boolean","clientUploads","serverHandler","access","undefined","acl","options","token","serverHandlerPath","adapter","uploadthingInternal","collectionsWithAdapter","Object","entries","reduce","acc","slug","collOptions","map","collection","upload","disableLocalStorage","fields","name","type","admin","hidden","utOptions","utApi","handleDelete","handleUpload","staticHandler"],"mappings":"AAUA,SAASA,kBAAkB,QAAQ,mCAAkC;AACrE,SAASC,iBAAiB,QAAQ,6CAA4C;AAE9E,SAA4BC,KAAK,QAAQ,qBAAoB;AAE7D,SAASC,WAAW,QAAQ,mBAAkB;AAC9C,SAASC,oBAAoB,QAAQ,4BAA2B;AAChE,SAASC,eAAe,QAAQ,oBAAmB;AACnD,SAASC,eAAe,QAAQ,oBAAmB;AACnD,SAASC,UAAU,QAAQ,qBAAoB;AAoC/C,OAAO,MAAMC,qBACX,CAACC,4BACD,CAACC;QACC,MAAMC,mBAAmBF,0BAA0BG,OAAO,KAAK;QAE/DX,kBAAkB;YAChBY,eAAe;YACfC,aAAaL,0BAA0BK,WAAW;YAClDC,QAAQL;YACRE,SAAS,CAACD,oBAAoBK,QAAQP,0BAA0BQ,aAAa;YAC7EC,eAAed,qBAAqB;gBAClCe,QACE,OAAOV,0BAA0BQ,aAAa,KAAK,WAC/CR,0BAA0BQ,aAAa,CAACE,MAAM,GAC9CC;gBACNC,KAAKZ,0BAA0Ba,OAAO,CAACD,GAAG,IAAI;gBAC9CE,OAAOd,0BAA0Ba,OAAO,CAACC,KAAK;YAChD;YACAC,mBAAmB;QACrB;QAEA,IAAIb,kBAAkB;YACpB,OAAOD;QACT;QAEA,6BAA6B;QAC7B,IAAI,CAACD,0BAA0Ba,OAAO,CAACD,GAAG,EAAE;YAC1CZ,0BAA0Ba,OAAO,CAACD,GAAG,GAAG;QAC1C;QAEA,MAAMI,UAAUC,oBAAoBjB;QAEpC,+CAA+C;QAC/C,MAAMkB,yBAAmEC,OAAOC,OAAO,CACrFpB,0BAA0BK,WAAW,EACrCgB,MAAM,CACN,CAACC,KAAK,CAACC,MAAMC,YAAY,GAAM,CAAA;gBAC7B,GAAGF,GAAG;gBACN,CAACC,KAAK,EAAE;oBACN,GAAIC,gBAAgB,OAAO,CAAC,IAAIA,WAAW;oBAE3C,sEAAsE;oBACtE,8DAA8D;oBAC9D,4CAA4C;oBAC5C,WAAW;oBAEXR;gBACF;YACF,CAAA,GACA,CAAC;QAGH,gFAAgF;QAChF,MAAMV,SAAS;YACb,GAAGL,cAAc;YACjBI,aAAa,AAACJ,CAAAA,eAAeI,WAAW,IAAI,EAAE,AAAD,EAAGoB,GAAG,CAAC,CAACC;gBACnD,IAAI,CAACR,sBAAsB,CAACQ,WAAWH,IAAI,CAAC,EAAE;oBAC5C,OAAOG;gBACT;gBAEA,OAAO;oBACL,GAAGA,UAAU;oBACbC,QAAQ;wBACN,GAAI,OAAOD,WAAWC,MAAM,KAAK,WAAWD,WAAWC,MAAM,GAAG,CAAC,CAAC;wBAClEC,qBAAqB;oBACvB;gBACF;YACF;QACF;QAEA,OAAOrC,mBAAmB;YACxBc,aAAaa;QACf,GAAGZ;IACL,EAAC;AAEH,SAASW,oBAAoBJ,OAAkC;IAC7D,MAAMgB,SAAkB;QACtB;YACEC,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLC,QAAQ;YACV;QACF;KACD;IAED,OAAO;QACL,MAAM,EACJpB,SAAS,EAAED,MAAM,aAAa,EAAE,GAAGsB,WAAW,EAC/C,GAAGrB;QAEJ,MAAMsB,QAAQ,IAAI1C,MAAMyC;QAExB,OAAO;YACLJ,MAAM;YACND;YACAnC;YACA0C,cAAcxC,gBAAgB;gBAAEuC;YAAM;YACtCE,cAAcxC,gBAAgB;gBAAEe;gBAAKuB;YAAM;YAC3CG,eAAexC,WAAW;gBAAEqC;YAAM;QACpC;IACF;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/storage-uploadthing",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.26.0",
|
|
4
4
|
"description": "Payload storage adapter for uploadthing",
|
|
5
5
|
"homepage": "https://payloadcms.com",
|
|
6
6
|
"repository": {
|
|
@@ -37,13 +37,13 @@
|
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"uploadthing": "7.3.0",
|
|
40
|
-
"@payloadcms/plugin-cloud-storage": "3.
|
|
40
|
+
"@payloadcms/plugin-cloud-storage": "3.26.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"payload": "3.
|
|
43
|
+
"payload": "3.26.0"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
|
-
"payload": "3.
|
|
46
|
+
"payload": "3.26.0"
|
|
47
47
|
},
|
|
48
48
|
"engines": {
|
|
49
49
|
"node": "^18.20.2 || >=20.9.0"
|