@payloadcms/next 3.0.0-canary.4704e79 → 3.0.0-canary.5390729
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/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +1 -1
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.js +1 -1
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Logo/index.js.map +1 -1
- package/dist/elements/Nav/NavHamburger/index.js +1 -1
- package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +1 -1
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/index.client.js +1 -1
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.js +1 -1
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/exports/layouts.js.map +1 -1
- package/dist/exports/routes.js.map +1 -1
- package/dist/exports/templates.js.map +1 -1
- package/dist/exports/utilities.js.map +1 -1
- package/dist/exports/views.js.map +1 -1
- package/dist/fetchAPI-multipart/fileFactory.d.ts +0 -1
- package/dist/fetchAPI-multipart/fileFactory.d.ts.map +1 -1
- package/dist/fetchAPI-multipart/fileFactory.js.map +1 -1
- package/dist/fetchAPI-multipart/handlers.d.ts +0 -1
- package/dist/fetchAPI-multipart/handlers.d.ts.map +1 -1
- package/dist/fetchAPI-multipart/handlers.js.map +1 -1
- package/dist/fetchAPI-multipart/index.d.ts +0 -1
- package/dist/fetchAPI-multipart/index.d.ts.map +1 -1
- package/dist/fetchAPI-multipart/index.js.map +1 -1
- package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
- package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
- package/dist/fetchAPI-multipart/processNested.js.map +1 -1
- package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -1
- package/dist/fetchAPI-multipart/utilities.d.ts.map +1 -1
- package/dist/fetchAPI-multipart/utilities.js.map +1 -1
- package/dist/fetchAPI-stream-file/index.d.ts +0 -1
- package/dist/fetchAPI-stream-file/index.d.ts.map +1 -1
- package/dist/fetchAPI-stream-file/index.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +2 -2
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/index.js +16 -9
- package/dist/prod/styles.css +1 -1
- package/dist/routes/graphql/handler.d.ts.map +1 -1
- package/dist/routes/graphql/handler.js +5 -1
- package/dist/routes/graphql/handler.js.map +1 -1
- package/dist/routes/graphql/index.js.map +1 -1
- package/dist/routes/graphql/playground.d.ts.map +1 -1
- package/dist/routes/graphql/playground.js.map +1 -1
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/rest/auth/access.js.map +1 -1
- package/dist/routes/rest/auth/forgotPassword.js.map +1 -1
- package/dist/routes/rest/auth/init.js.map +1 -1
- package/dist/routes/rest/auth/login.js.map +1 -1
- package/dist/routes/rest/auth/logout.js.map +1 -1
- package/dist/routes/rest/auth/me.js.map +1 -1
- package/dist/routes/rest/auth/refresh.d.ts.map +1 -1
- package/dist/routes/rest/auth/refresh.js +10 -8
- package/dist/routes/rest/auth/refresh.js.map +1 -1
- package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
- package/dist/routes/rest/auth/resetPassword.js.map +1 -1
- package/dist/routes/rest/auth/unlock.js.map +1 -1
- package/dist/routes/rest/auth/verifyEmail.js.map +1 -1
- package/dist/routes/rest/buildFormState.js.map +1 -1
- package/dist/routes/rest/checkEndpoints.d.ts.map +1 -1
- package/dist/routes/rest/checkEndpoints.js.map +1 -1
- package/dist/routes/rest/collections/count.js.map +1 -1
- package/dist/routes/rest/collections/create.js.map +1 -1
- package/dist/routes/rest/collections/delete.js.map +1 -1
- package/dist/routes/rest/collections/deleteByID.js.map +1 -1
- package/dist/routes/rest/collections/docAccess.js.map +1 -1
- package/dist/routes/rest/collections/duplicate.js.map +1 -1
- package/dist/routes/rest/collections/find.js.map +1 -1
- package/dist/routes/rest/collections/findByID.js.map +1 -1
- package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
- package/dist/routes/rest/collections/findVersions.js.map +1 -1
- package/dist/routes/rest/collections/preview.js.map +1 -1
- package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
- package/dist/routes/rest/collections/update.js.map +1 -1
- package/dist/routes/rest/collections/updateByID.js.map +1 -1
- package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
- package/dist/routes/rest/files/getFile.d.ts.map +1 -1
- package/dist/routes/rest/files/getFile.js +8 -6
- package/dist/routes/rest/files/getFile.js.map +1 -1
- package/dist/routes/rest/files/getFileTypeFallback.js.map +1 -1
- package/dist/routes/rest/globals/docAccess.js.map +1 -1
- package/dist/routes/rest/globals/findOne.js.map +1 -1
- package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
- package/dist/routes/rest/globals/findVersions.js.map +1 -1
- package/dist/routes/rest/globals/preview.js.map +1 -1
- package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
- package/dist/routes/rest/globals/update.js.map +1 -1
- package/dist/routes/rest/index.d.ts.map +1 -1
- package/dist/routes/rest/index.js +33 -6
- package/dist/routes/rest/index.js.map +1 -1
- package/dist/routes/rest/og/image.js.map +1 -1
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/routes/rest/routeError.d.ts.map +1 -1
- package/dist/routes/rest/routeError.js.map +1 -1
- package/dist/routes/rest/types.js.map +1 -1
- package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -1
- package/dist/templates/Default/NavHamburger/index.js +1 -1
- package/dist/templates/Default/NavHamburger/index.js.map +1 -1
- package/dist/templates/Default/Wrapper/index.js +1 -1
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/index.js +1 -1
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/templates/Minimal/index.js.map +1 -1
- package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
- package/dist/utilities/addLocalesToRequest.js.map +1 -1
- package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
- package/dist/utilities/createPayloadRequest.js +3 -2
- package/dist/utilities/createPayloadRequest.js.map +1 -1
- package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
- package/dist/utilities/getNextRequestI18n.js.map +1 -1
- package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
- package/dist/utilities/getPayloadHMR.js.map +1 -1
- package/dist/utilities/getRequestLanguage.js.map +1 -1
- package/dist/utilities/getRequestLocales.js.map +1 -1
- package/dist/utilities/getRequestTheme.d.ts +1 -1
- package/dist/utilities/getRequestTheme.d.ts.map +1 -1
- package/dist/utilities/getRequestTheme.js +1 -1
- package/dist/utilities/getRequestTheme.js.map +1 -1
- package/dist/utilities/headersWithCors.js.map +1 -1
- package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
- package/dist/utilities/initPage/handleAuthRedirect.d.ts +1 -1
- package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
- package/dist/utilities/initPage/handleAuthRedirect.js +4 -4
- package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
- package/dist/utilities/initPage/index.d.ts.map +1 -1
- package/dist/utilities/initPage/index.js.map +1 -1
- package/dist/utilities/initPage/shared.js.map +1 -1
- package/dist/utilities/initPage/types.js.map +1 -1
- package/dist/utilities/mergeHeaders.d.ts +2 -0
- package/dist/utilities/mergeHeaders.d.ts.map +1 -0
- package/dist/utilities/mergeHeaders.js +37 -0
- package/dist/utilities/mergeHeaders.js.map +1 -0
- package/dist/utilities/meta.d.ts.map +1 -1
- package/dist/utilities/meta.js +2 -2
- package/dist/utilities/meta.js.map +1 -1
- package/dist/utilities/timestamp.js.map +1 -1
- package/dist/views/API/LocaleSelector/index.js +1 -1
- package/dist/views/API/LocaleSelector/index.js.map +1 -1
- package/dist/views/API/RenderJSON/index.js +1 -1
- package/dist/views/API/RenderJSON/index.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +5 -7
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.js.map +1 -1
- package/dist/views/API/meta.js.map +1 -1
- package/dist/views/Account/Settings/LanguageSelector.js +1 -1
- package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
- package/dist/views/Account/Settings/index.js +1 -1
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js +1 -1
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +1 -1
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/Account/meta.js.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.js.map +1 -1
- package/dist/views/CreateFirstUser/meta.js.map +1 -1
- package/dist/views/Dashboard/Default/index.js +1 -1
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.js +1 -1
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Dashboard/meta.js.map +1 -1
- package/dist/views/Document/getCustomViewByKey.d.ts +1 -1
- package/dist/views/Document/getCustomViewByKey.js.map +1 -1
- package/dist/views/Document/getCustomViewByRoute.d.ts +1 -1
- package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Document/getDocumentData.d.ts.map +1 -1
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
- package/dist/views/Document/getDocumentPermissions.js.map +1 -1
- package/dist/views/Document/getMetaBySegment.js.map +1 -1
- package/dist/views/Document/getViewsFromConfig.js.map +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +17 -12
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/meta.js.map +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.js +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Default/Auth/index.js +1 -1
- package/dist/views/Edit/Default/Auth/index.js.map +1 -1
- package/dist/views/Edit/Default/Auth/types.js.map +1 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +0 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.js +1 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +0 -1
- package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/SetDocumentTitle/index.js +1 -1
- package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/Default/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/index.js +7 -3
- package/dist/views/Edit/Default/index.js.map +1 -1
- package/dist/views/Edit/Default/types.js.map +1 -1
- package/dist/views/Edit/index.client.js +1 -1
- package/dist/views/Edit/index.client.js.map +1 -1
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/Edit/meta.js.map +1 -1
- package/dist/views/Edit/sanitizeEditViewProps.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.js +1 -1
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/ForgotPassword/meta.js.map +1 -1
- package/dist/views/List/Default/index.js +1 -1
- package/dist/views/List/Default/index.js.map +1 -1
- package/dist/views/List/Default/types.d.ts +1 -1
- package/dist/views/List/Default/types.d.ts.map +1 -1
- package/dist/views/List/Default/types.js.map +1 -1
- package/dist/views/List/index.js +1 -1
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/meta.d.ts.map +1 -1
- package/dist/views/List/meta.js.map +1 -1
- package/dist/views/LivePreview/Context/collisionDetection.js.map +1 -1
- package/dist/views/LivePreview/Context/context.js.map +1 -1
- package/dist/views/LivePreview/Context/index.js.map +1 -1
- package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
- package/dist/views/LivePreview/Device/index.js +1 -1
- package/dist/views/LivePreview/Device/index.js.map +1 -1
- package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/views/LivePreview/IFrame/index.js.map +1 -1
- package/dist/views/LivePreview/Preview/index.js +1 -1
- package/dist/views/LivePreview/Preview/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/Controls/index.d.ts.map +1 -1
- package/dist/views/LivePreview/Toolbar/Controls/index.js +1 -1
- package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/index.js +1 -1
- package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/views/LivePreview/index.client.js +1 -1
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/LivePreview/index.js.map +1 -1
- package/dist/views/LivePreview/meta.js.map +1 -1
- package/dist/views/LivePreview/usePopupWindow.d.ts +1 -1
- package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
- package/dist/views/LivePreview/usePopupWindow.js +1 -1
- package/dist/views/LivePreview/usePopupWindow.js.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/index.js.map +1 -1
- package/dist/views/Login/meta.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js +1 -1
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/Logout/meta.js.map +1 -1
- package/dist/views/NotFound/index.client.js +1 -1
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/NotFound/index.d.ts.map +1 -1
- package/dist/views/NotFound/index.js +1 -1
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/NotFound/meta.d.ts.map +1 -1
- package/dist/views/NotFound/meta.js.map +1 -1
- package/dist/views/ResetPassword/index.client.js +1 -1
- package/dist/views/ResetPassword/index.client.js.map +1 -1
- package/dist/views/ResetPassword/index.js +1 -1
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/ResetPassword/meta.js.map +1 -1
- package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Root/getViewFromConfig.d.ts +2 -2
- package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
- 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 +6 -1
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
- package/dist/views/Root/meta.js.map +1 -1
- package/dist/views/Unauthorized/index.js +1 -1
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Unauthorized/meta.js.map +1 -1
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Verify/meta.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +1 -1
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.js +1 -1
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +3 -30
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
- package/dist/views/Version/Restore/index.js +1 -1
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/Restore/types.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +1 -1
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/types.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +1 -1
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/SelectLocales/types.js.map +1 -1
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Version/meta.js.map +1 -1
- package/dist/views/Version/shared.js.map +1 -1
- package/dist/views/Versions/buildColumns.d.ts +1 -1
- package/dist/views/Versions/buildColumns.d.ts.map +1 -1
- package/dist/views/Versions/buildColumns.js +1 -1
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/ID/index.js +1 -1
- package/dist/views/Versions/cells/ID/index.js.map +1 -1
- package/dist/views/Versions/index.client.d.ts +1 -1
- package/dist/views/Versions/index.client.d.ts.map +1 -1
- package/dist/views/Versions/index.client.js +1 -1
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.js +1 -1
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/views/Versions/meta.js.map +1 -1
- package/dist/views/Versions/types.js.map +1 -1
- package/dist/webpackEntry.js.map +1 -1
- package/dist/withPayload.d.ts +1 -1
- package/dist/withPayload.js.map +1 -1
- package/package.json +34 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/routes/rest/files/checkFileAccess.ts"],"sourcesContent":["import type { Collection, PayloadRequestWithData, TypeWithID, Where } from 'payload'\n\nimport { Forbidden, executeAccess } from 'payload'\n\nimport { endpointsAreDisabled } from '../checkEndpoints.js'\n\nexport async function checkFileAccess({\n collection,\n filename,\n req,\n}: {\n collection: Collection\n filename: string\n req: PayloadRequestWithData\n}): Promise<Response | TypeWithID> {\n const { config } = collection\n const disableEndpoints = endpointsAreDisabled({ endpoints: config.endpoints, request: req })\n if (disableEndpoints) return disableEndpoints\n\n const accessResult = await executeAccess({ isReadingStaticFile: true, req }, config.access.read)\n\n if (typeof accessResult === 'object') {\n const queryToBuild: Where = {\n and: [\n {\n or: [\n {\n filename: {\n equals: filename,\n },\n },\n ],\n },\n accessResult,\n ],\n }\n\n if (config.upload.imageSizes) {\n config.upload.imageSizes.forEach(({ name }) => {\n queryToBuild.and[0].or.push({\n [`sizes.${name}.filename`]: {\n equals: filename,\n },\n })\n })\n }\n\n const doc = await req.payload.db.findOne({\n collection: config.slug,\n req,\n where: queryToBuild,\n })\n\n if (!doc) {\n throw new Forbidden(req.t)\n }\n\n return doc\n }\n}\n"],"names":["Forbidden","executeAccess","endpointsAreDisabled","checkFileAccess","collection","filename","req","config","disableEndpoints","endpoints","request","accessResult","isReadingStaticFile","access","read","queryToBuild","and","or","equals","upload","imageSizes","forEach","name","push","doc","payload","db","findOne","slug","where","t"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/routes/rest/files/checkFileAccess.ts"],"sourcesContent":["import type { Collection, PayloadRequestWithData, TypeWithID, Where } from 'payload'\n\nimport { Forbidden, executeAccess } from 'payload'\n\nimport { endpointsAreDisabled } from '../checkEndpoints.js'\n\nexport async function checkFileAccess({\n collection,\n filename,\n req,\n}: {\n collection: Collection\n filename: string\n req: PayloadRequestWithData\n}): Promise<Response | TypeWithID> {\n const { config } = collection\n const disableEndpoints = endpointsAreDisabled({ endpoints: config.endpoints, request: req })\n if (disableEndpoints) return disableEndpoints\n\n const accessResult = await executeAccess({ isReadingStaticFile: true, req }, config.access.read)\n\n if (typeof accessResult === 'object') {\n const queryToBuild: Where = {\n and: [\n {\n or: [\n {\n filename: {\n equals: filename,\n },\n },\n ],\n },\n accessResult,\n ],\n }\n\n if (config.upload.imageSizes) {\n config.upload.imageSizes.forEach(({ name }) => {\n queryToBuild.and[0].or.push({\n [`sizes.${name}.filename`]: {\n equals: filename,\n },\n })\n })\n }\n\n const doc = await req.payload.db.findOne({\n collection: config.slug,\n req,\n where: queryToBuild,\n })\n\n if (!doc) {\n throw new Forbidden(req.t)\n }\n\n return doc\n }\n}\n"],"names":["Forbidden","executeAccess","endpointsAreDisabled","checkFileAccess","collection","filename","req","config","disableEndpoints","endpoints","request","accessResult","isReadingStaticFile","access","read","queryToBuild","and","or","equals","upload","imageSizes","forEach","name","push","doc","payload","db","findOne","slug","where","t"],"mappings":"AAEA,SAASA,SAAS,EAAEC,aAAa,QAAQ,UAAS;AAElD,SAASC,oBAAoB,QAAQ,uBAAsB;AAE3D,OAAO,eAAeC,gBAAgB,EACpCC,UAAU,EACVC,QAAQ,EACRC,GAAG,EAKJ;IACC,MAAM,EAAEC,MAAM,EAAE,GAAGH;IACnB,MAAMI,mBAAmBN,qBAAqB;QAAEO,WAAWF,OAAOE,SAAS;QAAEC,SAASJ;IAAI;IAC1F,IAAIE,kBAAkB,OAAOA;IAE7B,MAAMG,eAAe,MAAMV,cAAc;QAAEW,qBAAqB;QAAMN;IAAI,GAAGC,OAAOM,MAAM,CAACC,IAAI;IAE/F,IAAI,OAAOH,iBAAiB,UAAU;QACpC,MAAMI,eAAsB;YAC1BC,KAAK;gBACH;oBACEC,IAAI;wBACF;4BACEZ,UAAU;gCACRa,QAAQb;4BACV;wBACF;qBACD;gBACH;gBACAM;aACD;QACH;QAEA,IAAIJ,OAAOY,MAAM,CAACC,UAAU,EAAE;YAC5Bb,OAAOY,MAAM,CAACC,UAAU,CAACC,OAAO,CAAC,CAAC,EAAEC,IAAI,EAAE;gBACxCP,aAAaC,GAAG,CAAC,EAAE,CAACC,EAAE,CAACM,IAAI,CAAC;oBAC1B,CAAC,CAAC,MAAM,EAAED,KAAK,SAAS,CAAC,CAAC,EAAE;wBAC1BJ,QAAQb;oBACV;gBACF;YACF;QACF;QAEA,MAAMmB,MAAM,MAAMlB,IAAImB,OAAO,CAACC,EAAE,CAACC,OAAO,CAAC;YACvCvB,YAAYG,OAAOqB,IAAI;YACvBtB;YACAuB,OAAOd;QACT;QAEA,IAAI,CAACS,KAAK;YACR,MAAM,IAAIxB,UAAUM,IAAIwB,CAAC;QAC3B;QAEA,OAAON;IACT;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFile.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/files/getFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAejE,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,sBAAsB,CAAA;CAC5B,CAAA;AACD,eAAO,MAAM,OAAO,kCAAyC,IAAI,KAAG,
|
|
1
|
+
{"version":3,"file":"getFile.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/files/getFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAejE,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,sBAAsB,CAAA;CAC5B,CAAA;AACD,eAAO,MAAM,OAAO,kCAAyC,IAAI,KAAG,OAAO,CAAC,QAAQ,CA4DnF,CAAA"}
|
|
@@ -19,10 +19,10 @@ export const getFile = async ({ collection, filename, req })=>{
|
|
|
19
19
|
req
|
|
20
20
|
});
|
|
21
21
|
if (accessResult instanceof Response) return accessResult;
|
|
22
|
-
let response = null;
|
|
23
22
|
if (collection.config.upload.handlers?.length) {
|
|
23
|
+
let customResponse = null;
|
|
24
24
|
for (const handler of collection.config.upload.handlers){
|
|
25
|
-
|
|
25
|
+
customResponse = await handler(req, {
|
|
26
26
|
doc: accessResult,
|
|
27
27
|
params: {
|
|
28
28
|
collection: collection.config.slug,
|
|
@@ -30,17 +30,19 @@ export const getFile = async ({ collection, filename, req })=>{
|
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
|
-
if (
|
|
33
|
+
if (customResponse instanceof Response) return customResponse;
|
|
34
34
|
}
|
|
35
35
|
const fileDir = collection.config.upload?.staticDir || collection.config.slug;
|
|
36
36
|
const filePath = path.resolve(`${fileDir}/${filename}`);
|
|
37
37
|
const stats = await fsPromises.stat(filePath);
|
|
38
38
|
const data = streamFile(filePath);
|
|
39
|
-
const headers = new Headers({
|
|
40
|
-
'Content-Length': stats.size + ''
|
|
41
|
-
});
|
|
42
39
|
const fileTypeResult = await fileTypeFromFile(filePath) || getFileTypeFallback(filePath);
|
|
40
|
+
let headers = new Headers();
|
|
43
41
|
headers.set('Content-Type', fileTypeResult.mime);
|
|
42
|
+
headers.set('Content-Length', stats.size + '');
|
|
43
|
+
headers = collection.config.upload?.modifyResponseHeaders ? collection.config.upload.modifyResponseHeaders({
|
|
44
|
+
headers
|
|
45
|
+
}) : headers;
|
|
44
46
|
return new Response(data, {
|
|
45
47
|
headers: headersWithCors({
|
|
46
48
|
headers,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/routes/rest/files/getFile.ts"],"sourcesContent":["import type { Collection, PayloadRequestWithData } from 'payload'\n\nimport { fileTypeFromFile } from 'file-type'\nimport fsPromises from 'fs/promises'\nimport httpStatus from 'http-status'\nimport path from 'path'\nimport { APIError } from 'payload'\n\nimport { streamFile } from '../../../fetchAPI-stream-file/index.js'\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { routeError } from '../routeError.js'\nimport { checkFileAccess } from './checkFileAccess.js'\nimport { getFileTypeFallback } from './getFileTypeFallback.js'\n\n// /:collectionSlug/file/:filename\ntype Args = {\n collection: Collection\n filename: string\n req: PayloadRequestWithData\n}\nexport const getFile = async ({ collection, filename, req }: Args): Promise<Response> => {\n try {\n if (!collection.config.upload) {\n throw new APIError(\n `This collection is not an upload collection: ${collection.config.slug}`,\n httpStatus.BAD_REQUEST,\n )\n }\n\n const accessResult = await checkFileAccess({\n collection,\n filename,\n req,\n })\n\n if (accessResult instanceof Response) return accessResult\n\n
|
|
1
|
+
{"version":3,"sources":["../../../../src/routes/rest/files/getFile.ts"],"sourcesContent":["import type { Collection, PayloadRequestWithData } from 'payload'\n\nimport { fileTypeFromFile } from 'file-type'\nimport fsPromises from 'fs/promises'\nimport httpStatus from 'http-status'\nimport path from 'path'\nimport { APIError } from 'payload'\n\nimport { streamFile } from '../../../fetchAPI-stream-file/index.js'\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { routeError } from '../routeError.js'\nimport { checkFileAccess } from './checkFileAccess.js'\nimport { getFileTypeFallback } from './getFileTypeFallback.js'\n\n// /:collectionSlug/file/:filename\ntype Args = {\n collection: Collection\n filename: string\n req: PayloadRequestWithData\n}\nexport const getFile = async ({ collection, filename, req }: Args): Promise<Response> => {\n try {\n if (!collection.config.upload) {\n throw new APIError(\n `This collection is not an upload collection: ${collection.config.slug}`,\n httpStatus.BAD_REQUEST,\n )\n }\n\n const accessResult = await checkFileAccess({\n collection,\n filename,\n req,\n })\n\n if (accessResult instanceof Response) return accessResult\n\n if (collection.config.upload.handlers?.length) {\n let customResponse = null\n for (const handler of collection.config.upload.handlers) {\n customResponse = await handler(req, {\n doc: accessResult,\n params: {\n collection: collection.config.slug,\n filename,\n },\n })\n }\n\n if (customResponse instanceof Response) return customResponse\n }\n\n const fileDir = collection.config.upload?.staticDir || collection.config.slug\n const filePath = path.resolve(`${fileDir}/${filename}`)\n const stats = await fsPromises.stat(filePath)\n const data = streamFile(filePath)\n const fileTypeResult = (await fileTypeFromFile(filePath)) || getFileTypeFallback(filePath)\n\n let headers = new Headers()\n headers.set('Content-Type', fileTypeResult.mime)\n headers.set('Content-Length', stats.size + '')\n headers = collection.config.upload?.modifyResponseHeaders\n ? collection.config.upload.modifyResponseHeaders({ headers })\n : headers\n\n return new Response(data, {\n headers: headersWithCors({\n headers,\n req,\n }),\n status: httpStatus.OK,\n })\n } catch (err) {\n return routeError({\n collection,\n config: req.payload.config,\n err,\n req,\n })\n }\n}\n"],"names":["fileTypeFromFile","fsPromises","httpStatus","path","APIError","streamFile","headersWithCors","routeError","checkFileAccess","getFileTypeFallback","getFile","collection","filename","req","config","upload","slug","BAD_REQUEST","accessResult","Response","handlers","length","customResponse","handler","doc","params","fileDir","staticDir","filePath","resolve","stats","stat","data","fileTypeResult","headers","Headers","set","mime","size","modifyResponseHeaders","status","OK","err","payload"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ,YAAW;AAC5C,OAAOC,gBAAgB,cAAa;AACpC,OAAOC,gBAAgB,cAAa;AACpC,OAAOC,UAAU,OAAM;AACvB,SAASC,QAAQ,QAAQ,UAAS;AAElC,SAASC,UAAU,QAAQ,yCAAwC;AACnE,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,UAAU,QAAQ,mBAAkB;AAC7C,SAASC,eAAe,QAAQ,uBAAsB;AACtD,SAASC,mBAAmB,QAAQ,2BAA0B;AAQ9D,OAAO,MAAMC,UAAU,OAAO,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,GAAG,EAAQ;IAC/D,IAAI;QACF,IAAI,CAACF,WAAWG,MAAM,CAACC,MAAM,EAAE;YAC7B,MAAM,IAAIX,SACR,CAAC,6CAA6C,EAAEO,WAAWG,MAAM,CAACE,IAAI,CAAC,CAAC,EACxEd,WAAWe,WAAW;QAE1B;QAEA,MAAMC,eAAe,MAAMV,gBAAgB;YACzCG;YACAC;YACAC;QACF;QAEA,IAAIK,wBAAwBC,UAAU,OAAOD;QAE7C,IAAIP,WAAWG,MAAM,CAACC,MAAM,CAACK,QAAQ,EAAEC,QAAQ;YAC7C,IAAIC,iBAAiB;YACrB,KAAK,MAAMC,WAAWZ,WAAWG,MAAM,CAACC,MAAM,CAACK,QAAQ,CAAE;gBACvDE,iBAAiB,MAAMC,QAAQV,KAAK;oBAClCW,KAAKN;oBACLO,QAAQ;wBACNd,YAAYA,WAAWG,MAAM,CAACE,IAAI;wBAClCJ;oBACF;gBACF;YACF;YAEA,IAAIU,0BAA0BH,UAAU,OAAOG;QACjD;QAEA,MAAMI,UAAUf,WAAWG,MAAM,CAACC,MAAM,EAAEY,aAAahB,WAAWG,MAAM,CAACE,IAAI;QAC7E,MAAMY,WAAWzB,KAAK0B,OAAO,CAAC,CAAC,EAAEH,QAAQ,CAAC,EAAEd,SAAS,CAAC;QACtD,MAAMkB,QAAQ,MAAM7B,WAAW8B,IAAI,CAACH;QACpC,MAAMI,OAAO3B,WAAWuB;QACxB,MAAMK,iBAAiB,AAAC,MAAMjC,iBAAiB4B,aAAcnB,oBAAoBmB;QAEjF,IAAIM,UAAU,IAAIC;QAClBD,QAAQE,GAAG,CAAC,gBAAgBH,eAAeI,IAAI;QAC/CH,QAAQE,GAAG,CAAC,kBAAkBN,MAAMQ,IAAI,GAAG;QAC3CJ,UAAUvB,WAAWG,MAAM,CAACC,MAAM,EAAEwB,wBAChC5B,WAAWG,MAAM,CAACC,MAAM,CAACwB,qBAAqB,CAAC;YAAEL;QAAQ,KACzDA;QAEJ,OAAO,IAAIf,SAASa,MAAM;YACxBE,SAAS5B,gBAAgB;gBACvB4B;gBACArB;YACF;YACA2B,QAAQtC,WAAWuC,EAAE;QACvB;IACF,EAAE,OAAOC,KAAK;QACZ,OAAOnC,WAAW;YAChBI;YACAG,QAAQD,IAAI8B,OAAO,CAAC7B,MAAM;YAC1B4B;YACA7B;QACF;IACF;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/routes/rest/files/getFileTypeFallback.ts"],"sourcesContent":["type ReturnType = {\n ext: string\n mime: string\n}\n\nconst extensionMap: {\n [ext: string]: string\n} = {\n css: 'text/css',\n csv: 'text/csv',\n htm: 'text/html',\n html: 'text/html',\n js: 'application/javascript',\n json: 'application/json',\n md: 'text/markdown',\n svg: 'image/svg+xml',\n xml: 'application/xml',\n yml: 'application/x-yaml',\n}\n\nexport const getFileTypeFallback = (path: string): ReturnType => {\n const ext = path.split('.').pop() || 'txt'\n\n return {\n ext,\n mime: extensionMap[ext] || 'text/plain',\n }\n}\n"],"names":["extensionMap","css","csv","htm","html","js","json","md","svg","xml","yml","getFileTypeFallback","path","ext","split","pop","mime"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/routes/rest/files/getFileTypeFallback.ts"],"sourcesContent":["type ReturnType = {\n ext: string\n mime: string\n}\n\nconst extensionMap: {\n [ext: string]: string\n} = {\n css: 'text/css',\n csv: 'text/csv',\n htm: 'text/html',\n html: 'text/html',\n js: 'application/javascript',\n json: 'application/json',\n md: 'text/markdown',\n svg: 'image/svg+xml',\n xml: 'application/xml',\n yml: 'application/x-yaml',\n}\n\nexport const getFileTypeFallback = (path: string): ReturnType => {\n const ext = path.split('.').pop() || 'txt'\n\n return {\n ext,\n mime: extensionMap[ext] || 'text/plain',\n }\n}\n"],"names":["extensionMap","css","csv","htm","html","js","json","md","svg","xml","yml","getFileTypeFallback","path","ext","split","pop","mime"],"mappings":"AAKA,MAAMA,eAEF;IACFC,KAAK;IACLC,KAAK;IACLC,KAAK;IACLC,MAAM;IACNC,IAAI;IACJC,MAAM;IACNC,IAAI;IACJC,KAAK;IACLC,KAAK;IACLC,KAAK;AACP;AAEA,OAAO,MAAMC,sBAAsB,CAACC;IAClC,MAAMC,MAAMD,KAAKE,KAAK,CAAC,KAAKC,GAAG,MAAM;IAErC,OAAO;QACLF;QACAG,MAAMhB,YAAY,CAACa,IAAI,IAAI;IAC7B;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/routes/rest/globals/docAccess.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { docAccessOperationGlobal } from 'payload'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const docAccess: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const result = await docAccessOperationGlobal({\n globalConfig,\n req,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","docAccessOperationGlobal","headersWithCors","docAccess","globalConfig","req","result","Response","json","headers","Headers","status","OK"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/routes/rest/globals/docAccess.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { docAccessOperationGlobal } from 'payload'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const docAccess: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const result = await docAccessOperationGlobal({\n globalConfig,\n req,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","docAccessOperationGlobal","headersWithCors","docAccess","globalConfig","req","result","Response","json","headers","Headers","status","OK"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,wBAAwB,QAAQ,UAAS;AAIlD,SAASC,eAAe,QAAQ,wCAAuC;AAEvE,OAAO,MAAMC,YAAgC,OAAO,EAAEC,YAAY,EAAEC,GAAG,EAAE;IACvE,MAAMC,SAAS,MAAML,yBAAyB;QAC5CG;QACAC;IACF;IAEA,OAAOE,SAASC,IAAI,CAACF,QAAQ;QAC3BG,SAASP,gBAAgB;YACvBO,SAAS,IAAIC;YACbL;QACF;QACAM,QAAQX,WAAWY,EAAE;IACvB;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/routes/rest/globals/findOne.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { findOneOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const findOne: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const result = await findOneOperation({\n slug: globalConfig.slug,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: searchParams.get('draft') === 'true',\n globalConfig,\n req,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","findOneOperation","isNumber","headersWithCors","findOne","globalConfig","req","searchParams","depth","get","result","slug","Number","undefined","draft","Response","json","headers","Headers","status","OK"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/routes/rest/globals/findOne.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { findOneOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const findOne: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const result = await findOneOperation({\n slug: globalConfig.slug,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: searchParams.get('draft') === 'true',\n globalConfig,\n req,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","findOneOperation","isNumber","headersWithCors","findOne","globalConfig","req","searchParams","depth","get","result","slug","Number","undefined","draft","Response","json","headers","Headers","status","OK"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,gBAAgB,QAAQ,UAAS;AAC1C,SAASC,QAAQ,QAAQ,iBAAgB;AAIzC,SAASC,eAAe,QAAQ,wCAAuC;AAEvE,OAAO,MAAMC,UAA8B,OAAO,EAAEC,YAAY,EAAEC,GAAG,EAAE;IACrE,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,QAAQD,aAAaE,GAAG,CAAC;IAE/B,MAAMC,SAAS,MAAMT,iBAAiB;QACpCU,MAAMN,aAAaM,IAAI;QACvBH,OAAON,SAASM,SAASI,OAAOJ,SAASK;QACzCC,OAAOP,aAAaE,GAAG,CAAC,aAAa;QACrCJ;QACAC;IACF;IAEA,OAAOS,SAASC,IAAI,CAACN,QAAQ;QAC3BO,SAASd,gBAAgB;YACvBc,SAAS,IAAIC;YACbZ;QACF;QACAa,QAAQnB,WAAWoB,EAAE;IACvB;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/routes/rest/globals/findVersionByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { findVersionByIDOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const findVersionByID: GlobalRouteHandlerWithID = async ({ id, globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const result = await findVersionByIDOperationGlobal({\n id,\n depth: isNumber(depth) ? Number(depth) : undefined,\n globalConfig,\n req,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","findVersionByIDOperationGlobal","isNumber","headersWithCors","findVersionByID","id","globalConfig","req","searchParams","depth","get","result","Number","undefined","Response","json","headers","Headers","status","OK"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/routes/rest/globals/findVersionByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { findVersionByIDOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const findVersionByID: GlobalRouteHandlerWithID = async ({ id, globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const result = await findVersionByIDOperationGlobal({\n id,\n depth: isNumber(depth) ? Number(depth) : undefined,\n globalConfig,\n req,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","findVersionByIDOperationGlobal","isNumber","headersWithCors","findVersionByID","id","globalConfig","req","searchParams","depth","get","result","Number","undefined","Response","json","headers","Headers","status","OK"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,8BAA8B,QAAQ,UAAS;AACxD,SAASC,QAAQ,QAAQ,iBAAgB;AAIzC,SAASC,eAAe,QAAQ,wCAAuC;AAEvE,OAAO,MAAMC,kBAA4C,OAAO,EAAEC,EAAE,EAAEC,YAAY,EAAEC,GAAG,EAAE;IACvF,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,QAAQD,aAAaE,GAAG,CAAC;IAE/B,MAAMC,SAAS,MAAMV,+BAA+B;QAClDI;QACAI,OAAOP,SAASO,SAASG,OAAOH,SAASI;QACzCP;QACAC;IACF;IAEA,OAAOO,SAASC,IAAI,CAACJ,QAAQ;QAC3BK,SAASb,gBAAgB;YACvBa,SAAS,IAAIC;YACbV;QACF;QACAW,QAAQlB,WAAWmB,EAAE;IACvB;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/routes/rest/globals/findVersions.ts"],"sourcesContent":["import type { Where } from 'payload'\n\nimport httpStatus from 'http-status'\nimport { findVersionsOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const findVersions: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { depth, limit, page, sort, where } = req.query as {\n depth?: string\n limit?: string\n page?: string\n sort?: string\n where?: Where\n }\n\n const result = await findVersionsOperationGlobal({\n depth: isNumber(depth) ? Number(depth) : undefined,\n globalConfig,\n limit: isNumber(limit) ? Number(limit) : undefined,\n page: isNumber(page) ? Number(page) : undefined,\n req,\n sort,\n where,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","findVersionsOperationGlobal","isNumber","headersWithCors","findVersions","globalConfig","req","depth","limit","page","sort","where","query","result","Number","undefined","Response","json","headers","Headers","status","OK"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/routes/rest/globals/findVersions.ts"],"sourcesContent":["import type { Where } from 'payload'\n\nimport httpStatus from 'http-status'\nimport { findVersionsOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const findVersions: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { depth, limit, page, sort, where } = req.query as {\n depth?: string\n limit?: string\n page?: string\n sort?: string\n where?: Where\n }\n\n const result = await findVersionsOperationGlobal({\n depth: isNumber(depth) ? Number(depth) : undefined,\n globalConfig,\n limit: isNumber(limit) ? Number(limit) : undefined,\n page: isNumber(page) ? Number(page) : undefined,\n req,\n sort,\n where,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","findVersionsOperationGlobal","isNumber","headersWithCors","findVersions","globalConfig","req","depth","limit","page","sort","where","query","result","Number","undefined","Response","json","headers","Headers","status","OK"],"mappings":"AAEA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,2BAA2B,QAAQ,UAAS;AACrD,SAASC,QAAQ,QAAQ,iBAAgB;AAIzC,SAASC,eAAe,QAAQ,wCAAuC;AAEvE,OAAO,MAAMC,eAAmC,OAAO,EAAEC,YAAY,EAAEC,GAAG,EAAE;IAC1E,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,IAAI,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAGL,IAAIM,KAAK;IAQrD,MAAMC,SAAS,MAAMZ,4BAA4B;QAC/CM,OAAOL,SAASK,SAASO,OAAOP,SAASQ;QACzCV;QACAG,OAAON,SAASM,SAASM,OAAON,SAASO;QACzCN,MAAMP,SAASO,QAAQK,OAAOL,QAAQM;QACtCT;QACAI;QACAC;IACF;IAEA,OAAOK,SAASC,IAAI,CAACJ,QAAQ;QAC3BK,SAASf,gBAAgB;YACvBe,SAAS,IAAIC;YACbb;QACF;QACAc,QAAQpB,WAAWqB,EAAE;IACvB;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/routes/rest/globals/preview.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { extractJWT, findOneOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { routeError } from '../routeError.js'\n\nexport const preview: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const result = await findOneOperation({\n slug: globalConfig.slug,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: searchParams.get('draft') === 'true',\n globalConfig,\n req,\n })\n\n let previewURL: string\n\n const generatePreviewURL = req.payload.config.globals.find(\n (config) => config.slug === globalConfig.slug,\n )?.admin?.preview\n\n const token = extractJWT(req)\n\n if (typeof generatePreviewURL === 'function') {\n try {\n previewURL = await generatePreviewURL(result, {\n locale: req.locale,\n req,\n token,\n })\n } catch (err) {\n return routeError({\n config: req.payload.config,\n err,\n req,\n })\n }\n }\n\n return Response.json(previewURL, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","extractJWT","findOneOperation","isNumber","headersWithCors","routeError","preview","globalConfig","req","searchParams","depth","get","result","slug","Number","undefined","draft","previewURL","generatePreviewURL","payload","config","globals","find","admin","token","locale","err","Response","json","headers","Headers","status","OK"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/routes/rest/globals/preview.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { extractJWT, findOneOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { routeError } from '../routeError.js'\n\nexport const preview: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const result = await findOneOperation({\n slug: globalConfig.slug,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: searchParams.get('draft') === 'true',\n globalConfig,\n req,\n })\n\n let previewURL: string\n\n const generatePreviewURL = req.payload.config.globals.find(\n (config) => config.slug === globalConfig.slug,\n )?.admin?.preview\n\n const token = extractJWT(req)\n\n if (typeof generatePreviewURL === 'function') {\n try {\n previewURL = await generatePreviewURL(result, {\n locale: req.locale,\n req,\n token,\n })\n } catch (err) {\n return routeError({\n config: req.payload.config,\n err,\n req,\n })\n }\n }\n\n return Response.json(previewURL, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","extractJWT","findOneOperation","isNumber","headersWithCors","routeError","preview","globalConfig","req","searchParams","depth","get","result","slug","Number","undefined","draft","previewURL","generatePreviewURL","payload","config","globals","find","admin","token","locale","err","Response","json","headers","Headers","status","OK"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,UAAU,EAAEC,gBAAgB,QAAQ,UAAS;AACtD,SAASC,QAAQ,QAAQ,iBAAgB;AAIzC,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,UAAU,QAAQ,mBAAkB;AAE7C,OAAO,MAAMC,UAA8B,OAAO,EAAEC,YAAY,EAAEC,GAAG,EAAE;IACrE,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,QAAQD,aAAaE,GAAG,CAAC;IAE/B,MAAMC,SAAS,MAAMV,iBAAiB;QACpCW,MAAMN,aAAaM,IAAI;QACvBH,OAAOP,SAASO,SAASI,OAAOJ,SAASK;QACzCC,OAAOP,aAAaE,GAAG,CAAC,aAAa;QACrCJ;QACAC;IACF;IAEA,IAAIS;IAEJ,MAAMC,qBAAqBV,IAAIW,OAAO,CAACC,MAAM,CAACC,OAAO,CAACC,IAAI,CACxD,CAACF,SAAWA,OAAOP,IAAI,KAAKN,aAAaM,IAAI,GAC5CU,OAAOjB;IAEV,MAAMkB,QAAQvB,WAAWO;IAEzB,IAAI,OAAOU,uBAAuB,YAAY;QAC5C,IAAI;YACFD,aAAa,MAAMC,mBAAmBN,QAAQ;gBAC5Ca,QAAQjB,IAAIiB,MAAM;gBAClBjB;gBACAgB;YACF;QACF,EAAE,OAAOE,KAAK;YACZ,OAAOrB,WAAW;gBAChBe,QAAQZ,IAAIW,OAAO,CAACC,MAAM;gBAC1BM;gBACAlB;YACF;QACF;IACF;IAEA,OAAOmB,SAASC,IAAI,CAACX,YAAY;QAC/BY,SAASzB,gBAAgB;YACvByB,SAAS,IAAIC;YACbtB;QACF;QACAuB,QAAQ/B,WAAWgC,EAAE;IACvB;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/routes/rest/globals/restoreVersion.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { restoreVersionOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const restoreVersion: GlobalRouteHandlerWithID = async ({ id, globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const doc = await restoreVersionOperationGlobal({\n id,\n depth: isNumber(depth) ? Number(depth) : undefined,\n globalConfig,\n req,\n })\n\n return Response.json(\n {\n doc,\n message: req.t('version:restoredSuccessfully'),\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["httpStatus","restoreVersionOperationGlobal","isNumber","headersWithCors","restoreVersion","id","globalConfig","req","searchParams","depth","get","doc","Number","undefined","Response","json","message","t","headers","Headers","status","OK"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/routes/rest/globals/restoreVersion.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { restoreVersionOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const restoreVersion: GlobalRouteHandlerWithID = async ({ id, globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const doc = await restoreVersionOperationGlobal({\n id,\n depth: isNumber(depth) ? Number(depth) : undefined,\n globalConfig,\n req,\n })\n\n return Response.json(\n {\n doc,\n message: req.t('version:restoredSuccessfully'),\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["httpStatus","restoreVersionOperationGlobal","isNumber","headersWithCors","restoreVersion","id","globalConfig","req","searchParams","depth","get","doc","Number","undefined","Response","json","message","t","headers","Headers","status","OK"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,6BAA6B,QAAQ,UAAS;AACvD,SAASC,QAAQ,QAAQ,iBAAgB;AAIzC,SAASC,eAAe,QAAQ,wCAAuC;AAEvE,OAAO,MAAMC,iBAA2C,OAAO,EAAEC,EAAE,EAAEC,YAAY,EAAEC,GAAG,EAAE;IACtF,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,QAAQD,aAAaE,GAAG,CAAC;IAE/B,MAAMC,MAAM,MAAMV,8BAA8B;QAC9CI;QACAI,OAAOP,SAASO,SAASG,OAAOH,SAASI;QACzCP;QACAC;IACF;IAEA,OAAOO,SAASC,IAAI,CAClB;QACEJ;QACAK,SAAST,IAAIU,CAAC,CAAC;IACjB,GACA;QACEC,SAASf,gBAAgB;YACvBe,SAAS,IAAIC;YACbZ;QACF;QACAa,QAAQpB,WAAWqB,EAAE;IACvB;AAEJ,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/routes/rest/globals/update.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { updateOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const update: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const draft = searchParams.get('draft') === 'true'\n const autosave = searchParams.get('autosave') === 'true'\n\n const result = await updateOperationGlobal({\n slug: globalConfig.slug,\n autosave,\n data: req.data,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft,\n globalConfig,\n req,\n })\n\n let message = req.t('general:updatedSuccessfully')\n\n if (draft) message = req.t('version:draftSavedSuccessfully')\n if (autosave) message = req.t('version:autosavedSuccessfully')\n\n return Response.json(\n {\n message,\n result,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["httpStatus","updateOperationGlobal","isNumber","headersWithCors","update","globalConfig","req","searchParams","depth","get","draft","autosave","result","slug","data","Number","undefined","message","t","Response","json","headers","Headers","status","OK"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/routes/rest/globals/update.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { updateOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const update: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const draft = searchParams.get('draft') === 'true'\n const autosave = searchParams.get('autosave') === 'true'\n\n const result = await updateOperationGlobal({\n slug: globalConfig.slug,\n autosave,\n data: req.data,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft,\n globalConfig,\n req,\n })\n\n let message = req.t('general:updatedSuccessfully')\n\n if (draft) message = req.t('version:draftSavedSuccessfully')\n if (autosave) message = req.t('version:autosavedSuccessfully')\n\n return Response.json(\n {\n message,\n result,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["httpStatus","updateOperationGlobal","isNumber","headersWithCors","update","globalConfig","req","searchParams","depth","get","draft","autosave","result","slug","data","Number","undefined","message","t","Response","json","headers","Headers","status","OK"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,qBAAqB,QAAQ,UAAS;AAC/C,SAASC,QAAQ,QAAQ,iBAAgB;AAIzC,SAASC,eAAe,QAAQ,wCAAuC;AAEvE,OAAO,MAAMC,SAA6B,OAAO,EAAEC,YAAY,EAAEC,GAAG,EAAE;IACpE,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,QAAQD,aAAaE,GAAG,CAAC;IAC/B,MAAMC,QAAQH,aAAaE,GAAG,CAAC,aAAa;IAC5C,MAAME,WAAWJ,aAAaE,GAAG,CAAC,gBAAgB;IAElD,MAAMG,SAAS,MAAMX,sBAAsB;QACzCY,MAAMR,aAAaQ,IAAI;QACvBF;QACAG,MAAMR,IAAIQ,IAAI;QACdN,OAAON,SAASM,SAASO,OAAOP,SAASQ;QACzCN;QACAL;QACAC;IACF;IAEA,IAAIW,UAAUX,IAAIY,CAAC,CAAC;IAEpB,IAAIR,OAAOO,UAAUX,IAAIY,CAAC,CAAC;IAC3B,IAAIP,UAAUM,UAAUX,IAAIY,CAAC,CAAC;IAE9B,OAAOC,SAASC,IAAI,CAClB;QACEH;QACAL;IACF,GACA;QACES,SAASlB,gBAAgB;YACvBkB,SAAS,IAAIC;YACbhB;QACF;QACAiB,QAAQvB,WAAWwB,EAAE;IACvB;AAEJ,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAMV,eAAe,EAChB,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAMV,eAAe,EAChB,MAAM,SAAS,CAAA;AAmMhB,eAAO,MAAM,OAAO,WACT,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eAAqB,OAAO,sBA0B9E,CAAA;AAEH,eAAO,MAAM,GAAG,WACL,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,wBAAwB;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,sBAsL5E,CAAA;AAEH,eAAO,MAAM,IAAI,WACN,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,wBAAwB;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,sBA4K5E,CAAA;AAEH,eAAO,MAAM,MAAM,WACR,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,wBAAwB;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,sBAoF5E,CAAA;AAEH,eAAO,MAAM,KAAK,WACP,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,wBAAwB;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,sBAqF5E,CAAA"}
|
|
@@ -4,6 +4,7 @@ import { addDataAndFileToRequest } from '../../utilities/addDataAndFileToRequest
|
|
|
4
4
|
import { addLocalesToRequestFromData } from '../../utilities/addLocalesToRequest.js';
|
|
5
5
|
import { createPayloadRequest } from '../../utilities/createPayloadRequest.js';
|
|
6
6
|
import { headersWithCors } from '../../utilities/headersWithCors.js';
|
|
7
|
+
import { mergeHeaders } from '../../utilities/mergeHeaders.js';
|
|
7
8
|
import { access } from './auth/access.js';
|
|
8
9
|
import { forgotPassword } from './auth/forgotPassword.js';
|
|
9
10
|
import { init } from './auth/init.js';
|
|
@@ -103,7 +104,7 @@ const endpoints = {
|
|
|
103
104
|
}
|
|
104
105
|
}
|
|
105
106
|
};
|
|
106
|
-
const handleCustomEndpoints = ({ endpoints, entitySlug, payloadRequest })=>{
|
|
107
|
+
const handleCustomEndpoints = async ({ endpoints, entitySlug, payloadRequest })=>{
|
|
107
108
|
if (endpoints && endpoints.length > 0) {
|
|
108
109
|
let handlerParams = {};
|
|
109
110
|
const { pathname } = payloadRequest;
|
|
@@ -135,7 +136,13 @@ const handleCustomEndpoints = ({ endpoints, entitySlug, payloadRequest })=>{
|
|
|
135
136
|
...payloadRequest.routeParams,
|
|
136
137
|
...handlerParams
|
|
137
138
|
};
|
|
138
|
-
|
|
139
|
+
const res = await customEndpoint.handler(payloadRequest);
|
|
140
|
+
if (res instanceof Response) {
|
|
141
|
+
if (payloadRequest.responseHeaders) {
|
|
142
|
+
mergeHeaders(payloadRequest.responseHeaders, res.headers);
|
|
143
|
+
}
|
|
144
|
+
return res;
|
|
145
|
+
}
|
|
139
146
|
}
|
|
140
147
|
}
|
|
141
148
|
return null;
|
|
@@ -332,7 +339,12 @@ export const GET = (config)=>async (request, { params: { slug } })=>{
|
|
|
332
339
|
req: payloadRequest
|
|
333
340
|
});
|
|
334
341
|
}
|
|
335
|
-
if (res instanceof Response)
|
|
342
|
+
if (res instanceof Response) {
|
|
343
|
+
if (req.responseHeaders) {
|
|
344
|
+
mergeHeaders(req.responseHeaders, res.headers);
|
|
345
|
+
}
|
|
346
|
+
return res;
|
|
347
|
+
}
|
|
336
348
|
// root routes
|
|
337
349
|
const customEndpointResponse = await handleCustomEndpoints({
|
|
338
350
|
endpoints: req.payload.config.endpoints,
|
|
@@ -508,7 +520,12 @@ export const POST = (config)=>async (request, { params: { slug } })=>{
|
|
|
508
520
|
req: payloadRequest
|
|
509
521
|
});
|
|
510
522
|
}
|
|
511
|
-
if (res instanceof Response)
|
|
523
|
+
if (res instanceof Response) {
|
|
524
|
+
if (req.responseHeaders) {
|
|
525
|
+
mergeHeaders(req.responseHeaders, res.headers);
|
|
526
|
+
}
|
|
527
|
+
return res;
|
|
528
|
+
}
|
|
512
529
|
// root routes
|
|
513
530
|
const customEndpointResponse = await handleCustomEndpoints({
|
|
514
531
|
endpoints: req.payload.config.endpoints,
|
|
@@ -584,7 +601,12 @@ export const DELETE = (config)=>async (request, { params: { slug } })=>{
|
|
|
584
601
|
}
|
|
585
602
|
}
|
|
586
603
|
}
|
|
587
|
-
if (res instanceof Response)
|
|
604
|
+
if (res instanceof Response) {
|
|
605
|
+
if (req.responseHeaders) {
|
|
606
|
+
mergeHeaders(req.responseHeaders, res.headers);
|
|
607
|
+
}
|
|
608
|
+
return res;
|
|
609
|
+
}
|
|
588
610
|
// root routes
|
|
589
611
|
const customEndpointResponse = await handleCustomEndpoints({
|
|
590
612
|
endpoints: req.payload.config.endpoints,
|
|
@@ -660,7 +682,12 @@ export const PATCH = (config)=>async (request, { params: { slug } })=>{
|
|
|
660
682
|
}
|
|
661
683
|
}
|
|
662
684
|
}
|
|
663
|
-
if (res instanceof Response)
|
|
685
|
+
if (res instanceof Response) {
|
|
686
|
+
if (req.responseHeaders) {
|
|
687
|
+
mergeHeaders(req.responseHeaders, res.headers);
|
|
688
|
+
}
|
|
689
|
+
return res;
|
|
690
|
+
}
|
|
664
691
|
// root routes
|
|
665
692
|
const customEndpointResponse = await handleCustomEndpoints({
|
|
666
693
|
endpoints: req.payload.config.endpoints,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/routes/rest/index.ts"],"sourcesContent":["import type {\n Collection,\n Endpoint,\n GlobalConfig,\n PayloadRequest,\n PayloadRequestData,\n SanitizedConfig,\n} from 'payload'\n\nimport httpStatus from 'http-status'\nimport { match } from 'path-to-regexp'\n\nimport type {\n CollectionRouteHandler,\n CollectionRouteHandlerWithID,\n GlobalRouteHandler,\n GlobalRouteHandlerWithID,\n} from './types.js'\n\nimport { addDataAndFileToRequest } from '../../utilities/addDataAndFileToRequest.js'\nimport { addLocalesToRequestFromData } from '../../utilities/addLocalesToRequest.js'\nimport { createPayloadRequest } from '../../utilities/createPayloadRequest.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { access } from './auth/access.js'\nimport { forgotPassword } from './auth/forgotPassword.js'\nimport { init } from './auth/init.js'\nimport { login } from './auth/login.js'\nimport { logout } from './auth/logout.js'\nimport { me } from './auth/me.js'\nimport { refresh } from './auth/refresh.js'\nimport { registerFirstUser } from './auth/registerFirstUser.js'\nimport { resetPassword } from './auth/resetPassword.js'\nimport { unlock } from './auth/unlock.js'\nimport { verifyEmail } from './auth/verifyEmail.js'\nimport { buildFormState } from './buildFormState.js'\nimport { endpointsAreDisabled } from './checkEndpoints.js'\nimport { count } from './collections/count.js'\nimport { create } from './collections/create.js'\nimport { deleteDoc } from './collections/delete.js'\nimport { deleteByID } from './collections/deleteByID.js'\nimport { docAccess } from './collections/docAccess.js'\nimport { duplicate } from './collections/duplicate.js'\nimport { find } from './collections/find.js'\nimport { findByID } from './collections/findByID.js'\nimport { findVersionByID } from './collections/findVersionByID.js'\nimport { findVersions } from './collections/findVersions.js'\nimport { preview as previewCollection } from './collections/preview.js'\nimport { restoreVersion } from './collections/restoreVersion.js'\nimport { update } from './collections/update.js'\nimport { updateByID } from './collections/updateByID.js'\nimport { getFile } from './files/getFile.js'\nimport { docAccess as docAccessGlobal } from './globals/docAccess.js'\nimport { findOne } from './globals/findOne.js'\nimport { findVersionByID as findVersionByIdGlobal } from './globals/findVersionByID.js'\nimport { findVersions as findVersionsGlobal } from './globals/findVersions.js'\nimport { preview as previewGlobal } from './globals/preview.js'\nimport { restoreVersion as restoreVersionGlobal } from './globals/restoreVersion.js'\nimport { update as updateGlobal } from './globals/update.js'\nimport { generateOGImage } from './og/index.js'\nimport { routeError } from './routeError.js'\n\nconst endpoints = {\n collection: {\n DELETE: {\n delete: deleteDoc,\n deleteByID,\n },\n GET: {\n count,\n 'doc-access-by-id': docAccess,\n 'doc-versions-by-id': findVersionByID,\n find,\n findByID,\n getFile,\n init,\n me,\n preview: previewCollection,\n versions: findVersions,\n },\n PATCH: {\n update,\n updateByID,\n },\n POST: {\n access: docAccess,\n create,\n 'doc-access-by-id': docAccess,\n 'doc-verify-by-id': verifyEmail,\n 'doc-versions-by-id': restoreVersion,\n duplicate,\n 'first-register': registerFirstUser,\n 'forgot-password': forgotPassword,\n login,\n logout,\n 'refresh-token': refresh,\n 'reset-password': resetPassword,\n unlock,\n },\n },\n global: {\n GET: {\n 'doc-access': docAccessGlobal,\n 'doc-versions': findVersionsGlobal,\n 'doc-versions-by-id': findVersionByIdGlobal,\n findOne,\n preview: previewGlobal,\n },\n POST: {\n 'doc-access': docAccessGlobal,\n 'doc-versions-by-id': restoreVersionGlobal,\n update: updateGlobal,\n },\n },\n root: {\n GET: {\n access,\n og: generateOGImage,\n },\n POST: {\n 'form-state': buildFormState,\n },\n },\n}\n\nconst handleCustomEndpoints = ({\n endpoints,\n entitySlug,\n payloadRequest,\n}: {\n endpoints: Endpoint[] | GlobalConfig['endpoints']\n entitySlug?: string\n payloadRequest: PayloadRequest\n}): Promise<Response> | Response => {\n if (endpoints && endpoints.length > 0) {\n let handlerParams = {}\n const { pathname } = payloadRequest\n\n /*\n * This makes sure the next.js basePath property is supported. If basePath is used, payload config.routes.api should include it. This makes all outgoing frontend request\n * target the correct API endpoint starting with basePath, which is good!\n *\n * The incoming request (here) will not include the basePath though, as it's automatically stripped by Next.js. Since we are adding the basePath to the pathPrefix below though\n * (from payloadRequest.payload.config.routes.api) we need to add it to pathname, which does not contain the basePath. Otherwise, no endpoint will be matched if basePath is set.\n */\n let adjustedPathname = pathname\n\n if (process.env.NEXT_BASE_PATH) {\n adjustedPathname = process.env.NEXT_BASE_PATH + pathname\n }\n\n const pathPrefix =\n payloadRequest.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '')\n\n const customEndpoint = endpoints.find((endpoint) => {\n if (endpoint.method === payloadRequest.method.toLowerCase()) {\n const pathMatchFn = match(`${pathPrefix}${endpoint.path}`, {\n decode: decodeURIComponent,\n })\n\n const tempParams = pathMatchFn(adjustedPathname)\n if (tempParams) {\n handlerParams = tempParams.params\n return true\n }\n }\n })\n\n if (customEndpoint) {\n payloadRequest.routeParams = {\n ...payloadRequest.routeParams,\n ...handlerParams,\n }\n return customEndpoint.handler(payloadRequest)\n }\n }\n\n return null\n}\n\nconst RouteNotFoundResponse = ({ slug, req }: { req: PayloadRequest; slug: string[] }) =>\n Response.json(\n {\n message: `Route Not Found: \"${slug.join('/')}\"`,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.NOT_FOUND,\n },\n )\n\nexport const OPTIONS =\n (config: Promise<SanitizedConfig> | SanitizedConfig) => async (request: Request) => {\n let req: PayloadRequest\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n return Response.json(\n {},\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: 200,\n },\n )\n } catch (error) {\n return routeError({\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const GET =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest | (PayloadRequest & PayloadRequestData)\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n collection = req.payload.collections?.[slug1]\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.GET.find({ collection, req: payloadRequest })\n break\n case 2:\n if (slug2 in endpoints.collection.GET) {\n // /:collection/init\n // /:collection/me\n // /:collection/versions\n // /:collection/count\n res = await (endpoints.collection.GET[slug2] as CollectionRouteHandler)({\n collection,\n req: payloadRequest,\n })\n } else {\n // /:collection/:id\n res = await endpoints.collection.GET.findByID({\n id: slug2,\n collection,\n req: payloadRequest,\n })\n }\n break\n case 3:\n if (slug2 === 'file') {\n // /:collection/file/:filename\n res = await endpoints.collection.GET.getFile({\n collection,\n filename: slug3,\n req: payloadRequest,\n })\n } else if (slug3 in endpoints.collection.GET) {\n // /:collection/:id/preview\n res = await (endpoints.collection.GET[slug3] as CollectionRouteHandlerWithID)({\n id: slug2,\n collection,\n req: payloadRequest,\n })\n } else if (`doc-${slug2}-by-id` in endpoints.collection.GET) {\n // /:collection/access/:id\n // /:collection/versions/:id\n res = await (\n endpoints.collection.GET[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req: payloadRequest })\n }\n break\n }\n }\n } else if (slug1 === 'globals') {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.GET.findOne({ globalConfig, req: payloadRequest })\n break\n case 3:\n if (slug3 in endpoints.global.GET) {\n // /globals/:slug/preview\n res = await (endpoints.global.GET[slug3] as GlobalRouteHandler)({\n globalConfig,\n req: payloadRequest,\n })\n } else if (`doc-${slug3}` in endpoints.global.GET) {\n // /globals/:slug/access\n // /globals/:slug/versions\n // /globals/:slug/preview\n res = await (endpoints.global.GET?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req: payloadRequest,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.GET) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.GET?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req: payloadRequest,\n })\n }\n break\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.GET) {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n res = await endpoints.root.GET[slug1]({ req: payloadRequest })\n }\n\n if (res instanceof Response) return res\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\n })\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const POST =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n if (overrideHttpMethod === 'GET') {\n return await GET(config)(request, { params: { slug } })\n }\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.POST.create({ collection, req: payloadRequest })\n break\n case 2:\n if (slug2 in endpoints.collection.POST) {\n // /:collection/login\n // /:collection/logout\n // /:collection/unlock\n // /:collection/access\n // /:collection/first-register\n // /:collection/forgot-password\n // /:collection/reset-password\n // /:collection/refresh-token\n\n res = await (endpoints.collection.POST?.[slug2] as CollectionRouteHandler)({\n collection,\n req: payloadRequest,\n })\n }\n break\n case 3:\n if (`doc-${slug2}-by-id` in endpoints.collection.POST) {\n // /:collection/access/:id\n // /:collection/versions/:id\n // /:collection/verify/:token (\"doc-verify-by-id\" uses id as token internally)\n res = await (\n endpoints.collection.POST[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req: payloadRequest })\n } else if (slug3 === 'duplicate' && collection.config.disableDuplicate !== true) {\n // /:collection/:id/duplicate\n res = await endpoints.collection.POST.duplicate({\n id: slug2,\n collection,\n req: payloadRequest,\n })\n }\n break\n }\n }\n } else if (slug1 === 'globals' && slug2) {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.POST.update({ globalConfig, req: payloadRequest })\n break\n case 3:\n if (`doc-${slug3}` in endpoints.global.POST) {\n // /globals/:slug/access\n res = await (endpoints.global.POST?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req: payloadRequest,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.POST) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.POST?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req: payloadRequest,\n })\n }\n break\n default:\n res = new Response('Route Not Found', { status: 404 })\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.POST) {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n res = await endpoints.root.POST[slug1]({ req: payloadRequest })\n }\n\n if (res instanceof Response) return res\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\n })\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const DELETE =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n payloadRequest: req,\n })\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.DELETE.delete({ collection, req: payloadRequest })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.DELETE.deleteByID({\n id: slug2,\n collection,\n req: payloadRequest,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) return res\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\n })\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const PATCH =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.PATCH.update({ collection, req: payloadRequest })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.PATCH.updateByID({\n id: slug2,\n collection,\n req: payloadRequest,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) return res\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\n })\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n"],"names":["httpStatus","match","addDataAndFileToRequest","addLocalesToRequestFromData","createPayloadRequest","headersWithCors","access","forgotPassword","init","login","logout","me","refresh","registerFirstUser","resetPassword","unlock","verifyEmail","buildFormState","endpointsAreDisabled","count","create","deleteDoc","deleteByID","docAccess","duplicate","find","findByID","findVersionByID","findVersions","preview","previewCollection","restoreVersion","update","updateByID","getFile","docAccessGlobal","findOne","findVersionByIdGlobal","findVersionsGlobal","previewGlobal","restoreVersionGlobal","updateGlobal","generateOGImage","routeError","endpoints","collection","DELETE","delete","GET","versions","PATCH","POST","global","root","og","handleCustomEndpoints","entitySlug","payloadRequest","length","handlerParams","pathname","adjustedPathname","process","env","NEXT_BASE_PATH","pathPrefix","payload","config","routes","api","customEndpoint","endpoint","method","toLowerCase","pathMatchFn","path","decode","decodeURIComponent","tempParams","params","routeParams","handler","RouteNotFoundResponse","slug","req","Response","json","message","join","headers","Headers","status","NOT_FOUND","OPTIONS","request","error","err","slug1","slug2","slug3","slug4","res","disableEndpoints","collections","customEndpointResponse","reqWithData","id","filename","globalConfig","globals","overrideHttpMethod","get","disableDuplicate"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/routes/rest/index.ts"],"sourcesContent":["import type {\n Collection,\n Endpoint,\n GlobalConfig,\n PayloadRequest,\n PayloadRequestData,\n SanitizedConfig,\n} from 'payload'\n\nimport httpStatus from 'http-status'\nimport { match } from 'path-to-regexp'\n\nimport type {\n CollectionRouteHandler,\n CollectionRouteHandlerWithID,\n GlobalRouteHandler,\n GlobalRouteHandlerWithID,\n} from './types.js'\n\nimport { addDataAndFileToRequest } from '../../utilities/addDataAndFileToRequest.js'\nimport { addLocalesToRequestFromData } from '../../utilities/addLocalesToRequest.js'\nimport { createPayloadRequest } from '../../utilities/createPayloadRequest.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { mergeHeaders } from '../../utilities/mergeHeaders.js'\nimport { access } from './auth/access.js'\nimport { forgotPassword } from './auth/forgotPassword.js'\nimport { init } from './auth/init.js'\nimport { login } from './auth/login.js'\nimport { logout } from './auth/logout.js'\nimport { me } from './auth/me.js'\nimport { refresh } from './auth/refresh.js'\nimport { registerFirstUser } from './auth/registerFirstUser.js'\nimport { resetPassword } from './auth/resetPassword.js'\nimport { unlock } from './auth/unlock.js'\nimport { verifyEmail } from './auth/verifyEmail.js'\nimport { buildFormState } from './buildFormState.js'\nimport { endpointsAreDisabled } from './checkEndpoints.js'\nimport { count } from './collections/count.js'\nimport { create } from './collections/create.js'\nimport { deleteDoc } from './collections/delete.js'\nimport { deleteByID } from './collections/deleteByID.js'\nimport { docAccess } from './collections/docAccess.js'\nimport { duplicate } from './collections/duplicate.js'\nimport { find } from './collections/find.js'\nimport { findByID } from './collections/findByID.js'\nimport { findVersionByID } from './collections/findVersionByID.js'\nimport { findVersions } from './collections/findVersions.js'\nimport { preview as previewCollection } from './collections/preview.js'\nimport { restoreVersion } from './collections/restoreVersion.js'\nimport { update } from './collections/update.js'\nimport { updateByID } from './collections/updateByID.js'\nimport { getFile } from './files/getFile.js'\nimport { docAccess as docAccessGlobal } from './globals/docAccess.js'\nimport { findOne } from './globals/findOne.js'\nimport { findVersionByID as findVersionByIdGlobal } from './globals/findVersionByID.js'\nimport { findVersions as findVersionsGlobal } from './globals/findVersions.js'\nimport { preview as previewGlobal } from './globals/preview.js'\nimport { restoreVersion as restoreVersionGlobal } from './globals/restoreVersion.js'\nimport { update as updateGlobal } from './globals/update.js'\nimport { generateOGImage } from './og/index.js'\nimport { routeError } from './routeError.js'\n\nconst endpoints = {\n collection: {\n DELETE: {\n delete: deleteDoc,\n deleteByID,\n },\n GET: {\n count,\n 'doc-access-by-id': docAccess,\n 'doc-versions-by-id': findVersionByID,\n find,\n findByID,\n getFile,\n init,\n me,\n preview: previewCollection,\n versions: findVersions,\n },\n PATCH: {\n update,\n updateByID,\n },\n POST: {\n access: docAccess,\n create,\n 'doc-access-by-id': docAccess,\n 'doc-verify-by-id': verifyEmail,\n 'doc-versions-by-id': restoreVersion,\n duplicate,\n 'first-register': registerFirstUser,\n 'forgot-password': forgotPassword,\n login,\n logout,\n 'refresh-token': refresh,\n 'reset-password': resetPassword,\n unlock,\n },\n },\n global: {\n GET: {\n 'doc-access': docAccessGlobal,\n 'doc-versions': findVersionsGlobal,\n 'doc-versions-by-id': findVersionByIdGlobal,\n findOne,\n preview: previewGlobal,\n },\n POST: {\n 'doc-access': docAccessGlobal,\n 'doc-versions-by-id': restoreVersionGlobal,\n update: updateGlobal,\n },\n },\n root: {\n GET: {\n access,\n og: generateOGImage,\n },\n POST: {\n 'form-state': buildFormState,\n },\n },\n}\n\nconst handleCustomEndpoints = async ({\n endpoints,\n entitySlug,\n payloadRequest,\n}: {\n endpoints: Endpoint[] | GlobalConfig['endpoints']\n entitySlug?: string\n payloadRequest: PayloadRequest\n}): Promise<Response> => {\n if (endpoints && endpoints.length > 0) {\n let handlerParams = {}\n const { pathname } = payloadRequest\n\n /*\n * This makes sure the next.js basePath property is supported. If basePath is used, payload config.routes.api should include it. This makes all outgoing frontend request\n * target the correct API endpoint starting with basePath, which is good!\n *\n * The incoming request (here) will not include the basePath though, as it's automatically stripped by Next.js. Since we are adding the basePath to the pathPrefix below though\n * (from payloadRequest.payload.config.routes.api) we need to add it to pathname, which does not contain the basePath. Otherwise, no endpoint will be matched if basePath is set.\n */\n let adjustedPathname = pathname\n\n if (process.env.NEXT_BASE_PATH) {\n adjustedPathname = process.env.NEXT_BASE_PATH + pathname\n }\n\n const pathPrefix =\n payloadRequest.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '')\n\n const customEndpoint = endpoints.find((endpoint) => {\n if (endpoint.method === payloadRequest.method.toLowerCase()) {\n const pathMatchFn = match(`${pathPrefix}${endpoint.path}`, {\n decode: decodeURIComponent,\n })\n\n const tempParams = pathMatchFn(adjustedPathname)\n if (tempParams) {\n handlerParams = tempParams.params\n return true\n }\n }\n })\n\n if (customEndpoint) {\n payloadRequest.routeParams = {\n ...payloadRequest.routeParams,\n ...handlerParams,\n }\n const res = await customEndpoint.handler(payloadRequest)\n\n if (res instanceof Response) {\n if (payloadRequest.responseHeaders) {\n mergeHeaders(payloadRequest.responseHeaders, res.headers)\n }\n\n return res\n }\n }\n }\n\n return null\n}\n\nconst RouteNotFoundResponse = ({ slug, req }: { req: PayloadRequest; slug: string[] }) =>\n Response.json(\n {\n message: `Route Not Found: \"${slug.join('/')}\"`,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.NOT_FOUND,\n },\n )\n\nexport const OPTIONS =\n (config: Promise<SanitizedConfig> | SanitizedConfig) => async (request: Request) => {\n let req: PayloadRequest\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n return Response.json(\n {},\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: 200,\n },\n )\n } catch (error) {\n return routeError({\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const GET =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest | (PayloadRequest & PayloadRequestData)\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n collection = req.payload.collections?.[slug1]\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.GET.find({ collection, req: payloadRequest })\n break\n case 2:\n if (slug2 in endpoints.collection.GET) {\n // /:collection/init\n // /:collection/me\n // /:collection/versions\n // /:collection/count\n res = await (endpoints.collection.GET[slug2] as CollectionRouteHandler)({\n collection,\n req: payloadRequest,\n })\n } else {\n // /:collection/:id\n res = await endpoints.collection.GET.findByID({\n id: slug2,\n collection,\n req: payloadRequest,\n })\n }\n break\n case 3:\n if (slug2 === 'file') {\n // /:collection/file/:filename\n res = await endpoints.collection.GET.getFile({\n collection,\n filename: slug3,\n req: payloadRequest,\n })\n } else if (slug3 in endpoints.collection.GET) {\n // /:collection/:id/preview\n res = await (endpoints.collection.GET[slug3] as CollectionRouteHandlerWithID)({\n id: slug2,\n collection,\n req: payloadRequest,\n })\n } else if (`doc-${slug2}-by-id` in endpoints.collection.GET) {\n // /:collection/access/:id\n // /:collection/versions/:id\n res = await (\n endpoints.collection.GET[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req: payloadRequest })\n }\n break\n }\n }\n } else if (slug1 === 'globals') {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.GET.findOne({ globalConfig, req: payloadRequest })\n break\n case 3:\n if (slug3 in endpoints.global.GET) {\n // /globals/:slug/preview\n res = await (endpoints.global.GET[slug3] as GlobalRouteHandler)({\n globalConfig,\n req: payloadRequest,\n })\n } else if (`doc-${slug3}` in endpoints.global.GET) {\n // /globals/:slug/access\n // /globals/:slug/versions\n // /globals/:slug/preview\n res = await (endpoints.global.GET?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req: payloadRequest,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.GET) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.GET?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req: payloadRequest,\n })\n }\n break\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.GET) {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n res = await endpoints.root.GET[slug1]({ req: payloadRequest })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n mergeHeaders(req.responseHeaders, res.headers)\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const POST =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n if (overrideHttpMethod === 'GET') {\n return await GET(config)(request, { params: { slug } })\n }\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.POST.create({ collection, req: payloadRequest })\n break\n case 2:\n if (slug2 in endpoints.collection.POST) {\n // /:collection/login\n // /:collection/logout\n // /:collection/unlock\n // /:collection/access\n // /:collection/first-register\n // /:collection/forgot-password\n // /:collection/reset-password\n // /:collection/refresh-token\n\n res = await (endpoints.collection.POST?.[slug2] as CollectionRouteHandler)({\n collection,\n req: payloadRequest,\n })\n }\n break\n case 3:\n if (`doc-${slug2}-by-id` in endpoints.collection.POST) {\n // /:collection/access/:id\n // /:collection/versions/:id\n // /:collection/verify/:token (\"doc-verify-by-id\" uses id as token internally)\n res = await (\n endpoints.collection.POST[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req: payloadRequest })\n } else if (slug3 === 'duplicate' && collection.config.disableDuplicate !== true) {\n // /:collection/:id/duplicate\n res = await endpoints.collection.POST.duplicate({\n id: slug2,\n collection,\n req: payloadRequest,\n })\n }\n break\n }\n }\n } else if (slug1 === 'globals' && slug2) {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.POST.update({ globalConfig, req: payloadRequest })\n break\n case 3:\n if (`doc-${slug3}` in endpoints.global.POST) {\n // /globals/:slug/access\n res = await (endpoints.global.POST?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req: payloadRequest,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.POST) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.POST?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req: payloadRequest,\n })\n }\n break\n default:\n res = new Response('Route Not Found', { status: 404 })\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.POST) {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n res = await endpoints.root.POST[slug1]({ req: payloadRequest })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n mergeHeaders(req.responseHeaders, res.headers)\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const DELETE =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n payloadRequest: req,\n })\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.DELETE.delete({ collection, req: payloadRequest })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.DELETE.deleteByID({\n id: slug2,\n collection,\n req: payloadRequest,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n mergeHeaders(req.responseHeaders, res.headers)\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const PATCH =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.PATCH.update({ collection, req: payloadRequest })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.PATCH.updateByID({\n id: slug2,\n collection,\n req: payloadRequest,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n mergeHeaders(req.responseHeaders, res.headers)\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n"],"names":["httpStatus","match","addDataAndFileToRequest","addLocalesToRequestFromData","createPayloadRequest","headersWithCors","mergeHeaders","access","forgotPassword","init","login","logout","me","refresh","registerFirstUser","resetPassword","unlock","verifyEmail","buildFormState","endpointsAreDisabled","count","create","deleteDoc","deleteByID","docAccess","duplicate","find","findByID","findVersionByID","findVersions","preview","previewCollection","restoreVersion","update","updateByID","getFile","docAccessGlobal","findOne","findVersionByIdGlobal","findVersionsGlobal","previewGlobal","restoreVersionGlobal","updateGlobal","generateOGImage","routeError","endpoints","collection","DELETE","delete","GET","versions","PATCH","POST","global","root","og","handleCustomEndpoints","entitySlug","payloadRequest","length","handlerParams","pathname","adjustedPathname","process","env","NEXT_BASE_PATH","pathPrefix","payload","config","routes","api","customEndpoint","endpoint","method","toLowerCase","pathMatchFn","path","decode","decodeURIComponent","tempParams","params","routeParams","res","handler","Response","responseHeaders","headers","RouteNotFoundResponse","slug","req","json","message","join","Headers","status","NOT_FOUND","OPTIONS","request","error","err","slug1","slug2","slug3","slug4","disableEndpoints","collections","customEndpointResponse","reqWithData","id","filename","globalConfig","globals","overrideHttpMethod","get","disableDuplicate"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/routes/rest/og/image.tsx"],"sourcesContent":["import React from 'react'\n\nexport const OGImage: React.FC<{\n Icon: React.ComponentType<any>\n description?: string\n fontFamily?: string\n leader?: string\n title?: string\n}> = ({ Icon, description, fontFamily = 'Arial, sans-serif', leader, title }) => {\n return (\n <div\n style={{\n backgroundColor: '#000',\n color: '#fff',\n display: 'flex',\n flexDirection: 'column',\n fontFamily,\n height: '100%',\n justifyContent: 'space-between',\n padding: '100px',\n width: '100%',\n }}\n >\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n fontSize: 50,\n height: '100%',\n }}\n >\n {leader && (\n <div\n style={{\n fontSize: 30,\n marginBottom: 10,\n }}\n >\n {leader}\n </div>\n )}\n <p\n style={{\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 2,\n display: '-webkit-box',\n fontSize: 90,\n lineHeight: 1,\n marginBottom: 0,\n marginTop: 0,\n textOverflow: 'ellipsis',\n }}\n >\n {title}\n </p>\n {description && (\n <p\n style={{\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 2,\n display: '-webkit-box',\n flexGrow: 1,\n fontSize: 30,\n lineHeight: 1,\n marginBottom: 0,\n marginTop: 40,\n textOverflow: 'ellipsis',\n }}\n >\n {description}\n </p>\n )}\n </div>\n <div\n style={{\n alignItems: 'flex-end',\n display: 'flex',\n flexShrink: 0,\n height: '38px',\n justifyContent: 'center',\n width: '38px',\n }}\n >\n <Icon fill=\"white\" />\n </div>\n </div>\n )\n}\n"],"names":["React","OGImage","Icon","description","fontFamily","leader","title","div","style","backgroundColor","color","display","flexDirection","height","justifyContent","padding","width","flexGrow","fontSize","marginBottom","p","WebkitBoxOrient","WebkitLineClamp","lineHeight","marginTop","textOverflow","alignItems","flexShrink","fill"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/routes/rest/og/image.tsx"],"sourcesContent":["import React from 'react'\n\nexport const OGImage: React.FC<{\n Icon: React.ComponentType<any>\n description?: string\n fontFamily?: string\n leader?: string\n title?: string\n}> = ({ Icon, description, fontFamily = 'Arial, sans-serif', leader, title }) => {\n return (\n <div\n style={{\n backgroundColor: '#000',\n color: '#fff',\n display: 'flex',\n flexDirection: 'column',\n fontFamily,\n height: '100%',\n justifyContent: 'space-between',\n padding: '100px',\n width: '100%',\n }}\n >\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n fontSize: 50,\n height: '100%',\n }}\n >\n {leader && (\n <div\n style={{\n fontSize: 30,\n marginBottom: 10,\n }}\n >\n {leader}\n </div>\n )}\n <p\n style={{\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 2,\n display: '-webkit-box',\n fontSize: 90,\n lineHeight: 1,\n marginBottom: 0,\n marginTop: 0,\n textOverflow: 'ellipsis',\n }}\n >\n {title}\n </p>\n {description && (\n <p\n style={{\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 2,\n display: '-webkit-box',\n flexGrow: 1,\n fontSize: 30,\n lineHeight: 1,\n marginBottom: 0,\n marginTop: 40,\n textOverflow: 'ellipsis',\n }}\n >\n {description}\n </p>\n )}\n </div>\n <div\n style={{\n alignItems: 'flex-end',\n display: 'flex',\n flexShrink: 0,\n height: '38px',\n justifyContent: 'center',\n width: '38px',\n }}\n >\n <Icon fill=\"white\" />\n </div>\n </div>\n )\n}\n"],"names":["React","OGImage","Icon","description","fontFamily","leader","title","div","style","backgroundColor","color","display","flexDirection","height","justifyContent","padding","width","flexGrow","fontSize","marginBottom","p","WebkitBoxOrient","WebkitLineClamp","lineHeight","marginTop","textOverflow","alignItems","flexShrink","fill"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAEzB,OAAO,MAAMC,UAMR,CAAC,EAAEC,IAAI,EAAEC,WAAW,EAAEC,aAAa,mBAAmB,EAAEC,MAAM,EAAEC,KAAK,EAAE;IAC1E,qBACE,MAACC;QACCC,OAAO;YACLC,iBAAiB;YACjBC,OAAO;YACPC,SAAS;YACTC,eAAe;YACfR;YACAS,QAAQ;YACRC,gBAAgB;YAChBC,SAAS;YACTC,OAAO;QACT;;0BAEA,MAACT;gBACCC,OAAO;oBACLG,SAAS;oBACTC,eAAe;oBACfK,UAAU;oBACVC,UAAU;oBACVL,QAAQ;gBACV;;oBAECR,wBACC,KAACE;wBACCC,OAAO;4BACLU,UAAU;4BACVC,cAAc;wBAChB;kCAECd;;kCAGL,KAACe;wBACCZ,OAAO;4BACLa,iBAAiB;4BACjBC,iBAAiB;4BACjBX,SAAS;4BACTO,UAAU;4BACVK,YAAY;4BACZJ,cAAc;4BACdK,WAAW;4BACXC,cAAc;wBAChB;kCAECnB;;oBAEFH,6BACC,KAACiB;wBACCZ,OAAO;4BACLa,iBAAiB;4BACjBC,iBAAiB;4BACjBX,SAAS;4BACTM,UAAU;4BACVC,UAAU;4BACVK,YAAY;4BACZJ,cAAc;4BACdK,WAAW;4BACXC,cAAc;wBAChB;kCAECtB;;;;0BAIP,KAACI;gBACCC,OAAO;oBACLkB,YAAY;oBACZf,SAAS;oBACTgB,YAAY;oBACZd,QAAQ;oBACRC,gBAAgB;oBAChBE,OAAO;gBACT;0BAEA,cAAA,KAACd;oBAAK0B,MAAK;;;;;AAInB,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/routes/rest/og/index.tsx"],"sourcesContent":["import type { PayloadRequestWithData } from 'payload'\n\nimport { PayloadIcon } from '@payloadcms/ui/shared'\nimport fs from 'fs/promises'\nimport { ImageResponse } from 'next/og.js'\nimport { NextResponse } from 'next/server.js'\nimport path from 'path'\nimport React from 'react'\nimport { fileURLToPath } from 'url'\n\nimport { OGImage } from './image.js'\n\nconst filename = fileURLToPath(import.meta.url)\nconst dirname = path.dirname(filename)\n\nexport const runtime = 'nodejs'\n\nexport const contentType = 'image/png'\n\nexport const generateOGImage = async ({ req }: { req: PayloadRequestWithData }) => {\n const config = req.payload.config\n\n if (config.admin.meta.defaultOGImageType === 'off') {\n return NextResponse.json({ error: `Open Graph images are disabled` }, { status: 400 })\n }\n\n try {\n const { searchParams } = new URL(req.url)\n\n const hasTitle = searchParams.has('title')\n const title = hasTitle ? searchParams.get('title')?.slice(0, 100) : ''\n const hasLeader = searchParams.has('leader')\n const leader = hasLeader ? searchParams.get('leader')?.slice(0, 100).replace('-', ' ') : ''\n const description = searchParams.has('description') ? searchParams.get('description') : ''\n const Icon = config.admin?.components?.graphics?.Icon || PayloadIcon\n\n let fontData\n\n try {\n // TODO: replace with `.woff2` file when supported\n // See https://github.com/vercel/next.js/issues/63935\n // Or better yet, use a CDN like Google Fonts if ever supported\n fontData = fs.readFile(path.join(dirname, 'roboto-regular.woff'))\n } catch (e) {\n console.error(`Error reading font file or not readable: ${e.message}`) // eslint-disable-line no-console\n }\n\n const fontFamily = 'Roboto, sans-serif'\n\n return new ImageResponse(\n (\n <OGImage\n Icon={Icon}\n description={description}\n fontFamily={fontFamily}\n leader={leader}\n title={title}\n />\n ),\n {\n ...(fontData\n ? {\n fonts: [\n {\n name: 'Roboto',\n data: await fontData,\n style: 'normal',\n weight: 400,\n },\n ],\n }\n : {}),\n height: 630,\n width: 1200,\n },\n )\n } catch (e: any) {\n console.error(`${e.message}`) // eslint-disable-line no-console\n return NextResponse.json({ error: `Internal Server Error: ${e.message}` }, { status: 500 })\n }\n}\n"],"names":["PayloadIcon","fs","ImageResponse","NextResponse","path","React","fileURLToPath","OGImage","filename","url","dirname","runtime","contentType","generateOGImage","req","config","payload","admin","meta","defaultOGImageType","json","error","status","searchParams","URL","hasTitle","has","title","get","slice","hasLeader","leader","replace","description","Icon","components","graphics","fontData","readFile","join","e","console","message","fontFamily","fonts","name","data","style","weight","height","width"],"
|
|
1
|
+
{"version":3,"sources":["../../../../src/routes/rest/og/index.tsx"],"sourcesContent":["import type { PayloadRequestWithData } from 'payload'\n\nimport { PayloadIcon } from '@payloadcms/ui/shared'\nimport fs from 'fs/promises'\nimport { ImageResponse } from 'next/og.js'\nimport { NextResponse } from 'next/server.js'\nimport path from 'path'\nimport React from 'react'\nimport { fileURLToPath } from 'url'\n\nimport { OGImage } from './image.js'\n\nconst filename = fileURLToPath(import.meta.url)\nconst dirname = path.dirname(filename)\n\nexport const runtime = 'nodejs'\n\nexport const contentType = 'image/png'\n\nexport const generateOGImage = async ({ req }: { req: PayloadRequestWithData }) => {\n const config = req.payload.config\n\n if (config.admin.meta.defaultOGImageType === 'off') {\n return NextResponse.json({ error: `Open Graph images are disabled` }, { status: 400 })\n }\n\n try {\n const { searchParams } = new URL(req.url)\n\n const hasTitle = searchParams.has('title')\n const title = hasTitle ? searchParams.get('title')?.slice(0, 100) : ''\n const hasLeader = searchParams.has('leader')\n const leader = hasLeader ? searchParams.get('leader')?.slice(0, 100).replace('-', ' ') : ''\n const description = searchParams.has('description') ? searchParams.get('description') : ''\n const Icon = config.admin?.components?.graphics?.Icon || PayloadIcon\n\n let fontData\n\n try {\n // TODO: replace with `.woff2` file when supported\n // See https://github.com/vercel/next.js/issues/63935\n // Or better yet, use a CDN like Google Fonts if ever supported\n fontData = fs.readFile(path.join(dirname, 'roboto-regular.woff'))\n } catch (e) {\n console.error(`Error reading font file or not readable: ${e.message}`) // eslint-disable-line no-console\n }\n\n const fontFamily = 'Roboto, sans-serif'\n\n return new ImageResponse(\n (\n <OGImage\n Icon={Icon}\n description={description}\n fontFamily={fontFamily}\n leader={leader}\n title={title}\n />\n ),\n {\n ...(fontData\n ? {\n fonts: [\n {\n name: 'Roboto',\n data: await fontData,\n style: 'normal',\n weight: 400,\n },\n ],\n }\n : {}),\n height: 630,\n width: 1200,\n },\n )\n } catch (e: any) {\n console.error(`${e.message}`) // eslint-disable-line no-console\n return NextResponse.json({ error: `Internal Server Error: ${e.message}` }, { status: 500 })\n }\n}\n"],"names":["PayloadIcon","fs","ImageResponse","NextResponse","path","React","fileURLToPath","OGImage","filename","url","dirname","runtime","contentType","generateOGImage","req","config","payload","admin","meta","defaultOGImageType","json","error","status","searchParams","URL","hasTitle","has","title","get","slice","hasLeader","leader","replace","description","Icon","components","graphics","fontData","readFile","join","e","console","message","fontFamily","fonts","name","data","style","weight","height","width"],"mappings":";AAEA,SAASA,WAAW,QAAQ,wBAAuB;AACnD,OAAOC,QAAQ,cAAa;AAC5B,SAASC,aAAa,QAAQ,aAAY;AAC1C,SAASC,YAAY,QAAQ,iBAAgB;AAC7C,OAAOC,UAAU,OAAM;AACvB,OAAOC,WAAW,QAAO;AACzB,SAASC,aAAa,QAAQ,MAAK;AAEnC,SAASC,OAAO,QAAQ,aAAY;AAEpC,MAAMC,WAAWF,cAAc,YAAYG,GAAG;AAC9C,MAAMC,UAAUN,KAAKM,OAAO,CAACF;AAE7B,OAAO,MAAMG,UAAU,SAAQ;AAE/B,OAAO,MAAMC,cAAc,YAAW;AAEtC,OAAO,MAAMC,kBAAkB,OAAO,EAAEC,GAAG,EAAmC;IAC5E,MAAMC,SAASD,IAAIE,OAAO,CAACD,MAAM;IAEjC,IAAIA,OAAOE,KAAK,CAACC,IAAI,CAACC,kBAAkB,KAAK,OAAO;QAClD,OAAOhB,aAAaiB,IAAI,CAAC;YAAEC,OAAO,CAAC,8BAA8B,CAAC;QAAC,GAAG;YAAEC,QAAQ;QAAI;IACtF;IAEA,IAAI;QACF,MAAM,EAAEC,YAAY,EAAE,GAAG,IAAIC,IAAIV,IAAIL,GAAG;QAExC,MAAMgB,WAAWF,aAAaG,GAAG,CAAC;QAClC,MAAMC,QAAQF,WAAWF,aAAaK,GAAG,CAAC,UAAUC,MAAM,GAAG,OAAO;QACpE,MAAMC,YAAYP,aAAaG,GAAG,CAAC;QACnC,MAAMK,SAASD,YAAYP,aAAaK,GAAG,CAAC,WAAWC,MAAM,GAAG,KAAKG,QAAQ,KAAK,OAAO;QACzF,MAAMC,cAAcV,aAAaG,GAAG,CAAC,iBAAiBH,aAAaK,GAAG,CAAC,iBAAiB;QACxF,MAAMM,OAAOnB,OAAOE,KAAK,EAAEkB,YAAYC,UAAUF,QAAQlC;QAEzD,IAAIqC;QAEJ,IAAI;YACF,kDAAkD;YAClD,qDAAqD;YACrD,+DAA+D;YAC/DA,WAAWpC,GAAGqC,QAAQ,CAAClC,KAAKmC,IAAI,CAAC7B,SAAS;QAC5C,EAAE,OAAO8B,GAAG;YACVC,QAAQpB,KAAK,CAAC,CAAC,yCAAyC,EAAEmB,EAAEE,OAAO,CAAC,CAAC,EAAE,iCAAiC;;QAC1G;QAEA,MAAMC,aAAa;QAEnB,OAAO,IAAIzC,4BAEP,KAACK;YACC2B,MAAMA;YACND,aAAaA;YACbU,YAAYA;YACZZ,QAAQA;YACRJ,OAAOA;YAGX;YACE,GAAIU,WACA;gBACEO,OAAO;oBACL;wBACEC,MAAM;wBACNC,MAAM,MAAMT;wBACZU,OAAO;wBACPC,QAAQ;oBACV;iBACD;YACH,IACA,CAAC,CAAC;YACNC,QAAQ;YACRC,OAAO;QACT;IAEJ,EAAE,OAAOV,GAAQ;QACfC,QAAQpB,KAAK,CAAC,CAAC,EAAEmB,EAAEE,OAAO,CAAC,CAAC,EAAE,iCAAiC;;QAC/D,OAAOvC,aAAaiB,IAAI,CAAC;YAAEC,OAAO,CAAC,uBAAuB,EAAEmB,EAAEE,OAAO,CAAC,CAAC;QAAC,GAAG;YAAEpB,QAAQ;QAAI;IAC3F;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routeError.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/routeError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAGlF,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAKlC,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AA+D7E,eAAO,MAAM,UAAU,iDAKpB;IACD,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"routeError.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/routeError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAGlF,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAKlC,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AA+D7E,eAAO,MAAM,UAAU,iDAKpB;IACD,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,GAAG,EAAE,QAAQ,CAAA;IACb,GAAG,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;CACrC,sBA8DA,CAAA"}
|