@payloadcms/storage-vercel-blob 4.0.0-internal.8867dba → 4.0.0-internal.9726517

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.
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,mBAAmB,EAEpB,MAAM,wCAAwC,CAAA;AAW/C,UAAU,2BAA2B;IACnC,MAAM,EAAE,QAAQ,CAAA;IAChB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,wBAAgB,uBAAuB,CAAC,EACtC,MAAM,EACN,eAAe,EACf,OAAO,EACP,kBAAkB,EAClB,aAAa,EACb,KAAK,EACL,oBAA4B,GAC7B,EAAE,2BAA2B,GAAG,OAAO,CA0HvC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,mBAAmB,EAEpB,MAAM,wCAAwC,CAAA;AAW/C,UAAU,2BAA2B;IACnC,MAAM,EAAE,QAAQ,CAAA;IAChB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,wBAAgB,uBAAuB,CAAC,EACtC,MAAM,EACN,eAAe,EACf,OAAO,EACP,kBAAkB,EAClB,aAAa,EACb,KAAK,EACL,oBAA4B,GAC7B,EAAE,2BAA2B,GAAG,OAAO,CAuHvC"}
package/dist/adapter.js CHANGED
@@ -9,10 +9,11 @@ export function createVercelBlobAdapter({ access, addRandomSuffix, baseUrl, cach
9
9
  const clientUploadsAccess = typeof clientUploads === 'object' ? clientUploads.access : undefined;
10
10
  return ({ collection, prefix = '' })=>({
11
11
  name: 'vercel-blob',
12
- uploadInstructions: clientUploads ? {
12
+ uploadInstructions: {
13
13
  adminHandler: {
14
14
  path: '@payloadcms/storage-vercel-blob/client#VercelBlobClientUploadHandler'
15
15
  },
16
+ enabled: Boolean(clientUploads),
16
17
  generate: async ({ collectionSlug, docPrefix, filename, filesize, mimeType, overrideAccess, req })=>{
17
18
  if (!overrideAccess && (clientUploadsAccess ? !await clientUploadsAccess({
18
19
  collectionSlug,
@@ -55,7 +56,7 @@ export function createVercelBlobAdapter({ access, addRandomSuffix, baseUrl, cach
55
56
  };
56
57
  },
57
58
  useInAdmin: true
58
- } : undefined,
59
+ },
59
60
  generateURL: ({ filename, prefix: urlPrefix = '' })=>generateURL({
60
61
  baseUrl,
61
62
  collectionPrefix: prefix,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/adapter.ts"],"sourcesContent":["import type {\n Adapter,\n ClientUploadsConfig,\n GeneratedAdapter,\n} from '@payloadcms/plugin-cloud-storage/types'\n\nimport { resolveSignedURLKey } from '@payloadcms/plugin-cloud-storage/utilities'\nimport { generateClientTokenFromReadWriteToken } from '@vercel/blob/client'\nimport { Forbidden } from 'payload'\n\nimport { deleteFile } from './deleteFile.js'\nimport { generateURL } from './generateURL.js'\nimport { getFile } from './getFile.js'\nimport { uploadFile } from './uploadFile.js'\n\ninterface CreateVercelBlobAdapterArgs {\n access: 'public'\n addRandomSuffix?: boolean\n baseUrl: string\n cacheControlMaxAge: number\n clientUploads?: ClientUploadsConfig\n token: string\n useCompositePrefixes?: boolean\n}\n\nexport function createVercelBlobAdapter({\n access,\n addRandomSuffix,\n baseUrl,\n cacheControlMaxAge,\n clientUploads,\n token,\n useCompositePrefixes = false,\n}: CreateVercelBlobAdapterArgs): Adapter {\n const clientUploadsAccess = typeof clientUploads === 'object' ? clientUploads.access : undefined\n\n return ({ collection, prefix = '' }): GeneratedAdapter => ({\n name: 'vercel-blob',\n\n uploadInstructions: clientUploads\n ? {\n adminHandler: {\n path: '@payloadcms/storage-vercel-blob/client#VercelBlobClientUploadHandler',\n },\n generate: async ({\n collectionSlug,\n docPrefix,\n filename,\n filesize,\n mimeType,\n overrideAccess,\n req,\n }) => {\n if (\n !overrideAccess &&\n (clientUploadsAccess\n ? !(await clientUploadsAccess({ collectionSlug, req }))\n : !req.user)\n ) {\n throw new Forbidden(req.t)\n }\n\n const resolved = await resolveSignedURLKey({\n collectionPrefix: prefix,\n collectionSlug,\n docPrefix,\n filename,\n req,\n useCompositePrefixes,\n })\n\n return {\n name: 'uploadToVercelBlob',\n type: 'dispatch',\n data: {\n pathname: resolved.fileKey,\n token: await generateClientTokenFromReadWriteToken({\n addRandomSuffix,\n allowedContentTypes: mimeType ? [mimeType] : undefined,\n cacheControlMaxAge,\n maximumSizeInBytes: filesize,\n pathname: resolved.fileKey,\n token,\n }),\n },\n file: {\n filename: resolved.sanitizedFilename,\n mimeType,\n size: filesize,\n uploadReference: { prefix: resolved.sanitizedDocPrefix },\n },\n }\n },\n useInAdmin: true,\n }\n : undefined,\n\n generateURL: ({ filename, prefix: urlPrefix = '' }) =>\n generateURL({\n baseUrl,\n collectionPrefix: prefix,\n filename,\n prefix: urlPrefix,\n useCompositePrefixes,\n }),\n\n handleDelete: ({ doc: { prefix: docPrefix = '' }, filename }) =>\n deleteFile({\n baseUrl,\n collectionPrefix: prefix,\n docPrefix,\n filename,\n token,\n useCompositePrefixes,\n }),\n\n handleUpload: async ({ data, file: { buffer, filename, mimeType } }) => {\n const result = await uploadFile({\n access,\n addRandomSuffix,\n buffer,\n cacheControlMaxAge,\n collectionPrefix: prefix,\n docPrefix: data.prefix,\n filename,\n mimeType,\n token,\n useCompositePrefixes,\n })\n\n if (result.filename) {\n data.filename = result.filename\n }\n\n return data\n },\n\n staticHandler: (\n req,\n { headers, params: { filename, prefix: prefixQueryParam, uploadReference } },\n ) =>\n getFile({\n baseUrl,\n cacheControlMaxAge,\n collection,\n collectionPrefix: prefix,\n filename,\n incomingHeaders: headers,\n prefixQueryParam,\n req,\n token,\n uploadReference,\n useCompositePrefixes,\n }),\n })\n}\n"],"names":["resolveSignedURLKey","generateClientTokenFromReadWriteToken","Forbidden","deleteFile","generateURL","getFile","uploadFile","createVercelBlobAdapter","access","addRandomSuffix","baseUrl","cacheControlMaxAge","clientUploads","token","useCompositePrefixes","clientUploadsAccess","undefined","collection","prefix","name","uploadInstructions","adminHandler","path","generate","collectionSlug","docPrefix","filename","filesize","mimeType","overrideAccess","req","user","t","resolved","collectionPrefix","type","data","pathname","fileKey","allowedContentTypes","maximumSizeInBytes","file","sanitizedFilename","size","uploadReference","sanitizedDocPrefix","useInAdmin","urlPrefix","handleDelete","doc","handleUpload","buffer","result","staticHandler","headers","params","prefixQueryParam","incomingHeaders"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/adapter.ts"],"sourcesContent":["import type {\n Adapter,\n ClientUploadsConfig,\n GeneratedAdapter,\n} from '@payloadcms/plugin-cloud-storage/types'\n\nimport { resolveSignedURLKey } from '@payloadcms/plugin-cloud-storage/utilities'\nimport { generateClientTokenFromReadWriteToken } from '@vercel/blob/client'\nimport { Forbidden } from 'payload'\n\nimport { deleteFile } from './deleteFile.js'\nimport { generateURL } from './generateURL.js'\nimport { getFile } from './getFile.js'\nimport { uploadFile } from './uploadFile.js'\n\ninterface CreateVercelBlobAdapterArgs {\n access: 'public'\n addRandomSuffix?: boolean\n baseUrl: string\n cacheControlMaxAge: number\n clientUploads?: ClientUploadsConfig\n token: string\n useCompositePrefixes?: boolean\n}\n\nexport function createVercelBlobAdapter({\n access,\n addRandomSuffix,\n baseUrl,\n cacheControlMaxAge,\n clientUploads,\n token,\n useCompositePrefixes = false,\n}: CreateVercelBlobAdapterArgs): Adapter {\n const clientUploadsAccess = typeof clientUploads === 'object' ? clientUploads.access : undefined\n\n return ({ collection, prefix = '' }): GeneratedAdapter => ({\n name: 'vercel-blob',\n\n uploadInstructions: {\n adminHandler: {\n path: '@payloadcms/storage-vercel-blob/client#VercelBlobClientUploadHandler',\n },\n enabled: Boolean(clientUploads),\n generate: async ({\n collectionSlug,\n docPrefix,\n filename,\n filesize,\n mimeType,\n overrideAccess,\n req,\n }) => {\n if (\n !overrideAccess &&\n (clientUploadsAccess ? !(await clientUploadsAccess({ collectionSlug, req })) : !req.user)\n ) {\n throw new Forbidden(req.t)\n }\n\n const resolved = await resolveSignedURLKey({\n collectionPrefix: prefix,\n collectionSlug,\n docPrefix,\n filename,\n req,\n useCompositePrefixes,\n })\n\n return {\n name: 'uploadToVercelBlob',\n type: 'dispatch',\n data: {\n pathname: resolved.fileKey,\n token: await generateClientTokenFromReadWriteToken({\n addRandomSuffix,\n allowedContentTypes: mimeType ? [mimeType] : undefined,\n cacheControlMaxAge,\n maximumSizeInBytes: filesize,\n pathname: resolved.fileKey,\n token,\n }),\n },\n file: {\n filename: resolved.sanitizedFilename,\n mimeType,\n size: filesize,\n uploadReference: { prefix: resolved.sanitizedDocPrefix },\n },\n }\n },\n useInAdmin: true,\n },\n\n generateURL: ({ filename, prefix: urlPrefix = '' }) =>\n generateURL({\n baseUrl,\n collectionPrefix: prefix,\n filename,\n prefix: urlPrefix,\n useCompositePrefixes,\n }),\n\n handleDelete: ({ doc: { prefix: docPrefix = '' }, filename }) =>\n deleteFile({\n baseUrl,\n collectionPrefix: prefix,\n docPrefix,\n filename,\n token,\n useCompositePrefixes,\n }),\n\n handleUpload: async ({ data, file: { buffer, filename, mimeType } }) => {\n const result = await uploadFile({\n access,\n addRandomSuffix,\n buffer,\n cacheControlMaxAge,\n collectionPrefix: prefix,\n docPrefix: data.prefix,\n filename,\n mimeType,\n token,\n useCompositePrefixes,\n })\n\n if (result.filename) {\n data.filename = result.filename\n }\n\n return data\n },\n\n staticHandler: (\n req,\n { headers, params: { filename, prefix: prefixQueryParam, uploadReference } },\n ) =>\n getFile({\n baseUrl,\n cacheControlMaxAge,\n collection,\n collectionPrefix: prefix,\n filename,\n incomingHeaders: headers,\n prefixQueryParam,\n req,\n token,\n uploadReference,\n useCompositePrefixes,\n }),\n })\n}\n"],"names":["resolveSignedURLKey","generateClientTokenFromReadWriteToken","Forbidden","deleteFile","generateURL","getFile","uploadFile","createVercelBlobAdapter","access","addRandomSuffix","baseUrl","cacheControlMaxAge","clientUploads","token","useCompositePrefixes","clientUploadsAccess","undefined","collection","prefix","name","uploadInstructions","adminHandler","path","enabled","Boolean","generate","collectionSlug","docPrefix","filename","filesize","mimeType","overrideAccess","req","user","t","resolved","collectionPrefix","type","data","pathname","fileKey","allowedContentTypes","maximumSizeInBytes","file","sanitizedFilename","size","uploadReference","sanitizedDocPrefix","useInAdmin","urlPrefix","handleDelete","doc","handleUpload","buffer","result","staticHandler","headers","params","prefixQueryParam","incomingHeaders"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/storage-vercel-blob",
3
- "version": "4.0.0-internal.8867dba",
3
+ "version": "4.0.0-internal.9726517",
4
4
  "description": "Payload storage adapter for Vercel Blob Storage",
5
5
  "homepage": "https://payloadcms.com",
6
6
  "repository": {
@@ -38,13 +38,13 @@
38
38
  ],
39
39
  "dependencies": {
40
40
  "@vercel/blob": "2.3.1",
41
- "@payloadcms/plugin-cloud-storage": "4.0.0-internal.8867dba"
41
+ "@payloadcms/plugin-cloud-storage": "4.0.0-internal.9726517"
42
42
  },
43
43
  "devDependencies": {
44
- "payload": "4.0.0-internal.8867dba"
44
+ "payload": "4.0.0-internal.9726517"
45
45
  },
46
46
  "peerDependencies": {
47
- "payload": "4.0.0-internal.8867dba"
47
+ "payload": "4.0.0-internal.9726517"
48
48
  },
49
49
  "engines": {
50
50
  "node": ">=24.15.0"