@payloadcms/next 3.0.0-canary.1331796 → 3.0.0-canary.2189a9e
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":"getFile.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/files/getFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAejE,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,sBAAsB,CAAA;CAC5B,CAAA;AACD,eAAO,MAAM,OAAO,kCAAyC,IAAI,KAAG,QAAQ,QAAQ,
|
|
1
|
+
{"version":3,"file":"getFile.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/files/getFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAejE,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,sBAAsB,CAAA;CAC5B,CAAA;AACD,eAAO,MAAM,OAAO,kCAAyC,IAAI,KAAG,QAAQ,QAAQ,CA4DnF,CAAA"}
|
|
@@ -36,9 +36,8 @@ export const getFile = async ({ collection, filename, req })=>{
|
|
|
36
36
|
const filePath = path.resolve(`${fileDir}/${filename}`);
|
|
37
37
|
const stats = await fsPromises.stat(filePath);
|
|
38
38
|
const data = streamFile(filePath);
|
|
39
|
-
const headers = new Headers(
|
|
40
|
-
|
|
41
|
-
});
|
|
39
|
+
const headers = new Headers(req.headers);
|
|
40
|
+
headers.set('Content-Length', stats.size + '');
|
|
42
41
|
const fileTypeResult = await fileTypeFromFile(filePath) || getFileTypeFallback(filePath);
|
|
43
42
|
headers.set('Content-Type', fileTypeResult.mime);
|
|
44
43
|
return new Response(data, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/routes/rest/files/getFile.ts"],"sourcesContent":["import type { Collection, PayloadRequestWithData } from 'payload'\n\nimport { fileTypeFromFile } from 'file-type'\nimport fsPromises from 'fs/promises'\nimport httpStatus from 'http-status'\nimport path from 'path'\nimport { APIError } from 'payload'\n\nimport { streamFile } from '../../../fetchAPI-stream-file/index.js'\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { routeError } from '../routeError.js'\nimport { checkFileAccess } from './checkFileAccess.js'\nimport { getFileTypeFallback } from './getFileTypeFallback.js'\n\n// /:collectionSlug/file/:filename\ntype Args = {\n collection: Collection\n filename: string\n req: PayloadRequestWithData\n}\nexport const getFile = async ({ collection, filename, req }: Args): Promise<Response> => {\n try {\n if (!collection.config.upload) {\n throw new APIError(\n `This collection is not an upload collection: ${collection.config.slug}`,\n httpStatus.BAD_REQUEST,\n )\n }\n\n const accessResult = await checkFileAccess({\n collection,\n filename,\n req,\n })\n\n if (accessResult instanceof Response) return accessResult\n\n let response: Response = null\n if (collection.config.upload.handlers?.length) {\n for (const handler of collection.config.upload.handlers) {\n response = await handler(req, {\n doc: accessResult,\n params: {\n collection: collection.config.slug,\n filename,\n },\n })\n }\n\n if (response instanceof Response) return response\n }\n\n const fileDir = collection.config.upload?.staticDir || collection.config.slug\n const filePath = path.resolve(`${fileDir}/${filename}`)\n\n const stats = await fsPromises.stat(filePath)\n\n const data = streamFile(filePath)\n\n const headers = new Headers(
|
|
1
|
+
{"version":3,"sources":["../../../../src/routes/rest/files/getFile.ts"],"sourcesContent":["import type { Collection, PayloadRequestWithData } from 'payload'\n\nimport { fileTypeFromFile } from 'file-type'\nimport fsPromises from 'fs/promises'\nimport httpStatus from 'http-status'\nimport path from 'path'\nimport { APIError } from 'payload'\n\nimport { streamFile } from '../../../fetchAPI-stream-file/index.js'\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { routeError } from '../routeError.js'\nimport { checkFileAccess } from './checkFileAccess.js'\nimport { getFileTypeFallback } from './getFileTypeFallback.js'\n\n// /:collectionSlug/file/:filename\ntype Args = {\n collection: Collection\n filename: string\n req: PayloadRequestWithData\n}\nexport const getFile = async ({ collection, filename, req }: Args): Promise<Response> => {\n try {\n if (!collection.config.upload) {\n throw new APIError(\n `This collection is not an upload collection: ${collection.config.slug}`,\n httpStatus.BAD_REQUEST,\n )\n }\n\n const accessResult = await checkFileAccess({\n collection,\n filename,\n req,\n })\n\n if (accessResult instanceof Response) return accessResult\n\n let response: Response = null\n if (collection.config.upload.handlers?.length) {\n for (const handler of collection.config.upload.handlers) {\n response = await handler(req, {\n doc: accessResult,\n params: {\n collection: collection.config.slug,\n filename,\n },\n })\n }\n\n if (response instanceof Response) return response\n }\n\n const fileDir = collection.config.upload?.staticDir || collection.config.slug\n const filePath = path.resolve(`${fileDir}/${filename}`)\n\n const stats = await fsPromises.stat(filePath)\n\n const data = streamFile(filePath)\n\n const headers = new Headers(req.headers)\n headers.set('Content-Length', stats.size + '')\n\n const fileTypeResult = (await fileTypeFromFile(filePath)) || getFileTypeFallback(filePath)\n headers.set('Content-Type', fileTypeResult.mime)\n\n return new Response(data, {\n headers: headersWithCors({\n headers,\n req,\n }),\n status: httpStatus.OK,\n })\n } catch (err) {\n return routeError({\n collection,\n config: req.payload.config,\n err,\n req,\n })\n }\n}\n"],"names":["fileTypeFromFile","fsPromises","httpStatus","path","APIError","streamFile","headersWithCors","routeError","checkFileAccess","getFileTypeFallback","getFile","collection","filename","req","config","upload","slug","BAD_REQUEST","accessResult","Response","response","handlers","length","handler","doc","params","fileDir","staticDir","filePath","resolve","stats","stat","data","headers","Headers","set","size","fileTypeResult","mime","status","OK","err","payload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,gBAAgB,QAAQ,YAAW;AAC5C,OAAOC,gBAAgB,cAAa;AACpC,OAAOC,gBAAgB,cAAa;AACpC,OAAOC,UAAU,OAAM;AACvB,SAASC,QAAQ,QAAQ,UAAS;AAElC,SAASC,UAAU,QAAQ,yCAAwC;AACnE,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,UAAU,QAAQ,mBAAkB;AAC7C,SAASC,eAAe,QAAQ,uBAAsB;AACtD,SAASC,mBAAmB,QAAQ,2BAA0B;AAQ9D,OAAO,MAAMC,UAAU,OAAO,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,GAAG,EAAQ;IAC/D,IAAI;QACF,IAAI,CAACF,WAAWG,MAAM,CAACC,MAAM,EAAE;YAC7B,MAAM,IAAIX,SACR,CAAC,6CAA6C,EAAEO,WAAWG,MAAM,CAACE,IAAI,CAAC,CAAC,EACxEd,WAAWe,WAAW;QAE1B;QAEA,MAAMC,eAAe,MAAMV,gBAAgB;YACzCG;YACAC;YACAC;QACF;QAEA,IAAIK,wBAAwBC,UAAU,OAAOD;QAE7C,IAAIE,WAAqB;QACzB,IAAIT,WAAWG,MAAM,CAACC,MAAM,CAACM,QAAQ,EAAEC,QAAQ;YAC7C,KAAK,MAAMC,WAAWZ,WAAWG,MAAM,CAACC,MAAM,CAACM,QAAQ,CAAE;gBACvDD,WAAW,MAAMG,QAAQV,KAAK;oBAC5BW,KAAKN;oBACLO,QAAQ;wBACNd,YAAYA,WAAWG,MAAM,CAACE,IAAI;wBAClCJ;oBACF;gBACF;YACF;YAEA,IAAIQ,oBAAoBD,UAAU,OAAOC;QAC3C;QAEA,MAAMM,UAAUf,WAAWG,MAAM,CAACC,MAAM,EAAEY,aAAahB,WAAWG,MAAM,CAACE,IAAI;QAC7E,MAAMY,WAAWzB,KAAK0B,OAAO,CAAC,CAAC,EAAEH,QAAQ,CAAC,EAAEd,SAAS,CAAC;QAEtD,MAAMkB,QAAQ,MAAM7B,WAAW8B,IAAI,CAACH;QAEpC,MAAMI,OAAO3B,WAAWuB;QAExB,MAAMK,UAAU,IAAIC,QAAQrB,IAAIoB,OAAO;QACvCA,QAAQE,GAAG,CAAC,kBAAkBL,MAAMM,IAAI,GAAG;QAE3C,MAAMC,iBAAiB,AAAC,MAAMrC,iBAAiB4B,aAAcnB,oBAAoBmB;QACjFK,QAAQE,GAAG,CAAC,gBAAgBE,eAAeC,IAAI;QAE/C,OAAO,IAAInB,SAASa,MAAM;YACxBC,SAAS3B,gBAAgB;gBACvB2B;gBACApB;YACF;YACA0B,QAAQrC,WAAWsC,EAAE;QACvB;IACF,EAAE,OAAOC,KAAK;QACZ,OAAOlC,WAAW;YAChBI;YACAG,QAAQD,IAAI6B,OAAO,CAAC5B,MAAM;YAC1B2B;YACA5B;QACF;IACF;AACF,EAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/next",
|
|
3
|
-
"version": "3.0.0-canary.
|
|
3
|
+
"version": "3.0.0-canary.2189a9e",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -62,9 +62,9 @@
|
|
|
62
62
|
"sass": "1.77.4",
|
|
63
63
|
"sonner": "^1.5.0",
|
|
64
64
|
"ws": "^8.16.0",
|
|
65
|
-
"@payloadcms/graphql": "3.0.0-canary.
|
|
66
|
-
"@payloadcms/
|
|
67
|
-
"@payloadcms/
|
|
65
|
+
"@payloadcms/graphql": "3.0.0-canary.2189a9e",
|
|
66
|
+
"@payloadcms/ui": "3.0.0-canary.2189a9e",
|
|
67
|
+
"@payloadcms/translations": "3.0.0-canary.2189a9e"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@next/eslint-plugin-next": "^14.1.0",
|
|
@@ -83,13 +83,13 @@
|
|
|
83
83
|
"terser-webpack-plugin": "^5.3.10",
|
|
84
84
|
"webpack": "^5.78.0",
|
|
85
85
|
"webpack-cli": "^5.1.4",
|
|
86
|
-
"
|
|
87
|
-
"
|
|
86
|
+
"payload": "3.0.0-canary.2189a9e",
|
|
87
|
+
"@payloadcms/eslint-config": "1.1.1"
|
|
88
88
|
},
|
|
89
89
|
"peerDependencies": {
|
|
90
90
|
"graphql": "^16.8.1",
|
|
91
91
|
"next": "^15.0.0-rc.0",
|
|
92
|
-
"payload": "3.0.0-canary.
|
|
92
|
+
"payload": "3.0.0-canary.2189a9e"
|
|
93
93
|
},
|
|
94
94
|
"engines": {
|
|
95
95
|
"node": "^18.20.2 || >=20.9.0"
|