@payloadcms/next 3.0.0-beta.70 → 3.0.0-beta.72
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/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +3 -5
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/routes/graphql/handler.d.ts.map +1 -1
- package/dist/routes/graphql/handler.js +1 -4
- package/dist/routes/graphql/handler.js.map +1 -1
- package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
- package/dist/routes/rest/collections/restoreVersion.js +2 -0
- package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
- package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
- package/dist/routes/rest/globals/restoreVersion.js +2 -0
- package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
- package/dist/routes/rest/index.d.ts.map +1 -1
- package/dist/routes/rest/index.js +30 -5
- package/dist/routes/rest/index.js.map +1 -1
- package/dist/utilities/initPage/handleAdminPage.js +16 -5
- package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
- package/dist/utilities/initPage/handleAuthRedirect.js +10 -2
- package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
- package/dist/utilities/initPage/shared.d.ts +14 -2
- package/dist/utilities/initPage/shared.d.ts.map +1 -1
- package/dist/utilities/initPage/shared.js +14 -4
- package/dist/utilities/initPage/shared.js.map +1 -1
- package/dist/utilities/mergeHeaders.d.ts +1 -1
- package/dist/utilities/mergeHeaders.d.ts.map +1 -1
- package/dist/utilities/mergeHeaders.js +7 -33
- package/dist/utilities/mergeHeaders.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +5 -6
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.js +7 -42
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Document/getDocumentData.d.ts +1 -0
- package/dist/views/Document/getDocumentData.d.ts.map +1 -1
- package/dist/views/Document/getDocumentData.js +3 -2
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.js +2 -1
- package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/Auth/index.js +70 -15
- package/dist/views/Edit/Default/Auth/index.js.map +1 -1
- package/dist/views/Edit/Default/Auth/types.d.ts +2 -0
- package/dist/views/Edit/Default/Auth/types.d.ts.map +1 -1
- package/dist/views/Edit/Default/Auth/types.js.map +1 -1
- package/dist/views/Edit/Default/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/index.js +13 -9
- package/dist/views/Edit/Default/index.js.map +1 -1
- package/dist/views/LivePreview/index.client.d.ts.map +1 -1
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/Login/LoginField/index.d.ts.map +1 -1
- package/dist/views/Login/LoginField/index.js +3 -0
- package/dist/views/Login/LoginField/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
- package/dist/views/Login/LoginForm/index.js +1 -19
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/ResetPassword/index.client.d.ts.map +1 -1
- package/dist/views/ResetPassword/index.client.js +10 -27
- package/dist/views/ResetPassword/index.client.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.d.ts +1 -2
- package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +3 -1
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +1 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +3 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +1 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/types.d.ts +1 -2
- package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +35 -8
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/Restore/index.scss +31 -0
- package/dist/views/Version/Restore/types.d.ts +1 -0
- package/dist/views/Version/Restore/types.d.ts.map +1 -1
- package/dist/views/Version/Restore/types.js.map +1 -1
- package/dist/views/Version/index.d.ts.map +1 -1
- package/dist/views/Version/index.js +2 -2
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/index.client.d.ts.map +1 -1
- package/dist/views/Versions/index.client.js +3 -2
- package/dist/views/Versions/index.client.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/routes/graphql/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqC,eAAe,EAAE,MAAM,SAAS,CAAA;AAsDjF,eAAO,MAAM,UAAU,WAAkB,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,iBAyBlF,CAAA;AAED,eAAO,MAAM,IAAI,WACN,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eAAqB,OAAO,
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/routes/graphql/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqC,eAAe,EAAE,MAAM,SAAS,CAAA;AAsDjF,eAAO,MAAM,UAAU,WAAkB,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,iBAyBlF,CAAA;AAED,eAAO,MAAM,IAAI,WACN,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eAAqB,OAAO,sBAyD9E,CAAA"}
|
|
@@ -110,11 +110,8 @@ export const POST = (config)=>async (request)=>{
|
|
|
110
110
|
for(const key in headers){
|
|
111
111
|
resHeaders.append(key, headers[key]);
|
|
112
112
|
}
|
|
113
|
-
if (req.responseHeaders) {
|
|
114
|
-
mergeHeaders(req.responseHeaders, resHeaders);
|
|
115
|
-
}
|
|
116
113
|
return new Response(apiResponse.body, {
|
|
117
|
-
headers: resHeaders,
|
|
114
|
+
headers: req.responseHeaders ? mergeHeaders(req.responseHeaders, resHeaders) : resHeaders,
|
|
118
115
|
status: apiResponse.status
|
|
119
116
|
});
|
|
120
117
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/routes/graphql/handler.ts"],"sourcesContent":["import type { GraphQLError, GraphQLFormattedError } from 'graphql'\nimport type { CollectionAfterErrorHook, Payload, SanitizedConfig } from 'payload'\n\nimport { configToSchema } from '@payloadcms/graphql'\nimport { createHandler } from 'graphql-http/lib/use/fetch'\nimport httpStatus from 'http-status'\n\nimport { addDataAndFileToRequest } from '../../utilities/addDataAndFileToRequest.js'\nimport { addLocalesToRequestFromData } from '../../utilities/addLocalesToRequest.js'\nimport { createPayloadRequest } from '../../utilities/createPayloadRequest.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { mergeHeaders } from '../../utilities/mergeHeaders.js'\n\nconst handleError = async (\n payload: Payload,\n err: any,\n debug: boolean,\n afterErrorHook: CollectionAfterErrorHook,\n // eslint-disable-next-line @typescript-eslint/require-await\n): Promise<GraphQLFormattedError> => {\n const status = err.originalError.status || httpStatus.INTERNAL_SERVER_ERROR\n let errorMessage = err.message\n payload.logger.error(err.stack)\n\n // Internal server errors can contain anything, including potentially sensitive data.\n // Therefore, error details will be hidden from the response unless `config.debug` is `true`\n if (!debug && status === httpStatus.INTERNAL_SERVER_ERROR) {\n errorMessage = 'Something went wrong.'\n }\n\n let response: GraphQLFormattedError = {\n extensions: {\n name: err?.originalError?.name || undefined,\n data: (err && err.originalError && err.originalError.data) || undefined,\n stack: debug ? err.stack : undefined,\n statusCode: status,\n },\n locations: err.locations,\n message: errorMessage,\n path: err.path,\n }\n\n if (afterErrorHook) {\n ;({ response } = afterErrorHook(err, response, null, null) || { response })\n }\n\n return response\n}\n\nlet cached = global._payload_graphql\n\nif (!cached) {\n cached = global._payload_graphql = { graphql: null, promise: null }\n}\n\nexport const getGraphql = async (config: Promise<SanitizedConfig> | SanitizedConfig) => {\n if (process.env.NODE_ENV === 'development') {\n cached = global._payload_graphql = { graphql: null, promise: null }\n }\n\n if (cached.graphql) {\n return cached.graphql\n }\n\n if (!cached.promise) {\n const resolvedConfig = await config\n cached.promise = new Promise((resolve) => {\n const schema = configToSchema(resolvedConfig)\n resolve(cached.graphql || schema)\n })\n }\n\n try {\n cached.graphql = await cached.promise\n } catch (e) {\n cached.promise = null\n throw e\n }\n\n return cached.graphql\n}\n\nexport const POST =\n (config: Promise<SanitizedConfig> | SanitizedConfig) => async (request: Request) => {\n const originalRequest = request.clone()\n const req = await createPayloadRequest({\n config,\n request,\n })\n\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n const { schema, validationRules } = await getGraphql(config)\n\n const { payload } = req\n\n const afterErrorHook =\n typeof payload.config.hooks.afterError === 'function' ? payload.config.hooks.afterError : null\n\n const headers = {}\n const apiResponse = await createHandler({\n context: { headers, req },\n onOperation: async (request, args, result) => {\n const response =\n typeof payload.extensions === 'function'\n ? await payload.extensions({\n args,\n req: request,\n result,\n })\n : result\n if (response.errors) {\n const errors = (await Promise.all(\n result.errors.map((error) => {\n return handleError(payload, error, payload.config.debug, afterErrorHook)\n }),\n )) as GraphQLError[]\n // errors type should be FormattedGraphQLError[] but onOperation has a return type of ExecutionResult instead of FormattedExecutionResult\n return { ...response, errors }\n }\n return response\n },\n schema,\n validationRules: (_, args, defaultRules) => defaultRules.concat(validationRules(args)),\n })(originalRequest)\n\n const resHeaders = headersWithCors({\n headers: new Headers(apiResponse.headers),\n req,\n })\n\n for (const key in headers) {\n resHeaders.append(key, headers[key])\n }\n\n
|
|
1
|
+
{"version":3,"sources":["../../../src/routes/graphql/handler.ts"],"sourcesContent":["import type { GraphQLError, GraphQLFormattedError } from 'graphql'\nimport type { CollectionAfterErrorHook, Payload, SanitizedConfig } from 'payload'\n\nimport { configToSchema } from '@payloadcms/graphql'\nimport { createHandler } from 'graphql-http/lib/use/fetch'\nimport httpStatus from 'http-status'\n\nimport { addDataAndFileToRequest } from '../../utilities/addDataAndFileToRequest.js'\nimport { addLocalesToRequestFromData } from '../../utilities/addLocalesToRequest.js'\nimport { createPayloadRequest } from '../../utilities/createPayloadRequest.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { mergeHeaders } from '../../utilities/mergeHeaders.js'\n\nconst handleError = async (\n payload: Payload,\n err: any,\n debug: boolean,\n afterErrorHook: CollectionAfterErrorHook,\n // eslint-disable-next-line @typescript-eslint/require-await\n): Promise<GraphQLFormattedError> => {\n const status = err.originalError.status || httpStatus.INTERNAL_SERVER_ERROR\n let errorMessage = err.message\n payload.logger.error(err.stack)\n\n // Internal server errors can contain anything, including potentially sensitive data.\n // Therefore, error details will be hidden from the response unless `config.debug` is `true`\n if (!debug && status === httpStatus.INTERNAL_SERVER_ERROR) {\n errorMessage = 'Something went wrong.'\n }\n\n let response: GraphQLFormattedError = {\n extensions: {\n name: err?.originalError?.name || undefined,\n data: (err && err.originalError && err.originalError.data) || undefined,\n stack: debug ? err.stack : undefined,\n statusCode: status,\n },\n locations: err.locations,\n message: errorMessage,\n path: err.path,\n }\n\n if (afterErrorHook) {\n ;({ response } = afterErrorHook(err, response, null, null) || { response })\n }\n\n return response\n}\n\nlet cached = global._payload_graphql\n\nif (!cached) {\n cached = global._payload_graphql = { graphql: null, promise: null }\n}\n\nexport const getGraphql = async (config: Promise<SanitizedConfig> | SanitizedConfig) => {\n if (process.env.NODE_ENV === 'development') {\n cached = global._payload_graphql = { graphql: null, promise: null }\n }\n\n if (cached.graphql) {\n return cached.graphql\n }\n\n if (!cached.promise) {\n const resolvedConfig = await config\n cached.promise = new Promise((resolve) => {\n const schema = configToSchema(resolvedConfig)\n resolve(cached.graphql || schema)\n })\n }\n\n try {\n cached.graphql = await cached.promise\n } catch (e) {\n cached.promise = null\n throw e\n }\n\n return cached.graphql\n}\n\nexport const POST =\n (config: Promise<SanitizedConfig> | SanitizedConfig) => async (request: Request) => {\n const originalRequest = request.clone()\n const req = await createPayloadRequest({\n config,\n request,\n })\n\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n const { schema, validationRules } = await getGraphql(config)\n\n const { payload } = req\n\n const afterErrorHook =\n typeof payload.config.hooks.afterError === 'function' ? payload.config.hooks.afterError : null\n\n const headers = {}\n const apiResponse = await createHandler({\n context: { headers, req },\n onOperation: async (request, args, result) => {\n const response =\n typeof payload.extensions === 'function'\n ? await payload.extensions({\n args,\n req: request,\n result,\n })\n : result\n if (response.errors) {\n const errors = (await Promise.all(\n result.errors.map((error) => {\n return handleError(payload, error, payload.config.debug, afterErrorHook)\n }),\n )) as GraphQLError[]\n // errors type should be FormattedGraphQLError[] but onOperation has a return type of ExecutionResult instead of FormattedExecutionResult\n return { ...response, errors }\n }\n return response\n },\n schema,\n validationRules: (_, args, defaultRules) => defaultRules.concat(validationRules(args)),\n })(originalRequest)\n\n const resHeaders = headersWithCors({\n headers: new Headers(apiResponse.headers),\n req,\n })\n\n for (const key in headers) {\n resHeaders.append(key, headers[key])\n }\n\n return new Response(apiResponse.body, {\n headers: req.responseHeaders ? mergeHeaders(req.responseHeaders, resHeaders) : resHeaders,\n status: apiResponse.status,\n })\n }\n"],"names":["configToSchema","createHandler","httpStatus","addDataAndFileToRequest","addLocalesToRequestFromData","createPayloadRequest","headersWithCors","mergeHeaders","handleError","payload","err","debug","afterErrorHook","status","originalError","INTERNAL_SERVER_ERROR","errorMessage","message","logger","error","stack","response","extensions","name","undefined","data","statusCode","locations","path","cached","global","_payload_graphql","graphql","promise","getGraphql","config","process","env","NODE_ENV","resolvedConfig","Promise","resolve","schema","e","POST","request","originalRequest","clone","req","validationRules","hooks","afterError","headers","apiResponse","context","onOperation","args","result","errors","all","map","_","defaultRules","concat","resHeaders","Headers","key","append","Response","body","responseHeaders"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restoreVersion.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/restoreVersion.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAK/D,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"restoreVersion.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/restoreVersion.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAK/D,eAAO,MAAM,cAAc,EAAE,4BAoC5B,CAAA"}
|
|
@@ -6,6 +6,7 @@ import { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js';
|
|
|
6
6
|
export const restoreVersion = async ({ id: incomingID, collection, req })=>{
|
|
7
7
|
const { searchParams } = req;
|
|
8
8
|
const depth = searchParams.get('depth');
|
|
9
|
+
const draft = searchParams.get('draft');
|
|
9
10
|
const id = sanitizeCollectionID({
|
|
10
11
|
id: incomingID,
|
|
11
12
|
collectionSlug: collection.config.slug,
|
|
@@ -15,6 +16,7 @@ export const restoreVersion = async ({ id: incomingID, collection, req })=>{
|
|
|
15
16
|
id,
|
|
16
17
|
collection,
|
|
17
18
|
depth: isNumber(depth) ? Number(depth) : undefined,
|
|
19
|
+
draft: draft === 'true' ? true : undefined,
|
|
18
20
|
req
|
|
19
21
|
});
|
|
20
22
|
return Response.json({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/routes/rest/collections/restoreVersion.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { restoreVersionOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js'\n\nexport const restoreVersion: CollectionRouteHandlerWithID = async ({\n id: incomingID,\n collection,\n req,\n}) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const id = sanitizeCollectionID({\n id: incomingID,\n collectionSlug: collection.config.slug,\n payload: req.payload,\n })\n\n const result = await restoreVersionOperation({\n id,\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n req,\n })\n\n return Response.json(\n {\n ...result,\n message: req.t('version:restoredSuccessfully'),\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["httpStatus","restoreVersionOperation","isNumber","headersWithCors","sanitizeCollectionID","restoreVersion","id","incomingID","collection","req","searchParams","depth","get","collectionSlug","config","slug","payload","result","Number","undefined","Response","json","message","t","headers","Headers","status","OK"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,uBAAuB,QAAQ,UAAS;AACjD,SAASC,QAAQ,QAAQ,iBAAgB;AAIzC,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,oBAAoB,QAAQ,uCAAsC;AAE3E,OAAO,MAAMC,iBAA+C,OAAO,EACjEC,IAAIC,UAAU,EACdC,UAAU,EACVC,GAAG,EACJ;IACC,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,QAAQD,aAAaE,GAAG,CAAC;IAE/B,MAAMN,KAAKF,qBAAqB;QAC9BE,IAAIC;
|
|
1
|
+
{"version":3,"sources":["../../../../src/routes/rest/collections/restoreVersion.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { restoreVersionOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js'\n\nexport const restoreVersion: CollectionRouteHandlerWithID = async ({\n id: incomingID,\n collection,\n req,\n}) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const draft = searchParams.get('draft')\n\n const id = sanitizeCollectionID({\n id: incomingID,\n collectionSlug: collection.config.slug,\n payload: req.payload,\n })\n\n const result = await restoreVersionOperation({\n id,\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: draft === 'true' ? true : undefined,\n req,\n })\n\n return Response.json(\n {\n ...result,\n message: req.t('version:restoredSuccessfully'),\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["httpStatus","restoreVersionOperation","isNumber","headersWithCors","sanitizeCollectionID","restoreVersion","id","incomingID","collection","req","searchParams","depth","get","draft","collectionSlug","config","slug","payload","result","Number","undefined","Response","json","message","t","headers","Headers","status","OK"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,uBAAuB,QAAQ,UAAS;AACjD,SAASC,QAAQ,QAAQ,iBAAgB;AAIzC,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,oBAAoB,QAAQ,uCAAsC;AAE3E,OAAO,MAAMC,iBAA+C,OAAO,EACjEC,IAAIC,UAAU,EACdC,UAAU,EACVC,GAAG,EACJ;IACC,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,QAAQD,aAAaE,GAAG,CAAC;IAC/B,MAAMC,QAAQH,aAAaE,GAAG,CAAC;IAE/B,MAAMN,KAAKF,qBAAqB;QAC9BE,IAAIC;QACJO,gBAAgBN,WAAWO,MAAM,CAACC,IAAI;QACtCC,SAASR,IAAIQ,OAAO;IACtB;IAEA,MAAMC,SAAS,MAAMjB,wBAAwB;QAC3CK;QACAE;QACAG,OAAOT,SAASS,SAASQ,OAAOR,SAASS;QACzCP,OAAOA,UAAU,SAAS,OAAOO;QACjCX;IACF;IAEA,OAAOY,SAASC,IAAI,CAClB;QACE,GAAGJ,MAAM;QACTK,SAASd,IAAIe,CAAC,CAAC;IACjB,GACA;QACEC,SAAStB,gBAAgB;YACvBsB,SAAS,IAAIC;YACbjB;QACF;QACAkB,QAAQ3B,WAAW4B,EAAE;IACvB;AAEJ,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restoreVersion.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/globals/restoreVersion.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAI3D,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"restoreVersion.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/globals/restoreVersion.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAI3D,eAAO,MAAM,cAAc,EAAE,wBA0B5B,CAAA"}
|
|
@@ -5,9 +5,11 @@ import { headersWithCors } from '../../../utilities/headersWithCors.js';
|
|
|
5
5
|
export const restoreVersion = async ({ id, globalConfig, req })=>{
|
|
6
6
|
const { searchParams } = req;
|
|
7
7
|
const depth = searchParams.get('depth');
|
|
8
|
+
const draft = searchParams.get('draft');
|
|
8
9
|
const doc = await restoreVersionOperationGlobal({
|
|
9
10
|
id,
|
|
10
11
|
depth: isNumber(depth) ? Number(depth) : undefined,
|
|
12
|
+
draft: draft === 'true' ? true : undefined,
|
|
11
13
|
globalConfig,
|
|
12
14
|
req
|
|
13
15
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/routes/rest/globals/restoreVersion.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { restoreVersionOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const restoreVersion: GlobalRouteHandlerWithID = async ({ id, globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const doc = await restoreVersionOperationGlobal({\n id,\n depth: isNumber(depth) ? Number(depth) : undefined,\n globalConfig,\n req,\n })\n\n return Response.json(\n {\n doc,\n message: req.t('version:restoredSuccessfully'),\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["httpStatus","restoreVersionOperationGlobal","isNumber","headersWithCors","restoreVersion","id","globalConfig","req","searchParams","depth","get","doc","Number","undefined","Response","json","message","t","headers","Headers","status","OK"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,6BAA6B,QAAQ,UAAS;AACvD,SAASC,QAAQ,QAAQ,iBAAgB;AAIzC,SAASC,eAAe,QAAQ,wCAAuC;AAEvE,OAAO,MAAMC,iBAA2C,OAAO,EAAEC,EAAE,EAAEC,YAAY,EAAEC,GAAG,EAAE;IACtF,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,QAAQD,aAAaE,GAAG,CAAC;
|
|
1
|
+
{"version":3,"sources":["../../../../src/routes/rest/globals/restoreVersion.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { restoreVersionOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const restoreVersion: GlobalRouteHandlerWithID = async ({ id, globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const draft = searchParams.get('draft')\n\n const doc = await restoreVersionOperationGlobal({\n id,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: draft === 'true' ? true : undefined,\n globalConfig,\n req,\n })\n\n return Response.json(\n {\n doc,\n message: req.t('version:restoredSuccessfully'),\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["httpStatus","restoreVersionOperationGlobal","isNumber","headersWithCors","restoreVersion","id","globalConfig","req","searchParams","depth","get","draft","doc","Number","undefined","Response","json","message","t","headers","Headers","status","OK"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,6BAA6B,QAAQ,UAAS;AACvD,SAASC,QAAQ,QAAQ,iBAAgB;AAIzC,SAASC,eAAe,QAAQ,wCAAuC;AAEvE,OAAO,MAAMC,iBAA2C,OAAO,EAAEC,EAAE,EAAEC,YAAY,EAAEC,GAAG,EAAE;IACtF,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,QAAQD,aAAaE,GAAG,CAAC;IAC/B,MAAMC,QAAQH,aAAaE,GAAG,CAAC;IAE/B,MAAME,MAAM,MAAMX,8BAA8B;QAC9CI;QACAI,OAAOP,SAASO,SAASI,OAAOJ,SAASK;QACzCH,OAAOA,UAAU,SAAS,OAAOG;QACjCR;QACAC;IACF;IAEA,OAAOQ,SAASC,IAAI,CAClB;QACEJ;QACAK,SAASV,IAAIW,CAAC,CAAC;IACjB,GACA;QACEC,SAAShB,gBAAgB;YACvBgB,SAAS,IAAIC;YACbb;QACF;QACAc,QAAQrB,WAAWsB,EAAE;IACvB;AAEJ,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsD,eAAe,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsD,eAAe,EAAE,MAAM,SAAS,CAAA;AAwMlG,eAAO,MAAM,OAAO,WACT,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eAAqB,OAAO,sBA0B9E,CAAA;AAEH,eAAO,MAAM,GAAG,WACL,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,wBAAwB;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,sBA4L5E,CAAA;AAEH,eAAO,MAAM,IAAI,WACN,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,wBAAwB;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,sBAkL5E,CAAA;AAEH,eAAO,MAAM,MAAM,WACR,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,wBAAwB;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,sBA0F5E,CAAA;AAEH,eAAO,MAAM,KAAK,WACP,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,wBAAwB;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,sBA2F5E,CAAA"}
|
|
@@ -139,7 +139,12 @@ const handleCustomEndpoints = async ({ endpoints, entitySlug, req })=>{
|
|
|
139
139
|
const res = await customEndpoint.handler(req);
|
|
140
140
|
if (res instanceof Response) {
|
|
141
141
|
if (req.responseHeaders) {
|
|
142
|
-
|
|
142
|
+
const mergedResponse = new Response(res.body, {
|
|
143
|
+
headers: mergeHeaders(req.responseHeaders, res.headers),
|
|
144
|
+
status: res.status,
|
|
145
|
+
statusText: res.statusText
|
|
146
|
+
});
|
|
147
|
+
return mergedResponse;
|
|
143
148
|
}
|
|
144
149
|
return res;
|
|
145
150
|
}
|
|
@@ -329,7 +334,12 @@ export const GET = (config)=>async (request, { params: { slug } })=>{
|
|
|
329
334
|
}
|
|
330
335
|
if (res instanceof Response) {
|
|
331
336
|
if (req.responseHeaders) {
|
|
332
|
-
|
|
337
|
+
const mergedResponse = new Response(res.body, {
|
|
338
|
+
headers: mergeHeaders(req.responseHeaders, res.headers),
|
|
339
|
+
status: res.status,
|
|
340
|
+
statusText: res.statusText
|
|
341
|
+
});
|
|
342
|
+
return mergedResponse;
|
|
333
343
|
}
|
|
334
344
|
return res;
|
|
335
345
|
}
|
|
@@ -498,7 +508,12 @@ export const POST = (config)=>async (request, { params: { slug } })=>{
|
|
|
498
508
|
}
|
|
499
509
|
if (res instanceof Response) {
|
|
500
510
|
if (req.responseHeaders) {
|
|
501
|
-
|
|
511
|
+
const mergedResponse = new Response(res.body, {
|
|
512
|
+
headers: mergeHeaders(req.responseHeaders, res.headers),
|
|
513
|
+
status: res.status,
|
|
514
|
+
statusText: res.statusText
|
|
515
|
+
});
|
|
516
|
+
return mergedResponse;
|
|
502
517
|
}
|
|
503
518
|
return res;
|
|
504
519
|
}
|
|
@@ -575,7 +590,12 @@ export const DELETE = (config)=>async (request, { params: { slug } })=>{
|
|
|
575
590
|
}
|
|
576
591
|
if (res instanceof Response) {
|
|
577
592
|
if (req.responseHeaders) {
|
|
578
|
-
|
|
593
|
+
const mergedResponse = new Response(res.body, {
|
|
594
|
+
headers: mergeHeaders(req.responseHeaders, res.headers),
|
|
595
|
+
status: res.status,
|
|
596
|
+
statusText: res.statusText
|
|
597
|
+
});
|
|
598
|
+
return mergedResponse;
|
|
579
599
|
}
|
|
580
600
|
return res;
|
|
581
601
|
}
|
|
@@ -652,7 +672,12 @@ export const PATCH = (config)=>async (request, { params: { slug } })=>{
|
|
|
652
672
|
}
|
|
653
673
|
if (res instanceof Response) {
|
|
654
674
|
if (req.responseHeaders) {
|
|
655
|
-
|
|
675
|
+
const mergedResponse = new Response(res.body, {
|
|
676
|
+
headers: mergeHeaders(req.responseHeaders, res.headers),
|
|
677
|
+
status: res.status,
|
|
678
|
+
statusText: res.statusText
|
|
679
|
+
});
|
|
680
|
+
return mergedResponse;
|
|
656
681
|
}
|
|
657
682
|
return res;
|
|
658
683
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/routes/rest/index.ts"],"sourcesContent":["import type { Collection, Endpoint, GlobalConfig, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport httpStatus from 'http-status'\nimport { match } from 'path-to-regexp'\n\nimport type {\n CollectionRouteHandler,\n CollectionRouteHandlerWithID,\n GlobalRouteHandler,\n GlobalRouteHandlerWithID,\n} from './types.js'\n\nimport { addDataAndFileToRequest } from '../../utilities/addDataAndFileToRequest.js'\nimport { addLocalesToRequestFromData } from '../../utilities/addLocalesToRequest.js'\nimport { createPayloadRequest } from '../../utilities/createPayloadRequest.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { mergeHeaders } from '../../utilities/mergeHeaders.js'\nimport { access } from './auth/access.js'\nimport { forgotPassword } from './auth/forgotPassword.js'\nimport { init } from './auth/init.js'\nimport { login } from './auth/login.js'\nimport { logout } from './auth/logout.js'\nimport { me } from './auth/me.js'\nimport { refresh } from './auth/refresh.js'\nimport { registerFirstUser } from './auth/registerFirstUser.js'\nimport { resetPassword } from './auth/resetPassword.js'\nimport { unlock } from './auth/unlock.js'\nimport { verifyEmail } from './auth/verifyEmail.js'\nimport { buildFormState } from './buildFormState.js'\nimport { endpointsAreDisabled } from './checkEndpoints.js'\nimport { count } from './collections/count.js'\nimport { create } from './collections/create.js'\nimport { deleteDoc } from './collections/delete.js'\nimport { deleteByID } from './collections/deleteByID.js'\nimport { docAccess } from './collections/docAccess.js'\nimport { duplicate } from './collections/duplicate.js'\nimport { find } from './collections/find.js'\nimport { findByID } from './collections/findByID.js'\nimport { findVersionByID } from './collections/findVersionByID.js'\nimport { findVersions } from './collections/findVersions.js'\nimport { preview as previewCollection } from './collections/preview.js'\nimport { restoreVersion } from './collections/restoreVersion.js'\nimport { update } from './collections/update.js'\nimport { updateByID } from './collections/updateByID.js'\nimport { getFile } from './files/getFile.js'\nimport { docAccess as docAccessGlobal } from './globals/docAccess.js'\nimport { findOne } from './globals/findOne.js'\nimport { findVersionByID as findVersionByIdGlobal } from './globals/findVersionByID.js'\nimport { findVersions as findVersionsGlobal } from './globals/findVersions.js'\nimport { preview as previewGlobal } from './globals/preview.js'\nimport { restoreVersion as restoreVersionGlobal } from './globals/restoreVersion.js'\nimport { update as updateGlobal } from './globals/update.js'\nimport { generateOGImage } from './og/index.js'\nimport { routeError } from './routeError.js'\n\nconst endpoints = {\n collection: {\n DELETE: {\n delete: deleteDoc,\n deleteByID,\n },\n GET: {\n count,\n 'doc-access-by-id': docAccess,\n 'doc-versions-by-id': findVersionByID,\n find,\n findByID,\n getFile,\n init,\n me,\n preview: previewCollection,\n versions: findVersions,\n },\n PATCH: {\n update,\n updateByID,\n },\n POST: {\n access: docAccess,\n create,\n 'doc-access-by-id': docAccess,\n 'doc-verify-by-id': verifyEmail,\n 'doc-versions-by-id': restoreVersion,\n duplicate,\n 'first-register': registerFirstUser,\n 'forgot-password': forgotPassword,\n login,\n logout,\n 'refresh-token': refresh,\n 'reset-password': resetPassword,\n unlock,\n },\n },\n global: {\n GET: {\n 'doc-access': docAccessGlobal,\n 'doc-versions': findVersionsGlobal,\n 'doc-versions-by-id': findVersionByIdGlobal,\n findOne,\n preview: previewGlobal,\n },\n POST: {\n 'doc-access': docAccessGlobal,\n 'doc-versions-by-id': restoreVersionGlobal,\n update: updateGlobal,\n },\n },\n root: {\n GET: {\n access,\n og: generateOGImage,\n },\n POST: {\n 'form-state': buildFormState,\n },\n },\n}\n\nconst handleCustomEndpoints = async ({\n endpoints,\n entitySlug,\n req,\n}: {\n endpoints: Endpoint[] | GlobalConfig['endpoints']\n entitySlug?: string\n req: PayloadRequest\n}): Promise<Response> => {\n if (endpoints && endpoints.length > 0) {\n let handlerParams = {}\n const { pathname } = req\n\n /*\n * This makes sure the next.js basePath property is supported. If basePath is used, payload config.routes.api should include it. This makes all outgoing frontend request\n * target the correct API endpoint starting with basePath, which is good!\n *\n * The incoming request (here) will not include the basePath though, as it's automatically stripped by Next.js. Since we are adding the basePath to the pathPrefix below though\n * (from req.payload.config.routes.api) we need to add it to pathname, which does not contain the basePath. Otherwise, no endpoint will be matched if basePath is set.\n */\n let adjustedPathname = pathname\n\n if (process.env.NEXT_BASE_PATH) {\n adjustedPathname = process.env.NEXT_BASE_PATH + pathname\n }\n\n const pathPrefix = req.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '')\n\n const customEndpoint = endpoints.find((endpoint) => {\n if (endpoint.method === req.method.toLowerCase()) {\n const pathMatchFn = match(`${pathPrefix}${endpoint.path}`, {\n decode: decodeURIComponent,\n })\n\n const tempParams = pathMatchFn(adjustedPathname)\n if (tempParams) {\n handlerParams = tempParams.params\n return true\n }\n }\n })\n\n if (customEndpoint) {\n req.routeParams = {\n ...req.routeParams,\n ...handlerParams,\n }\n const res = await customEndpoint.handler(req)\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n mergeHeaders(req.responseHeaders, res.headers)\n }\n\n return res\n }\n }\n }\n\n return null\n}\n\nconst RouteNotFoundResponse = ({ slug, req }: { req: PayloadRequest; slug: string[] }) =>\n Response.json(\n {\n message: `Route Not Found: \"${slug.join('/')}\"`,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.NOT_FOUND,\n },\n )\n\nexport const OPTIONS =\n (config: Promise<SanitizedConfig> | SanitizedConfig) => async (request: Request) => {\n let req: PayloadRequest\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n return Response.json(\n {},\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: 200,\n },\n )\n } catch (error) {\n return routeError({\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const GET =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n collection = req.payload.collections?.[slug1]\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.GET.find({ collection, req })\n break\n case 2:\n if (slug2 in endpoints.collection.GET) {\n // /:collection/init\n // /:collection/me\n // /:collection/versions\n // /:collection/count\n res = await (endpoints.collection.GET[slug2] as CollectionRouteHandler)({\n collection,\n req,\n })\n } else {\n // /:collection/:id\n res = await endpoints.collection.GET.findByID({\n id: slug2,\n collection,\n req,\n })\n }\n break\n case 3:\n if (slug2 === 'file') {\n // /:collection/file/:filename\n res = await endpoints.collection.GET.getFile({\n collection,\n filename: slug3,\n req,\n })\n } else if (slug3 in endpoints.collection.GET) {\n // /:collection/:id/preview\n res = await (endpoints.collection.GET[slug3] as CollectionRouteHandlerWithID)({\n id: slug2,\n collection,\n req,\n })\n } else if (`doc-${slug2}-by-id` in endpoints.collection.GET) {\n // /:collection/access/:id\n // /:collection/versions/:id\n res = await (\n endpoints.collection.GET[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req })\n }\n break\n }\n }\n } else if (slug1 === 'globals') {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.GET.findOne({ globalConfig, req })\n break\n case 3:\n if (slug3 in endpoints.global.GET) {\n // /globals/:slug/preview\n res = await (endpoints.global.GET[slug3] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n } else if (`doc-${slug3}` in endpoints.global.GET) {\n // /globals/:slug/access\n // /globals/:slug/versions\n // /globals/:slug/preview\n res = await (endpoints.global.GET?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.GET) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.GET?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req,\n })\n }\n break\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.GET) {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n res = await endpoints.root.GET[slug1]({ req })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n mergeHeaders(req.responseHeaders, res.headers)\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const POST =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n if (overrideHttpMethod === 'GET') {\n return await GET(config)(request, { params: { slug } })\n }\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.POST.create({ collection, req })\n break\n case 2:\n if (slug2 in endpoints.collection.POST) {\n // /:collection/login\n // /:collection/logout\n // /:collection/unlock\n // /:collection/access\n // /:collection/first-register\n // /:collection/forgot-password\n // /:collection/reset-password\n // /:collection/refresh-token\n\n res = await (endpoints.collection.POST?.[slug2] as CollectionRouteHandler)({\n collection,\n req,\n })\n }\n break\n case 3:\n if (`doc-${slug2}-by-id` in endpoints.collection.POST) {\n // /:collection/access/:id\n // /:collection/versions/:id\n // /:collection/verify/:token (\"doc-verify-by-id\" uses id as token internally)\n res = await (\n endpoints.collection.POST[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req })\n } else if (slug3 === 'duplicate' && collection.config.disableDuplicate !== true) {\n // /:collection/:id/duplicate\n res = await endpoints.collection.POST.duplicate({\n id: slug2,\n collection,\n req,\n })\n }\n break\n }\n }\n } else if (slug1 === 'globals' && slug2) {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.POST.update({ globalConfig, req })\n break\n case 3:\n if (`doc-${slug3}` in endpoints.global.POST) {\n // /globals/:slug/access\n res = await (endpoints.global.POST?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.POST) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.POST?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req,\n })\n }\n break\n default:\n res = new Response('Route Not Found', { status: 404 })\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.POST) {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n res = await endpoints.root.POST[slug1]({ req })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n mergeHeaders(req.responseHeaders, res.headers)\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const DELETE =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.DELETE.delete({ collection, req })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.DELETE.deleteByID({\n id: slug2,\n collection,\n req,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n mergeHeaders(req.responseHeaders, res.headers)\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const PATCH =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.PATCH.update({ collection, req })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.PATCH.updateByID({\n id: slug2,\n collection,\n req,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n mergeHeaders(req.responseHeaders, res.headers)\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n"],"names":["httpStatus","match","addDataAndFileToRequest","addLocalesToRequestFromData","createPayloadRequest","headersWithCors","mergeHeaders","access","forgotPassword","init","login","logout","me","refresh","registerFirstUser","resetPassword","unlock","verifyEmail","buildFormState","endpointsAreDisabled","count","create","deleteDoc","deleteByID","docAccess","duplicate","find","findByID","findVersionByID","findVersions","preview","previewCollection","restoreVersion","update","updateByID","getFile","docAccessGlobal","findOne","findVersionByIdGlobal","findVersionsGlobal","previewGlobal","restoreVersionGlobal","updateGlobal","generateOGImage","routeError","endpoints","collection","DELETE","delete","GET","versions","PATCH","POST","global","root","og","handleCustomEndpoints","entitySlug","req","length","handlerParams","pathname","adjustedPathname","process","env","NEXT_BASE_PATH","pathPrefix","payload","config","routes","api","customEndpoint","endpoint","method","toLowerCase","pathMatchFn","path","decode","decodeURIComponent","tempParams","params","routeParams","res","handler","Response","responseHeaders","headers","RouteNotFoundResponse","slug","json","message","join","Headers","status","NOT_FOUND","OPTIONS","request","error","err","slug1","slug2","slug3","slug4","disableEndpoints","collections","customEndpointResponse","id","filename","globalConfig","globals","overrideHttpMethod","get","disableDuplicate"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/routes/rest/index.ts"],"sourcesContent":["import type { Collection, Endpoint, GlobalConfig, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport httpStatus from 'http-status'\nimport { match } from 'path-to-regexp'\n\nimport type {\n CollectionRouteHandler,\n CollectionRouteHandlerWithID,\n GlobalRouteHandler,\n GlobalRouteHandlerWithID,\n} from './types.js'\n\nimport { addDataAndFileToRequest } from '../../utilities/addDataAndFileToRequest.js'\nimport { addLocalesToRequestFromData } from '../../utilities/addLocalesToRequest.js'\nimport { createPayloadRequest } from '../../utilities/createPayloadRequest.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { mergeHeaders } from '../../utilities/mergeHeaders.js'\nimport { access } from './auth/access.js'\nimport { forgotPassword } from './auth/forgotPassword.js'\nimport { init } from './auth/init.js'\nimport { login } from './auth/login.js'\nimport { logout } from './auth/logout.js'\nimport { me } from './auth/me.js'\nimport { refresh } from './auth/refresh.js'\nimport { registerFirstUser } from './auth/registerFirstUser.js'\nimport { resetPassword } from './auth/resetPassword.js'\nimport { unlock } from './auth/unlock.js'\nimport { verifyEmail } from './auth/verifyEmail.js'\nimport { buildFormState } from './buildFormState.js'\nimport { endpointsAreDisabled } from './checkEndpoints.js'\nimport { count } from './collections/count.js'\nimport { create } from './collections/create.js'\nimport { deleteDoc } from './collections/delete.js'\nimport { deleteByID } from './collections/deleteByID.js'\nimport { docAccess } from './collections/docAccess.js'\nimport { duplicate } from './collections/duplicate.js'\nimport { find } from './collections/find.js'\nimport { findByID } from './collections/findByID.js'\nimport { findVersionByID } from './collections/findVersionByID.js'\nimport { findVersions } from './collections/findVersions.js'\nimport { preview as previewCollection } from './collections/preview.js'\nimport { restoreVersion } from './collections/restoreVersion.js'\nimport { update } from './collections/update.js'\nimport { updateByID } from './collections/updateByID.js'\nimport { getFile } from './files/getFile.js'\nimport { docAccess as docAccessGlobal } from './globals/docAccess.js'\nimport { findOne } from './globals/findOne.js'\nimport { findVersionByID as findVersionByIdGlobal } from './globals/findVersionByID.js'\nimport { findVersions as findVersionsGlobal } from './globals/findVersions.js'\nimport { preview as previewGlobal } from './globals/preview.js'\nimport { restoreVersion as restoreVersionGlobal } from './globals/restoreVersion.js'\nimport { update as updateGlobal } from './globals/update.js'\nimport { generateOGImage } from './og/index.js'\nimport { routeError } from './routeError.js'\n\nconst endpoints = {\n collection: {\n DELETE: {\n delete: deleteDoc,\n deleteByID,\n },\n GET: {\n count,\n 'doc-access-by-id': docAccess,\n 'doc-versions-by-id': findVersionByID,\n find,\n findByID,\n getFile,\n init,\n me,\n preview: previewCollection,\n versions: findVersions,\n },\n PATCH: {\n update,\n updateByID,\n },\n POST: {\n access: docAccess,\n create,\n 'doc-access-by-id': docAccess,\n 'doc-verify-by-id': verifyEmail,\n 'doc-versions-by-id': restoreVersion,\n duplicate,\n 'first-register': registerFirstUser,\n 'forgot-password': forgotPassword,\n login,\n logout,\n 'refresh-token': refresh,\n 'reset-password': resetPassword,\n unlock,\n },\n },\n global: {\n GET: {\n 'doc-access': docAccessGlobal,\n 'doc-versions': findVersionsGlobal,\n 'doc-versions-by-id': findVersionByIdGlobal,\n findOne,\n preview: previewGlobal,\n },\n POST: {\n 'doc-access': docAccessGlobal,\n 'doc-versions-by-id': restoreVersionGlobal,\n update: updateGlobal,\n },\n },\n root: {\n GET: {\n access,\n og: generateOGImage,\n },\n POST: {\n 'form-state': buildFormState,\n },\n },\n}\n\nconst handleCustomEndpoints = async ({\n endpoints,\n entitySlug,\n req,\n}: {\n endpoints: Endpoint[] | GlobalConfig['endpoints']\n entitySlug?: string\n req: PayloadRequest\n}): Promise<Response> => {\n if (endpoints && endpoints.length > 0) {\n let handlerParams = {}\n const { pathname } = req\n\n /*\n * This makes sure the next.js basePath property is supported. If basePath is used, payload config.routes.api should include it. This makes all outgoing frontend request\n * target the correct API endpoint starting with basePath, which is good!\n *\n * The incoming request (here) will not include the basePath though, as it's automatically stripped by Next.js. Since we are adding the basePath to the pathPrefix below though\n * (from req.payload.config.routes.api) we need to add it to pathname, which does not contain the basePath. Otherwise, no endpoint will be matched if basePath is set.\n */\n let adjustedPathname = pathname\n\n if (process.env.NEXT_BASE_PATH) {\n adjustedPathname = process.env.NEXT_BASE_PATH + pathname\n }\n\n const pathPrefix = req.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '')\n\n const customEndpoint = endpoints.find((endpoint) => {\n if (endpoint.method === req.method.toLowerCase()) {\n const pathMatchFn = match(`${pathPrefix}${endpoint.path}`, {\n decode: decodeURIComponent,\n })\n\n const tempParams = pathMatchFn(adjustedPathname)\n if (tempParams) {\n handlerParams = tempParams.params\n return true\n }\n }\n })\n\n if (customEndpoint) {\n req.routeParams = {\n ...req.routeParams,\n ...handlerParams,\n }\n const res = await customEndpoint.handler(req)\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n }\n }\n\n return null\n}\n\nconst RouteNotFoundResponse = ({ slug, req }: { req: PayloadRequest; slug: string[] }) =>\n Response.json(\n {\n message: `Route Not Found: \"${slug.join('/')}\"`,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.NOT_FOUND,\n },\n )\n\nexport const OPTIONS =\n (config: Promise<SanitizedConfig> | SanitizedConfig) => async (request: Request) => {\n let req: PayloadRequest\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n return Response.json(\n {},\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: 200,\n },\n )\n } catch (error) {\n return routeError({\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const GET =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n collection = req.payload.collections?.[slug1]\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.GET.find({ collection, req })\n break\n case 2:\n if (slug2 in endpoints.collection.GET) {\n // /:collection/init\n // /:collection/me\n // /:collection/versions\n // /:collection/count\n res = await (endpoints.collection.GET[slug2] as CollectionRouteHandler)({\n collection,\n req,\n })\n } else {\n // /:collection/:id\n res = await endpoints.collection.GET.findByID({\n id: slug2,\n collection,\n req,\n })\n }\n break\n case 3:\n if (slug2 === 'file') {\n // /:collection/file/:filename\n res = await endpoints.collection.GET.getFile({\n collection,\n filename: slug3,\n req,\n })\n } else if (slug3 in endpoints.collection.GET) {\n // /:collection/:id/preview\n res = await (endpoints.collection.GET[slug3] as CollectionRouteHandlerWithID)({\n id: slug2,\n collection,\n req,\n })\n } else if (`doc-${slug2}-by-id` in endpoints.collection.GET) {\n // /:collection/access/:id\n // /:collection/versions/:id\n res = await (\n endpoints.collection.GET[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req })\n }\n break\n }\n }\n } else if (slug1 === 'globals') {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.GET.findOne({ globalConfig, req })\n break\n case 3:\n if (slug3 in endpoints.global.GET) {\n // /globals/:slug/preview\n res = await (endpoints.global.GET[slug3] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n } else if (`doc-${slug3}` in endpoints.global.GET) {\n // /globals/:slug/access\n // /globals/:slug/versions\n // /globals/:slug/preview\n res = await (endpoints.global.GET?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.GET) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.GET?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req,\n })\n }\n break\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.GET) {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n res = await endpoints.root.GET[slug1]({ req })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const POST =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n if (overrideHttpMethod === 'GET') {\n return await GET(config)(request, { params: { slug } })\n }\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.POST.create({ collection, req })\n break\n case 2:\n if (slug2 in endpoints.collection.POST) {\n // /:collection/login\n // /:collection/logout\n // /:collection/unlock\n // /:collection/access\n // /:collection/first-register\n // /:collection/forgot-password\n // /:collection/reset-password\n // /:collection/refresh-token\n\n res = await (endpoints.collection.POST?.[slug2] as CollectionRouteHandler)({\n collection,\n req,\n })\n }\n break\n case 3:\n if (`doc-${slug2}-by-id` in endpoints.collection.POST) {\n // /:collection/access/:id\n // /:collection/versions/:id\n // /:collection/verify/:token (\"doc-verify-by-id\" uses id as token internally)\n res = await (\n endpoints.collection.POST[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req })\n } else if (slug3 === 'duplicate' && collection.config.disableDuplicate !== true) {\n // /:collection/:id/duplicate\n res = await endpoints.collection.POST.duplicate({\n id: slug2,\n collection,\n req,\n })\n }\n break\n }\n }\n } else if (slug1 === 'globals' && slug2) {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.POST.update({ globalConfig, req })\n break\n case 3:\n if (`doc-${slug3}` in endpoints.global.POST) {\n // /globals/:slug/access\n res = await (endpoints.global.POST?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.POST) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.POST?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req,\n })\n }\n break\n default:\n res = new Response('Route Not Found', { status: 404 })\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.POST) {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n res = await endpoints.root.POST[slug1]({ req })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const DELETE =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.DELETE.delete({ collection, req })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.DELETE.deleteByID({\n id: slug2,\n collection,\n req,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const PATCH =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.PATCH.update({ collection, req })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.PATCH.updateByID({\n id: slug2,\n collection,\n req,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n"],"names":["httpStatus","match","addDataAndFileToRequest","addLocalesToRequestFromData","createPayloadRequest","headersWithCors","mergeHeaders","access","forgotPassword","init","login","logout","me","refresh","registerFirstUser","resetPassword","unlock","verifyEmail","buildFormState","endpointsAreDisabled","count","create","deleteDoc","deleteByID","docAccess","duplicate","find","findByID","findVersionByID","findVersions","preview","previewCollection","restoreVersion","update","updateByID","getFile","docAccessGlobal","findOne","findVersionByIdGlobal","findVersionsGlobal","previewGlobal","restoreVersionGlobal","updateGlobal","generateOGImage","routeError","endpoints","collection","DELETE","delete","GET","versions","PATCH","POST","global","root","og","handleCustomEndpoints","entitySlug","req","length","handlerParams","pathname","adjustedPathname","process","env","NEXT_BASE_PATH","pathPrefix","payload","config","routes","api","customEndpoint","endpoint","method","toLowerCase","pathMatchFn","path","decode","decodeURIComponent","tempParams","params","routeParams","res","handler","Response","responseHeaders","mergedResponse","body","headers","status","statusText","RouteNotFoundResponse","slug","json","message","join","Headers","NOT_FOUND","OPTIONS","request","error","err","slug1","slug2","slug3","slug4","disableEndpoints","collections","customEndpointResponse","id","filename","globalConfig","globals","overrideHttpMethod","get","disableDuplicate"],"mappings":"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"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import { notFound } from 'next/navigation.js';
|
|
2
|
-
import { isAdminAuthRoute, isAdminRoute } from './shared.js';
|
|
2
|
+
import { getRouteWithoutAdmin, isAdminAuthRoute, isAdminRoute } from './shared.js';
|
|
3
3
|
export const handleAdminPage = ({ adminRoute, config, permissions, route })=>{
|
|
4
|
-
if (isAdminRoute(
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
if (isAdminRoute({
|
|
5
|
+
adminRoute,
|
|
6
|
+
config,
|
|
7
|
+
route
|
|
8
|
+
})) {
|
|
9
|
+
const routeWithoutAdmin = getRouteWithoutAdmin({
|
|
10
|
+
adminRoute,
|
|
11
|
+
route
|
|
12
|
+
});
|
|
13
|
+
const routeSegments = routeWithoutAdmin.split('/').filter(Boolean);
|
|
7
14
|
const [entityType, entitySlug, createOrID] = routeSegments;
|
|
8
15
|
const collectionSlug = entityType === 'collections' ? entitySlug : undefined;
|
|
9
16
|
const globalSlug = entityType === 'globals' ? entitySlug : undefined;
|
|
@@ -22,7 +29,11 @@ export const handleAdminPage = ({ adminRoute, config, permissions, route })=>{
|
|
|
22
29
|
notFound();
|
|
23
30
|
}
|
|
24
31
|
}
|
|
25
|
-
if (!permissions.canAccessAdmin && !isAdminAuthRoute(
|
|
32
|
+
if (!permissions.canAccessAdmin && !isAdminAuthRoute({
|
|
33
|
+
adminRoute,
|
|
34
|
+
config,
|
|
35
|
+
route
|
|
36
|
+
})) {
|
|
26
37
|
notFound();
|
|
27
38
|
}
|
|
28
39
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utilities/initPage/handleAdminPage.ts"],"sourcesContent":["import type {\n Permissions,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\n\nimport { isAdminAuthRoute, isAdminRoute } from './shared.js'\n\nexport const handleAdminPage = ({\n adminRoute,\n config,\n permissions,\n route,\n}: {\n adminRoute: string\n config: SanitizedConfig\n permissions: Permissions\n route: string\n}) => {\n if (isAdminRoute(
|
|
1
|
+
{"version":3,"sources":["../../../src/utilities/initPage/handleAdminPage.ts"],"sourcesContent":["import type {\n Permissions,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\n\nimport { getRouteWithoutAdmin, isAdminAuthRoute, isAdminRoute } from './shared.js'\n\nexport const handleAdminPage = ({\n adminRoute,\n config,\n permissions,\n route,\n}: {\n adminRoute: string\n config: SanitizedConfig\n permissions: Permissions\n route: string\n}) => {\n if (isAdminRoute({ adminRoute, config, route })) {\n const routeWithoutAdmin = getRouteWithoutAdmin({ adminRoute, route })\n const routeSegments = routeWithoutAdmin.split('/').filter(Boolean)\n const [entityType, entitySlug, createOrID] = routeSegments\n const collectionSlug = entityType === 'collections' ? entitySlug : undefined\n const globalSlug = entityType === 'globals' ? entitySlug : undefined\n const docID = collectionSlug && createOrID !== 'create' ? createOrID : undefined\n\n let collectionConfig: SanitizedCollectionConfig | undefined\n let globalConfig: SanitizedGlobalConfig | undefined\n\n if (collectionSlug) {\n collectionConfig = config.collections.find((collection) => collection.slug === collectionSlug)\n\n if (!collectionConfig) {\n notFound()\n }\n }\n\n if (globalSlug) {\n globalConfig = config.globals.find((global) => global.slug === globalSlug)\n\n if (!globalConfig) {\n notFound()\n }\n }\n\n if (!permissions.canAccessAdmin && !isAdminAuthRoute({ adminRoute, config, route })) {\n notFound()\n }\n\n return {\n collectionConfig,\n docID,\n globalConfig,\n }\n }\n\n return {}\n}\n"],"names":["notFound","getRouteWithoutAdmin","isAdminAuthRoute","isAdminRoute","handleAdminPage","adminRoute","config","permissions","route","routeWithoutAdmin","routeSegments","split","filter","Boolean","entityType","entitySlug","createOrID","collectionSlug","undefined","globalSlug","docID","collectionConfig","globalConfig","collections","find","collection","slug","globals","global","canAccessAdmin"],"mappings":"AAOA,SAASA,QAAQ,QAAQ,qBAAoB;AAE7C,SAASC,oBAAoB,EAAEC,gBAAgB,EAAEC,YAAY,QAAQ,cAAa;AAElF,OAAO,MAAMC,kBAAkB,CAAC,EAC9BC,UAAU,EACVC,MAAM,EACNC,WAAW,EACXC,KAAK,EAMN;IACC,IAAIL,aAAa;QAAEE;QAAYC;QAAQE;IAAM,IAAI;QAC/C,MAAMC,oBAAoBR,qBAAqB;YAAEI;YAAYG;QAAM;QACnE,MAAME,gBAAgBD,kBAAkBE,KAAK,CAAC,KAAKC,MAAM,CAACC;QAC1D,MAAM,CAACC,YAAYC,YAAYC,WAAW,GAAGN;QAC7C,MAAMO,iBAAiBH,eAAe,gBAAgBC,aAAaG;QACnE,MAAMC,aAAaL,eAAe,YAAYC,aAAaG;QAC3D,MAAME,QAAQH,kBAAkBD,eAAe,WAAWA,aAAaE;QAEvE,IAAIG;QACJ,IAAIC;QAEJ,IAAIL,gBAAgB;YAClBI,mBAAmBf,OAAOiB,WAAW,CAACC,IAAI,CAAC,CAACC,aAAeA,WAAWC,IAAI,KAAKT;YAE/E,IAAI,CAACI,kBAAkB;gBACrBrB;YACF;QACF;QAEA,IAAImB,YAAY;YACdG,eAAehB,OAAOqB,OAAO,CAACH,IAAI,CAAC,CAACI,SAAWA,OAAOF,IAAI,KAAKP;YAE/D,IAAI,CAACG,cAAc;gBACjBtB;YACF;QACF;QAEA,IAAI,CAACO,YAAYsB,cAAc,IAAI,CAAC3B,iBAAiB;YAAEG;YAAYC;YAAQE;QAAM,IAAI;YACnFR;QACF;QAEA,OAAO;YACLqB;YACAD;YACAE;QACF;IACF;IAEA,OAAO,CAAC;AACV,EAAC"}
|
|
@@ -4,7 +4,11 @@ import * as qs from 'qs-esm';
|
|
|
4
4
|
import { isAdminAuthRoute, isAdminRoute } from './shared.js';
|
|
5
5
|
export const handleAuthRedirect = ({ config, redirectUnauthenticatedUser, route, searchParams })=>{
|
|
6
6
|
const { admin: { routes: { login: loginRouteFromConfig } }, routes: { admin: adminRoute } } = config;
|
|
7
|
-
if (!isAdminAuthRoute(
|
|
7
|
+
if (!isAdminAuthRoute({
|
|
8
|
+
adminRoute,
|
|
9
|
+
config,
|
|
10
|
+
route
|
|
11
|
+
})) {
|
|
8
12
|
if (searchParams && 'redirect' in searchParams) delete searchParams.redirect;
|
|
9
13
|
const redirectRoute = encodeURIComponent(route + Object.keys(searchParams ?? {}).length ? `${qs.stringify(searchParams, {
|
|
10
14
|
addQueryPrefix: true
|
|
@@ -14,7 +18,11 @@ export const handleAuthRedirect = ({ config, redirectUnauthenticatedUser, route,
|
|
|
14
18
|
path: loginRouteFromConfig
|
|
15
19
|
});
|
|
16
20
|
const customLoginRoute = typeof redirectUnauthenticatedUser === 'string' ? redirectUnauthenticatedUser : undefined;
|
|
17
|
-
const loginRoute = isAdminRoute(
|
|
21
|
+
const loginRoute = isAdminRoute({
|
|
22
|
+
adminRoute,
|
|
23
|
+
config,
|
|
24
|
+
route
|
|
25
|
+
}) ? adminLoginRoute : customLoginRoute || loginRouteFromConfig;
|
|
18
26
|
const parsedLoginRouteSearchParams = qs.parse(loginRoute.split('?')[1] ?? '');
|
|
19
27
|
const searchParamsWithRedirect = `${qs.stringify({
|
|
20
28
|
...parsedLoginRouteSearchParams,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"sourcesContent":["import { formatAdminURL } from '@payloadcms/ui/shared'\nimport { redirect } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\n\nimport { isAdminAuthRoute, isAdminRoute } from './shared.js'\n\nexport const handleAuthRedirect = ({\n config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n}: {\n config\n redirectUnauthenticatedUser: boolean | string\n route: string\n searchParams: { [key: string]: string | string[] }\n}) => {\n const {\n admin: {\n routes: { login: loginRouteFromConfig },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (!isAdminAuthRoute(config, route
|
|
1
|
+
{"version":3,"sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"sourcesContent":["import { formatAdminURL } from '@payloadcms/ui/shared'\nimport { redirect } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\n\nimport { isAdminAuthRoute, isAdminRoute } from './shared.js'\n\nexport const handleAuthRedirect = ({\n config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n}: {\n config\n redirectUnauthenticatedUser: boolean | string\n route: string\n searchParams: { [key: string]: string | string[] }\n}) => {\n const {\n admin: {\n routes: { login: loginRouteFromConfig },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (!isAdminAuthRoute({ adminRoute, config, route })) {\n if (searchParams && 'redirect' in searchParams) delete searchParams.redirect\n\n const redirectRoute = encodeURIComponent(\n route + Object.keys(searchParams ?? {}).length\n ? `${qs.stringify(searchParams, { addQueryPrefix: true })}`\n : undefined,\n )\n\n const adminLoginRoute = formatAdminURL({ adminRoute, path: loginRouteFromConfig })\n\n const customLoginRoute =\n typeof redirectUnauthenticatedUser === 'string' ? redirectUnauthenticatedUser : undefined\n\n const loginRoute = isAdminRoute({ adminRoute, config, route })\n ? adminLoginRoute\n : customLoginRoute || loginRouteFromConfig\n\n const parsedLoginRouteSearchParams = qs.parse(loginRoute.split('?')[1] ?? '')\n\n const searchParamsWithRedirect = `${qs.stringify(\n {\n ...parsedLoginRouteSearchParams,\n ...(redirectRoute ? { redirect: redirectRoute } : {}),\n },\n { addQueryPrefix: true },\n )}`\n\n redirect(`${loginRoute.split('?')[0]}${searchParamsWithRedirect}`)\n }\n}\n"],"names":["formatAdminURL","redirect","qs","isAdminAuthRoute","isAdminRoute","handleAuthRedirect","config","redirectUnauthenticatedUser","route","searchParams","admin","routes","login","loginRouteFromConfig","adminRoute","redirectRoute","encodeURIComponent","Object","keys","length","stringify","addQueryPrefix","undefined","adminLoginRoute","path","customLoginRoute","loginRoute","parsedLoginRouteSearchParams","parse","split","searchParamsWithRedirect"],"mappings":"AAAA,SAASA,cAAc,QAAQ,wBAAuB;AACtD,SAASC,QAAQ,QAAQ,qBAAoB;AAC7C,YAAYC,QAAQ,SAAQ;AAE5B,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,cAAa;AAE5D,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,MAAM,EACNC,2BAA2B,EAC3BC,KAAK,EACLC,YAAY,EAMb;IACC,MAAM,EACJC,OAAO,EACLC,QAAQ,EAAEC,OAAOC,oBAAoB,EAAE,EACxC,EACDF,QAAQ,EAAED,OAAOI,UAAU,EAAE,EAC9B,GAAGR;IAEJ,IAAI,CAACH,iBAAiB;QAAEW;QAAYR;QAAQE;IAAM,IAAI;QACpD,IAAIC,gBAAgB,cAAcA,cAAc,OAAOA,aAAaR,QAAQ;QAE5E,MAAMc,gBAAgBC,mBACpBR,QAAQS,OAAOC,IAAI,CAACT,gBAAgB,CAAC,GAAGU,MAAM,GAC1C,CAAC,EAAEjB,GAAGkB,SAAS,CAACX,cAAc;YAAEY,gBAAgB;QAAK,GAAG,CAAC,GACzDC;QAGN,MAAMC,kBAAkBvB,eAAe;YAAEc;YAAYU,MAAMX;QAAqB;QAEhF,MAAMY,mBACJ,OAAOlB,gCAAgC,WAAWA,8BAA8Be;QAElF,MAAMI,aAAatB,aAAa;YAAEU;YAAYR;YAAQE;QAAM,KACxDe,kBACAE,oBAAoBZ;QAExB,MAAMc,+BAA+BzB,GAAG0B,KAAK,CAACF,WAAWG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI;QAE1E,MAAMC,2BAA2B,CAAC,EAAE5B,GAAGkB,SAAS,CAC9C;YACE,GAAGO,4BAA4B;YAC/B,GAAIZ,gBAAgB;gBAAEd,UAAUc;YAAc,IAAI,CAAC,CAAC;QACtD,GACA;YAAEM,gBAAgB;QAAK,GACvB,CAAC;QAEHpB,SAAS,CAAC,EAAEyB,WAAWG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAEC,yBAAyB,CAAC;IACnE;AACF,EAAC"}
|
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import type { SanitizedConfig } from 'payload';
|
|
2
|
-
export declare const isAdminRoute: (
|
|
3
|
-
|
|
2
|
+
export declare const isAdminRoute: ({ adminRoute, config, route, }: {
|
|
3
|
+
adminRoute: string;
|
|
4
|
+
config: SanitizedConfig;
|
|
5
|
+
route: string;
|
|
6
|
+
}) => boolean;
|
|
7
|
+
export declare const isAdminAuthRoute: ({ adminRoute, config, route, }: {
|
|
8
|
+
adminRoute: string;
|
|
9
|
+
config: SanitizedConfig;
|
|
10
|
+
route: string;
|
|
11
|
+
}) => boolean;
|
|
12
|
+
export declare const getRouteWithoutAdmin: ({ adminRoute, route, }: {
|
|
13
|
+
adminRoute: string;
|
|
14
|
+
route: string;
|
|
15
|
+
}) => string;
|
|
4
16
|
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAa9C,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAa9C,eAAO,MAAM,YAAY,mCAItB;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;CACd,KAAG,OAEH,CAAA;AAED,eAAO,MAAM,gBAAgB,mCAI1B;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;CACd,KAAG,OAQH,CAAA;AAED,eAAO,MAAM,oBAAoB,2BAG9B;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,KAAG,MAEH,CAAA"}
|
|
@@ -8,12 +8,22 @@ const authRouteKeys = [
|
|
|
8
8
|
'unauthorized',
|
|
9
9
|
'reset'
|
|
10
10
|
];
|
|
11
|
-
export const isAdminRoute = (
|
|
12
|
-
return route.startsWith(adminRoute)
|
|
11
|
+
export const isAdminRoute = ({ adminRoute, config, route })=>{
|
|
12
|
+
return route.startsWith(adminRoute) && !isAdminAuthRoute({
|
|
13
|
+
adminRoute,
|
|
14
|
+
config,
|
|
15
|
+
route
|
|
16
|
+
});
|
|
13
17
|
};
|
|
14
|
-
export const isAdminAuthRoute = (config, route
|
|
18
|
+
export const isAdminAuthRoute = ({ adminRoute, config, route })=>{
|
|
15
19
|
const authRoutes = config.admin?.routes ? Object.entries(config.admin.routes).filter(([key])=>authRouteKeys.includes(key)).map(([_, value])=>value) : [];
|
|
16
|
-
return authRoutes.some((r)=>
|
|
20
|
+
return authRoutes.some((r)=>getRouteWithoutAdmin({
|
|
21
|
+
adminRoute,
|
|
22
|
+
route
|
|
23
|
+
}).startsWith(r));
|
|
24
|
+
};
|
|
25
|
+
export const getRouteWithoutAdmin = ({ adminRoute, route })=>{
|
|
26
|
+
return adminRoute && adminRoute !== '/' ? route.replace(adminRoute, '') : route;
|
|
17
27
|
};
|
|
18
28
|
|
|
19
29
|
//# sourceMappingURL=shared.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utilities/initPage/shared.ts"],"sourcesContent":["import type { SanitizedConfig } from 'payload'\n\nconst authRouteKeys: (keyof SanitizedConfig['admin']['routes'])[] = [\n 'createFirstUser',\n 'forgot',\n 'login',\n 'logout',\n 'forgot',\n 'inactivity',\n 'unauthorized',\n 'reset',\n]\n\nexport const isAdminRoute = (route: string
|
|
1
|
+
{"version":3,"sources":["../../../src/utilities/initPage/shared.ts"],"sourcesContent":["import type { SanitizedConfig } from 'payload'\n\nconst authRouteKeys: (keyof SanitizedConfig['admin']['routes'])[] = [\n 'createFirstUser',\n 'forgot',\n 'login',\n 'logout',\n 'forgot',\n 'inactivity',\n 'unauthorized',\n 'reset',\n]\n\nexport const isAdminRoute = ({\n adminRoute,\n config,\n route,\n}: {\n adminRoute: string\n config: SanitizedConfig\n route: string\n}): boolean => {\n return route.startsWith(adminRoute) && !isAdminAuthRoute({ adminRoute, config, route })\n}\n\nexport const isAdminAuthRoute = ({\n adminRoute,\n config,\n route,\n}: {\n adminRoute: string\n config: SanitizedConfig\n route: string\n}): boolean => {\n const authRoutes = config.admin?.routes\n ? Object.entries(config.admin.routes)\n .filter(([key]) => authRouteKeys.includes(key as keyof SanitizedConfig['admin']['routes']))\n .map(([_, value]) => value)\n : []\n\n return authRoutes.some((r) => getRouteWithoutAdmin({ adminRoute, route }).startsWith(r))\n}\n\nexport const getRouteWithoutAdmin = ({\n adminRoute,\n route,\n}: {\n adminRoute: string\n route: string\n}): string => {\n return adminRoute && adminRoute !== '/' ? route.replace(adminRoute, '') : route\n}\n"],"names":["authRouteKeys","isAdminRoute","adminRoute","config","route","startsWith","isAdminAuthRoute","authRoutes","admin","routes","Object","entries","filter","key","includes","map","_","value","some","r","getRouteWithoutAdmin","replace"],"mappings":"AAEA,MAAMA,gBAA8D;IAClE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAED,OAAO,MAAMC,eAAe,CAAC,EAC3BC,UAAU,EACVC,MAAM,EACNC,KAAK,EAKN;IACC,OAAOA,MAAMC,UAAU,CAACH,eAAe,CAACI,iBAAiB;QAAEJ;QAAYC;QAAQC;IAAM;AACvF,EAAC;AAED,OAAO,MAAME,mBAAmB,CAAC,EAC/BJ,UAAU,EACVC,MAAM,EACNC,KAAK,EAKN;IACC,MAAMG,aAAaJ,OAAOK,KAAK,EAAEC,SAC7BC,OAAOC,OAAO,CAACR,OAAOK,KAAK,CAACC,MAAM,EAC/BG,MAAM,CAAC,CAAC,CAACC,IAAI,GAAKb,cAAcc,QAAQ,CAACD,MACzCE,GAAG,CAAC,CAAC,CAACC,GAAGC,MAAM,GAAKA,SACvB,EAAE;IAEN,OAAOV,WAAWW,IAAI,CAAC,CAACC,IAAMC,qBAAqB;YAAElB;YAAYE;QAAM,GAAGC,UAAU,CAACc;AACvF,EAAC;AAED,OAAO,MAAMC,uBAAuB,CAAC,EACnClB,UAAU,EACVE,KAAK,EAIN;IACC,OAAOF,cAAcA,eAAe,MAAME,MAAMiB,OAAO,CAACnB,YAAY,MAAME;AAC5E,EAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare
|
|
1
|
+
export declare const mergeHeaders: (sourceHeaders: Headers, destinationHeaders: Headers) => Headers;
|
|
2
2
|
//# sourceMappingURL=mergeHeaders.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeHeaders.d.ts","sourceRoot":"","sources":["../../src/utilities/mergeHeaders.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mergeHeaders.d.ts","sourceRoot":"","sources":["../../src/utilities/mergeHeaders.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,kBAAmB,OAAO,sBAAsB,OAAO,KAAG,OAUlF,CAAA"}
|