@payloadcms/next 3.15.2-canary.de7619e → 3.16.0
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/LICENSE.md +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +3 -6
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/utilities/getPreferences.d.ts +3 -0
- package/dist/utilities/getPreferences.d.ts.map +1 -0
- package/dist/utilities/{getPreference.js → getPreferences.js} +2 -2
- package/dist/utilities/getPreferences.js.map +1 -0
- package/dist/utilities/getRequestLocale.d.ts +3 -5
- package/dist/utilities/getRequestLocale.d.ts.map +1 -1
- package/dist/utilities/getRequestLocale.js +13 -6
- package/dist/utilities/getRequestLocale.js.map +1 -1
- package/dist/utilities/initPage/index.d.ts.map +1 -1
- package/dist/utilities/initPage/index.js +1 -3
- package/dist/utilities/initPage/index.js.map +1 -1
- package/package.json +6 -7
- package/dist/layouts/Root/initJobAutoRun.d.ts +0 -5
- package/dist/layouts/Root/initJobAutoRun.d.ts.map +0 -1
- package/dist/layouts/Root/initJobAutoRun.js +0 -23
- package/dist/layouts/Root/initJobAutoRun.js.map +0 -1
- package/dist/utilities/getPreference.d.ts +0 -3
- package/dist/utilities/getPreference.d.ts.map +0 -1
- package/dist/utilities/getPreference.js.map +0 -1
package/LICENSE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2018-
|
|
3
|
+
Copyright (c) 2018-2025 Payload CMS, Inc. <info@payloadcms.com>
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining
|
|
6
6
|
a copy of this software and associated documentation files (the
|
|
@@ -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;
|
|
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"}
|
|
@@ -10,7 +10,6 @@ import { getRequestLocale } from '../../utilities/getRequestLocale.js';
|
|
|
10
10
|
import { getRequestTheme } from '../../utilities/getRequestTheme.js';
|
|
11
11
|
import { initReq } from '../../utilities/initReq.js';
|
|
12
12
|
import { checkDependencies } from './checkDependencies.js';
|
|
13
|
-
import { initJobAutoRun } from './initJobAutoRun.js';
|
|
14
13
|
import { NestProviders } from './NestProviders.js';
|
|
15
14
|
export const metadata = {
|
|
16
15
|
description: 'Generated by Next.js',
|
|
@@ -43,6 +42,7 @@ export const RootLayout = async ({
|
|
|
43
42
|
const {
|
|
44
43
|
i18n,
|
|
45
44
|
permissions,
|
|
45
|
+
req,
|
|
46
46
|
user
|
|
47
47
|
} = await initReq(config);
|
|
48
48
|
const dir = rtlLanguages.includes(languageCode) ? 'RTL' : 'LTR';
|
|
@@ -74,12 +74,9 @@ export const RootLayout = async ({
|
|
|
74
74
|
i18n,
|
|
75
75
|
importMap
|
|
76
76
|
});
|
|
77
|
+
req.user = user;
|
|
77
78
|
const locale = await getRequestLocale({
|
|
78
|
-
|
|
79
|
-
user
|
|
80
|
-
});
|
|
81
|
-
await initJobAutoRun({
|
|
82
|
-
payload
|
|
79
|
+
req
|
|
83
80
|
});
|
|
84
81
|
return /*#__PURE__*/_jsxs("html", {
|
|
85
82
|
"data-theme": theme,
|
|
@@ -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","
|
|
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":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPreferences.d.ts","sourceRoot":"","sources":["../../src/utilities/getPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAI5C,eAAO,MAAM,cAAc,GAClB,CAAC,OAAO,MAAM,WAAW,OAAO,QAAQ,IAAI,KAAG,OAAO,CAAC,CAAC,CAmChE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { cache } from 'react';
|
|
2
|
-
export const
|
|
2
|
+
export const getPreferences = cache(async (key, payload, user) => {
|
|
3
3
|
let result = null;
|
|
4
4
|
try {
|
|
5
5
|
result = await payload.find({
|
|
@@ -26,4 +26,4 @@ export const getPreference = cache(async (key, payload, user) => {
|
|
|
26
26
|
} catch (_err) {} // eslint-disable-line no-empty
|
|
27
27
|
return result;
|
|
28
28
|
});
|
|
29
|
-
//# sourceMappingURL=
|
|
29
|
+
//# sourceMappingURL=getPreferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPreferences.js","names":["cache","getPreferences","key","payload","user","result","find","collection","depth","limit","where","and","equals","config","admin","id","then","res","docs","value","_err"],"sources":["../../src/utilities/getPreferences.ts"],"sourcesContent":["import type { Payload, User } from 'payload'\n\nimport { cache } from 'react'\n\nexport const getPreferences = cache(\n async <T>(key: string, payload: Payload, user: User): Promise<T> => {\n let result: T = null\n\n try {\n result = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n and: [\n {\n 'user.relationTo': {\n equals: payload.config.admin.user,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n {\n key: {\n equals: key,\n },\n },\n ],\n },\n })\n ?.then((res) => res.docs?.[0]?.value as T)\n } catch (_err) {} // eslint-disable-line no-empty\n\n return result\n },\n)\n"],"mappings":"AAEA,SAASA,KAAK,QAAQ;AAEtB,OAAO,MAAMC,cAAA,GAAiBD,KAAA,CAC5B,OAAUE,GAAA,EAAaC,OAAA,EAAkBC,IAAA;EACvC,IAAIC,MAAA,GAAY;EAEhB,IAAI;IACFA,MAAA,GAAS,MAAMF,OAAA,CACZG,IAAI,CAAC;MACJC,UAAA,EAAY;MACZC,KAAA,EAAO;MACPC,KAAA,EAAO;MACPL,IAAA;MACAM,KAAA,EAAO;QACLC,GAAA,EAAK,CACH;UACE,mBAAmB;YACjBC,MAAA,EAAQT,OAAA,CAAQU,MAAM,CAACC,KAAK,CAACV;UAC/B;QACF,GACA;UACE,cAAc;YACZQ,MAAA,EAAQR,IAAA,CAAKW;UACf;QACF,GACA;UACEb,GAAA,EAAK;YACHU,MAAA,EAAQV;UACV;QACF;MAEJ;IACF,IACEc,IAAA,CAAMC,GAAA,IAAQA,GAAA,CAAIC,IAAI,GAAG,EAAE,EAAEC,KAAA;EACnC,EAAE,OAAOC,IAAA,EAAM,CAAC,EAAE;EAElB,OAAOf,MAAA;AACT","ignoreList":[]}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import type { Locale,
|
|
1
|
+
import type { Locale, PayloadRequest } from 'payload';
|
|
2
2
|
type GetRequestLocalesArgs = {
|
|
3
|
-
|
|
4
|
-
payload: Payload;
|
|
5
|
-
user: User;
|
|
3
|
+
req: PayloadRequest;
|
|
6
4
|
};
|
|
7
|
-
export declare function getRequestLocale({
|
|
5
|
+
export declare function getRequestLocale({ req }: GetRequestLocalesArgs): Promise<Locale>;
|
|
8
6
|
export {};
|
|
9
7
|
//# sourceMappingURL=getRequestLocale.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRequestLocale.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestLocale.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"getRequestLocale.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestLocale.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAOrD,KAAK,qBAAqB,GAAG;IAC3B,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,wBAAsB,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBtF"}
|
|
@@ -1,12 +1,19 @@
|
|
|
1
|
+
import { upsertPreferences } from '@payloadcms/ui/rsc';
|
|
1
2
|
import { findLocaleFromCode } from '@payloadcms/ui/shared';
|
|
2
|
-
import {
|
|
3
|
+
import { getPreferences } from './getPreferences.js';
|
|
3
4
|
export async function getRequestLocale({
|
|
4
|
-
|
|
5
|
-
payload,
|
|
6
|
-
user
|
|
5
|
+
req
|
|
7
6
|
}) {
|
|
8
|
-
if (payload.config.localization) {
|
|
9
|
-
|
|
7
|
+
if (req.payload.config.localization) {
|
|
8
|
+
const localeFromParams = req.query.locale;
|
|
9
|
+
if (localeFromParams) {
|
|
10
|
+
await upsertPreferences({
|
|
11
|
+
key: 'locale',
|
|
12
|
+
req,
|
|
13
|
+
value: localeFromParams
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return findLocaleFromCode(req.payload.config.localization, localeFromParams || (await getPreferences('locale', req.payload, req.user))) || findLocaleFromCode(req.payload.config.localization, req.payload.config.localization.defaultLocale || 'en');
|
|
10
17
|
}
|
|
11
18
|
return undefined;
|
|
12
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRequestLocale.js","names":["findLocaleFromCode","
|
|
1
|
+
{"version":3,"file":"getRequestLocale.js","names":["upsertPreferences","findLocaleFromCode","getPreferences","getRequestLocale","req","payload","config","localization","localeFromParams","query","locale","key","value","user","defaultLocale","undefined"],"sources":["../../src/utilities/getRequestLocale.ts"],"sourcesContent":["import type { Locale, PayloadRequest } from 'payload'\n\nimport { upsertPreferences } from '@payloadcms/ui/rsc'\nimport { findLocaleFromCode } from '@payloadcms/ui/shared'\n\nimport { getPreferences } from './getPreferences.js'\n\ntype GetRequestLocalesArgs = {\n req: PayloadRequest\n}\n\nexport async function getRequestLocale({ req }: GetRequestLocalesArgs): Promise<Locale> {\n if (req.payload.config.localization) {\n const localeFromParams = req.query.locale as string | undefined\n\n if (localeFromParams) {\n await upsertPreferences<Locale['code']>({ key: 'locale', req, value: localeFromParams })\n }\n\n return (\n findLocaleFromCode(\n req.payload.config.localization,\n localeFromParams || (await getPreferences<Locale['code']>('locale', req.payload, req.user)),\n ) ||\n findLocaleFromCode(\n req.payload.config.localization,\n req.payload.config.localization.defaultLocale || 'en',\n )\n )\n }\n\n return undefined\n}\n"],"mappings":"AAEA,SAASA,iBAAiB,QAAQ;AAClC,SAASC,kBAAkB,QAAQ;AAEnC,SAASC,cAAc,QAAQ;AAM/B,OAAO,eAAeC,iBAAiB;EAAEC;AAAG,CAAyB;EACnE,IAAIA,GAAA,CAAIC,OAAO,CAACC,MAAM,CAACC,YAAY,EAAE;IACnC,MAAMC,gBAAA,GAAmBJ,GAAA,CAAIK,KAAK,CAACC,MAAM;IAEzC,IAAIF,gBAAA,EAAkB;MACpB,MAAMR,iBAAA,CAAkC;QAAEW,GAAA,EAAK;QAAUP,GAAA;QAAKQ,KAAA,EAAOJ;MAAiB;IACxF;IAEA,OACEP,kBAAA,CACEG,GAAA,CAAIC,OAAO,CAACC,MAAM,CAACC,YAAY,EAC/BC,gBAAA,KAAqB,MAAMN,cAAA,CAA+B,UAAUE,GAAA,CAAIC,OAAO,EAAED,GAAA,CAAIS,IAAI,OAE3FZ,kBAAA,CACEG,GAAA,CAAIC,OAAO,CAACC,MAAM,CAACC,YAAY,EAC/BH,GAAA,CAAIC,OAAO,CAACC,MAAM,CAACC,YAAY,CAACO,aAAa,IAAI;EAGvD;EAEA,OAAOC,SAAA;AACT","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,
|
|
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 +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","
|
|
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":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/next",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.16.0",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -69,7 +69,6 @@
|
|
|
69
69
|
"dependencies": {
|
|
70
70
|
"@dnd-kit/core": "6.0.8",
|
|
71
71
|
"busboy": "^1.6.0",
|
|
72
|
-
"croner": "9.0.0",
|
|
73
72
|
"file-type": "19.3.0",
|
|
74
73
|
"graphql-http": "^1.22.0",
|
|
75
74
|
"graphql-playground-html": "1.6.30",
|
|
@@ -80,9 +79,9 @@
|
|
|
80
79
|
"sass": "1.77.4",
|
|
81
80
|
"sonner": "^1.7.0",
|
|
82
81
|
"uuid": "10.0.0",
|
|
83
|
-
"@payloadcms/
|
|
84
|
-
"@payloadcms/ui": "3.
|
|
85
|
-
"@payloadcms/
|
|
82
|
+
"@payloadcms/translations": "3.16.0",
|
|
83
|
+
"@payloadcms/ui": "3.16.0",
|
|
84
|
+
"@payloadcms/graphql": "3.16.0"
|
|
86
85
|
},
|
|
87
86
|
"devDependencies": {
|
|
88
87
|
"@babel/cli": "7.25.9",
|
|
@@ -100,13 +99,13 @@
|
|
|
100
99
|
"esbuild-sass-plugin": "3.3.1",
|
|
101
100
|
"eslint-plugin-react-compiler": "19.0.0-beta-df7b47d-20241124",
|
|
102
101
|
"swc-plugin-transform-remove-imports": "2.0.0",
|
|
103
|
-
"payload": "3.
|
|
102
|
+
"payload": "3.16.0",
|
|
104
103
|
"@payloadcms/eslint-config": "3.9.0"
|
|
105
104
|
},
|
|
106
105
|
"peerDependencies": {
|
|
107
106
|
"graphql": "^16.8.1",
|
|
108
107
|
"next": "^15.0.0",
|
|
109
|
-
"payload": "3.
|
|
108
|
+
"payload": "3.16.0"
|
|
110
109
|
},
|
|
111
110
|
"engines": {
|
|
112
111
|
"node": "^18.20.2 || >=20.9.0"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initJobAutoRun.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/initJobAutoRun.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAItC,wBAAsB,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,iBAyBrE"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Cron } from 'croner';
|
|
2
|
-
export async function initJobAutoRun({
|
|
3
|
-
payload
|
|
4
|
-
}) {
|
|
5
|
-
if (global._payload_jobAutoRunInitialized) {
|
|
6
|
-
return;
|
|
7
|
-
}
|
|
8
|
-
global._payload_jobAutoRunInitialized = true;
|
|
9
|
-
if (payload.config.jobs.autoRun) {
|
|
10
|
-
const DEFAULT_CRON = '* * * * *';
|
|
11
|
-
const DEFAULT_LIMIT = 10;
|
|
12
|
-
const cronJobs = typeof payload.config.jobs.autoRun === 'function' ? await payload.config.jobs.autoRun(payload) : payload.config.jobs.autoRun;
|
|
13
|
-
await Promise.all(cronJobs.map(cronConfig => {
|
|
14
|
-
new Cron(cronConfig.cron ?? DEFAULT_CRON, async () => {
|
|
15
|
-
await payload.jobs.run({
|
|
16
|
-
limit: cronConfig.limit ?? DEFAULT_LIMIT,
|
|
17
|
-
queue: cronConfig.queue
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
}));
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=initJobAutoRun.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initJobAutoRun.js","names":["Cron","initJobAutoRun","payload","global","_payload_jobAutoRunInitialized","config","jobs","autoRun","DEFAULT_CRON","DEFAULT_LIMIT","cronJobs","Promise","all","map","cronConfig","cron","run","limit","queue"],"sources":["../../../src/layouts/Root/initJobAutoRun.ts"],"sourcesContent":["import type { Payload } from 'payload'\n\nimport { Cron } from 'croner'\n\nexport async function initJobAutoRun({ payload }: { payload: Payload }) {\n if (global._payload_jobAutoRunInitialized) {\n return\n }\n global._payload_jobAutoRunInitialized = true\n\n if (payload.config.jobs.autoRun) {\n const DEFAULT_CRON = '* * * * *'\n const DEFAULT_LIMIT = 10\n\n const cronJobs =\n typeof payload.config.jobs.autoRun === 'function'\n ? await payload.config.jobs.autoRun(payload)\n : payload.config.jobs.autoRun\n await Promise.all(\n cronJobs.map((cronConfig) => {\n new Cron(cronConfig.cron ?? DEFAULT_CRON, async () => {\n await payload.jobs.run({\n limit: cronConfig.limit ?? DEFAULT_LIMIT,\n queue: cronConfig.queue,\n })\n })\n }),\n )\n }\n}\n"],"mappings":"AAEA,SAASA,IAAI,QAAQ;AAErB,OAAO,eAAeC,eAAe;EAAEC;AAAO,CAAwB;EACpE,IAAIC,MAAA,CAAOC,8BAA8B,EAAE;IACzC;EACF;EACAD,MAAA,CAAOC,8BAA8B,GAAG;EAExC,IAAIF,OAAA,CAAQG,MAAM,CAACC,IAAI,CAACC,OAAO,EAAE;IAC/B,MAAMC,YAAA,GAAe;IACrB,MAAMC,aAAA,GAAgB;IAEtB,MAAMC,QAAA,GACJ,OAAOR,OAAA,CAAQG,MAAM,CAACC,IAAI,CAACC,OAAO,KAAK,aACnC,MAAML,OAAA,CAAQG,MAAM,CAACC,IAAI,CAACC,OAAO,CAACL,OAAA,IAClCA,OAAA,CAAQG,MAAM,CAACC,IAAI,CAACC,OAAO;IACjC,MAAMI,OAAA,CAAQC,GAAG,CACfF,QAAA,CAASG,GAAG,CAAEC,UAAA;MACZ,IAAId,IAAA,CAAKc,UAAA,CAAWC,IAAI,IAAIP,YAAA,EAAc;QACxC,MAAMN,OAAA,CAAQI,IAAI,CAACU,GAAG,CAAC;UACrBC,KAAA,EAAOH,UAAA,CAAWG,KAAK,IAAIR,aAAA;UAC3BS,KAAA,EAAOJ,UAAA,CAAWI;QACpB;MACF;IACF;EAEJ;AACF","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getPreference.d.ts","sourceRoot":"","sources":["../../src/utilities/getPreference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAI5C,eAAO,MAAM,aAAa,GACjB,CAAC,OAAO,MAAM,WAAW,OAAO,QAAQ,IAAI,KAAG,OAAO,CAAC,CAAC,CAmChE,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getPreference.js","names":["cache","getPreference","key","payload","user","result","find","collection","depth","limit","where","and","equals","config","admin","id","then","res","docs","value","_err"],"sources":["../../src/utilities/getPreference.ts"],"sourcesContent":["import type { Payload, User } from 'payload'\n\nimport { cache } from 'react'\n\nexport const getPreference = cache(\n async <T>(key: string, payload: Payload, user: User): Promise<T> => {\n let result: T = null\n\n try {\n result = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n and: [\n {\n 'user.relationTo': {\n equals: payload.config.admin.user,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n {\n key: {\n equals: key,\n },\n },\n ],\n },\n })\n ?.then((res) => res.docs?.[0]?.value as T)\n } catch (_err) {} // eslint-disable-line no-empty\n\n return result\n },\n)\n"],"mappings":"AAEA,SAASA,KAAK,QAAQ;AAEtB,OAAO,MAAMC,aAAA,GAAgBD,KAAA,CAC3B,OAAUE,GAAA,EAAaC,OAAA,EAAkBC,IAAA;EACvC,IAAIC,MAAA,GAAY;EAEhB,IAAI;IACFA,MAAA,GAAS,MAAMF,OAAA,CACZG,IAAI,CAAC;MACJC,UAAA,EAAY;MACZC,KAAA,EAAO;MACPC,KAAA,EAAO;MACPL,IAAA;MACAM,KAAA,EAAO;QACLC,GAAA,EAAK,CACH;UACE,mBAAmB;YACjBC,MAAA,EAAQT,OAAA,CAAQU,MAAM,CAACC,KAAK,CAACV;UAC/B;QACF,GACA;UACE,cAAc;YACZQ,MAAA,EAAQR,IAAA,CAAKW;UACf;QACF,GACA;UACEb,GAAA,EAAK;YACHU,MAAA,EAAQV;UACV;QACF;MAEJ;IACF,IACEc,IAAA,CAAMC,GAAA,IAAQA,GAAA,CAAIC,IAAI,GAAG,EAAE,EAAEC,KAAA;EACnC,EAAE,OAAOC,IAAA,EAAM,CAAC,EAAE;EAElB,OAAOf,MAAA;AACT","ignoreList":[]}
|