payload 3.35.0-internal.5e55452 → 3.35.0-internal.b3d367c

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.
@@ -20,6 +20,8 @@ export type VersionField = {
20
20
  };
21
21
  /**
22
22
  * Taken from react-diff-viewer-continued
23
+ *
24
+ * @deprecated remove in 4.0 - react-diff-viewer-continued is no longer a dependency
23
25
  */
24
26
  export declare enum DiffMethod {
25
27
  CHARS = "diffChars",
@@ -34,10 +36,13 @@ export declare enum DiffMethod {
34
36
  export type FieldDiffClientProps<TClientField extends ClientFieldWithOptionalType = ClientField> = {
35
37
  baseVersionField: BaseVersionField;
36
38
  /**
37
- * Field value from the version being compared
39
+ * Field value from the version being compared from
38
40
  */
39
41
  comparisonValue: unknown;
40
- diffMethod: DiffMethod;
42
+ /**
43
+ * @deprecated remove in 4.0. react-diff-viewer-continued is no longer a dependency
44
+ */
45
+ diffMethod: any;
41
46
  field: TClientField;
42
47
  fieldPermissions: {
43
48
  [key: string]: SanitizedFieldPermissions;
@@ -46,9 +51,11 @@ export type FieldDiffClientProps<TClientField extends ClientFieldWithOptionalTyp
46
51
  * If this field is localized, this will be the locale of the field
47
52
  */
48
53
  locale?: string;
54
+ nestingLevel?: number;
49
55
  parentIsLocalized: boolean;
50
56
  /**
51
- * Field value from the current version
57
+ * Field value from the version being compared to
58
+ *
52
59
  */
53
60
  versionValue: unknown;
54
61
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Diff.d.ts","sourceRoot":"","sources":["../../../src/admin/forms/Diff.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AACvF,OAAO,KAAK,EACV,2BAA2B,EAC3B,cAAc,EACd,yBAAyB,EACzB,WAAW,EACZ,MAAM,gBAAgB,CAAA;AAEvB,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AAEtB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,YAAY,EAAE,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,UAAU,EAAE,CAAA;IACnB,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAA;CACtD,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,MAAM,UAAU;IAC5B,KAAK,cAAc;IACnB,GAAG,YAAY;IACf,IAAI,aAAa;IACjB,KAAK,cAAc;IACnB,SAAS,kBAAkB;IAC3B,aAAa,qBAAqB;IAClC,KAAK,cAAc;IACnB,gBAAgB,uBAAuB;CACxC;AAED,MAAM,MAAM,oBAAoB,CAAC,YAAY,SAAS,2BAA2B,GAAG,WAAW,IAAI;IACjG,gBAAgB,EAAE,gBAAgB,CAAA;IAClC;;OAEG;IACH,eAAe,EAAE,OAAO,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,YAAY,CAAA;IACnB,gBAAgB,EACZ;QACE,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CAAA;KACzC,GACD,IAAI,CAAA;IACR;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,EAAE,OAAO,CAAA;IAC1B;;OAEG;IACH,YAAY,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,oBAAoB,CAC9B,MAAM,SAAS,KAAK,GAAG,KAAK,EAC5B,YAAY,SAAS,2BAA2B,GAAG,WAAW,IAC5D;IACF,WAAW,EAAE,YAAY,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;IACnB,eAAe,EAAE,MAAM,EAAE,CAAA;CAC1B,GAAG,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;AAEvC,MAAM,MAAM,wBAAwB,CAClC,YAAY,SAAS,2BAA2B,GAAG,2BAA2B,IAC5E,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAA;AAE3D,MAAM,MAAM,wBAAwB,CAClC,YAAY,SAAS,KAAK,GAAG,KAAK,EAClC,YAAY,SAAS,2BAA2B,GAAG,2BAA2B,IAC5E,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"Diff.d.ts","sourceRoot":"","sources":["../../../src/admin/forms/Diff.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AACvF,OAAO,KAAK,EACV,2BAA2B,EAC3B,cAAc,EACd,yBAAyB,EACzB,WAAW,EACZ,MAAM,gBAAgB,CAAA;AAEvB,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AAEtB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,YAAY,EAAE,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,UAAU,EAAE,CAAA;IACnB,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAA;CACtD,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,MAAM,UAAU;IAC5B,KAAK,cAAc;IACnB,GAAG,YAAY;IACf,IAAI,aAAa;IACjB,KAAK,cAAc;IACnB,SAAS,kBAAkB;IAC3B,aAAa,qBAAqB;IAClC,KAAK,cAAc;IACnB,gBAAgB,uBAAuB;CACxC;AAED,MAAM,MAAM,oBAAoB,CAAC,YAAY,SAAS,2BAA2B,GAAG,WAAW,IAAI;IACjG,gBAAgB,EAAE,gBAAgB,CAAA;IAClC;;OAEG;IACH,eAAe,EAAE,OAAO,CAAA;IACxB;;OAEG;IACH,UAAU,EAAE,GAAG,CAAA;IACf,KAAK,EAAE,YAAY,CAAA;IACnB,gBAAgB,EACZ;QACE,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CAAA;KACzC,GACD,IAAI,CAAA;IACR;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,OAAO,CAAA;IAC1B;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,oBAAoB,CAC9B,MAAM,SAAS,KAAK,GAAG,KAAK,EAC5B,YAAY,SAAS,2BAA2B,GAAG,WAAW,IAC5D;IACF,WAAW,EAAE,YAAY,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;IACnB,eAAe,EAAE,MAAM,EAAE,CAAA;CAC1B,GAAG,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;AAEvC,MAAM,MAAM,wBAAwB,CAClC,YAAY,SAAS,2BAA2B,GAAG,2BAA2B,IAC5E,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAA;AAE3D,MAAM,MAAM,wBAAwB,CAClC,YAAY,SAAS,KAAK,GAAG,KAAK,EAClC,YAAY,SAAS,2BAA2B,GAAG,2BAA2B,IAC5E,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/admin/forms/Diff.ts"],"sourcesContent":["// @ts-strict-ignore\n\nimport type { I18nClient } from '@payloadcms/translations'\n\nimport type { ClientField, Field, FieldTypes, Tab } from '../../fields/config/types.js'\nimport type {\n ClientFieldWithOptionalType,\n PayloadRequest,\n SanitizedFieldPermissions,\n TypedLocale,\n} from '../../index.js'\n\nexport type VersionTab = {\n fields: VersionField[]\n name?: string\n} & Pick<Tab, 'label'>\n\nexport type BaseVersionField = {\n CustomComponent?: React.ReactNode\n fields: VersionField[]\n path: string\n rows?: VersionField[][]\n schemaPath: string\n tabs?: VersionTab[]\n type: FieldTypes\n}\n\nexport type VersionField = {\n field?: BaseVersionField\n fieldByLocale?: Record<TypedLocale, BaseVersionField>\n}\n\n/**\n * Taken from react-diff-viewer-continued\n */\nexport declare enum DiffMethod {\n CHARS = 'diffChars',\n CSS = 'diffCss',\n JSON = 'diffJson',\n LINES = 'diffLines',\n SENTENCES = 'diffSentences',\n TRIMMED_LINES = 'diffTrimmedLines',\n WORDS = 'diffWords',\n WORDS_WITH_SPACE = 'diffWordsWithSpace',\n}\n\nexport type FieldDiffClientProps<TClientField extends ClientFieldWithOptionalType = ClientField> = {\n baseVersionField: BaseVersionField\n /**\n * Field value from the version being compared\n */\n comparisonValue: unknown\n diffMethod: DiffMethod\n field: TClientField\n fieldPermissions:\n | {\n [key: string]: SanitizedFieldPermissions\n }\n | true\n /**\n * If this field is localized, this will be the locale of the field\n */\n locale?: string\n parentIsLocalized: boolean\n /**\n * Field value from the current version\n */\n versionValue: unknown\n}\n\nexport type FieldDiffServerProps<\n TField extends Field = Field,\n TClientField extends ClientFieldWithOptionalType = ClientField,\n> = {\n clientField: TClientField\n field: TField\n i18n: I18nClient\n req: PayloadRequest\n selectedLocales: string[]\n} & Omit<FieldDiffClientProps, 'field'>\n\nexport type FieldDiffClientComponent<\n TFieldClient extends ClientFieldWithOptionalType = ClientFieldWithOptionalType,\n> = React.ComponentType<FieldDiffClientProps<TFieldClient>>\n\nexport type FieldDiffServerComponent<\n TFieldServer extends Field = Field,\n TFieldClient extends ClientFieldWithOptionalType = ClientFieldWithOptionalType,\n> = React.ComponentType<FieldDiffServerProps<TFieldServer, TFieldClient>>\n"],"names":[],"mappings":"AAAA,oBAAoB;AAqFpB,WAGyE"}
1
+ {"version":3,"sources":["../../../src/admin/forms/Diff.ts"],"sourcesContent":["// @ts-strict-ignore\n\nimport type { I18nClient } from '@payloadcms/translations'\n\nimport type { ClientField, Field, FieldTypes, Tab } from '../../fields/config/types.js'\nimport type {\n ClientFieldWithOptionalType,\n PayloadRequest,\n SanitizedFieldPermissions,\n TypedLocale,\n} from '../../index.js'\n\nexport type VersionTab = {\n fields: VersionField[]\n name?: string\n} & Pick<Tab, 'label'>\n\nexport type BaseVersionField = {\n CustomComponent?: React.ReactNode\n fields: VersionField[]\n path: string\n rows?: VersionField[][]\n schemaPath: string\n tabs?: VersionTab[]\n type: FieldTypes\n}\n\nexport type VersionField = {\n field?: BaseVersionField\n fieldByLocale?: Record<TypedLocale, BaseVersionField>\n}\n\n/**\n * Taken from react-diff-viewer-continued\n *\n * @deprecated remove in 4.0 - react-diff-viewer-continued is no longer a dependency\n */\nexport declare enum DiffMethod {\n CHARS = 'diffChars',\n CSS = 'diffCss',\n JSON = 'diffJson',\n LINES = 'diffLines',\n SENTENCES = 'diffSentences',\n TRIMMED_LINES = 'diffTrimmedLines',\n WORDS = 'diffWords',\n WORDS_WITH_SPACE = 'diffWordsWithSpace',\n}\n\nexport type FieldDiffClientProps<TClientField extends ClientFieldWithOptionalType = ClientField> = {\n baseVersionField: BaseVersionField\n /**\n * Field value from the version being compared from\n */\n comparisonValue: unknown // TODO: change to valueFrom in 4.0\n /**\n * @deprecated remove in 4.0. react-diff-viewer-continued is no longer a dependency\n */\n diffMethod: any\n field: TClientField\n fieldPermissions:\n | {\n [key: string]: SanitizedFieldPermissions\n }\n | true\n /**\n * If this field is localized, this will be the locale of the field\n */\n locale?: string\n nestingLevel?: number\n parentIsLocalized: boolean\n /**\n * Field value from the version being compared to\n *\n */\n versionValue: unknown // TODO: change to valueTo in 4.0\n}\n\nexport type FieldDiffServerProps<\n TField extends Field = Field,\n TClientField extends ClientFieldWithOptionalType = ClientField,\n> = {\n clientField: TClientField\n field: TField\n i18n: I18nClient\n req: PayloadRequest\n selectedLocales: string[]\n} & Omit<FieldDiffClientProps, 'field'>\n\nexport type FieldDiffClientComponent<\n TFieldClient extends ClientFieldWithOptionalType = ClientFieldWithOptionalType,\n> = React.ComponentType<FieldDiffClientProps<TFieldClient>>\n\nexport type FieldDiffServerComponent<\n TFieldServer extends Field = Field,\n TFieldClient extends ClientFieldWithOptionalType = ClientFieldWithOptionalType,\n> = React.ComponentType<FieldDiffServerProps<TFieldServer, TFieldClient>>\n"],"names":[],"mappings":"AAAA,oBAAoB;AA4FpB,WAGyE"}
@@ -1 +1 @@
1
- {"version":3,"file":"handleEndpoints.d.ts","sourceRoot":"","sources":["../../src/utilities/handleEndpoints.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAA4B,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAwBnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,eAAe,yDAKzB;IACD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,OAAO,CAAC,QAAQ,CAyKnB,CAAA"}
1
+ {"version":3,"file":"handleEndpoints.d.ts","sourceRoot":"","sources":["../../src/utilities/handleEndpoints.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAA4B,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAwBnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,eAAe,yDAKzB;IACD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,OAAO,CAAC,QAAQ,CAqKnB,CAAA"}
@@ -167,10 +167,7 @@ const notFoundResponse = (req, pathname)=>{
167
167
  }
168
168
  const response = await handler(req);
169
169
  return new Response(response.body, {
170
- headers: headersWithCors({
171
- headers: mergeHeaders(req.responseHeaders ?? new Headers(), response.headers),
172
- req
173
- }),
170
+ headers: mergeHeaders(req.responseHeaders ?? new Headers(), response.headers),
174
171
  status: response.status,
175
172
  statusText: response.statusText
176
173
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/handleEndpoints.ts"],"sourcesContent":["// @ts-strict-ignore\nimport { status as httpStatus } from 'http-status'\nimport { match } from 'path-to-regexp'\n\nimport type { Collection } from '../collections/config/types.js'\nimport type { Endpoint, PayloadHandler, SanitizedConfig } from '../config/types.js'\nimport type { GlobalConfig } from '../globals/config/types.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { createPayloadRequest } from './createPayloadRequest.js'\nimport { headersWithCors } from './headersWithCors.js'\nimport { mergeHeaders } from './mergeHeaders.js'\nimport { routeError } from './routeError.js'\n\nconst notFoundResponse = (req: PayloadRequest, pathname?: string) => {\n return Response.json(\n {\n message: `Route not found \"${pathname ?? new URL(req.url).pathname}\"`,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.NOT_FOUND,\n },\n )\n}\n\n/**\n * Attaches the Payload REST API to any backend framework that uses Fetch Request/Response\n * like Next.js (app router), Remix, Bun, Hono.\n *\n * ### Example: Using Hono\n * ```ts\n * import { handleEndpoints } from 'payload';\n * import { serve } from '@hono/node-server';\n * import { loadEnv } from 'payload/node';\n *\n * const port = 3001;\n * loadEnv();\n *\n * const { default: config } = await import('@payload-config');\n *\n * const server = serve({\n * fetch: async (request) => {\n * const response = await handleEndpoints({\n * config,\n * request: request.clone(),\n * });\n *\n * return response;\n * },\n * port,\n * });\n *\n * server.on('listening', () => {\n * console.log(`API server is listening on http://localhost:${port}/api`);\n * });\n * ```\n */\nexport const handleEndpoints = async ({\n basePath = '',\n config: incomingConfig,\n path,\n request,\n}: {\n basePath?: string\n config: Promise<SanitizedConfig> | SanitizedConfig\n /** Override path from the request */\n path?: string\n request: Request\n}): Promise<Response> => {\n let handler: PayloadHandler\n let req: PayloadRequest\n let collection: Collection\n\n // This can be used against GET request search params size limit.\n // Instead you can do POST request with a text body as search params.\n // We use this interally for relationships querying on the frontend\n // packages/ui/src/fields/Relationship/index.tsx\n if (\n request.method.toLowerCase() === 'post' &&\n request.headers.get('X-HTTP-Method-Override') === 'GET'\n ) {\n const search = await request.text()\n\n const url = `${request.url}?${new URLSearchParams(search).toString()}`\n const response = await handleEndpoints({\n basePath,\n config: incomingConfig,\n path,\n request: new Request(url, {\n cache: request.cache,\n credentials: request.credentials,\n headers: request.headers,\n method: 'GET',\n signal: request.signal,\n }),\n })\n\n return response\n }\n\n try {\n req = await createPayloadRequest({ config: incomingConfig, request })\n\n if (req.method.toLowerCase() === 'options') {\n return Response.json(\n {},\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: 200,\n },\n )\n }\n\n const { payload } = req\n const { config } = payload\n\n const pathname = `${basePath}${path ?? new URL(req.url).pathname}`\n\n if (!pathname.startsWith(config.routes.api)) {\n return notFoundResponse(req, pathname)\n }\n\n // /api/posts/route -> /posts/route\n let adjustedPathname = pathname.replace(config.routes.api, '')\n\n let isGlobals = false\n\n // /globals/header/route -> /header/route\n if (adjustedPathname.startsWith('/globals')) {\n isGlobals = true\n adjustedPathname = adjustedPathname.replace('/globals', '')\n }\n\n const segments = adjustedPathname.split('/')\n // remove empty string first element\n segments.shift()\n\n const firstParam = segments[0]\n\n let globalConfig: GlobalConfig\n\n // first param can be a global slug or collection slug, find the relevant config\n if (firstParam) {\n if (isGlobals) {\n globalConfig = payload.globals.config.find((each) => each.slug === firstParam)\n } else if (payload.collections[firstParam]) {\n collection = payload.collections[firstParam]\n }\n }\n\n let endpoints: Endpoint[] | false = config.endpoints\n\n if (collection) {\n endpoints = collection.config.endpoints\n // /posts/route -> /route\n adjustedPathname = adjustedPathname.replace(`/${collection.config.slug}`, '')\n } else if (globalConfig) {\n // /header/route -> /route\n adjustedPathname = adjustedPathname.replace(`/${globalConfig.slug}`, '')\n endpoints = globalConfig.endpoints\n }\n\n // sanitize when endpoint.path is '/'\n if (adjustedPathname === '') {\n adjustedPathname = '/'\n }\n\n if (endpoints === false) {\n return Response.json(\n {\n message: `Cannot ${req.method.toUpperCase()} ${req.url}`,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.NOT_IMPLEMENTED,\n },\n )\n }\n\n // Find the relevant endpoint configuration\n const endpoint = endpoints?.find((endpoint) => {\n if (endpoint.method !== req.method.toLowerCase()) {\n return false\n }\n\n const pathMatchFn = match(endpoint.path, { decode: decodeURIComponent })\n\n const matchResult = pathMatchFn(adjustedPathname)\n\n if (!matchResult) {\n return false\n }\n\n req.routeParams = matchResult.params as Record<string, unknown>\n\n // Inject to routeParams the slug as well so it can be used later\n if (collection) {\n req.routeParams.collection = collection.config.slug\n } else if (globalConfig) {\n req.routeParams.global = globalConfig.slug\n }\n\n return true\n })\n\n if (endpoint) {\n handler = endpoint.handler\n }\n\n if (!handler) {\n return notFoundResponse(req, pathname)\n }\n\n const response = await handler(req)\n\n return new Response(response.body, {\n headers: headersWithCors({\n headers: mergeHeaders(req.responseHeaders ?? new Headers(), response.headers),\n req,\n }),\n status: response.status,\n statusText: response.statusText,\n })\n } catch (err) {\n return routeError({\n collection,\n config: incomingConfig,\n err,\n req,\n })\n }\n}\n"],"names":["status","httpStatus","match","createPayloadRequest","headersWithCors","mergeHeaders","routeError","notFoundResponse","req","pathname","Response","json","message","URL","url","headers","Headers","NOT_FOUND","handleEndpoints","basePath","config","incomingConfig","path","request","handler","collection","method","toLowerCase","get","search","text","URLSearchParams","toString","response","Request","cache","credentials","signal","payload","startsWith","routes","api","adjustedPathname","replace","isGlobals","segments","split","shift","firstParam","globalConfig","globals","find","each","slug","collections","endpoints","toUpperCase","NOT_IMPLEMENTED","endpoint","pathMatchFn","decode","decodeURIComponent","matchResult","routeParams","params","global","body","responseHeaders","statusText","err"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utilities/handleEndpoints.ts"],"sourcesContent":["// @ts-strict-ignore\nimport { status as httpStatus } from 'http-status'\nimport { match } from 'path-to-regexp'\n\nimport type { Collection } from '../collections/config/types.js'\nimport type { Endpoint, PayloadHandler, SanitizedConfig } from '../config/types.js'\nimport type { GlobalConfig } from '../globals/config/types.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { createPayloadRequest } from './createPayloadRequest.js'\nimport { headersWithCors } from './headersWithCors.js'\nimport { mergeHeaders } from './mergeHeaders.js'\nimport { routeError } from './routeError.js'\n\nconst notFoundResponse = (req: PayloadRequest, pathname?: string) => {\n return Response.json(\n {\n message: `Route not found \"${pathname ?? new URL(req.url).pathname}\"`,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.NOT_FOUND,\n },\n )\n}\n\n/**\n * Attaches the Payload REST API to any backend framework that uses Fetch Request/Response\n * like Next.js (app router), Remix, Bun, Hono.\n *\n * ### Example: Using Hono\n * ```ts\n * import { handleEndpoints } from 'payload';\n * import { serve } from '@hono/node-server';\n * import { loadEnv } from 'payload/node';\n *\n * const port = 3001;\n * loadEnv();\n *\n * const { default: config } = await import('@payload-config');\n *\n * const server = serve({\n * fetch: async (request) => {\n * const response = await handleEndpoints({\n * config,\n * request: request.clone(),\n * });\n *\n * return response;\n * },\n * port,\n * });\n *\n * server.on('listening', () => {\n * console.log(`API server is listening on http://localhost:${port}/api`);\n * });\n * ```\n */\nexport const handleEndpoints = async ({\n basePath = '',\n config: incomingConfig,\n path,\n request,\n}: {\n basePath?: string\n config: Promise<SanitizedConfig> | SanitizedConfig\n /** Override path from the request */\n path?: string\n request: Request\n}): Promise<Response> => {\n let handler: PayloadHandler\n let req: PayloadRequest\n let collection: Collection\n\n // This can be used against GET request search params size limit.\n // Instead you can do POST request with a text body as search params.\n // We use this interally for relationships querying on the frontend\n // packages/ui/src/fields/Relationship/index.tsx\n if (\n request.method.toLowerCase() === 'post' &&\n request.headers.get('X-HTTP-Method-Override') === 'GET'\n ) {\n const search = await request.text()\n\n const url = `${request.url}?${new URLSearchParams(search).toString()}`\n const response = await handleEndpoints({\n basePath,\n config: incomingConfig,\n path,\n request: new Request(url, {\n cache: request.cache,\n credentials: request.credentials,\n headers: request.headers,\n method: 'GET',\n signal: request.signal,\n }),\n })\n\n return response\n }\n\n try {\n req = await createPayloadRequest({ config: incomingConfig, request })\n\n if (req.method.toLowerCase() === 'options') {\n return Response.json(\n {},\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: 200,\n },\n )\n }\n\n const { payload } = req\n const { config } = payload\n\n const pathname = `${basePath}${path ?? new URL(req.url).pathname}`\n\n if (!pathname.startsWith(config.routes.api)) {\n return notFoundResponse(req, pathname)\n }\n\n // /api/posts/route -> /posts/route\n let adjustedPathname = pathname.replace(config.routes.api, '')\n\n let isGlobals = false\n\n // /globals/header/route -> /header/route\n if (adjustedPathname.startsWith('/globals')) {\n isGlobals = true\n adjustedPathname = adjustedPathname.replace('/globals', '')\n }\n\n const segments = adjustedPathname.split('/')\n // remove empty string first element\n segments.shift()\n\n const firstParam = segments[0]\n\n let globalConfig: GlobalConfig\n\n // first param can be a global slug or collection slug, find the relevant config\n if (firstParam) {\n if (isGlobals) {\n globalConfig = payload.globals.config.find((each) => each.slug === firstParam)\n } else if (payload.collections[firstParam]) {\n collection = payload.collections[firstParam]\n }\n }\n\n let endpoints: Endpoint[] | false = config.endpoints\n\n if (collection) {\n endpoints = collection.config.endpoints\n // /posts/route -> /route\n adjustedPathname = adjustedPathname.replace(`/${collection.config.slug}`, '')\n } else if (globalConfig) {\n // /header/route -> /route\n adjustedPathname = adjustedPathname.replace(`/${globalConfig.slug}`, '')\n endpoints = globalConfig.endpoints\n }\n\n // sanitize when endpoint.path is '/'\n if (adjustedPathname === '') {\n adjustedPathname = '/'\n }\n\n if (endpoints === false) {\n return Response.json(\n {\n message: `Cannot ${req.method.toUpperCase()} ${req.url}`,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.NOT_IMPLEMENTED,\n },\n )\n }\n\n // Find the relevant endpoint configuration\n const endpoint = endpoints?.find((endpoint) => {\n if (endpoint.method !== req.method.toLowerCase()) {\n return false\n }\n\n const pathMatchFn = match(endpoint.path, { decode: decodeURIComponent })\n\n const matchResult = pathMatchFn(adjustedPathname)\n\n if (!matchResult) {\n return false\n }\n\n req.routeParams = matchResult.params as Record<string, unknown>\n\n // Inject to routeParams the slug as well so it can be used later\n if (collection) {\n req.routeParams.collection = collection.config.slug\n } else if (globalConfig) {\n req.routeParams.global = globalConfig.slug\n }\n\n return true\n })\n\n if (endpoint) {\n handler = endpoint.handler\n }\n\n if (!handler) {\n return notFoundResponse(req, pathname)\n }\n\n const response = await handler(req)\n return new Response(response.body, {\n headers: mergeHeaders(req.responseHeaders ?? new Headers(), response.headers),\n status: response.status,\n statusText: response.statusText,\n })\n } catch (err) {\n return routeError({\n collection,\n config: incomingConfig,\n err,\n req,\n })\n }\n}\n"],"names":["status","httpStatus","match","createPayloadRequest","headersWithCors","mergeHeaders","routeError","notFoundResponse","req","pathname","Response","json","message","URL","url","headers","Headers","NOT_FOUND","handleEndpoints","basePath","config","incomingConfig","path","request","handler","collection","method","toLowerCase","get","search","text","URLSearchParams","toString","response","Request","cache","credentials","signal","payload","startsWith","routes","api","adjustedPathname","replace","isGlobals","segments","split","shift","firstParam","globalConfig","globals","find","each","slug","collections","endpoints","toUpperCase","NOT_IMPLEMENTED","endpoint","pathMatchFn","decode","decodeURIComponent","matchResult","routeParams","params","global","body","responseHeaders","statusText","err"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload",
3
- "version": "3.35.0-internal.5e55452",
3
+ "version": "3.35.0-internal.b3d367c",
4
4
  "description": "Node, React, Headless CMS and Application Framework built on Next.js",
5
5
  "keywords": [
6
6
  "admin panel",
@@ -99,7 +99,7 @@
99
99
  "tsx": "4.19.2",
100
100
  "uuid": "10.0.0",
101
101
  "ws": "^8.16.0",
102
- "@payloadcms/translations": "3.35.0-internal.5e55452"
102
+ "@payloadcms/translations": "3.35.0-internal.b3d367c"
103
103
  },
104
104
  "devDependencies": {
105
105
  "@hyrious/esbuild-plugin-commonjs": "^0.2.4",