@payloadcms/next 3.18.0-canary.df484f6 → 3.19.0-canary.5e4a1d4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/Nav/index.d.ts.map +1 -1
- package/dist/elements/Nav/index.js +14 -0
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/exports/utilities.d.ts +1 -3
- package/dist/exports/utilities.d.ts.map +1 -1
- package/dist/exports/utilities.js +1 -3
- package/dist/exports/utilities.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/routes/graphql/handler.js +1 -1
- package/dist/routes/graphql/handler.js.map +1 -1
- package/dist/templates/Default/index.d.ts +4 -3
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +15 -15
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/initPage/handleAdminPage.js +1 -1
- package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.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.map +1 -1
- package/dist/views/CreateFirstUser/index.js +3 -3
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Document/handleServerFunction.js +4 -2
- package/dist/views/Document/handleServerFunction.js.map +1 -1
- package/dist/views/Document/index.d.ts +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +6 -2
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
- package/dist/views/Document/renderDocumentSlots.js +7 -0
- package/dist/views/Document/renderDocumentSlots.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +7 -4
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/List/handleServerFunction.d.ts.map +1 -1
- package/dist/views/List/handleServerFunction.js +3 -2
- package/dist/views/List/handleServerFunction.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +0 -1
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/Login/LoginForm/index.js +7 -4
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/index.js +1 -3
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/Root/attachViewActions.d.ts +11 -0
- package/dist/views/Root/attachViewActions.d.ts.map +1 -0
- package/dist/views/Root/attachViewActions.js +29 -0
- package/dist/views/Root/attachViewActions.js.map +1 -0
- package/dist/views/Root/getDocumentViewInfo.d.ts +6 -0
- package/dist/views/Root/getDocumentViewInfo.d.ts.map +1 -0
- package/dist/views/Root/getDocumentViewInfo.js +33 -0
- package/dist/views/Root/getDocumentViewInfo.js.map +1 -0
- package/dist/views/Root/getViewFromConfig.d.ts +3 -7
- package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
- package/dist/views/Root/getViewFromConfig.js +29 -96
- 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 +8 -3
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Restore/index.js +5 -3
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/package.json +9 -9
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { configToSchema } from '@payloadcms/graphql';
|
|
2
2
|
import { createHandler } from 'graphql-http/lib/use/fetch';
|
|
3
|
-
import httpStatus from 'http-status';
|
|
3
|
+
import { status as httpStatus } from 'http-status';
|
|
4
4
|
import { addDataAndFileToRequest, addLocalesToRequestFromData, createPayloadRequest, headersWithCors, logError, mergeHeaders } from 'payload';
|
|
5
5
|
const handleError = async ({
|
|
6
6
|
err,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","names":["configToSchema","createHandler","httpStatus","addDataAndFileToRequest","addLocalesToRequestFromData","createPayloadRequest","headersWithCors","logError","mergeHeaders","handleError","err","payload","req","
|
|
1
|
+
{"version":3,"file":"handler.js","names":["configToSchema","createHandler","status","httpStatus","addDataAndFileToRequest","addLocalesToRequestFromData","createPayloadRequest","headersWithCors","logError","mergeHeaders","handleError","err","payload","req","originalError","INTERNAL_SERVER_ERROR","errorMessage","message","config","debug","response","extensions","name","undefined","data","stack","statusCode","locations","path","hooks","afterError","reduce","promise","hook","result","context","error","graphqlResult","Promise","resolve","cached","global","_payload_graphql","graphql","getGraphql","process","env","NODE_ENV","resolvedConfig","schema","e","POST","request","originalRequest","clone","validationRules","headers","apiResponse","onOperation","args","errors","all","map","_","defaultRules","concat","resHeaders","Headers","key","append","Response","body","responseHeaders"],"sources":["../../../src/routes/graphql/handler.ts"],"sourcesContent":["import type { GraphQLError, GraphQLFormattedError } from 'graphql'\nimport type { APIError, Payload, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport { configToSchema } from '@payloadcms/graphql'\nimport { createHandler } from 'graphql-http/lib/use/fetch'\nimport { status as httpStatus } from 'http-status'\nimport {\n addDataAndFileToRequest,\n addLocalesToRequestFromData,\n createPayloadRequest,\n headersWithCors,\n logError,\n mergeHeaders,\n} from 'payload'\n\nconst handleError = async ({\n err,\n payload,\n req,\n}: {\n err: GraphQLError\n payload: Payload\n req: PayloadRequest\n}): Promise<GraphQLFormattedError> => {\n const status = (err.originalError as APIError).status || httpStatus.INTERNAL_SERVER_ERROR\n let errorMessage = err.message\n logError({ err, payload })\n\n // Internal server errors can contain anything, including potentially sensitive data.\n // Therefore, error details will be hidden from the response unless `config.debug` is `true`\n if (!payload.config.debug && status === httpStatus.INTERNAL_SERVER_ERROR) {\n errorMessage = 'Something went wrong.'\n }\n\n let response: GraphQLFormattedError = {\n extensions: {\n name: err?.originalError?.name || undefined,\n data: (err && err.originalError && (err.originalError as APIError).data) || undefined,\n stack: payload.config.debug ? err.stack : undefined,\n statusCode: status,\n },\n locations: err.locations,\n message: errorMessage,\n path: err.path,\n }\n\n await payload.config.hooks.afterError?.reduce(async (promise, hook) => {\n await promise\n\n const result = await hook({\n context: req.context,\n error: err,\n graphqlResult: response,\n req,\n })\n\n if (result) {\n response = result.graphqlResult || response\n }\n }, Promise.resolve())\n\n return response\n}\n\nlet cached = global._payload_graphql\n\nif (!cached) {\n cached = global._payload_graphql = { graphql: null, promise: null }\n}\n\nexport const getGraphql = async (config: Promise<SanitizedConfig> | SanitizedConfig) => {\n if (process.env.NODE_ENV === 'development') {\n cached = global._payload_graphql = { graphql: null, promise: null }\n }\n\n if (cached.graphql) {\n return cached.graphql\n }\n\n if (!cached.promise) {\n const resolvedConfig = await config\n cached.promise = new Promise((resolve) => {\n const schema = configToSchema(resolvedConfig)\n resolve(cached.graphql || schema)\n })\n }\n\n try {\n cached.graphql = await cached.promise\n } catch (e) {\n cached.promise = null\n throw e\n }\n\n return cached.graphql\n}\n\nexport const POST =\n (config: Promise<SanitizedConfig> | SanitizedConfig) => async (request: Request) => {\n const originalRequest = request.clone()\n const req = await createPayloadRequest({\n config,\n request,\n })\n\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n const { schema, validationRules } = await getGraphql(config)\n\n const { payload } = req\n\n const headers = {}\n const apiResponse = await createHandler({\n context: { headers, req },\n onOperation: async (request, args, result) => {\n const response =\n typeof payload.extensions === 'function'\n ? await payload.extensions({\n args,\n req: request,\n result,\n })\n : result\n if (response.errors) {\n const errors = (await Promise.all(\n result.errors.map((error) => {\n return handleError({ err: error, payload, req })\n }),\n )) as GraphQLError[]\n // errors type should be FormattedGraphQLError[] but onOperation has a return type of ExecutionResult instead of FormattedExecutionResult\n return { ...response, errors }\n }\n return response\n },\n schema,\n validationRules: (_, args, defaultRules) => defaultRules.concat(validationRules(args)),\n })(originalRequest)\n\n const resHeaders = headersWithCors({\n headers: new Headers(apiResponse.headers),\n req,\n })\n\n for (const key in headers) {\n resHeaders.append(key, headers[key])\n }\n\n return new Response(apiResponse.body, {\n headers: req.responseHeaders ? mergeHeaders(req.responseHeaders, resHeaders) : resHeaders,\n status: apiResponse.status,\n })\n }\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import type { CustomComponent, ServerProps, VisibleEntities } from 'payload';
|
|
2
|
-
import React from 'react';
|
|
1
|
+
import type { CustomComponent, DocumentSubViewTypes, ServerProps, ViewTypes, VisibleEntities } from 'payload';
|
|
3
2
|
import './index.scss';
|
|
3
|
+
import React from 'react';
|
|
4
4
|
export type DefaultTemplateProps = {
|
|
5
5
|
children?: React.ReactNode;
|
|
6
6
|
className?: string;
|
|
7
7
|
collectionSlug?: string;
|
|
8
8
|
docID?: number | string;
|
|
9
|
+
documentSubViewType?: DocumentSubViewTypes;
|
|
9
10
|
globalSlug?: string;
|
|
10
11
|
viewActions?: CustomComponent[];
|
|
11
|
-
viewType?:
|
|
12
|
+
viewType?: ViewTypes;
|
|
12
13
|
visibleEntities: VisibleEntities;
|
|
13
14
|
} & ServerProps;
|
|
14
15
|
export declare const DefaultTemplate: React.FC<DefaultTemplateProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/Default/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/Default/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,SAAS,EACT,eAAe,EAChB,MAAM,SAAS,CAAA;AAWhB,OAAO,cAAc,CAAA;AAErB,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,mBAAmB,CAAC,EAAE,oBAAoB,CAAA;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,eAAe,EAAE,CAAA;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,eAAe,EAAE,eAAe,CAAA;CACjC,GAAG,WAAW,CAAA;AAEf,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAuJ1D,CAAA"}
|
|
@@ -11,6 +11,7 @@ export const DefaultTemplate = ({
|
|
|
11
11
|
className,
|
|
12
12
|
collectionSlug,
|
|
13
13
|
docID,
|
|
14
|
+
documentSubViewType,
|
|
14
15
|
globalSlug,
|
|
15
16
|
i18n,
|
|
16
17
|
locale,
|
|
@@ -36,6 +37,13 @@ export const DefaultTemplate = ({
|
|
|
36
37
|
}
|
|
37
38
|
} = {}
|
|
38
39
|
} = payload.config || {};
|
|
40
|
+
const clientProps = React.useMemo(() => {
|
|
41
|
+
return {
|
|
42
|
+
documentSubViewType,
|
|
43
|
+
viewType,
|
|
44
|
+
visibleEntities
|
|
45
|
+
};
|
|
46
|
+
}, [documentSubViewType, viewType, visibleEntities]);
|
|
39
47
|
const serverProps = React.useMemo(() => ({
|
|
40
48
|
collectionSlug,
|
|
41
49
|
docID,
|
|
@@ -46,10 +54,8 @@ export const DefaultTemplate = ({
|
|
|
46
54
|
payload,
|
|
47
55
|
permissions,
|
|
48
56
|
searchParams,
|
|
49
|
-
user
|
|
50
|
-
|
|
51
|
-
visibleEntities
|
|
52
|
-
}), [i18n, locale, params, payload, permissions, searchParams, user, visibleEntities, globalSlug, collectionSlug, docID, viewType]);
|
|
57
|
+
user
|
|
58
|
+
}), [i18n, locale, params, payload, permissions, searchParams, user, globalSlug, collectionSlug, docID]);
|
|
53
59
|
const {
|
|
54
60
|
Actions
|
|
55
61
|
} = React.useMemo(() => {
|
|
@@ -58,12 +64,14 @@ export const DefaultTemplate = ({
|
|
|
58
64
|
if (action) {
|
|
59
65
|
if (typeof action === 'object') {
|
|
60
66
|
acc[action.path] = RenderServerComponent({
|
|
67
|
+
clientProps,
|
|
61
68
|
Component: action,
|
|
62
69
|
importMap: payload.importMap,
|
|
63
70
|
serverProps
|
|
64
71
|
});
|
|
65
72
|
} else {
|
|
66
73
|
acc[action] = RenderServerComponent({
|
|
74
|
+
clientProps,
|
|
67
75
|
Component: action,
|
|
68
76
|
importMap: payload.importMap,
|
|
69
77
|
serverProps
|
|
@@ -73,13 +81,9 @@ export const DefaultTemplate = ({
|
|
|
73
81
|
return acc;
|
|
74
82
|
}, {}) : undefined
|
|
75
83
|
};
|
|
76
|
-
}, [payload, serverProps, viewActions]);
|
|
84
|
+
}, [payload, serverProps, viewActions, clientProps]);
|
|
77
85
|
const NavComponent = RenderServerComponent({
|
|
78
|
-
clientProps
|
|
79
|
-
clientProps: {
|
|
80
|
-
visibleEntities
|
|
81
|
-
}
|
|
82
|
-
},
|
|
86
|
+
clientProps,
|
|
83
87
|
Component: CustomNav,
|
|
84
88
|
Fallback: DefaultNav,
|
|
85
89
|
importMap: payload.importMap,
|
|
@@ -91,11 +95,7 @@ export const DefaultTemplate = ({
|
|
|
91
95
|
children: /*#__PURE__*/_jsxs(ActionsProvider, {
|
|
92
96
|
Actions: Actions,
|
|
93
97
|
children: [RenderServerComponent({
|
|
94
|
-
clientProps
|
|
95
|
-
clientProps: {
|
|
96
|
-
visibleEntities
|
|
97
|
-
}
|
|
98
|
-
},
|
|
98
|
+
clientProps,
|
|
99
99
|
Component: CustomHeader,
|
|
100
100
|
importMap: payload.importMap,
|
|
101
101
|
serverProps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["ActionsProvider","AppHeader","BulkUploadProvider","EntityVisibilityProvider","NavToggler","RenderServerComponent","React","DefaultNav","NavHamburger","Wrapper","baseClass","DefaultTemplate","children","className","collectionSlug","docID","globalSlug","i18n","locale","params","payload","permissions","searchParams","user","viewActions","viewType","visibleEntities","admin","avatar","components","header","CustomHeader","Nav","CustomNav","undefined","config","
|
|
1
|
+
{"version":3,"file":"index.js","names":["ActionsProvider","AppHeader","BulkUploadProvider","EntityVisibilityProvider","NavToggler","RenderServerComponent","React","DefaultNav","NavHamburger","Wrapper","baseClass","DefaultTemplate","children","className","collectionSlug","docID","documentSubViewType","globalSlug","i18n","locale","params","payload","permissions","searchParams","user","viewActions","viewType","visibleEntities","admin","avatar","components","header","CustomHeader","Nav","CustomNav","undefined","config","clientProps","useMemo","serverProps","Actions","reduce","acc","action","path","Component","importMap","NavComponent","Fallback","_jsx","_jsxs","style","position","id","CustomAvatar","CustomIcon","graphics","Icon"],"sources":["../../../src/templates/Default/index.tsx"],"sourcesContent":["import type {\n CustomComponent,\n DocumentSubViewTypes,\n ServerProps,\n ViewTypes,\n VisibleEntities,\n} from 'payload'\n\nimport {\n ActionsProvider,\n AppHeader,\n BulkUploadProvider,\n EntityVisibilityProvider,\n NavToggler,\n} from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\n\nimport './index.scss'\n\nimport React from 'react'\n\nimport { DefaultNav } from '../../elements/Nav/index.js'\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { Wrapper } from './Wrapper/index.js'\n\nconst baseClass = 'template-default'\n\nexport type DefaultTemplateProps = {\n children?: React.ReactNode\n className?: string\n collectionSlug?: string\n docID?: number | string\n documentSubViewType?: DocumentSubViewTypes\n globalSlug?: string\n viewActions?: CustomComponent[]\n viewType?: ViewTypes\n visibleEntities: VisibleEntities\n} & ServerProps\n\nexport const DefaultTemplate: React.FC<DefaultTemplateProps> = ({\n children,\n className,\n collectionSlug,\n docID,\n documentSubViewType,\n globalSlug,\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n viewActions,\n viewType,\n visibleEntities,\n}) => {\n const {\n admin: {\n avatar,\n components,\n components: { header: CustomHeader, Nav: CustomNav } = {\n header: undefined,\n Nav: undefined,\n },\n } = {},\n } = payload.config || {}\n\n const clientProps = React.useMemo(() => {\n return {\n documentSubViewType,\n viewType,\n visibleEntities,\n }\n }, [documentSubViewType, viewType, visibleEntities])\n\n const serverProps = React.useMemo<ServerProps>(\n () => ({\n collectionSlug,\n docID,\n globalSlug,\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }),\n [\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n globalSlug,\n collectionSlug,\n docID,\n ],\n )\n\n const { Actions } = React.useMemo<{\n Actions: Record<string, React.ReactNode>\n }>(() => {\n return {\n Actions: viewActions\n ? viewActions.reduce((acc, action) => {\n if (action) {\n if (typeof action === 'object') {\n acc[action.path] = RenderServerComponent({\n clientProps,\n Component: action,\n importMap: payload.importMap,\n serverProps,\n })\n } else {\n acc[action] = RenderServerComponent({\n clientProps,\n Component: action,\n importMap: payload.importMap,\n serverProps,\n })\n }\n }\n\n return acc\n }, {})\n : undefined,\n }\n }, [payload, serverProps, viewActions, clientProps])\n\n const NavComponent = RenderServerComponent({\n clientProps,\n Component: CustomNav,\n Fallback: DefaultNav,\n importMap: payload.importMap,\n serverProps,\n })\n\n return (\n <EntityVisibilityProvider visibleEntities={visibleEntities}>\n <BulkUploadProvider>\n <ActionsProvider Actions={Actions}>\n {RenderServerComponent({\n clientProps,\n Component: CustomHeader,\n importMap: payload.importMap,\n serverProps,\n })}\n <div style={{ position: 'relative' }}>\n <div className={`${baseClass}__nav-toggler-wrapper`} id=\"nav-toggler\">\n <div className={`${baseClass}__nav-toggler-container`} id=\"nav-toggler\">\n <NavToggler className={`${baseClass}__nav-toggler`}>\n <NavHamburger />\n </NavToggler>\n </div>\n </div>\n <Wrapper baseClass={baseClass} className={className}>\n {NavComponent}\n <div className={`${baseClass}__wrap`}>\n <AppHeader\n CustomAvatar={\n avatar !== 'gravatar' && avatar !== 'default'\n ? RenderServerComponent({\n Component: avatar.Component,\n importMap: payload.importMap,\n serverProps,\n })\n : undefined\n }\n CustomIcon={\n components?.graphics?.Icon\n ? RenderServerComponent({\n Component: components.graphics.Icon,\n importMap: payload.importMap,\n serverProps,\n })\n : undefined\n }\n />\n {children}\n </div>\n </Wrapper>\n </div>\n </ActionsProvider>\n </BulkUploadProvider>\n </EntityVisibilityProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -23,7 +23,7 @@ export function getRouteInfo({
|
|
|
23
23
|
let globalConfig;
|
|
24
24
|
let idType = defaultIDType;
|
|
25
25
|
if (collectionSlug) {
|
|
26
|
-
collectionConfig =
|
|
26
|
+
collectionConfig = payload.collections?.[collectionSlug]?.config;
|
|
27
27
|
}
|
|
28
28
|
if (globalSlug) {
|
|
29
29
|
globalConfig = config.globals.find(global => global.slug === globalSlug);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleAdminPage.js","names":["getRouteWithoutAdmin","isAdminRoute","getRouteInfo","adminRoute","config","defaultIDType","payload","route","routeWithoutAdmin","routeSegments","split","filter","Boolean","entityType","entitySlug","createOrID","collectionSlug","undefined","globalSlug","collectionConfig","globalConfig","idType","collections","
|
|
1
|
+
{"version":3,"file":"handleAdminPage.js","names":["getRouteWithoutAdmin","isAdminRoute","getRouteInfo","adminRoute","config","defaultIDType","payload","route","routeWithoutAdmin","routeSegments","split","filter","Boolean","entityType","entitySlug","createOrID","collectionSlug","undefined","globalSlug","collectionConfig","globalConfig","idType","collections","globals","find","global","slug","customIDType","docID","Number"],"sources":["../../../src/utilities/initPage/handleAdminPage.ts"],"sourcesContent":["import type {\n Payload,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { fieldAffectsData } from 'payload/shared'\n\nimport { getRouteWithoutAdmin, isAdminRoute } from './shared.js'\n\ntype Args = {\n adminRoute: string\n config: SanitizedConfig\n defaultIDType: Payload['db']['defaultIDType']\n payload?: Payload\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({\n adminRoute,\n config,\n defaultIDType,\n payload,\n route,\n}: 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 let collectionConfig: SanitizedCollectionConfig | undefined\n let globalConfig: SanitizedGlobalConfig | undefined\n let idType = defaultIDType\n\n if (collectionSlug) {\n collectionConfig = payload.collections?.[collectionSlug]?.config\n }\n\n if (globalSlug) {\n globalConfig = config.globals.find((global) => global.slug === globalSlug)\n }\n\n // If the collection is using a custom ID, we need to determine its type\n if (collectionConfig && payload) {\n if (payload.collections?.[collectionSlug]?.customIDType) {\n idType = payload.collections?.[collectionSlug].customIDType\n }\n }\n\n const docID =\n collectionSlug && createOrID !== 'create'\n ? idType === 'number'\n ? Number(createOrID)\n : createOrID\n : undefined\n\n return {\n collectionConfig,\n collectionSlug,\n docID,\n globalConfig,\n globalSlug,\n }\n }\n\n return {}\n}\n"],"mappings":"AASA,SAASA,oBAAoB,EAAEC,YAAY,QAAQ;AAkBnD,OAAO,SAASC,aAAa;EAC3BC,UAAU;EACVC,MAAM;EACNC,aAAa;EACbC,OAAO;EACPC;AAAK,CACA;EACL,IAAIN,YAAA,CAAa;IAAEE,UAAA;IAAYC,MAAA;IAAQG;EAAM,IAAI;IAC/C,MAAMC,iBAAA,GAAoBR,oBAAA,CAAqB;MAAEG,UAAA;MAAYI;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,IAAIE,gBAAA;IACJ,IAAIC,YAAA;IACJ,IAAIC,MAAA,GAAShB,aAAA;IAEb,IAAIW,cAAA,EAAgB;MAClBG,gBAAA,GAAmBb,OAAA,CAAQgB,WAAW,GAAGN,cAAA,CAAe,EAAEZ,MAAA;IAC5D;IAEA,IAAIc,UAAA,EAAY;MACdE,YAAA,GAAehB,MAAA,CAAOmB,OAAO,CAACC,IAAI,CAAEC,MAAA,IAAWA,MAAA,CAAOC,IAAI,KAAKR,UAAA;IACjE;IAEA;IACA,IAAIC,gBAAA,IAAoBb,OAAA,EAAS;MAC/B,IAAIA,OAAA,CAAQgB,WAAW,GAAGN,cAAA,CAAe,EAAEW,YAAA,EAAc;QACvDN,MAAA,GAASf,OAAA,CAAQgB,WAAW,GAAGN,cAAA,CAAe,CAACW,YAAA;MACjD;IACF;IAEA,MAAMC,KAAA,GACJZ,cAAA,IAAkBD,UAAA,KAAe,WAC7BM,MAAA,KAAW,WACTQ,MAAA,CAAOd,UAAA,IACPA,UAAA,GACFE,SAAA;IAEN,OAAO;MACLE,gBAAA;MACAH,cAAA;MACAY,KAAA;MACAR,YAAA;MACAF;IACF;EACF;EAEA,OAAO,CAAC;AACV","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/API/index.client.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/API/index.client.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,cAAc,CAAA;AAMrB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAoLjC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.js","names":["CheckboxField","CopyToClipboard","Form","Gutter","MinimizeMaximizeIcon","NumberField","SetDocumentStepNav","useConfig","useDocumentInfo","useLocale","useTranslation","useSearchParams","React","toast","LocaleSelector","RenderJSON","baseClass","APIViewClient","id","collectionSlug","globalSlug","initialData","searchParams","i18n","t","code","config","localization","routes","api","apiRoute","serverURL","getEntityConfig","collectionConfig","globalConfig","localeOptions","locales","map","locale","label","value","draftsEnabled","docEndpoint","Boolean","versions","drafts","data","setData","useState","draft","setDraft","get","setLocale","depth","setDepth","authenticated","setAuthenticated","fullscreen","setFullscreen","params","URLSearchParams","String","toString","fetchURL","useEffect","fetchData","res","fetch","credentials","headers","language","method","json","error","console","_jsxs","className","filter","join","right","_jsx","globalLabel","pluralLabel","labels","plural","undefined","useAsTitle","admin","view","href","rel","target","initialState","initialValue","valid","Number","field","name","onChange","path","step","max","min","onClick","type","isMinimized","object"],"sources":["../../../src/views/API/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\n\nimport {\n CheckboxField,\n CopyToClipboard,\n Form,\n Gutter,\n MinimizeMaximizeIcon,\n NumberField,\n SetDocumentStepNav,\n useConfig,\n useDocumentInfo,\n useLocale,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useSearchParams } from 'next/navigation.js'\nimport * as React from 'react'\nimport { toast } from 'sonner'\n\nimport './index.scss'\nimport { LocaleSelector } from './LocaleSelector/index.js'\nimport { RenderJSON } from './RenderJSON/index.js'\n\nconst baseClass = 'query-inspector'\n\nexport const APIViewClient: React.FC = () => {\n const { id, collectionSlug, globalSlug, initialData } = useDocumentInfo()\n\n const searchParams = useSearchParams()\n const { i18n, t } = useTranslation()\n const { code } = useLocale()\n\n const {\n config: {\n localization,\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const localeOptions =\n localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))\n\n let draftsEnabled: boolean = false\n let docEndpoint: string = ''\n\n if (collectionConfig) {\n draftsEnabled = Boolean(collectionConfig.versions?.drafts)\n docEndpoint = `/${collectionSlug}/${id}`\n }\n\n if (globalConfig) {\n draftsEnabled = Boolean(globalConfig.versions?.drafts)\n docEndpoint = `/globals/${globalSlug}`\n }\n\n const [data, setData] = React.useState<any>(initialData)\n const [draft, setDraft] = React.useState<boolean>(searchParams.get('draft') === 'true')\n const [locale, setLocale] = React.useState<string>(searchParams?.get('locale') || code)\n const [depth, setDepth] = React.useState<string>(searchParams.get('depth') || '1')\n const [authenticated, setAuthenticated] = React.useState<boolean>(true)\n const [fullscreen, setFullscreen] = React.useState<boolean>(false)\n\n const params = new URLSearchParams({\n depth,\n draft: String(draft),\n locale,\n }).toString()\n\n const fetchURL = `${serverURL}${apiRoute}${docEndpoint}?${params}`\n\n React.useEffect(() => {\n const fetchData = async () => {\n try {\n const res = await fetch(fetchURL, {\n credentials: authenticated ? 'include' : 'omit',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'GET',\n })\n\n try {\n const json = await res.json()\n setData(json)\n } catch (error) {\n toast.error('Error parsing response')\n console.error(error) // eslint-disable-line no-console\n }\n } catch (error) {\n toast.error('Error making request')\n console.error(error) // eslint-disable-line no-console\n }\n }\n\n void fetchData()\n }, [i18n.language, fetchURL, authenticated])\n\n return (\n <Gutter\n className={[baseClass, fullscreen && `${baseClass}--fullscreen`].filter(Boolean).join(' ')}\n right={false}\n >\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view=\"API\"\n />\n <div className={`${baseClass}__configuration`}>\n <div className={`${baseClass}__api-url`}>\n <span className={`${baseClass}__label`}>\n API URL <CopyToClipboard value={fetchURL} />\n </span>\n <a href={fetchURL} rel=\"noopener noreferrer\" target=\"_blank\">\n {fetchURL}\n </a>\n </div>\n <Form\n initialState={{\n authenticated: {\n initialValue: authenticated || false,\n valid: true,\n value: authenticated || false,\n },\n depth: {\n initialValue: Number(depth || 0),\n valid: true,\n value: Number(depth || 0),\n },\n draft: {\n initialValue: draft || false,\n valid: true,\n value: draft || false,\n },\n locale: {\n initialValue: locale,\n valid: true,\n value: locale,\n },\n }}\n >\n <div className={`${baseClass}__form-fields`}>\n <div className={`${baseClass}__filter-query-checkboxes`}>\n {draftsEnabled && (\n <CheckboxField\n field={{\n name: 'draft',\n label: t('version:draft'),\n }}\n onChange={() => setDraft(!draft)}\n path=\"draft\"\n />\n )}\n <CheckboxField\n field={{\n name: 'authenticated',\n label: t('authentication:authenticated'),\n }}\n onChange={() => setAuthenticated(!authenticated)}\n path=\"authenticated\"\n />\n </div>\n {localeOptions && <LocaleSelector localeOptions={localeOptions} onChange={setLocale} />}\n <NumberField\n field={{\n name: 'depth',\n admin: {\n step: 1,\n },\n label: t('general:depth'),\n max: 10,\n min: 0,\n }}\n onChange={(value) => setDepth(value?.toString())}\n path=\"depth\"\n />\n </div>\n </Form>\n </div>\n <div className={`${baseClass}__results-wrapper`}>\n <div className={`${baseClass}__toggle-fullscreen-button-container`}>\n <button\n aria-label=\"toggle fullscreen\"\n className={`${baseClass}__toggle-fullscreen-button`}\n onClick={() => setFullscreen(!fullscreen)}\n type=\"button\"\n >\n <MinimizeMaximizeIcon isMinimized={!fullscreen} />\n </button>\n </div>\n <div className={`${baseClass}__results`}>\n <RenderJSON object={data} />\n </div>\n </div>\n </Gutter>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.client.js","names":["CheckboxField","CopyToClipboard","Form","Gutter","MinimizeMaximizeIcon","NumberField","SetDocumentStepNav","useConfig","useDocumentInfo","useLocale","useTranslation","useSearchParams","React","toast","LocaleSelector","RenderJSON","baseClass","APIViewClient","id","collectionSlug","globalSlug","initialData","searchParams","i18n","t","code","config","localization","routes","api","apiRoute","serverURL","getEntityConfig","collectionConfig","globalConfig","localeOptions","locales","map","locale","label","value","draftsEnabled","docEndpoint","Boolean","versions","drafts","data","setData","useState","draft","setDraft","get","setLocale","depth","setDepth","authenticated","setAuthenticated","fullscreen","setFullscreen","params","URLSearchParams","String","toString","fetchURL","useEffect","fetchData","res","fetch","credentials","headers","language","method","json","error","console","_jsxs","className","filter","join","right","_jsx","globalLabel","pluralLabel","labels","plural","undefined","useAsTitle","admin","view","href","rel","target","initialState","initialValue","valid","Number","field","name","onChange","path","step","max","min","onClick","type","isMinimized","object"],"sources":["../../../src/views/API/index.client.tsx"],"sourcesContent":["'use client'\n\nimport {\n CheckboxField,\n CopyToClipboard,\n Form,\n Gutter,\n MinimizeMaximizeIcon,\n NumberField,\n SetDocumentStepNav,\n useConfig,\n useDocumentInfo,\n useLocale,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useSearchParams } from 'next/navigation.js'\nimport * as React from 'react'\nimport { toast } from 'sonner'\n\nimport './index.scss'\nimport { LocaleSelector } from './LocaleSelector/index.js'\nimport { RenderJSON } from './RenderJSON/index.js'\n\nconst baseClass = 'query-inspector'\n\nexport const APIViewClient: React.FC = () => {\n const { id, collectionSlug, globalSlug, initialData } = useDocumentInfo()\n\n const searchParams = useSearchParams()\n const { i18n, t } = useTranslation()\n const { code } = useLocale()\n\n const {\n config: {\n localization,\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const localeOptions =\n localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))\n\n let draftsEnabled: boolean = false\n let docEndpoint: string = ''\n\n if (collectionConfig) {\n draftsEnabled = Boolean(collectionConfig.versions?.drafts)\n docEndpoint = `/${collectionSlug}/${id}`\n }\n\n if (globalConfig) {\n draftsEnabled = Boolean(globalConfig.versions?.drafts)\n docEndpoint = `/globals/${globalSlug}`\n }\n\n const [data, setData] = React.useState<any>(initialData)\n const [draft, setDraft] = React.useState<boolean>(searchParams.get('draft') === 'true')\n const [locale, setLocale] = React.useState<string>(searchParams?.get('locale') || code)\n const [depth, setDepth] = React.useState<string>(searchParams.get('depth') || '1')\n const [authenticated, setAuthenticated] = React.useState<boolean>(true)\n const [fullscreen, setFullscreen] = React.useState<boolean>(false)\n\n const params = new URLSearchParams({\n depth,\n draft: String(draft),\n locale,\n }).toString()\n\n const fetchURL = `${serverURL}${apiRoute}${docEndpoint}?${params}`\n\n React.useEffect(() => {\n const fetchData = async () => {\n try {\n const res = await fetch(fetchURL, {\n credentials: authenticated ? 'include' : 'omit',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'GET',\n })\n\n try {\n const json = await res.json()\n setData(json)\n } catch (error) {\n toast.error('Error parsing response')\n console.error(error) // eslint-disable-line no-console\n }\n } catch (error) {\n toast.error('Error making request')\n console.error(error) // eslint-disable-line no-console\n }\n }\n\n void fetchData()\n }, [i18n.language, fetchURL, authenticated])\n\n return (\n <Gutter\n className={[baseClass, fullscreen && `${baseClass}--fullscreen`].filter(Boolean).join(' ')}\n right={false}\n >\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view=\"API\"\n />\n <div className={`${baseClass}__configuration`}>\n <div className={`${baseClass}__api-url`}>\n <span className={`${baseClass}__label`}>\n API URL <CopyToClipboard value={fetchURL} />\n </span>\n <a href={fetchURL} rel=\"noopener noreferrer\" target=\"_blank\">\n {fetchURL}\n </a>\n </div>\n <Form\n initialState={{\n authenticated: {\n initialValue: authenticated || false,\n valid: true,\n value: authenticated || false,\n },\n depth: {\n initialValue: Number(depth || 0),\n valid: true,\n value: Number(depth || 0),\n },\n draft: {\n initialValue: draft || false,\n valid: true,\n value: draft || false,\n },\n locale: {\n initialValue: locale,\n valid: true,\n value: locale,\n },\n }}\n >\n <div className={`${baseClass}__form-fields`}>\n <div className={`${baseClass}__filter-query-checkboxes`}>\n {draftsEnabled && (\n <CheckboxField\n field={{\n name: 'draft',\n label: t('version:draft'),\n }}\n onChange={() => setDraft(!draft)}\n path=\"draft\"\n />\n )}\n <CheckboxField\n field={{\n name: 'authenticated',\n label: t('authentication:authenticated'),\n }}\n onChange={() => setAuthenticated(!authenticated)}\n path=\"authenticated\"\n />\n </div>\n {localeOptions && <LocaleSelector localeOptions={localeOptions} onChange={setLocale} />}\n <NumberField\n field={{\n name: 'depth',\n admin: {\n step: 1,\n },\n label: t('general:depth'),\n max: 10,\n min: 0,\n }}\n onChange={(value) => setDepth(value?.toString())}\n path=\"depth\"\n />\n </div>\n </Form>\n </div>\n <div className={`${baseClass}__results-wrapper`}>\n <div className={`${baseClass}__toggle-fullscreen-button-container`}>\n <button\n aria-label=\"toggle fullscreen\"\n className={`${baseClass}__toggle-fullscreen-button`}\n onClick={() => setFullscreen(!fullscreen)}\n type=\"button\"\n >\n <MinimizeMaximizeIcon isMinimized={!fullscreen} />\n </button>\n </div>\n <div className={`${baseClass}__results`}>\n <RenderJSON object={data} />\n </div>\n </div>\n </Gutter>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -43,7 +43,7 @@ export const Account = async ({
|
|
|
43
43
|
},
|
|
44
44
|
serverURL
|
|
45
45
|
} = config;
|
|
46
|
-
const collectionConfig =
|
|
46
|
+
const collectionConfig = payload?.collections?.[userSlug]?.config;
|
|
47
47
|
if (collectionConfig && user?.id) {
|
|
48
48
|
// Fetch the data required for the view
|
|
49
49
|
const data = await getDocumentData({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderServerComponent","buildFormState","notFound","React","DocumentHeader","getDocPreferences","getDocumentData","getDocumentPermissions","getIsLocked","getVersions","EditView","AccountClient","Settings","generateAccountMetadata","Account","initPageResult","params","searchParams","languageOptions","locale","permissions","req","i18n","payload","config","user","admin","theme","userSlug","routes","api","serverURL","collectionConfig","collections","
|
|
1
|
+
{"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderServerComponent","buildFormState","notFound","React","DocumentHeader","getDocPreferences","getDocumentData","getDocumentPermissions","getIsLocked","getVersions","EditView","AccountClient","Settings","generateAccountMetadata","Account","initPageResult","params","searchParams","languageOptions","locale","permissions","req","i18n","payload","config","user","admin","theme","userSlug","routes","api","serverURL","collectionConfig","collections","id","data","collectionSlug","slug","Error","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","state","formState","code","operation","renderAllFields","schemaPath","currentEditor","isLocked","lastUpdateTime","isEditing","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","doc","_jsx","AfterFields","apiURL","initialData","initialState","_jsxs","hideTabs","Component","components","views","account","Fallback","importMap","serverProps","routeSegments"],"sources":["../../../src/views/Account/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { notFound } from 'next/navigation.js'\nimport React from 'react'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { getDocPreferences } from '../Document/getDocPreferences.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { getIsLocked } from '../Document/getIsLocked.js'\nimport { getVersions } from '../Document/getVersions.js'\nimport { EditView } from '../Edit/index.js'\nimport { AccountClient } from './index.client.js'\nimport { Settings } from './Settings/index.js'\n\nexport { generateAccountMetadata } from './meta.js'\n\nexport const Account: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n languageOptions,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const {\n admin: { theme, user: userSlug },\n routes: { api },\n serverURL,\n } = config\n\n const collectionConfig = payload?.collections?.[userSlug]?.config\n\n if (collectionConfig && user?.id) {\n // Fetch the data required for the view\n const data = await getDocumentData({\n id: user.id,\n collectionSlug: collectionConfig.slug,\n locale,\n payload,\n req,\n user,\n })\n\n if (!data) {\n throw new Error('not-found')\n }\n\n // Get document preferences\n const docPreferences = await getDocPreferences({\n id: user.id,\n collectionSlug: collectionConfig.slug,\n payload,\n user,\n })\n\n // Get permissions\n const { docPermissions, hasPublishPermission, hasSavePermission } =\n await getDocumentPermissions({\n id: user.id,\n collectionConfig,\n data,\n req,\n })\n\n // Build initial form state from data\n const { state: formState } = await buildFormState({\n id: user.id,\n collectionSlug: collectionConfig.slug,\n data,\n docPermissions,\n docPreferences,\n locale: locale?.code,\n operation: 'update',\n renderAllFields: true,\n req,\n schemaPath: collectionConfig.slug,\n })\n\n // Fetch document lock state\n const { currentEditor, isLocked, lastUpdateTime } = await getIsLocked({\n id: user.id,\n collectionConfig,\n isEditing: true,\n req,\n })\n\n // Get all versions required for UI\n const { hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount } =\n await getVersions({\n id: user.id,\n collectionConfig,\n doc: data,\n docPermissions,\n locale: locale?.code,\n payload,\n user,\n })\n\n return (\n <DocumentInfoProvider\n AfterFields={\n <Settings\n i18n={i18n}\n languageOptions={languageOptions}\n payload={payload}\n theme={theme}\n user={user}\n />\n }\n apiURL={`${serverURL}${api}/${userSlug}${user?.id ? `/${user.id}` : ''}`}\n collectionSlug={userSlug}\n currentEditor={currentEditor}\n docPermissions={docPermissions}\n hasPublishedDoc={hasPublishedDoc}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={user?.id}\n initialData={data}\n initialState={formState}\n isEditing\n isLocked={isLocked}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n unpublishedVersionCount={unpublishedVersionCount}\n versionCount={versionCount}\n >\n <EditDepthProvider>\n <DocumentHeader\n collectionConfig={collectionConfig}\n hideTabs\n i18n={i18n}\n payload={payload}\n permissions={permissions}\n />\n <HydrateAuthProvider permissions={permissions} />\n {RenderServerComponent({\n Component: config.admin?.components?.views?.account?.Component,\n Fallback: EditView,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: [],\n searchParams,\n user,\n },\n })}\n <AccountClient />\n </EditDepthProvider>\n </DocumentInfoProvider>\n )\n }\n\n return notFound()\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,SAAS,EACT,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,SAAS,CAAA;AAehB,OAAO,KAAoB,MAAM,OAAO,CAAA;AAExC,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C,cAAc,EAAE,4BAA4B,CAAA;IAC5C,cAAc,EAAE,mBAAmB,CAAA;IACnC,YAAY,EAAE,SAAS,CAAA;IACvB,iBAAiB,CAAC,EAAE,KAAK,GAAG,wBAAwB,CAAA;IACpD,QAAQ,EAAE,MAAM,CAAA;CACjB,CA4FA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.js","names":["ConfirmPasswordField","EmailAndUsernameFields","Form","FormSubmit","PasswordField","RenderFields","useAuth","useConfig","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","React","useEffect","CreateFirstUserClient","docPermissions","docPreferences","initialState","loginWithUsername","userSlug","config","routes","admin","api","apiRoute","serverURL","getEntityConfig","getFormState","t","setUser","abortOnChangeRef","useRef","collectionConfig","collectionSlug","onChange","useCallback","formState","prevFormState","controller","response","operation","schemaPath","signal","current","state","handleFirstRegister","data","abortOnChange","_jsxs","action","method","onSuccess","redirect","validationOperation","_jsx","className","readOnly","autoComplete","field","name","label","required","path","fields","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions","size"],"sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps, UserWithToken } from '@payloadcms/ui'\nimport type {\n
|
|
1
|
+
{"version":3,"file":"index.client.js","names":["ConfirmPasswordField","EmailAndUsernameFields","Form","FormSubmit","PasswordField","RenderFields","useAuth","useConfig","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","React","useEffect","CreateFirstUserClient","docPermissions","docPreferences","initialState","loginWithUsername","userSlug","config","routes","admin","api","apiRoute","serverURL","getEntityConfig","getFormState","t","setUser","abortOnChangeRef","useRef","collectionConfig","collectionSlug","onChange","useCallback","formState","prevFormState","controller","response","operation","schemaPath","signal","current","state","handleFirstRegister","data","abortOnChange","_jsxs","action","method","onSuccess","redirect","validationOperation","_jsx","className","readOnly","autoComplete","field","name","label","required","path","fields","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions","size"],"sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps, UserWithToken } from '@payloadcms/ui'\nimport type {\n DocumentPreferences,\n FormState,\n LoginWithUsernameOptions,\n SanitizedDocumentPermissions,\n} from 'payload'\n\nimport {\n ConfirmPasswordField,\n EmailAndUsernameFields,\n Form,\n FormSubmit,\n PasswordField,\n RenderFields,\n useAuth,\n useConfig,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport { abortAndIgnore, handleAbortRef } from '@payloadcms/ui/shared'\nimport React, { useEffect } from 'react'\n\nexport const CreateFirstUserClient: React.FC<{\n docPermissions: SanitizedDocumentPermissions\n docPreferences: DocumentPreferences\n initialState: FormState\n loginWithUsername?: false | LoginWithUsernameOptions\n userSlug: string\n}> = ({ docPermissions, docPreferences, initialState, loginWithUsername, userSlug }) => {\n const {\n config: {\n routes: { admin, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { t } = useTranslation()\n const { setUser } = useAuth()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug })\n\n const onChange: FormProps['onChange'][0] = React.useCallback(\n async ({ formState: prevFormState }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const response = await getFormState({\n collectionSlug: userSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath: userSlug,\n signal: controller.signal,\n })\n\n abortOnChangeRef.current = null\n\n if (response && response.state) {\n return response.state\n }\n },\n [userSlug, getFormState, docPermissions, docPreferences],\n )\n\n const handleFirstRegister = (data: UserWithToken) => {\n setUser(data)\n }\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n return (\n <Form\n action={`${serverURL}${apiRoute}/${userSlug}/first-register`}\n initialState={initialState}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={handleFirstRegister}\n redirect={admin}\n validationOperation=\"create\"\n >\n <EmailAndUsernameFields\n className=\"emailAndUsername\"\n loginWithUsername={loginWithUsername}\n operation=\"create\"\n readOnly={false}\n t={t}\n />\n <PasswordField\n autoComplete=\"off\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n path=\"password\"\n />\n <ConfirmPasswordField />\n <RenderFields\n fields={collectionConfig.fields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={userSlug}\n permissions={true}\n readOnly={false}\n />\n <FormSubmit size=\"large\">{t('general:create')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,16 +14,16 @@ export const CreateFirstUserView = async ({
|
|
|
14
14
|
req,
|
|
15
15
|
req: {
|
|
16
16
|
payload: {
|
|
17
|
+
collections,
|
|
17
18
|
config: {
|
|
18
19
|
admin: {
|
|
19
20
|
user: userSlug
|
|
20
21
|
}
|
|
21
|
-
}
|
|
22
|
-
config
|
|
22
|
+
}
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
} = initPageResult;
|
|
26
|
-
const collectionConfig =
|
|
26
|
+
const collectionConfig = collections?.[userSlug]?.config;
|
|
27
27
|
const {
|
|
28
28
|
auth: authOptions
|
|
29
29
|
} = collectionConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["buildFormState","React","getDocPreferences","getDocumentData","getDocumentPermissions","CreateFirstUserClient","generateCreateFirstUserMetadata","CreateFirstUserView","initPageResult","locale","req","payload","config","admin","user","userSlug","collectionConfig","
|
|
1
|
+
{"version":3,"file":"index.js","names":["buildFormState","React","getDocPreferences","getDocumentData","getDocumentPermissions","CreateFirstUserClient","generateCreateFirstUserMetadata","CreateFirstUserView","initPageResult","locale","req","payload","collections","config","admin","user","userSlug","collectionConfig","auth","authOptions","loginWithUsername","data","collectionSlug","slug","docPreferences","docPermissions","state","formState","code","operation","renderAllFields","schemaPath","_jsxs","className","_jsx","t","initialState"],"sources":["../../../src/views/CreateFirstUser/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport React from 'react'\n\nimport { getDocPreferences } from '../Document/getDocPreferences.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { CreateFirstUserClient } from './index.client.js'\nimport './index.scss'\n\nexport { generateCreateFirstUserMetadata } from './meta.js'\n\nexport const CreateFirstUserView: React.FC<AdminViewProps> = async ({ initPageResult }) => {\n const {\n locale,\n req,\n req: {\n payload: {\n collections,\n config: {\n admin: { user: userSlug },\n },\n },\n },\n } = initPageResult\n\n const collectionConfig = collections?.[userSlug]?.config\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n\n // Fetch the data required for the view\n const data = await getDocumentData({\n collectionSlug: collectionConfig.slug,\n locale,\n payload: req.payload,\n req,\n user: req.user,\n })\n\n // Get document preferences\n const docPreferences = await getDocPreferences({\n collectionSlug: collectionConfig.slug,\n payload: req.payload,\n user: req.user,\n })\n\n // Get permissions\n const { docPermissions } = await getDocumentPermissions({\n collectionConfig,\n data,\n req,\n })\n\n // Build initial form state from data\n const { state: formState } = await buildFormState({\n collectionSlug: collectionConfig.slug,\n data,\n docPermissions,\n docPreferences,\n locale: locale?.code,\n operation: 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionConfig.slug,\n })\n\n return (\n <div className=\"create-first-user\">\n <h1>{req.t('general:welcome')}</h1>\n <p>{req.t('authentication:beginCreateFirstUser')}</p>\n <CreateFirstUserClient\n docPermissions={docPermissions}\n docPreferences={docPreferences}\n initialState={formState}\n loginWithUsername={loginWithUsername}\n userSlug={userSlug}\n />\n </div>\n )\n}\n"],"mappings":";AAEA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,QAAQ;AAChC,SAASC,sBAAsB,QAAQ;AACvC,SAASC,qBAAqB,QAAQ;AAGtC,SAASC,+BAA+B,QAAQ;AAEhD,OAAO,MAAMC,mBAAA,GAAgD,MAAAA,CAAO;EAAEC;AAAc,CAAE;EACpF,MAAM;IACJC,MAAM;IACNC,GAAG;IACHA,GAAA,EAAK;MACHC,OAAA,EAAS;QACPC,WAAW;QACXC,MAAA,EAAQ;UACNC,KAAA,EAAO;YAAEC,IAAA,EAAMC;UAAQ;QAAE;MAC1B;IACF;EACF,CACF,GAAGR,cAAA;EAEJ,MAAMS,gBAAA,GAAmBL,WAAA,GAAcI,QAAA,CAAS,EAAEH,MAAA;EAClD,MAAM;IAAEK,IAAA,EAAMC;EAAW,CAAE,GAAGF,gBAAA;EAC9B,MAAMG,iBAAA,GAAoBD,WAAA,CAAYC,iBAAiB;EAEvD;EACA,MAAMC,IAAA,GAAO,MAAMlB,eAAA,CAAgB;IACjCmB,cAAA,EAAgBL,gBAAA,CAAiBM,IAAI;IACrCd,MAAA;IACAE,OAAA,EAASD,GAAA,CAAIC,OAAO;IACpBD,GAAA;IACAK,IAAA,EAAML,GAAA,CAAIK;EACZ;EAEA;EACA,MAAMS,cAAA,GAAiB,MAAMtB,iBAAA,CAAkB;IAC7CoB,cAAA,EAAgBL,gBAAA,CAAiBM,IAAI;IACrCZ,OAAA,EAASD,GAAA,CAAIC,OAAO;IACpBI,IAAA,EAAML,GAAA,CAAIK;EACZ;EAEA;EACA,MAAM;IAAEU;EAAc,CAAE,GAAG,MAAMrB,sBAAA,CAAuB;IACtDa,gBAAA;IACAI,IAAA;IACAX;EACF;EAEA;EACA,MAAM;IAAEgB,KAAA,EAAOC;EAAS,CAAE,GAAG,MAAM3B,cAAA,CAAe;IAChDsB,cAAA,EAAgBL,gBAAA,CAAiBM,IAAI;IACrCF,IAAA;IACAI,cAAA;IACAD,cAAA;IACAf,MAAA,EAAQA,MAAA,EAAQmB,IAAA;IAChBC,SAAA,EAAW;IACXC,eAAA,EAAiB;IACjBpB,GAAA;IACAqB,UAAA,EAAYd,gBAAA,CAAiBM;EAC/B;EAEA,oBACES,KAAA,CAAC;IAAIC,SAAA,EAAU;4BACbC,IAAA,CAAC;gBAAIxB,GAAA,CAAIyB,CAAC,CAAC;qBACXD,IAAA,CAAC;gBAAGxB,GAAA,CAAIyB,CAAC,CAAC;qBACVD,IAAA,CAAC7B,qBAAA;MACCoB,cAAA,EAAgBA,cAAA;MAChBD,cAAA,EAAgBA,cAAA;MAChBY,YAAA,EAAcT,SAAA;MACdP,iBAAA,EAAmBA,iBAAA;MACnBJ,QAAA,EAAUA;;;AAIlB","ignoreList":[]}
|
|
@@ -112,11 +112,12 @@ export const renderDocumentHandler = async args => {
|
|
|
112
112
|
} = await renderDocument({
|
|
113
113
|
clientConfig,
|
|
114
114
|
disableActions,
|
|
115
|
+
documentSubViewType: 'default',
|
|
115
116
|
drawerSlug,
|
|
116
117
|
importMap: payload.importMap,
|
|
117
118
|
initialData,
|
|
118
119
|
initPageResult: {
|
|
119
|
-
collectionConfig: payload
|
|
120
|
+
collectionConfig: payload?.collections?.[collectionSlug]?.config,
|
|
120
121
|
cookies,
|
|
121
122
|
docID,
|
|
122
123
|
globalConfig: payload.config.globals.find(global => global.slug === collectionSlug),
|
|
@@ -133,7 +134,8 @@ export const renderDocumentHandler = async args => {
|
|
|
133
134
|
},
|
|
134
135
|
redirectAfterDelete,
|
|
135
136
|
redirectAfterDuplicate,
|
|
136
|
-
searchParams: {}
|
|
137
|
+
searchParams: {},
|
|
138
|
+
viewType: 'document'
|
|
137
139
|
});
|
|
138
140
|
return {
|
|
139
141
|
data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleServerFunction.js","names":["getClientConfig","headers","getHeaders","getAccessResults","isEntityHidden","parseCookies","renderDocument","renderDocumentHandler","args","collectionSlug","disableActions","docID","drawerSlug","initialData","locale","overrideEntityVisibility","redirectAfterDelete","redirectAfterDuplicate","req","i18n","payload","config","user","cookies","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","clientConfig","importMap","preferences","preferencesKey","where","and","key","equals","id","then","res","value","visibleEntities","map","slug","hidden","filter","Boolean","globals","permissions","data","Document","initPageResult","collectionConfig","globalConfig","global","languageOptions","undefined","translations","params","segments","searchParams"],"sources":["../../../src/views/Document/handleServerFunction.tsx"],"sourcesContent":["import type {\n Data,\n DocumentPreferences,\n FormState,\n Locale,\n PayloadRequest,\n VisibleEntities,\n} from 'payload'\n\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { getAccessResults, isEntityHidden, parseCookies } from 'payload'\n\nimport { renderDocument } from './index.js'\n\ntype RenderDocumentResult = {\n data: any\n Document: React.ReactNode\n preferences: DocumentPreferences\n}\n\nexport const renderDocumentHandler = async (args: {\n collectionSlug: string\n disableActions?: boolean\n docID: string\n drawerSlug?: string\n initialData?: Data\n initialState?: FormState\n locale?: Locale\n overrideEntityVisibility?: boolean\n redirectAfterDelete: boolean\n redirectAfterDuplicate: boolean\n req: PayloadRequest\n}): Promise<RenderDocumentResult> => {\n const {\n collectionSlug,\n disableActions,\n docID,\n drawerSlug,\n initialData,\n locale,\n overrideEntityVisibility,\n redirectAfterDelete,\n redirectAfterDuplicate,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = args\n\n const headers = await getHeaders()\n\n const cookies = parseCookies(headers)\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap: req.payload.importMap,\n })\n\n let preferences: DocumentPreferences\n\n if (docID) {\n const preferencesKey = `${collectionSlug}-edit-${docID}`\n\n preferences = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0]?.value as DocumentPreferences)\n }\n\n const visibleEntities: VisibleEntities = {\n collections: payload.config.collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: payload.config.globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n const permissions = await getAccessResults({\n req,\n })\n\n const { data, Document } = await renderDocument({\n clientConfig,\n disableActions,\n drawerSlug,\n importMap: payload.importMap,\n initialData,\n initPageResult: {\n collectionConfig: payload
|
|
1
|
+
{"version":3,"file":"handleServerFunction.js","names":["getClientConfig","headers","getHeaders","getAccessResults","isEntityHidden","parseCookies","renderDocument","renderDocumentHandler","args","collectionSlug","disableActions","docID","drawerSlug","initialData","locale","overrideEntityVisibility","redirectAfterDelete","redirectAfterDuplicate","req","i18n","payload","config","user","cookies","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","clientConfig","importMap","preferences","preferencesKey","where","and","key","equals","id","then","res","value","visibleEntities","map","slug","hidden","filter","Boolean","globals","permissions","data","Document","documentSubViewType","initPageResult","collectionConfig","globalConfig","global","languageOptions","undefined","translations","params","segments","searchParams","viewType"],"sources":["../../../src/views/Document/handleServerFunction.tsx"],"sourcesContent":["import type {\n Data,\n DocumentPreferences,\n FormState,\n Locale,\n PayloadRequest,\n VisibleEntities,\n} from 'payload'\n\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { getAccessResults, isEntityHidden, parseCookies } from 'payload'\n\nimport { renderDocument } from './index.js'\n\ntype RenderDocumentResult = {\n data: any\n Document: React.ReactNode\n preferences: DocumentPreferences\n}\n\nexport const renderDocumentHandler = async (args: {\n collectionSlug: string\n disableActions?: boolean\n docID: string\n drawerSlug?: string\n initialData?: Data\n initialState?: FormState\n locale?: Locale\n overrideEntityVisibility?: boolean\n redirectAfterDelete: boolean\n redirectAfterDuplicate: boolean\n req: PayloadRequest\n}): Promise<RenderDocumentResult> => {\n const {\n collectionSlug,\n disableActions,\n docID,\n drawerSlug,\n initialData,\n locale,\n overrideEntityVisibility,\n redirectAfterDelete,\n redirectAfterDuplicate,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = args\n\n const headers = await getHeaders()\n\n const cookies = parseCookies(headers)\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap: req.payload.importMap,\n })\n\n let preferences: DocumentPreferences\n\n if (docID) {\n const preferencesKey = `${collectionSlug}-edit-${docID}`\n\n preferences = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0]?.value as DocumentPreferences)\n }\n\n const visibleEntities: VisibleEntities = {\n collections: payload.config.collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: payload.config.globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n const permissions = await getAccessResults({\n req,\n })\n\n const { data, Document } = await renderDocument({\n clientConfig,\n disableActions,\n documentSubViewType: 'default',\n drawerSlug,\n importMap: payload.importMap,\n initialData,\n initPageResult: {\n collectionConfig: payload?.collections?.[collectionSlug]?.config,\n cookies,\n docID,\n globalConfig: payload.config.globals.find((global) => global.slug === collectionSlug),\n languageOptions: undefined, // TODO\n locale,\n permissions,\n req,\n translations: undefined, // TODO\n visibleEntities,\n },\n overrideEntityVisibility,\n params: {\n segments: ['collections', collectionSlug, docID],\n },\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams: {},\n viewType: 'document',\n })\n\n return {\n data,\n Document,\n preferences,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import type { AdminViewProps, Data } from 'payload';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { GenerateEditViewMetadata } from './getMetaBySegment.js';
|
|
4
4
|
export declare const generateMetadata: GenerateEditViewMetadata;
|
|
5
|
-
export declare const renderDocument: ({ disableActions, drawerSlug, importMap, initialData, initPageResult, overrideEntityVisibility, params, redirectAfterDelete, redirectAfterDuplicate, searchParams, }: {
|
|
5
|
+
export declare const renderDocument: ({ disableActions, documentSubViewType, drawerSlug, importMap, initialData, initPageResult, overrideEntityVisibility, params, redirectAfterDelete, redirectAfterDuplicate, searchParams, viewType, }: {
|
|
6
6
|
overrideEntityVisibility?: boolean;
|
|
7
7
|
} & AdminViewProps) => Promise<{
|
|
8
8
|
data: Data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAA6C,MAAM,SAAS,CAAA;AAQ9F,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAcrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAKhG,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAA6C,MAAM,SAAS,CAAA;AAQ9F,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAcrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAKhG,eAAO,MAAM,cAAc,wMAaxB;IACD,wBAAwB,CAAC,EAAE,OAAO,CAAA;CACnC,GAAG,cAAc,KAAG,OAAO,CAAC;IAC3B,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CA6UA,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAe7C,CAAA"}
|