@payloadcms/next 3.0.0-canary.a7293f6 → 3.0.0-canary.ab70b75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/withPayload.cjs +145 -0
- package/dist/cjs/withPayload.cjs.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +70 -68
- package/dist/elements/DocumentHeader/Tabs/index.scss +41 -39
- package/dist/elements/DocumentHeader/index.scss +44 -42
- package/dist/elements/DocumentLocked/index.scss +28 -26
- package/dist/elements/DocumentTakeOver/index.scss +28 -26
- package/dist/elements/FormHeader/index.d.ts +9 -0
- package/dist/elements/FormHeader/index.d.ts.map +1 -0
- package/dist/elements/FormHeader/index.js +20 -0
- package/dist/elements/FormHeader/index.js.map +1 -0
- package/dist/elements/FormHeader/index.scss +8 -0
- package/dist/elements/LeaveWithoutSaving/index.scss +28 -26
- package/dist/elements/Nav/NavWrapper/index.scss +20 -18
- package/dist/elements/Nav/index.scss +127 -125
- package/dist/exports/utilities.d.ts +1 -0
- package/dist/exports/utilities.d.ts.map +1 -1
- package/dist/exports/utilities.js +1 -0
- package/dist/exports/utilities.js.map +1 -1
- package/dist/layouts/Root/index.js +3 -3
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/routes/rest/auth/login.js +2 -2
- package/dist/routes/rest/auth/login.js.map +1 -1
- package/dist/routes/rest/auth/logout.d.ts.map +1 -1
- package/dist/routes/rest/auth/logout.js +3 -2
- package/dist/routes/rest/auth/logout.js.map +1 -1
- package/dist/routes/rest/auth/refresh.js +2 -2
- package/dist/routes/rest/auth/refresh.js.map +1 -1
- package/dist/routes/rest/auth/registerFirstUser.js +2 -2
- package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
- package/dist/routes/rest/auth/resetPassword.js +2 -2
- package/dist/routes/rest/auth/resetPassword.js.map +1 -1
- package/dist/routes/rest/collections/delete.d.ts.map +1 -1
- package/dist/routes/rest/collections/delete.js +2 -0
- package/dist/routes/rest/collections/delete.js.map +1 -1
- package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
- package/dist/routes/rest/collections/deleteByID.js +2 -0
- package/dist/routes/rest/collections/deleteByID.js.map +1 -1
- package/dist/routes/rest/collections/find.js +1 -1
- package/dist/routes/rest/collections/find.js.map +1 -1
- package/dist/routes/rest/collections/findVersions.js +1 -1
- package/dist/routes/rest/collections/findVersions.js.map +1 -1
- package/dist/routes/rest/collections/update.d.ts.map +1 -1
- package/dist/routes/rest/collections/update.js +4 -0
- package/dist/routes/rest/collections/update.js.map +1 -1
- package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
- package/dist/routes/rest/collections/updateByID.js +2 -0
- package/dist/routes/rest/collections/updateByID.js.map +1 -1
- package/dist/routes/rest/globals/findVersions.js +1 -1
- package/dist/routes/rest/globals/findVersions.js.map +1 -1
- package/dist/scss/app.scss +166 -162
- package/dist/scss/colors.scss +256 -254
- package/dist/scss/resets.scss +9 -7
- package/dist/scss/toastify.scss +42 -40
- package/dist/scss/toasts.scss +105 -103
- package/dist/scss/type.scss +80 -79
- package/dist/templates/Default/Wrapper/index.scss +38 -36
- package/dist/templates/Default/index.scss +60 -58
- package/dist/templates/Minimal/index.scss +22 -20
- package/dist/utilities/initPage/handleAdminPage.d.ts +12 -11
- package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
- package/dist/utilities/initPage/handleAdminPage.js +9 -21
- package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
- package/dist/utilities/initPage/handleAuthRedirect.d.ts +6 -3
- package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
- package/dist/utilities/initPage/handleAuthRedirect.js +23 -36
- package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
- package/dist/utilities/initPage/index.d.ts +1 -1
- package/dist/utilities/initPage/index.d.ts.map +1 -1
- package/dist/utilities/initPage/index.js +21 -9
- package/dist/utilities/initPage/index.js.map +1 -1
- package/dist/utilities/initPage/shared.d.ts +2 -2
- package/dist/utilities/initPage/shared.d.ts.map +1 -1
- package/dist/utilities/initPage/shared.js +18 -13
- package/dist/utilities/initPage/shared.js.map +1 -1
- package/dist/views/API/RenderJSON/index.scss +68 -66
- package/dist/views/API/index.scss +98 -96
- package/dist/views/Account/Settings/index.scss +37 -35
- package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js +1 -0
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.js +1 -1
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +1 -1
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.scss +13 -11
- package/dist/views/Dashboard/Default/index.scss +51 -49
- package/dist/views/Edit/Default/Auth/index.scss +56 -54
- package/dist/views/Edit/Default/index.js +1 -1
- package/dist/views/Edit/Default/index.js.map +1 -1
- package/dist/views/Edit/Default/index.scss +15 -13
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +9 -11
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/index.js +6 -6
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/List/Default/index.scss +136 -134
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +1 -1
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/LivePreview/IFrame/index.scss +8 -6
- package/dist/views/LivePreview/Preview/index.scss +32 -30
- package/dist/views/LivePreview/Toolbar/Controls/index.scss +49 -47
- package/dist/views/LivePreview/Toolbar/SizeInput/index.scss +11 -9
- package/dist/views/LivePreview/Toolbar/index.scss +33 -31
- package/dist/views/LivePreview/ToolbarArea/index.scss +5 -3
- package/dist/views/LivePreview/index.scss +48 -46
- package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
- package/dist/views/Login/LoginForm/index.js +1 -1
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.scss +8 -6
- package/dist/views/Login/index.scss +8 -6
- package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
- package/dist/views/Logout/LogoutClient.js +77 -55
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.scss +17 -15
- package/dist/views/NotFound/index.scss +38 -36
- package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts +7 -0
- package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -0
- package/dist/views/ResetPassword/{index.client.js → ResetPasswordForm/index.js} +16 -19
- package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -0
- package/dist/views/ResetPassword/index.d.ts.map +1 -1
- package/dist/views/ResetPassword/index.js +17 -10
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/ResetPassword/index.scss +6 -26
- package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
- package/dist/views/Root/getViewFromConfig.js +0 -6
- package/dist/views/Root/getViewFromConfig.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +5 -2
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Unauthorized/index.d.ts.map +1 -1
- package/dist/views/Unauthorized/index.js +14 -7
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Unauthorized/index.scss +4 -31
- package/dist/views/Verify/index.client.d.ts +7 -0
- package/dist/views/Verify/index.client.d.ts.map +1 -0
- package/dist/views/Verify/index.client.js +46 -0
- package/dist/views/Verify/index.client.js.map +1 -0
- package/dist/views/Verify/index.d.ts.map +1 -1
- package/dist/views/Verify/index.js +12 -11
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Verify/index.scss +13 -11
- package/dist/views/Version/Default/index.scss +52 -50
- package/dist/views/Version/RenderFieldsToDiff/Label/index.scss +5 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +29 -27
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.scss +11 -9
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +12 -10
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +12 -10
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +12 -10
- package/dist/views/Version/RenderFieldsToDiff/index.scss +12 -10
- package/dist/views/Version/Restore/index.scss +57 -55
- package/dist/views/Version/SelectComparison/index.scss +12 -10
- package/dist/views/Version/SelectLocales/index.scss +6 -4
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/views/Versions/index.scss +78 -76
- package/package.json +11 -11
- package/dist/cjs/withPayload.js +0 -111
- package/dist/cjs/withPayload.js.map +0 -1
- package/dist/views/ResetPassword/index.client.d.ts +0 -7
- package/dist/views/ResetPassword/index.client.d.ts.map +0 -1
- package/dist/views/ResetPassword/index.client.js.map +0 -1
|
@@ -1,28 +1,30 @@
|
|
|
1
1
|
@import '../../scss/styles';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
3
|
+
@layer payload-default {
|
|
4
|
+
.template-minimal {
|
|
5
|
+
display: flex;
|
|
6
|
+
width: 100%;
|
|
7
|
+
justify-content: center;
|
|
8
|
+
align-items: center;
|
|
9
|
+
padding: base(3) $baseline;
|
|
10
|
+
margin-left: auto;
|
|
11
|
+
margin-right: auto;
|
|
12
|
+
min-height: 100%;
|
|
13
|
+
background-color: var(--theme-bg-color);
|
|
14
|
+
color: var(--theme-text);
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
&--width-normal {
|
|
17
|
+
.template-minimal__wrap {
|
|
18
|
+
max-width: base(24);
|
|
19
|
+
width: 100%;
|
|
20
|
+
}
|
|
19
21
|
}
|
|
20
|
-
}
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
&--width-wide {
|
|
24
|
+
.template-minimal__wrap {
|
|
25
|
+
max-width: base(48);
|
|
26
|
+
width: 100%;
|
|
27
|
+
}
|
|
26
28
|
}
|
|
27
29
|
}
|
|
28
30
|
}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type { Payload, SanitizedCollectionConfig, SanitizedConfig, SanitizedGlobalConfig } from 'payload';
|
|
2
|
+
type Args = {
|
|
3
3
|
adminRoute: string;
|
|
4
4
|
config: SanitizedConfig;
|
|
5
|
-
|
|
5
|
+
defaultIDType: Payload['db']['defaultIDType'];
|
|
6
6
|
route: string;
|
|
7
|
-
}) => {
|
|
8
|
-
collectionConfig: SanitizedCollectionConfig;
|
|
9
|
-
docID: string;
|
|
10
|
-
globalConfig: SanitizedGlobalConfig;
|
|
11
|
-
} | {
|
|
12
|
-
collectionConfig?: undefined;
|
|
13
|
-
docID?: undefined;
|
|
14
|
-
globalConfig?: undefined;
|
|
15
7
|
};
|
|
8
|
+
type RouteInfo = {
|
|
9
|
+
collectionConfig?: SanitizedCollectionConfig;
|
|
10
|
+
collectionSlug?: string;
|
|
11
|
+
docID?: number | string;
|
|
12
|
+
globalConfig?: SanitizedGlobalConfig;
|
|
13
|
+
globalSlug?: string;
|
|
14
|
+
};
|
|
15
|
+
export declare function getRouteInfo({ adminRoute, config, defaultIDType, route }: Args): RouteInfo;
|
|
16
|
+
export {};
|
|
16
17
|
//# sourceMappingURL=handleAdminPage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleAdminPage.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/handleAdminPage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"handleAdminPage.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/handleAdminPage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAIhB,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAA;IAC7C,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,SAAS,GAAG;IACf,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,wBAAgB,YAAY,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,IAAI,GAAG,SAAS,CAoC1F"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export const handleAdminPage = ({
|
|
1
|
+
import { getRouteWithoutAdmin, isAdminRoute } from './shared.js';
|
|
2
|
+
export function getRouteInfo({
|
|
4
3
|
adminRoute,
|
|
5
4
|
config,
|
|
6
|
-
|
|
5
|
+
defaultIDType,
|
|
7
6
|
route
|
|
8
|
-
})
|
|
7
|
+
}) {
|
|
9
8
|
if (isAdminRoute({
|
|
10
9
|
adminRoute,
|
|
11
10
|
config,
|
|
@@ -19,34 +18,23 @@ export const handleAdminPage = ({
|
|
|
19
18
|
const [entityType, entitySlug, createOrID] = routeSegments;
|
|
20
19
|
const collectionSlug = entityType === 'collections' ? entitySlug : undefined;
|
|
21
20
|
const globalSlug = entityType === 'globals' ? entitySlug : undefined;
|
|
22
|
-
const docID = collectionSlug && createOrID !== 'create' ? createOrID : undefined;
|
|
21
|
+
const docID = collectionSlug && createOrID !== 'create' ? defaultIDType === 'number' ? Number(createOrID) : createOrID : undefined;
|
|
23
22
|
let collectionConfig;
|
|
24
23
|
let globalConfig;
|
|
25
24
|
if (collectionSlug) {
|
|
26
25
|
collectionConfig = config.collections.find(collection => collection.slug === collectionSlug);
|
|
27
|
-
if (!collectionConfig) {
|
|
28
|
-
notFound();
|
|
29
|
-
}
|
|
30
26
|
}
|
|
31
27
|
if (globalSlug) {
|
|
32
28
|
globalConfig = config.globals.find(global => global.slug === globalSlug);
|
|
33
|
-
if (!globalConfig) {
|
|
34
|
-
notFound();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
if (!permissions.canAccessAdmin && !isAdminAuthRoute({
|
|
38
|
-
adminRoute,
|
|
39
|
-
config,
|
|
40
|
-
route
|
|
41
|
-
})) {
|
|
42
|
-
notFound();
|
|
43
29
|
}
|
|
44
30
|
return {
|
|
45
31
|
collectionConfig,
|
|
32
|
+
collectionSlug,
|
|
46
33
|
docID,
|
|
47
|
-
globalConfig
|
|
34
|
+
globalConfig,
|
|
35
|
+
globalSlug
|
|
48
36
|
};
|
|
49
37
|
}
|
|
50
38
|
return {};
|
|
51
|
-
}
|
|
39
|
+
}
|
|
52
40
|
//# sourceMappingURL=handleAdminPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleAdminPage.js","names":["
|
|
1
|
+
{"version":3,"file":"handleAdminPage.js","names":["getRouteWithoutAdmin","isAdminRoute","getRouteInfo","adminRoute","config","defaultIDType","route","routeWithoutAdmin","routeSegments","split","filter","Boolean","entityType","entitySlug","createOrID","collectionSlug","undefined","globalSlug","docID","Number","collectionConfig","globalConfig","collections","find","collection","slug","globals","global"],"sources":["../../../src/utilities/initPage/handleAdminPage.ts"],"sourcesContent":["import type {\n Payload,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { getRouteWithoutAdmin, isAdminRoute } from './shared.js'\n\ntype Args = {\n adminRoute: string\n config: SanitizedConfig\n defaultIDType: Payload['db']['defaultIDType']\n route: string\n}\n\ntype RouteInfo = {\n collectionConfig?: SanitizedCollectionConfig\n collectionSlug?: string\n docID?: number | string\n globalConfig?: SanitizedGlobalConfig\n globalSlug?: string\n}\n\nexport function getRouteInfo({ adminRoute, config, defaultIDType, route }: Args): RouteInfo {\n if (isAdminRoute({ adminRoute, config, route })) {\n const routeWithoutAdmin = getRouteWithoutAdmin({ adminRoute, route })\n const routeSegments = routeWithoutAdmin.split('/').filter(Boolean)\n const [entityType, entitySlug, createOrID] = routeSegments\n const collectionSlug = entityType === 'collections' ? entitySlug : undefined\n const globalSlug = entityType === 'globals' ? entitySlug : undefined\n\n const docID =\n collectionSlug && createOrID !== 'create'\n ? defaultIDType === 'number'\n ? Number(createOrID)\n : createOrID\n : undefined\n\n let collectionConfig: SanitizedCollectionConfig | undefined\n let globalConfig: SanitizedGlobalConfig | undefined\n\n if (collectionSlug) {\n collectionConfig = config.collections.find((collection) => collection.slug === collectionSlug)\n }\n\n if (globalSlug) {\n globalConfig = config.globals.find((global) => global.slug === globalSlug)\n }\n\n return {\n collectionConfig,\n collectionSlug,\n docID,\n globalConfig,\n globalSlug,\n }\n }\n\n return {}\n}\n"],"mappings":"AAOA,SAASA,oBAAoB,EAAEC,YAAY,QAAQ;AAiBnD,OAAO,SAASC,aAAa;EAAEC,UAAU;EAAEC,MAAM;EAAEC,aAAa;EAAEC;AAAK,CAAQ;EAC7E,IAAIL,YAAA,CAAa;IAAEE,UAAA;IAAYC,MAAA;IAAQE;EAAM,IAAI;IAC/C,MAAMC,iBAAA,GAAoBP,oBAAA,CAAqB;MAAEG,UAAA;MAAYG;IAAM;IACnE,MAAME,aAAA,GAAgBD,iBAAA,CAAkBE,KAAK,CAAC,KAAKC,MAAM,CAACC,OAAA;IAC1D,MAAM,CAACC,UAAA,EAAYC,UAAA,EAAYC,UAAA,CAAW,GAAGN,aAAA;IAC7C,MAAMO,cAAA,GAAiBH,UAAA,KAAe,gBAAgBC,UAAA,GAAaG,SAAA;IACnE,MAAMC,UAAA,GAAaL,UAAA,KAAe,YAAYC,UAAA,GAAaG,SAAA;IAE3D,MAAME,KAAA,GACJH,cAAA,IAAkBD,UAAA,KAAe,WAC7BT,aAAA,KAAkB,WAChBc,MAAA,CAAOL,UAAA,IACPA,UAAA,GACFE,SAAA;IAEN,IAAII,gBAAA;IACJ,IAAIC,YAAA;IAEJ,IAAIN,cAAA,EAAgB;MAClBK,gBAAA,GAAmBhB,MAAA,CAAOkB,WAAW,CAACC,IAAI,CAAEC,UAAA,IAAeA,UAAA,CAAWC,IAAI,KAAKV,cAAA;IACjF;IAEA,IAAIE,UAAA,EAAY;MACdI,YAAA,GAAejB,MAAA,CAAOsB,OAAO,CAACH,IAAI,CAAEI,MAAA,IAAWA,MAAA,CAAOF,IAAI,KAAKR,UAAA;IACjE;IAEA,OAAO;MACLG,gBAAA;MACAL,cAAA;MACAG,KAAA;MACAG,YAAA;MACAJ;IACF;EACF;EAEA,OAAO,CAAC;AACV","ignoreList":[]}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import type { User } from 'payload';
|
|
2
|
+
type Args = {
|
|
2
3
|
config: any;
|
|
3
|
-
redirectUnauthenticatedUser: boolean | string;
|
|
4
4
|
route: string;
|
|
5
5
|
searchParams: {
|
|
6
6
|
[key: string]: string | string[];
|
|
7
7
|
};
|
|
8
|
-
|
|
8
|
+
user?: User;
|
|
9
|
+
};
|
|
10
|
+
export declare const handleAuthRedirect: ({ config, route, searchParams, user }: Args) => string;
|
|
11
|
+
export {};
|
|
9
12
|
//# sourceMappingURL=handleAuthRedirect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleAuthRedirect.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handleAuthRedirect.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAKnC,KAAK,IAAI,GAAG;IACV,MAAM,MAAA;IACN,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;IAClD,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,CAAA;AACD,eAAO,MAAM,kBAAkB,0CAA2C,IAAI,KAAG,MAkChF,CAAA"}
|
|
@@ -1,54 +1,41 @@
|
|
|
1
1
|
import { formatAdminURL } from '@payloadcms/ui/shared';
|
|
2
|
-
import { redirect } from 'next/navigation.js';
|
|
3
2
|
import * as qs from 'qs-esm';
|
|
4
|
-
import { isAdminAuthRoute, isAdminRoute } from './shared.js';
|
|
5
3
|
export const handleAuthRedirect = ({
|
|
6
4
|
config,
|
|
7
|
-
redirectUnauthenticatedUser,
|
|
8
5
|
route,
|
|
9
|
-
searchParams
|
|
6
|
+
searchParams,
|
|
7
|
+
user
|
|
10
8
|
}) => {
|
|
11
9
|
const {
|
|
12
10
|
admin: {
|
|
13
11
|
routes: {
|
|
14
|
-
login: loginRouteFromConfig
|
|
12
|
+
login: loginRouteFromConfig,
|
|
13
|
+
unauthorized: unauthorizedRoute
|
|
15
14
|
}
|
|
16
15
|
},
|
|
17
16
|
routes: {
|
|
18
17
|
admin: adminRoute
|
|
19
18
|
}
|
|
20
19
|
} = config;
|
|
21
|
-
if (
|
|
22
|
-
|
|
23
|
-
config,
|
|
24
|
-
route
|
|
25
|
-
})) {
|
|
26
|
-
if (searchParams && 'redirect' in searchParams) {
|
|
27
|
-
delete searchParams.redirect;
|
|
28
|
-
}
|
|
29
|
-
const redirectRoute = encodeURIComponent(route + Object.keys(searchParams ?? {}).length ? `${qs.stringify(searchParams, {
|
|
30
|
-
addQueryPrefix: true
|
|
31
|
-
})}` : undefined);
|
|
32
|
-
const adminLoginRoute = formatAdminURL({
|
|
33
|
-
adminRoute,
|
|
34
|
-
path: loginRouteFromConfig
|
|
35
|
-
});
|
|
36
|
-
const customLoginRoute = typeof redirectUnauthenticatedUser === 'string' ? redirectUnauthenticatedUser : undefined;
|
|
37
|
-
const loginRoute = isAdminRoute({
|
|
38
|
-
adminRoute,
|
|
39
|
-
config,
|
|
40
|
-
route
|
|
41
|
-
}) ? adminLoginRoute : customLoginRoute || loginRouteFromConfig;
|
|
42
|
-
const parsedLoginRouteSearchParams = qs.parse(loginRoute.split('?')[1] ?? '');
|
|
43
|
-
const searchParamsWithRedirect = `${qs.stringify({
|
|
44
|
-
...parsedLoginRouteSearchParams,
|
|
45
|
-
...(redirectRoute ? {
|
|
46
|
-
redirect: redirectRoute
|
|
47
|
-
} : {})
|
|
48
|
-
}, {
|
|
49
|
-
addQueryPrefix: true
|
|
50
|
-
})}`;
|
|
51
|
-
redirect(`${loginRoute.split('?')[0]}${searchParamsWithRedirect}`);
|
|
20
|
+
if (searchParams && 'redirect' in searchParams) {
|
|
21
|
+
delete searchParams.redirect;
|
|
52
22
|
}
|
|
23
|
+
const redirectRoute = encodeURIComponent(route + Object.keys(searchParams ?? {}).length ? `${qs.stringify(searchParams, {
|
|
24
|
+
addQueryPrefix: true
|
|
25
|
+
})}` : undefined);
|
|
26
|
+
const redirectTo = formatAdminURL({
|
|
27
|
+
adminRoute,
|
|
28
|
+
path: user ? unauthorizedRoute : loginRouteFromConfig
|
|
29
|
+
});
|
|
30
|
+
const parsedLoginRouteSearchParams = qs.parse(redirectTo.split('?')[1] ?? '');
|
|
31
|
+
const searchParamsWithRedirect = `${qs.stringify({
|
|
32
|
+
...parsedLoginRouteSearchParams,
|
|
33
|
+
...(redirectRoute ? {
|
|
34
|
+
redirect: redirectRoute
|
|
35
|
+
} : {})
|
|
36
|
+
}, {
|
|
37
|
+
addQueryPrefix: true
|
|
38
|
+
})}`;
|
|
39
|
+
return `${redirectTo.split('?')[0]}${searchParamsWithRedirect}`;
|
|
53
40
|
};
|
|
54
41
|
//# sourceMappingURL=handleAuthRedirect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleAuthRedirect.js","names":["formatAdminURL","
|
|
1
|
+
{"version":3,"file":"handleAuthRedirect.js","names":["formatAdminURL","qs","handleAuthRedirect","config","route","searchParams","user","admin","routes","login","loginRouteFromConfig","unauthorized","unauthorizedRoute","adminRoute","redirect","redirectRoute","encodeURIComponent","Object","keys","length","stringify","addQueryPrefix","undefined","redirectTo","path","parsedLoginRouteSearchParams","parse","split","searchParamsWithRedirect"],"sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"sourcesContent":["import type { User } from 'payload'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport * as qs from 'qs-esm'\n\ntype Args = {\n config\n route: string\n searchParams: { [key: string]: string | string[] }\n user?: User\n}\nexport const handleAuthRedirect = ({ config, route, searchParams, user }: Args): string => {\n const {\n admin: {\n routes: { login: loginRouteFromConfig, unauthorized: unauthorizedRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (searchParams && 'redirect' in searchParams) {\n delete searchParams.redirect\n }\n\n const redirectRoute = encodeURIComponent(\n route + Object.keys(searchParams ?? {}).length\n ? `${qs.stringify(searchParams, { addQueryPrefix: true })}`\n : undefined,\n )\n\n const redirectTo = formatAdminURL({\n adminRoute,\n path: user ? unauthorizedRoute : loginRouteFromConfig,\n })\n\n const parsedLoginRouteSearchParams = qs.parse(redirectTo.split('?')[1] ?? '')\n\n const searchParamsWithRedirect = `${qs.stringify(\n {\n ...parsedLoginRouteSearchParams,\n ...(redirectRoute ? { redirect: redirectRoute } : {}),\n },\n { addQueryPrefix: true },\n )}`\n\n return `${redirectTo.split('?')[0]}${searchParamsWithRedirect}`\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAC/B,YAAYC,EAAA,MAAQ;AAQpB,OAAO,MAAMC,kBAAA,GAAqBA,CAAC;EAAEC,MAAM;EAAEC,KAAK;EAAEC,YAAY;EAAEC;AAAI,CAAQ;EAC5E,MAAM;IACJC,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,KAAA,EAAOC,oBAAoB;QAAEC,YAAA,EAAcC;MAAiB;IAAE,CACzE;IACDJ,MAAA,EAAQ;MAAED,KAAA,EAAOM;IAAU;EAAE,CAC9B,GAAGV,MAAA;EAEJ,IAAIE,YAAA,IAAgB,cAAcA,YAAA,EAAc;IAC9C,OAAOA,YAAA,CAAaS,QAAQ;EAC9B;EAEA,MAAMC,aAAA,GAAgBC,kBAAA,CACpBZ,KAAA,GAAQa,MAAA,CAAOC,IAAI,CAACb,YAAA,IAAgB,CAAC,GAAGc,MAAM,GAC1C,GAAGlB,EAAA,CAAGmB,SAAS,CAACf,YAAA,EAAc;IAAEgB,cAAA,EAAgB;EAAK,IAAI,GACzDC,SAAA;EAGN,MAAMC,UAAA,GAAavB,cAAA,CAAe;IAChCa,UAAA;IACAW,IAAA,EAAMlB,IAAA,GAAOM,iBAAA,GAAoBF;EACnC;EAEA,MAAMe,4BAAA,GAA+BxB,EAAA,CAAGyB,KAAK,CAACH,UAAA,CAAWI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI;EAE1E,MAAMC,wBAAA,GAA2B,GAAG3B,EAAA,CAAGmB,SAAS,CAC9C;IACE,GAAGK,4BAA4B;IAC/B,IAAIV,aAAA,GAAgB;MAAED,QAAA,EAAUC;IAAc,IAAI,CAAC,CAAC;EACtD,GACA;IAAEM,cAAA,EAAgB;EAAK,IACtB;EAEH,OAAO,GAAGE,UAAA,CAAWI,KAAK,CAAC,IAAI,CAAC,EAAE,GAAGC,wBAAA,EAA0B;AACjE","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { InitPageResult } from 'payload';
|
|
2
2
|
import type { Args } from './types.js';
|
|
3
|
-
export declare const initPage: ({ config: configPromise, importMap,
|
|
3
|
+
export declare const initPage: ({ config: configPromise, importMap, route, searchParams, }: Args) => Promise<InitPageResult>;
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,SAAS,CAAA;AAQtF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAQtC,eAAO,MAAM,QAAQ,+DAKlB,IAAI,KAAG,OAAO,CAAC,cAAc,CAoJ/B,CAAA"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { findLocaleFromCode } from '@payloadcms/ui/shared';
|
|
2
2
|
import { headers as getHeaders } from 'next/headers.js';
|
|
3
|
+
import { notFound } from 'next/navigation.js';
|
|
3
4
|
import { createLocalReq, isEntityHidden, parseCookies } from 'payload';
|
|
4
5
|
import * as qs from 'qs-esm';
|
|
5
6
|
import { getPayloadHMR } from '../getPayloadHMR.js';
|
|
6
7
|
import { initReq } from '../initReq.js';
|
|
7
|
-
import {
|
|
8
|
+
import { getRouteInfo } from './handleAdminPage.js';
|
|
8
9
|
import { handleAuthRedirect } from './handleAuthRedirect.js';
|
|
10
|
+
import { isPublicAdminRoute } from './shared.js';
|
|
9
11
|
export const initPage = async ({
|
|
10
12
|
config: configPromise,
|
|
11
13
|
importMap,
|
|
12
|
-
redirectUnauthenticatedUser = false,
|
|
13
14
|
route,
|
|
14
15
|
searchParams
|
|
15
16
|
}) => {
|
|
@@ -118,24 +119,34 @@ export const initPage = async ({
|
|
|
118
119
|
user
|
|
119
120
|
}) ? slug : null).filter(Boolean)
|
|
120
121
|
};
|
|
121
|
-
|
|
122
|
-
|
|
122
|
+
let redirectTo = null;
|
|
123
|
+
if (!permissions.canAccessAdmin && !isPublicAdminRoute({
|
|
124
|
+
adminRoute,
|
|
125
|
+
config: payload.config,
|
|
126
|
+
route
|
|
127
|
+
})) {
|
|
128
|
+
redirectTo = handleAuthRedirect({
|
|
123
129
|
config: payload.config,
|
|
124
|
-
redirectUnauthenticatedUser,
|
|
125
130
|
route,
|
|
126
|
-
searchParams
|
|
131
|
+
searchParams,
|
|
132
|
+
user
|
|
127
133
|
});
|
|
128
134
|
}
|
|
129
135
|
const {
|
|
130
136
|
collectionConfig,
|
|
137
|
+
collectionSlug,
|
|
131
138
|
docID,
|
|
132
|
-
globalConfig
|
|
133
|
-
|
|
139
|
+
globalConfig,
|
|
140
|
+
globalSlug
|
|
141
|
+
} = getRouteInfo({
|
|
134
142
|
adminRoute,
|
|
135
143
|
config: payload.config,
|
|
136
|
-
|
|
144
|
+
defaultIDType: payload.db.defaultIDType,
|
|
137
145
|
route
|
|
138
146
|
});
|
|
147
|
+
if (collectionSlug && !collectionConfig || globalSlug && !globalConfig) {
|
|
148
|
+
return notFound();
|
|
149
|
+
}
|
|
139
150
|
return {
|
|
140
151
|
collectionConfig,
|
|
141
152
|
cookies,
|
|
@@ -144,6 +155,7 @@ export const initPage = async ({
|
|
|
144
155
|
languageOptions,
|
|
145
156
|
locale,
|
|
146
157
|
permissions,
|
|
158
|
+
redirectTo,
|
|
147
159
|
req,
|
|
148
160
|
translations: i18n.translations,
|
|
149
161
|
visibleEntities
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["findLocaleFromCode","headers","getHeaders","createLocalReq","isEntityHidden","parseCookies","qs","getPayloadHMR","initReq","
|
|
1
|
+
{"version":3,"file":"index.js","names":["findLocaleFromCode","headers","getHeaders","notFound","createLocalReq","isEntityHidden","parseCookies","qs","getPayloadHMR","initReq","getRouteInfo","handleAuthRedirect","isPublicAdminRoute","initPage","config","configPromise","importMap","route","searchParams","payload","queryString","stringify","addQueryPrefix","collections","globals","localization","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","localeParam","locale","defaultLocaleCode","defaultLocale","localeCode","find","collection","limit","where","and","equals","id","key","then","res","docs","error","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 { InitPageResult, Locale, PayloadRequest, VisibleEntities } from 'payload'\n\nimport { findLocaleFromCode } from '@payloadcms/ui/shared'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { notFound } from 'next/navigation.js'\nimport { createLocalReq, isEntityHidden, parseCookies } from 'payload'\nimport * as qs from 'qs-esm'\n\nimport type { Args } from './types.js'\n\nimport { getPayloadHMR } from '../getPayloadHMR.js'\nimport { initReq } from '../initReq.js'\nimport { getRouteInfo } from './handleAdminPage.js'\nimport { handleAuthRedirect } from './handleAuthRedirect.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 getPayloadHMR({ config: configPromise, importMap })\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n\n const {\n collections,\n globals,\n localization,\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: null,\n req: {\n headers,\n host: headers.get('host'),\n i18n,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n } as PayloadRequest,\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 localeParam = searchParams?.locale as string\n let locale: Locale\n\n if (localization) {\n const defaultLocaleCode = localization.defaultLocale ? localization.defaultLocale : 'en'\n let localeCode: string = localeParam\n\n if (!localeCode) {\n try {\n localeCode = 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: 'locale',\n },\n },\n ],\n },\n })\n ?.then((res) => res.docs?.[0]?.value as string)\n } catch (error) {} // eslint-disable-line no-empty\n }\n\n locale = findLocaleFromCode(localization, localeCode)\n\n if (!locale) {\n locale = findLocaleFromCode(localization, defaultLocaleCode)\n }\n req.locale = locale.code\n }\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 ) {\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 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,10 +1,10 @@
|
|
|
1
1
|
import type { SanitizedConfig } from 'payload';
|
|
2
|
-
export declare const isAdminRoute: ({ adminRoute,
|
|
2
|
+
export declare const isAdminRoute: ({ adminRoute, route, }: {
|
|
3
3
|
adminRoute: string;
|
|
4
4
|
config: SanitizedConfig;
|
|
5
5
|
route: string;
|
|
6
6
|
}) => boolean;
|
|
7
|
-
export declare const
|
|
7
|
+
export declare const isPublicAdminRoute: ({ adminRoute, config, route, }: {
|
|
8
8
|
adminRoute: string;
|
|
9
9
|
config: SanitizedConfig;
|
|
10
10
|
route: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAiB9C,eAAO,MAAM,YAAY,2BAGtB;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;CACd,KAAG,OAEH,CAAA;AAED,eAAO,MAAM,kBAAkB,mCAI5B;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;CACd,KAAG,OAYH,CAAA;AAED,eAAO,MAAM,oBAAoB,2BAG9B;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,KAAG,MAEH,CAAA"}
|
|
@@ -1,25 +1,30 @@
|
|
|
1
|
-
|
|
1
|
+
// Routes that require admin authentication
|
|
2
|
+
const publicAdminRoutes = ['createFirstUser', 'forgot', 'login', 'logout', 'forgot', 'inactivity', 'unauthorized', 'reset'];
|
|
2
3
|
export const isAdminRoute = ({
|
|
3
4
|
adminRoute,
|
|
4
|
-
config,
|
|
5
5
|
route
|
|
6
6
|
}) => {
|
|
7
|
-
return route.startsWith(adminRoute)
|
|
8
|
-
adminRoute,
|
|
9
|
-
config,
|
|
10
|
-
route
|
|
11
|
-
});
|
|
7
|
+
return route.startsWith(adminRoute);
|
|
12
8
|
};
|
|
13
|
-
export const
|
|
9
|
+
export const isPublicAdminRoute = ({
|
|
14
10
|
adminRoute,
|
|
15
11
|
config,
|
|
16
12
|
route
|
|
17
13
|
}) => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
14
|
+
return publicAdminRoutes.some(routeSegment => {
|
|
15
|
+
const segment = config.admin?.routes?.[routeSegment] || routeSegment;
|
|
16
|
+
const routeWithoutAdmin = getRouteWithoutAdmin({
|
|
17
|
+
adminRoute,
|
|
18
|
+
route
|
|
19
|
+
});
|
|
20
|
+
if (routeWithoutAdmin.startsWith(segment)) {
|
|
21
|
+
return true;
|
|
22
|
+
} else if (routeWithoutAdmin.includes('/verify/')) {
|
|
23
|
+
return true;
|
|
24
|
+
} else {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
23
28
|
};
|
|
24
29
|
export const getRouteWithoutAdmin = ({
|
|
25
30
|
adminRoute,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","names":["
|
|
1
|
+
{"version":3,"file":"shared.js","names":["publicAdminRoutes","isAdminRoute","adminRoute","route","startsWith","isPublicAdminRoute","config","some","routeSegment","segment","admin","routes","routeWithoutAdmin","getRouteWithoutAdmin","includes","replace"],"sources":["../../../src/utilities/initPage/shared.ts"],"sourcesContent":["import type { SanitizedConfig } from 'payload'\n\n// Routes that require admin authentication\nconst publicAdminRoutes: (keyof Pick<\n SanitizedConfig['admin']['routes'],\n 'createFirstUser' | 'forgot' | 'inactivity' | 'login' | 'logout' | 'reset' | 'unauthorized'\n>)[] = [\n 'createFirstUser',\n 'forgot',\n 'login',\n 'logout',\n 'forgot',\n 'inactivity',\n 'unauthorized',\n 'reset',\n]\n\nexport const isAdminRoute = ({\n adminRoute,\n route,\n}: {\n adminRoute: string\n config: SanitizedConfig\n route: string\n}): boolean => {\n return route.startsWith(adminRoute)\n}\n\nexport const isPublicAdminRoute = ({\n adminRoute,\n config,\n route,\n}: {\n adminRoute: string\n config: SanitizedConfig\n route: string\n}): boolean => {\n return publicAdminRoutes.some((routeSegment) => {\n const segment = config.admin?.routes?.[routeSegment] || routeSegment\n const routeWithoutAdmin = getRouteWithoutAdmin({ adminRoute, route })\n if (routeWithoutAdmin.startsWith(segment)) {\n return true\n } else if (routeWithoutAdmin.includes('/verify/')) {\n return true\n } else {\n return false\n }\n })\n}\n\nexport const getRouteWithoutAdmin = ({\n adminRoute,\n route,\n}: {\n adminRoute: string\n route: string\n}): string => {\n return adminRoute && adminRoute !== '/' ? route.replace(adminRoute, '') : route\n}\n"],"mappings":"AAEA;AACA,MAAMA,iBAAA,GAGC,CACL,mBACA,UACA,SACA,UACA,UACA,cACA,gBACA,QACD;AAED,OAAO,MAAMC,YAAA,GAAeA,CAAC;EAC3BC,UAAU;EACVC;AAAK,CAKN;EACC,OAAOA,KAAA,CAAMC,UAAU,CAACF,UAAA;AAC1B;AAEA,OAAO,MAAMG,kBAAA,GAAqBA,CAAC;EACjCH,UAAU;EACVI,MAAM;EACNH;AAAK,CAKN;EACC,OAAOH,iBAAA,CAAkBO,IAAI,CAAEC,YAAA;IAC7B,MAAMC,OAAA,GAAUH,MAAA,CAAOI,KAAK,EAAEC,MAAA,GAASH,YAAA,CAAa,IAAIA,YAAA;IACxD,MAAMI,iBAAA,GAAoBC,oBAAA,CAAqB;MAAEX,UAAA;MAAYC;IAAM;IACnE,IAAIS,iBAAA,CAAkBR,UAAU,CAACK,OAAA,GAAU;MACzC,OAAO;IACT,OAAO,IAAIG,iBAAA,CAAkBE,QAAQ,CAAC,aAAa;MACjD,OAAO;IACT,OAAO;MACL,OAAO;IACT;EACF;AACF;AAEA,OAAO,MAAMD,oBAAA,GAAuBA,CAAC;EACnCX,UAAU;EACVC;AAAK,CAIN;EACC,OAAOD,UAAA,IAAcA,UAAA,KAAe,MAAMC,KAAA,CAAMY,OAAO,CAACb,UAAA,EAAY,MAAMC,KAAA;AAC5E","ignoreList":[]}
|