@payloadcms/next 3.16.0 → 3.16.1-canary.9004205

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAO/E,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,OAAO,8BAA8B,CAAA;AAErC,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAED,eAAO,MAAM,UAAU,oEAKpB;IACD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;CAC9C,+BAkHA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAO/E,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,OAAO,8BAA8B,CAAA;AAErC,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAED,eAAO,MAAM,UAAU,oEAKpB;IACD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;CAC9C,+BAgHA,CAAA"}
@@ -40,10 +40,8 @@ export const RootLayout = async ({
40
40
  importMap
41
41
  });
42
42
  const {
43
- i18n,
44
43
  permissions,
45
- req,
46
- user
44
+ req
47
45
  } = await initReq(config);
48
46
  const dir = rtlLanguages.includes(languageCode) ? 'RTL' : 'LTR';
49
47
  const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce((acc, [language, languageConfig]) => {
@@ -67,14 +65,13 @@ export const RootLayout = async ({
67
65
  }
68
66
  const navPrefs = await getNavPrefs({
69
67
  payload,
70
- user
68
+ user: req.user
71
69
  });
72
70
  const clientConfig = getClientConfig({
73
71
  config,
74
- i18n,
72
+ i18n: req.i18n,
75
73
  importMap
76
74
  });
77
- req.user = user;
78
75
  const locale = await getRequestLocale({
79
76
  req
80
77
  });
@@ -90,7 +87,7 @@ export const RootLayout = async ({
90
87
  }), /*#__PURE__*/_jsxs("body", {
91
88
  children: [/*#__PURE__*/_jsx(RootProvider, {
92
89
  config: clientConfig,
93
- dateFNSKey: i18n.dateFNSKey,
90
+ dateFNSKey: req.i18n.dateFNSKey,
94
91
  fallbackLang: config.i18n.fallbackLanguage,
95
92
  isNavOpen: navPrefs?.open ?? true,
96
93
  languageCode: languageCode,
@@ -100,16 +97,16 @@ export const RootLayout = async ({
100
97
  serverFunction: serverFunction,
101
98
  switchLanguageServerAction: switchLanguageServerAction,
102
99
  theme: theme,
103
- translations: i18n.translations,
104
- user: user,
100
+ translations: req.i18n.translations,
101
+ user: req.user,
105
102
  children: Array.isArray(config.admin?.components?.providers) && config.admin?.components?.providers.length > 0 ? /*#__PURE__*/_jsx(NestProviders, {
106
103
  importMap: payload.importMap,
107
104
  providers: config.admin?.components?.providers,
108
105
  serverProps: {
109
- i18n,
106
+ i18n: req.i18n,
110
107
  payload,
111
108
  permissions,
112
- user
109
+ user: req.user
113
110
  },
114
111
  children: children
115
112
  }) : children
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["rtlLanguages","RootProvider","getClientConfig","headers","getHeaders","cookies","nextCookies","getPayload","getRequestLanguage","parseCookies","React","getNavPrefs","getRequestLocale","getRequestTheme","initReq","checkDependencies","NestProviders","metadata","description","title","RootLayout","children","config","configPromise","importMap","serverFunction","languageCode","theme","payload","i18n","permissions","req","user","dir","includes","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","name","cookiePrefix","path","navPrefs","clientConfig","locale","_jsxs","suppressHydrationWarning","admin","_jsx","dateFNSKey","fallbackLang","fallbackLanguage","isNavOpen","open","code","Array","isArray","components","providers","length","serverProps","id"],"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { ImportMap, SanitizedConfig, ServerFunctionClient } from 'payload'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { RootProvider } from '@payloadcms/ui'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { headers as getHeaders, cookies as nextCookies } from 'next/headers.js'\nimport { getPayload, getRequestLanguage, parseCookies } from 'payload'\nimport React from 'react'\n\nimport { getNavPrefs } from '../../elements/Nav/getNavPrefs.js'\nimport { getRequestLocale } from '../../utilities/getRequestLocale.js'\nimport { getRequestTheme } from '../../utilities/getRequestTheme.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { checkDependencies } from './checkDependencies.js'\nimport { NestProviders } from './NestProviders.js'\n\nimport '@payloadcms/ui/scss/app.scss'\n\nexport const metadata = {\n description: 'Generated by Next.js',\n title: 'Next.js',\n}\n\nexport const RootLayout = async ({\n children,\n config: configPromise,\n importMap,\n serverFunction,\n}: {\n readonly children: React.ReactNode\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly serverFunction: ServerFunctionClient\n}) => {\n checkDependencies()\n\n const config = await configPromise\n\n const headers = await getHeaders()\n const cookies = parseCookies(headers)\n\n const languageCode = getRequestLanguage({\n config,\n cookies,\n headers,\n })\n\n const theme = getRequestTheme({\n config,\n cookies,\n headers,\n })\n\n const payload = await getPayload({ config, importMap })\n\n const { i18n, permissions, req, user } = await initReq(config)\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n async function switchLanguageServerAction(lang: string): Promise<void> {\n 'use server'\n const cookies = await nextCookies()\n cookies.set({\n name: `${config.cookiePrefix || 'payload'}-lng`,\n path: '/',\n value: lang,\n })\n }\n\n const navPrefs = await getNavPrefs({ payload, user })\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap,\n })\n\n req.user = user\n\n const locale = await getRequestLocale({\n req,\n })\n\n return (\n <html\n data-theme={theme}\n dir={dir}\n lang={languageCode}\n suppressHydrationWarning={config?.admin?.suppressHydrationWarning ?? false}\n >\n <head>\n <style>{`@layer payload-default, payload;`}</style>\n </head>\n <body>\n <RootProvider\n config={clientConfig}\n dateFNSKey={i18n.dateFNSKey}\n fallbackLang={config.i18n.fallbackLanguage}\n isNavOpen={navPrefs?.open ?? true}\n languageCode={languageCode}\n languageOptions={languageOptions}\n locale={locale?.code}\n permissions={permissions}\n serverFunction={serverFunction}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={i18n.translations}\n user={user}\n >\n {Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n importMap={payload.importMap}\n providers={config.admin?.components?.providers}\n serverProps={{\n i18n,\n payload,\n permissions,\n user,\n }}\n >\n {children}\n </NestProviders>\n ) : (\n children\n )}\n </RootProvider>\n <div id=\"portal\" />\n </body>\n </html>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["rtlLanguages","RootProvider","getClientConfig","headers","getHeaders","cookies","nextCookies","getPayload","getRequestLanguage","parseCookies","React","getNavPrefs","getRequestLocale","getRequestTheme","initReq","checkDependencies","NestProviders","metadata","description","title","RootLayout","children","config","configPromise","importMap","serverFunction","languageCode","theme","payload","permissions","req","dir","includes","languageOptions","Object","entries","i18n","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","name","cookiePrefix","path","navPrefs","user","clientConfig","locale","_jsxs","suppressHydrationWarning","admin","_jsx","dateFNSKey","fallbackLang","fallbackLanguage","isNavOpen","open","code","Array","isArray","components","providers","length","serverProps","id"],"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { ImportMap, SanitizedConfig, ServerFunctionClient } from 'payload'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { RootProvider } from '@payloadcms/ui'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { headers as getHeaders, cookies as nextCookies } from 'next/headers.js'\nimport { getPayload, getRequestLanguage, parseCookies } from 'payload'\nimport React from 'react'\n\nimport { getNavPrefs } from '../../elements/Nav/getNavPrefs.js'\nimport { getRequestLocale } from '../../utilities/getRequestLocale.js'\nimport { getRequestTheme } from '../../utilities/getRequestTheme.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { checkDependencies } from './checkDependencies.js'\nimport { NestProviders } from './NestProviders.js'\n\nimport '@payloadcms/ui/scss/app.scss'\n\nexport const metadata = {\n description: 'Generated by Next.js',\n title: 'Next.js',\n}\n\nexport const RootLayout = async ({\n children,\n config: configPromise,\n importMap,\n serverFunction,\n}: {\n readonly children: React.ReactNode\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly serverFunction: ServerFunctionClient\n}) => {\n checkDependencies()\n\n const config = await configPromise\n\n const headers = await getHeaders()\n const cookies = parseCookies(headers)\n\n const languageCode = getRequestLanguage({\n config,\n cookies,\n headers,\n })\n\n const theme = getRequestTheme({\n config,\n cookies,\n headers,\n })\n\n const payload = await getPayload({ config, importMap })\n\n const { permissions, req } = await initReq(config)\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n async function switchLanguageServerAction(lang: string): Promise<void> {\n 'use server'\n const cookies = await nextCookies()\n cookies.set({\n name: `${config.cookiePrefix || 'payload'}-lng`,\n path: '/',\n value: lang,\n })\n }\n\n const navPrefs = await getNavPrefs({ payload, user: req.user })\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n })\n\n const locale = await getRequestLocale({\n req,\n })\n\n return (\n <html\n data-theme={theme}\n dir={dir}\n lang={languageCode}\n suppressHydrationWarning={config?.admin?.suppressHydrationWarning ?? false}\n >\n <head>\n <style>{`@layer payload-default, payload;`}</style>\n </head>\n <body>\n <RootProvider\n config={clientConfig}\n dateFNSKey={req.i18n.dateFNSKey}\n fallbackLang={config.i18n.fallbackLanguage}\n isNavOpen={navPrefs?.open ?? true}\n languageCode={languageCode}\n languageOptions={languageOptions}\n locale={locale?.code}\n permissions={permissions}\n serverFunction={serverFunction}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={req.i18n.translations}\n user={req.user}\n >\n {Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n importMap={payload.importMap}\n providers={config.admin?.components?.providers}\n serverProps={{\n i18n: req.i18n,\n payload,\n permissions,\n user: req.user,\n }}\n >\n {children}\n </NestProviders>\n ) : (\n children\n )}\n </RootProvider>\n <div id=\"portal\" />\n </body>\n </html>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAmC/D,eAAO,MAAM,OAAO,WA5BT,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,KAAG,OAAO,CAAC,QAAQ,CA2BP,CAAA;AAErC,eAAO,MAAM,GAAG,WA9BL,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,KAAG,OAAO,CAAC,QAAQ,CA6BX,CAAA;AAEjC,eAAO,MAAM,IAAI,WAhCN,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,KAAG,OAAO,CAAC,QAAQ,CA+BV,CAAA;AAElC,eAAO,MAAM,MAAM,WAlCR,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,KAAG,OAAO,CAAC,QAAQ,CAiCR,CAAA;AAEpC,eAAO,MAAM,KAAK,WApCP,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,KAAG,OAAO,CAAC,QAAQ,CAmCT,CAAA;AAEnC,eAAO,MAAM,GAAG,WAtCL,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,KAAG,OAAO,CAAC,QAAQ,CAqCX,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAoC/D,eAAO,MAAM,OAAO,WA7BT,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,KAAG,OAAO,CAAC,QAAQ,CA4BP,CAAA;AAErC,eAAO,MAAM,GAAG,WA/BL,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,KAAG,OAAO,CAAC,QAAQ,CA8BX,CAAA;AAEjC,eAAO,MAAM,IAAI,WAjCN,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,KAAG,OAAO,CAAC,QAAQ,CAgCV,CAAA;AAElC,eAAO,MAAM,MAAM,WAnCR,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,KAAG,OAAO,CAAC,QAAQ,CAkCR,CAAA;AAEpC,eAAO,MAAM,KAAK,WArCP,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,KAAG,OAAO,CAAC,QAAQ,CAoCT,CAAA;AAEnC,eAAO,MAAM,GAAG,WAvCL,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,KAAG,OAAO,CAAC,QAAQ,CAsCX,CAAA"}
@@ -13,6 +13,7 @@ const handlerBuilder = config => async request => {
13
13
  }
14
14
  initedOGEndpoint = true;
15
15
  const response = await handleEndpoints({
16
+ basePath: process.env.NEXT_BASE_PATH,
16
17
  config,
17
18
  request
18
19
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["handleEndpoints","generateOGImage","initedOGEndpoint","handlerBuilder","config","request","awaitedConfig","endpoints","some","endpoint","path","method","push","handler","response","OPTIONS","GET","POST","DELETE","PATCH","PUT"],"sources":["../../../src/routes/rest/index.ts"],"sourcesContent":["import { handleEndpoints, type SanitizedConfig } from 'payload'\n\nimport { generateOGImage } from './og/index.js'\n\nlet initedOGEndpoint = false\n\nconst handlerBuilder =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request): Promise<Response> => {\n const awaitedConfig = await config\n\n // Add this endpoint only when using Next.js, still can be overriden.\n if (\n initedOGEndpoint === false &&\n !awaitedConfig.endpoints.some(\n (endpoint) => endpoint.path === '/og' && endpoint.method === 'get',\n )\n ) {\n awaitedConfig.endpoints.push({\n handler: generateOGImage,\n method: 'get',\n path: '/og',\n })\n }\n\n initedOGEndpoint = true\n\n const response = await handleEndpoints({\n config,\n request,\n })\n\n return response\n }\n\nexport const OPTIONS = handlerBuilder\n\nexport const GET = handlerBuilder\n\nexport const POST = handlerBuilder\n\nexport const DELETE = handlerBuilder\n\nexport const PATCH = handlerBuilder\n\nexport const PUT = handlerBuilder\n"],"mappings":"AAAA,SAASA,eAAe,QAA8B;AAEtD,SAASC,eAAe,QAAQ;AAEhC,IAAIC,gBAAA,GAAmB;AAEvB,MAAMC,cAAA,GACHC,MAAA,IACD,MAAOC,OAAA;EACL,MAAMC,aAAA,GAAgB,MAAMF,MAAA;EAE5B;EACA,IACEF,gBAAA,KAAqB,SACrB,CAACI,aAAA,CAAcC,SAAS,CAACC,IAAI,CAC1BC,QAAA,IAAaA,QAAA,CAASC,IAAI,KAAK,SAASD,QAAA,CAASE,MAAM,KAAK,QAE/D;IACAL,aAAA,CAAcC,SAAS,CAACK,IAAI,CAAC;MAC3BC,OAAA,EAASZ,eAAA;MACTU,MAAA,EAAQ;MACRD,IAAA,EAAM;IACR;EACF;EAEAR,gBAAA,GAAmB;EAEnB,MAAMY,QAAA,GAAW,MAAMd,eAAA,CAAgB;IACrCI,MAAA;IACAC;EACF;EAEA,OAAOS,QAAA;AACT;AAEF,OAAO,MAAMC,OAAA,GAAUZ,cAAA;AAEvB,OAAO,MAAMa,GAAA,GAAMb,cAAA;AAEnB,OAAO,MAAMc,IAAA,GAAOd,cAAA;AAEpB,OAAO,MAAMe,MAAA,GAASf,cAAA;AAEtB,OAAO,MAAMgB,KAAA,GAAQhB,cAAA;AAErB,OAAO,MAAMiB,GAAA,GAAMjB,cAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["handleEndpoints","generateOGImage","initedOGEndpoint","handlerBuilder","config","request","awaitedConfig","endpoints","some","endpoint","path","method","push","handler","response","basePath","process","env","NEXT_BASE_PATH","OPTIONS","GET","POST","DELETE","PATCH","PUT"],"sources":["../../../src/routes/rest/index.ts"],"sourcesContent":["import { handleEndpoints, type SanitizedConfig } from 'payload'\n\nimport { generateOGImage } from './og/index.js'\n\nlet initedOGEndpoint = false\n\nconst handlerBuilder =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request): Promise<Response> => {\n const awaitedConfig = await config\n\n // Add this endpoint only when using Next.js, still can be overriden.\n if (\n initedOGEndpoint === false &&\n !awaitedConfig.endpoints.some(\n (endpoint) => endpoint.path === '/og' && endpoint.method === 'get',\n )\n ) {\n awaitedConfig.endpoints.push({\n handler: generateOGImage,\n method: 'get',\n path: '/og',\n })\n }\n\n initedOGEndpoint = true\n\n const response = await handleEndpoints({\n basePath: process.env.NEXT_BASE_PATH,\n config,\n request,\n })\n\n return response\n }\n\nexport const OPTIONS = handlerBuilder\n\nexport const GET = handlerBuilder\n\nexport const POST = handlerBuilder\n\nexport const DELETE = handlerBuilder\n\nexport const PATCH = handlerBuilder\n\nexport const PUT = handlerBuilder\n"],"mappings":"AAAA,SAASA,eAAe,QAA8B;AAEtD,SAASC,eAAe,QAAQ;AAEhC,IAAIC,gBAAA,GAAmB;AAEvB,MAAMC,cAAA,GACHC,MAAA,IACD,MAAOC,OAAA;EACL,MAAMC,aAAA,GAAgB,MAAMF,MAAA;EAE5B;EACA,IACEF,gBAAA,KAAqB,SACrB,CAACI,aAAA,CAAcC,SAAS,CAACC,IAAI,CAC1BC,QAAA,IAAaA,QAAA,CAASC,IAAI,KAAK,SAASD,QAAA,CAASE,MAAM,KAAK,QAE/D;IACAL,aAAA,CAAcC,SAAS,CAACK,IAAI,CAAC;MAC3BC,OAAA,EAASZ,eAAA;MACTU,MAAA,EAAQ;MACRD,IAAA,EAAM;IACR;EACF;EAEAR,gBAAA,GAAmB;EAEnB,MAAMY,QAAA,GAAW,MAAMd,eAAA,CAAgB;IACrCe,QAAA,EAAUC,OAAA,CAAQC,GAAG,CAACC,cAAc;IACpCd,MAAA;IACAC;EACF;EAEA,OAAOS,QAAA;AACT;AAEF,OAAO,MAAMK,OAAA,GAAUhB,cAAA;AAEvB,OAAO,MAAMiB,GAAA,GAAMjB,cAAA;AAEnB,OAAO,MAAMkB,IAAA,GAAOlB,cAAA;AAEpB,OAAO,MAAMmB,MAAA,GAASnB,cAAA;AAEtB,OAAO,MAAMoB,KAAA,GAAQpB,cAAA;AAErB,OAAO,MAAMqB,GAAA,GAAMrB,cAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,SAAS,CAAA;AAO9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAStC,eAAO,MAAM,QAAQ,+DAKlB,IAAI,KAAG,OAAO,CAAC,cAAc,CA4G/B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,SAAS,CAAA;AAO9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAQtC,eAAO,MAAM,QAAQ,+DAKlB,IAAI,KAAG,OAAO,CAAC,cAAc,CA4F/B,CAAA"}
@@ -1,8 +1,7 @@
1
1
  import { headers as getHeaders } from 'next/headers.js';
2
2
  import { notFound } from 'next/navigation.js';
3
- import { createLocalReq, getPayload, isEntityHidden, parseCookies } from 'payload';
3
+ import { getPayload, isEntityHidden, parseCookies } from 'payload';
4
4
  import * as qs from 'qs-esm';
5
- import { getRequestLocale } from '../getRequestLocale.js';
6
5
  import { initReq } from '../initReq.js';
7
6
  import { getRouteInfo } from './handleAdminPage.js';
8
7
  import { handleAuthRedirect } from './handleAuthRedirect.js';
@@ -31,27 +30,20 @@ export const initPage = async ({
31
30
  } = payload.config;
32
31
  const cookies = parseCookies(headers);
33
32
  const {
34
- i18n,
33
+ locale,
35
34
  permissions,
36
- user
37
- } = await initReq(payload.config);
38
- // Ideally, we should not need to recreate the req, because
39
- // we can get it from the above initReq.
40
- // We just need to -overwrite- the url and query of the req
41
- // we get above. Clone the req? We'll look into that eventually.
42
- const req = await createLocalReq({
35
+ req
36
+ } = await initReq(payload.config, {
43
37
  fallbackLocale: false,
44
38
  req: {
45
39
  headers,
46
- host: headers.get('host'),
47
- i18n: i18n,
48
40
  query: qs.parse(queryString, {
49
41
  depth: 10,
50
42
  ignoreQueryPrefix: true
51
43
  }),
52
44
  url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`
53
45
  }
54
- }, payload);
46
+ });
55
47
  const languageOptions = Object.entries(payload.config.i18n.supportedLanguages || {}).reduce((acc, [language, languageConfig]) => {
56
48
  if (Object.keys(payload.config.i18n.supportedLanguages).includes(language)) {
57
49
  acc.push({
@@ -61,11 +53,6 @@ export const initPage = async ({
61
53
  }
62
54
  return acc;
63
55
  }, []);
64
- req.user = user;
65
- const locale = await getRequestLocale({
66
- req
67
- });
68
- req.locale = locale?.code;
69
56
  const visibleEntities = {
70
57
  collections: collections.map(({
71
58
  slug,
@@ -74,7 +61,7 @@ export const initPage = async ({
74
61
  }
75
62
  }) => !isEntityHidden({
76
63
  hidden,
77
- user
64
+ user: req.user
78
65
  }) ? slug : null).filter(Boolean),
79
66
  globals: globals.map(({
80
67
  slug,
@@ -83,7 +70,7 @@ export const initPage = async ({
83
70
  }
84
71
  }) => !isEntityHidden({
85
72
  hidden,
86
- user
73
+ user: req.user
87
74
  }) ? slug : null).filter(Boolean)
88
75
  };
89
76
  let redirectTo = null;
@@ -100,7 +87,7 @@ export const initPage = async ({
100
87
  config: payload.config,
101
88
  route,
102
89
  searchParams,
103
- user
90
+ user: req.user
104
91
  });
105
92
  }
106
93
  const {
@@ -129,7 +116,7 @@ export const initPage = async ({
129
116
  permissions,
130
117
  redirectTo,
131
118
  req,
132
- translations: i18n.translations,
119
+ translations: req.i18n.translations,
133
120
  visibleEntities
134
121
  };
135
122
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["headers","getHeaders","notFound","createLocalReq","getPayload","isEntityHidden","parseCookies","qs","getRequestLocale","initReq","getRouteInfo","handleAuthRedirect","isCustomAdminView","isPublicAdminRoute","initPage","config","configPromise","importMap","route","searchParams","payload","queryString","stringify","addQueryPrefix","collections","globals","routes","admin","adminRoute","cookies","i18n","permissions","user","req","fallbackLocale","host","get","query","parse","depth","ignoreQueryPrefix","url","serverURL","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","includes","push","label","translations","general","thisLanguage","value","locale","code","visibleEntities","map","slug","hidden","filter","Boolean","redirectTo","canAccessAdmin","collectionConfig","collectionSlug","docID","globalConfig","globalSlug","defaultIDType","db"],"sources":["../../../src/utilities/initPage/index.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { InitPageResult, VisibleEntities } from 'payload'\n\nimport { headers as getHeaders } from 'next/headers.js'\nimport { notFound } from 'next/navigation.js'\nimport { createLocalReq, getPayload, isEntityHidden, parseCookies } from 'payload'\nimport * as qs from 'qs-esm'\n\nimport type { Args } from './types.js'\n\nimport { getRequestLocale } from '../getRequestLocale.js'\nimport { initReq } from '../initReq.js'\nimport { getRouteInfo } from './handleAdminPage.js'\nimport { handleAuthRedirect } from './handleAuthRedirect.js'\nimport { isCustomAdminView } from './isCustomAdminView.js'\nimport { isPublicAdminRoute } from './shared.js'\n\nexport const initPage = async ({\n config: configPromise,\n importMap,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = await getHeaders()\n const payload = await getPayload({ config: configPromise, importMap })\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n\n const {\n collections,\n globals,\n routes: { admin: adminRoute },\n } = payload.config\n\n const cookies = parseCookies(headers)\n\n const { i18n, permissions, user } = await initReq(payload.config)\n\n // Ideally, we should not need to recreate the req, because\n // we can get it from the above initReq.\n\n // We just need to -overwrite- the url and query of the req\n // we get above. Clone the req? We'll look into that eventually.\n const req = await createLocalReq(\n {\n fallbackLocale: false,\n req: {\n headers,\n host: headers.get('host'),\n i18n: i18n as I18n,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n },\n },\n payload,\n )\n\n const languageOptions = Object.entries(payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n req.user = user\n\n const locale = await getRequestLocale({\n req,\n })\n\n req.locale = locale?.code\n\n const visibleEntities: VisibleEntities = {\n collections: collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n let redirectTo = null\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route })\n ) {\n redirectTo = handleAuthRedirect({\n config: payload.config,\n route,\n searchParams,\n user,\n })\n }\n\n const { collectionConfig, collectionSlug, docID, globalConfig, globalSlug } = getRouteInfo({\n adminRoute,\n config: payload.config,\n defaultIDType: payload.db.defaultIDType,\n payload,\n route,\n })\n\n if ((collectionSlug && !collectionConfig) || (globalSlug && !globalConfig)) {\n return notFound()\n }\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n languageOptions,\n locale,\n permissions,\n redirectTo,\n req,\n translations: i18n.translations,\n visibleEntities,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["headers","getHeaders","notFound","getPayload","isEntityHidden","parseCookies","qs","initReq","getRouteInfo","handleAuthRedirect","isCustomAdminView","isPublicAdminRoute","initPage","config","configPromise","importMap","route","searchParams","payload","queryString","stringify","addQueryPrefix","collections","globals","routes","admin","adminRoute","cookies","locale","permissions","req","fallbackLocale","query","parse","depth","ignoreQueryPrefix","url","serverURL","languageOptions","Object","entries","i18n","supportedLanguages","reduce","acc","language","languageConfig","keys","includes","push","label","translations","general","thisLanguage","value","visibleEntities","map","slug","hidden","user","filter","Boolean","redirectTo","canAccessAdmin","collectionConfig","collectionSlug","docID","globalConfig","globalSlug","defaultIDType","db"],"sources":["../../../src/utilities/initPage/index.ts"],"sourcesContent":["import type { InitPageResult, VisibleEntities } from 'payload'\n\nimport { headers as getHeaders } from 'next/headers.js'\nimport { notFound } from 'next/navigation.js'\nimport { getPayload, isEntityHidden, parseCookies } from 'payload'\nimport * as qs from 'qs-esm'\n\nimport type { Args } from './types.js'\n\nimport { initReq } from '../initReq.js'\nimport { getRouteInfo } from './handleAdminPage.js'\nimport { handleAuthRedirect } from './handleAuthRedirect.js'\nimport { isCustomAdminView } from './isCustomAdminView.js'\nimport { isPublicAdminRoute } from './shared.js'\n\nexport const initPage = async ({\n config: configPromise,\n importMap,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = await getHeaders()\n const payload = await getPayload({ config: configPromise, importMap })\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n\n const {\n collections,\n globals,\n routes: { admin: adminRoute },\n } = payload.config\n\n const cookies = parseCookies(headers)\n\n const { locale, permissions, req } = await initReq(payload.config, {\n fallbackLocale: false,\n req: {\n headers,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n },\n })\n\n const languageOptions = Object.entries(payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n const visibleEntities: VisibleEntities = {\n collections: collections\n .map(({ slug, admin: { hidden } }) =>\n !isEntityHidden({ hidden, user: req.user }) ? slug : null,\n )\n .filter(Boolean),\n globals: globals\n .map(({ slug, admin: { hidden } }) =>\n !isEntityHidden({ hidden, user: req.user }) ? slug : null,\n )\n .filter(Boolean),\n }\n\n let redirectTo = null\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route })\n ) {\n redirectTo = handleAuthRedirect({\n config: payload.config,\n route,\n searchParams,\n user: req.user,\n })\n }\n\n const { collectionConfig, collectionSlug, docID, globalConfig, globalSlug } = getRouteInfo({\n adminRoute,\n config: payload.config,\n defaultIDType: payload.db.defaultIDType,\n payload,\n route,\n })\n\n if ((collectionSlug && !collectionConfig) || (globalSlug && !globalConfig)) {\n return notFound()\n }\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n languageOptions,\n locale,\n permissions,\n redirectTo,\n req,\n translations: req.i18n.translations,\n visibleEntities,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,10 @@
1
- import type { I18nClient } from '@payloadcms/translations';
2
- import type { PayloadRequest, SanitizedConfig, SanitizedPermissions, User } from 'payload';
1
+ import type { Locale, PayloadRequest, SanitizedConfig, SanitizedPermissions } from 'payload';
2
+ import { createLocalReq } from 'payload';
3
3
  type Result = {
4
- i18n: I18nClient;
4
+ locale?: Locale;
5
5
  permissions: SanitizedPermissions;
6
6
  req: PayloadRequest;
7
- user: User;
8
7
  };
9
- export declare const initReq: (configPromise: Promise<SanitizedConfig> | SanitizedConfig) => Promise<Result>;
8
+ export declare const initReq: (configPromise: Promise<SanitizedConfig> | SanitizedConfig, overrides?: Parameters<typeof createLocalReq>[0]) => Promise<Result>;
10
9
  export {};
11
10
  //# sourceMappingURL=initReq.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"initReq.d.ts","sourceRoot":"","sources":["../../src/utilities/initReq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAO1F,KAAK,MAAM,GAAG;IACZ,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,EAAE,oBAAoB,CAAA;IACjC,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,eAAO,MAAM,OAAO,kBACH,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,KACxD,OAAO,CAAC,MAAM,CAuCf,CAAA"}
1
+ {"version":3,"file":"initReq.d.ts","sourceRoot":"","sources":["../../src/utilities/initReq.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAI5F,OAAO,EACL,cAAc,EAMf,MAAM,SAAS,CAAA;AAKhB,KAAK,MAAM,GAAG;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,oBAAoB,CAAA;IACjC,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,OAAO,kBACH,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,cAC7C,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,KAC/C,OAAO,CAAC,MAAM,CA6Df,CAAA"}
@@ -1,8 +1,9 @@
1
1
  import { initI18n } from '@payloadcms/translations';
2
2
  import { headers as getHeaders } from 'next/headers.js';
3
- import { createLocalReq, getPayload, getRequestLanguage, parseCookies } from 'payload';
3
+ import { createLocalReq, executeAuthStrategies, getAccessResults, getPayload, getRequestLanguage, parseCookies } from 'payload';
4
4
  import { cache } from 'react';
5
- export const initReq = cache(async function (configPromise) {
5
+ import { getRequestLocale } from './getRequestLocale.js';
6
+ export const initReq = cache(async function (configPromise, overrides) {
6
7
  const config = await configPromise;
7
8
  const payload = await getPayload({
8
9
  config
@@ -19,26 +20,44 @@ export const initReq = cache(async function (configPromise) {
19
20
  context: 'client',
20
21
  language: languageCode
21
22
  });
23
+ /**
24
+ * Cannot simply call `payload.auth` here, as we need the user to get the locale, and we need the locale to get the access results
25
+ * I.e. the `payload.auth` function would call `getAccessResults` without a fully-formed `req` object
26
+ */
27
+ const {
28
+ responseHeaders,
29
+ user
30
+ } = await executeAuthStrategies({
31
+ headers,
32
+ payload
33
+ });
34
+ const {
35
+ req: reqOverrides,
36
+ ...optionsOverrides
37
+ } = overrides || {};
22
38
  const req = await createLocalReq({
23
39
  req: {
24
40
  headers,
25
41
  host: headers.get('host'),
26
42
  i18n: i18n,
27
- url: `${payload.config.serverURL}`
28
- }
43
+ responseHeaders,
44
+ url: `${payload.config.serverURL}`,
45
+ user,
46
+ ...(reqOverrides || {})
47
+ },
48
+ ...(optionsOverrides || {})
29
49
  }, payload);
30
- const {
31
- permissions,
32
- user
33
- } = await payload.auth({
34
- headers,
50
+ const locale = await getRequestLocale({
51
+ req
52
+ });
53
+ req.locale = locale?.code;
54
+ const permissions = await getAccessResults({
35
55
  req
36
56
  });
37
57
  return {
38
- i18n,
58
+ locale,
39
59
  permissions,
40
- req,
41
- user
60
+ req
42
61
  };
43
62
  });
44
63
  //# sourceMappingURL=initReq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"initReq.js","names":["initI18n","headers","getHeaders","createLocalReq","getPayload","getRequestLanguage","parseCookies","cache","initReq","configPromise","config","payload","cookies","languageCode","i18n","context","language","req","host","get","url","serverURL","permissions","user","auth"],"sources":["../../src/utilities/initReq.ts"],"sourcesContent":["import type { I18n, I18nClient } from '@payloadcms/translations'\nimport type { PayloadRequest, SanitizedConfig, SanitizedPermissions, User } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { createLocalReq, getPayload, getRequestLanguage, parseCookies } from 'payload'\nimport { cache } from 'react'\n\ntype Result = {\n i18n: I18nClient\n permissions: SanitizedPermissions\n req: PayloadRequest\n user: User\n}\n\nexport const initReq = cache(async function (\n configPromise: Promise<SanitizedConfig> | SanitizedConfig,\n): Promise<Result> {\n const config = await configPromise\n const payload = await getPayload({ config })\n\n const headers = await getHeaders()\n const cookies = parseCookies(headers)\n\n const languageCode = getRequestLanguage({\n config,\n cookies,\n headers,\n })\n\n const i18n: I18nClient = await initI18n({\n config: config.i18n,\n context: 'client',\n language: languageCode,\n })\n\n const req = await createLocalReq(\n {\n req: {\n headers,\n host: headers.get('host'),\n i18n: i18n as I18n,\n url: `${payload.config.serverURL}`,\n },\n },\n payload,\n )\n\n const { permissions, user } = await payload.auth({ headers, req })\n\n return {\n i18n,\n permissions,\n req,\n user,\n }\n})\n"],"mappings":"AAGA,SAASA,QAAQ,QAAQ;AACzB,SAASC,OAAA,IAAWC,UAAU,QAAQ;AACtC,SAASC,cAAc,EAAEC,UAAU,EAAEC,kBAAkB,EAAEC,YAAY,QAAQ;AAC7E,SAASC,KAAK,QAAQ;AAStB,OAAO,MAAMC,OAAA,GAAUD,KAAA,CAAM,gBAC3BE,aAAyD;EAEzD,MAAMC,MAAA,GAAS,MAAMD,aAAA;EACrB,MAAME,OAAA,GAAU,MAAMP,UAAA,CAAW;IAAEM;EAAO;EAE1C,MAAMT,OAAA,GAAU,MAAMC,UAAA;EACtB,MAAMU,OAAA,GAAUN,YAAA,CAAaL,OAAA;EAE7B,MAAMY,YAAA,GAAeR,kBAAA,CAAmB;IACtCK,MAAA;IACAE,OAAA;IACAX;EACF;EAEA,MAAMa,IAAA,GAAmB,MAAMd,QAAA,CAAS;IACtCU,MAAA,EAAQA,MAAA,CAAOI,IAAI;IACnBC,OAAA,EAAS;IACTC,QAAA,EAAUH;EACZ;EAEA,MAAMI,GAAA,GAAM,MAAMd,cAAA,CAChB;IACEc,GAAA,EAAK;MACHhB,OAAA;MACAiB,IAAA,EAAMjB,OAAA,CAAQkB,GAAG,CAAC;MAClBL,IAAA,EAAMA,IAAA;MACNM,GAAA,EAAK,GAAGT,OAAA,CAAQD,MAAM,CAACW,SAAS;IAClC;EACF,GACAV,OAAA;EAGF,MAAM;IAAEW,WAAW;IAAEC;EAAI,CAAE,GAAG,MAAMZ,OAAA,CAAQa,IAAI,CAAC;IAAEvB,OAAA;IAASgB;EAAI;EAEhE,OAAO;IACLH,IAAA;IACAQ,WAAA;IACAL,GAAA;IACAM;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"initReq.js","names":["initI18n","headers","getHeaders","createLocalReq","executeAuthStrategies","getAccessResults","getPayload","getRequestLanguage","parseCookies","cache","getRequestLocale","initReq","configPromise","overrides","config","payload","cookies","languageCode","i18n","context","language","responseHeaders","user","req","reqOverrides","optionsOverrides","host","get","url","serverURL","locale","code","permissions"],"sources":["../../src/utilities/initReq.ts"],"sourcesContent":["import type { I18n, I18nClient } from '@payloadcms/translations'\nimport type { Locale, PayloadRequest, SanitizedConfig, SanitizedPermissions } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { headers as getHeaders } from 'next/headers.js'\nimport {\n createLocalReq,\n executeAuthStrategies,\n getAccessResults,\n getPayload,\n getRequestLanguage,\n parseCookies,\n} from 'payload'\nimport { cache } from 'react'\n\nimport { getRequestLocale } from './getRequestLocale.js'\n\ntype Result = {\n locale?: Locale\n permissions: SanitizedPermissions\n req: PayloadRequest\n}\n\nexport const initReq = cache(async function (\n configPromise: Promise<SanitizedConfig> | SanitizedConfig,\n overrides?: Parameters<typeof createLocalReq>[0],\n): Promise<Result> {\n const config = await configPromise\n const payload = await getPayload({ config })\n\n const headers = await getHeaders()\n const cookies = parseCookies(headers)\n\n const languageCode = getRequestLanguage({\n config,\n cookies,\n headers,\n })\n\n const i18n: I18nClient = await initI18n({\n config: config.i18n,\n context: 'client',\n language: languageCode,\n })\n\n /**\n * Cannot simply call `payload.auth` here, as we need the user to get the locale, and we need the locale to get the access results\n * I.e. the `payload.auth` function would call `getAccessResults` without a fully-formed `req` object\n */\n const { responseHeaders, user } = await executeAuthStrategies({\n headers,\n payload,\n })\n\n const { req: reqOverrides, ...optionsOverrides } = overrides || {}\n\n const req = await createLocalReq(\n {\n req: {\n headers,\n host: headers.get('host'),\n i18n: i18n as I18n,\n responseHeaders,\n url: `${payload.config.serverURL}`,\n user,\n ...(reqOverrides || {}),\n },\n ...(optionsOverrides || {}),\n },\n payload,\n )\n\n const locale = await getRequestLocale({\n req,\n })\n\n req.locale = locale?.code\n\n const permissions = await getAccessResults({\n req,\n })\n\n return {\n locale,\n permissions,\n req,\n }\n})\n"],"mappings":"AAGA,SAASA,QAAQ,QAAQ;AACzB,SAASC,OAAA,IAAWC,UAAU,QAAQ;AACtC,SACEC,cAAc,EACdC,qBAAqB,EACrBC,gBAAgB,EAChBC,UAAU,EACVC,kBAAkB,EAClBC,YAAY,QACP;AACP,SAASC,KAAK,QAAQ;AAEtB,SAASC,gBAAgB,QAAQ;AAQjC,OAAO,MAAMC,OAAA,GAAUF,KAAA,CAAM,gBAC3BG,aAAyD,EACzDC,SAAgD;EAEhD,MAAMC,MAAA,GAAS,MAAMF,aAAA;EACrB,MAAMG,OAAA,GAAU,MAAMT,UAAA,CAAW;IAAEQ;EAAO;EAE1C,MAAMb,OAAA,GAAU,MAAMC,UAAA;EACtB,MAAMc,OAAA,GAAUR,YAAA,CAAaP,OAAA;EAE7B,MAAMgB,YAAA,GAAeV,kBAAA,CAAmB;IACtCO,MAAA;IACAE,OAAA;IACAf;EACF;EAEA,MAAMiB,IAAA,GAAmB,MAAMlB,QAAA,CAAS;IACtCc,MAAA,EAAQA,MAAA,CAAOI,IAAI;IACnBC,OAAA,EAAS;IACTC,QAAA,EAAUH;EACZ;EAEA;;;;EAIA,MAAM;IAAEI,eAAe;IAAEC;EAAI,CAAE,GAAG,MAAMlB,qBAAA,CAAsB;IAC5DH,OAAA;IACAc;EACF;EAEA,MAAM;IAAEQ,GAAA,EAAKC,YAAY;IAAE,GAAGC;EAAA,CAAkB,GAAGZ,SAAA,IAAa,CAAC;EAEjE,MAAMU,GAAA,GAAM,MAAMpB,cAAA,CAChB;IACEoB,GAAA,EAAK;MACHtB,OAAA;MACAyB,IAAA,EAAMzB,OAAA,CAAQ0B,GAAG,CAAC;MAClBT,IAAA,EAAMA,IAAA;MACNG,eAAA;MACAO,GAAA,EAAK,GAAGb,OAAA,CAAQD,MAAM,CAACe,SAAS,EAAE;MAClCP,IAAA;MACA,IAAIE,YAAA,IAAgB,CAAC,CAAC;IACxB;IACA,IAAIC,gBAAA,IAAoB,CAAC,CAAC;EAC5B,GACAV,OAAA;EAGF,MAAMe,MAAA,GAAS,MAAMpB,gBAAA,CAAiB;IACpCa;EACF;EAEAA,GAAA,CAAIO,MAAM,GAAGA,MAAA,EAAQC,IAAA;EAErB,MAAMC,WAAA,GAAc,MAAM3B,gBAAA,CAAiB;IACzCkB;EACF;EAEA,OAAO;IACLO,MAAA;IACAE,WAAA;IACAT;EACF;AACF","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.16.0",
3
+ "version": "3.16.1-canary.9004205",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -79,9 +79,9 @@
79
79
  "sass": "1.77.4",
80
80
  "sonner": "^1.7.0",
81
81
  "uuid": "10.0.0",
82
- "@payloadcms/translations": "3.16.0",
83
- "@payloadcms/ui": "3.16.0",
84
- "@payloadcms/graphql": "3.16.0"
82
+ "@payloadcms/graphql": "3.16.1-canary.9004205",
83
+ "@payloadcms/translations": "3.16.1-canary.9004205",
84
+ "@payloadcms/ui": "3.16.1-canary.9004205"
85
85
  },
86
86
  "devDependencies": {
87
87
  "@babel/cli": "7.25.9",
@@ -99,13 +99,13 @@
99
99
  "esbuild-sass-plugin": "3.3.1",
100
100
  "eslint-plugin-react-compiler": "19.0.0-beta-df7b47d-20241124",
101
101
  "swc-plugin-transform-remove-imports": "2.0.0",
102
- "payload": "3.16.0",
103
- "@payloadcms/eslint-config": "3.9.0"
102
+ "@payloadcms/eslint-config": "3.9.0",
103
+ "payload": "3.16.1-canary.9004205"
104
104
  },
105
105
  "peerDependencies": {
106
106
  "graphql": "^16.8.1",
107
107
  "next": "^15.0.0",
108
- "payload": "3.16.0"
108
+ "payload": "3.16.1-canary.9004205"
109
109
  },
110
110
  "engines": {
111
111
  "node": "^18.20.2 || >=20.9.0"