@depup/payload 3.81.0-depup.1 → 3.82.0-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/changes.json +2 -2
- package/dist/bin/generateTypes.d.ts.map +1 -1
- package/dist/bin/generateTypes.js +8 -0
- package/dist/bin/generateTypes.js.map +1 -1
- package/dist/collections/config/sanitize.d.ts +2 -1
- package/dist/collections/config/sanitize.d.ts.map +1 -1
- package/dist/collections/config/sanitize.js +4 -1
- package/dist/collections/config/sanitize.js.map +1 -1
- package/dist/collections/operations/utilities/update.d.ts.map +1 -1
- package/dist/collections/operations/utilities/update.js +2 -1
- package/dist/collections/operations/utilities/update.js.map +1 -1
- package/dist/config/orderable/index.d.ts +2 -10
- package/dist/config/orderable/index.d.ts.map +1 -1
- package/dist/config/orderable/index.js +20 -67
- package/dist/config/orderable/index.js.map +1 -1
- package/dist/config/sanitize.d.ts.map +1 -1
- package/dist/config/sanitize.js +45 -5
- package/dist/config/sanitize.js.map +1 -1
- package/dist/config/types.d.ts +20 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/fields/config/sanitize.d.ts +54 -2
- package/dist/fields/config/sanitize.d.ts.map +1 -1
- package/dist/fields/config/sanitize.js +333 -285
- package/dist/fields/config/sanitize.js.map +1 -1
- package/dist/fields/config/sanitize.spec.js +82 -0
- package/dist/fields/config/sanitize.spec.js.map +1 -1
- package/dist/fields/config/sanitizeJoinField.d.ts +15 -1
- package/dist/fields/config/sanitizeJoinField.d.ts.map +1 -1
- package/dist/fields/config/sanitizeJoinField.js +17 -1
- package/dist/fields/config/sanitizeJoinField.js.map +1 -1
- package/dist/globals/operations/findOne.d.ts +1 -0
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findOne.js +10 -3
- package/dist/globals/operations/findOne.js.map +1 -1
- package/dist/globals/operations/local/findOne.d.ts +8 -0
- package/dist/globals/operations/local/findOne.d.ts.map +1 -1
- package/dist/globals/operations/local/findOne.js +2 -1
- package/dist/globals/operations/local/findOne.js.map +1 -1
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/globals/operations/update.js +2 -1
- package/dist/globals/operations/update.js.map +1 -1
- package/dist/index.bundled.d.ts +112 -18
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/uploads/checkFileAccess.d.ts +2 -1
- package/dist/uploads/checkFileAccess.d.ts.map +1 -1
- package/dist/uploads/checkFileAccess.js +25 -14
- package/dist/uploads/checkFileAccess.js.map +1 -1
- package/dist/uploads/checkFileAccess.spec.js +109 -0
- package/dist/uploads/checkFileAccess.spec.js.map +1 -0
- package/dist/uploads/endpoints/getFile.d.ts.map +1 -1
- package/dist/uploads/endpoints/getFile.js +4 -1
- package/dist/uploads/endpoints/getFile.js.map +1 -1
- package/dist/uploads/types.d.ts +2 -1
- package/dist/uploads/types.d.ts.map +1 -1
- package/dist/uploads/types.js.map +1 -1
- package/dist/utilities/slugify.d.ts.map +1 -1
- package/dist/utilities/slugify.js +1 -1
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/utilities/validateTimezones.d.ts.map +1 -1
- package/dist/utilities/validateTimezones.js +7 -0
- package/dist/utilities/validateTimezones.js.map +1 -1
- package/dist/versions/types.d.ts +1 -1
- package/dist/versions/types.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/config/orderable/index.ts"],"sourcesContent":["import { status as httpStatus } from 'http-status'\n\nimport type { BeforeChangeHook, CollectionConfig } from '../../collections/config/types.js'\nimport type { Field } from '../../fields/config/types.js'\nimport type { Endpoint, PayloadHandler, SanitizedConfig } from '../types.js'\n\nimport { executeAccess } from '../../auth/executeAccess.js'\nimport { APIError } from '../../errors/index.js'\nimport { combineWhereConstraints } from '../../utilities/combineWhereConstraints.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { traverseFields } from '../../utilities/traverseFields.js'\nimport { generateKeyBetween, generateNKeysBetween } from './fractional-indexing.js'\nimport { getJoinScopeContext } from './utils/getJoinScopeContext.js'\nimport { getJoinScopeWhereFromDocData } from './utils/getJoinScopeWhereFromDocData.js'\nimport { resolvePendingTargetKey } from './utils/resolvePendingTargetKey.js'\n\n/**\n * This function creates:\n * - N fields per collection, named `_order` or `_<collection>_<joinField>_order`\n * - 1 hook per collection\n * - 1 endpoint per app\n *\n * Also, if collection.defaultSort or joinField.defaultSort is not set, it will be set to the orderable field.\n */\nexport const setupOrderable = (config: SanitizedConfig) => {\n const fieldsToAdd = new Map<CollectionConfig, string[]>()\n const joinFieldPathsByCollection = new Map<string, Map<string, string>>()\n\n config.collections.forEach((collection) => {\n if (collection.orderable) {\n const currentFields = fieldsToAdd.get(collection) || []\n fieldsToAdd.set(collection, [...currentFields, '_order'])\n collection.defaultSort = collection.defaultSort ?? '_order'\n }\n\n traverseFields({\n callback: ({ field, parentRef, ref }) => {\n if (field.type === 'array' || field.type === 'blocks') {\n return false\n }\n if (field.type === 'group' || field.type === 'tab') {\n // @ts-expect-error ref is untyped\n const parentPrefix = parentRef?.prefix ? `${parentRef.prefix}_` : ''\n // @ts-expect-error ref is untyped\n ref.prefix = `${parentPrefix}${field.name}`\n }\n if (field.type === 'join' && field.orderable === true) {\n if (Array.isArray(field.collection)) {\n throw new APIError(\n 'Orderable joins must target a single collection',\n httpStatus.BAD_REQUEST,\n {},\n true,\n )\n }\n const relationshipCollection = config.collections.find((c) => c.slug === field.collection)\n if (!relationshipCollection) {\n return false\n }\n field.defaultSort = field.defaultSort ?? `_${field.collection}_${field.name}_order`\n const currentFields = fieldsToAdd.get(relationshipCollection) || []\n // @ts-expect-error ref is untyped\n const prefix = parentRef?.prefix ? `${parentRef.prefix}_` : ''\n const joinOrderableFieldName = `_${field.collection}_${prefix}${field.name}_order`\n fieldsToAdd.set(relationshipCollection, [...currentFields, joinOrderableFieldName])\n\n const currentJoinFieldPaths =\n joinFieldPathsByCollection.get(relationshipCollection.slug) || new Map<string, string>()\n currentJoinFieldPaths.set(joinOrderableFieldName, field.on)\n joinFieldPathsByCollection.set(relationshipCollection.slug, currentJoinFieldPaths)\n }\n },\n fields: collection.fields,\n })\n })\n\n Array.from(fieldsToAdd.entries()).forEach(([collection, orderableFields]) => {\n addOrderableFieldsAndHook(collection, orderableFields, joinFieldPathsByCollection)\n })\n\n if (fieldsToAdd.size > 0) {\n addOrderableEndpoint(config, joinFieldPathsByCollection)\n }\n}\n\nexport const addOrderableFieldsAndHook = (\n collection: CollectionConfig,\n orderableFieldNames: string[],\n joinFieldPathsByCollection?: Map<string, Map<string, string>>,\n) => {\n // 1. Add field\n orderableFieldNames.forEach((orderableFieldName) => {\n const orderField: Field = {\n name: orderableFieldName,\n type: 'text',\n admin: {\n disableBulkEdit: true,\n disabled: true,\n disableGroupBy: true,\n disableListColumn: true,\n disableListFilter: true,\n hidden: true,\n readOnly: true,\n },\n hooks: {\n beforeDuplicate: [\n ({ siblingData }) => {\n delete siblingData[orderableFieldName]\n },\n ],\n },\n index: true,\n }\n\n collection.fields.unshift(orderField)\n })\n\n // 2. Add hook\n if (!collection.hooks) {\n collection.hooks = {}\n }\n if (!collection.hooks.beforeChange) {\n collection.hooks.beforeChange = []\n }\n\n const orderBeforeChangeHook: BeforeChangeHook = async ({ data, originalDoc, req }) => {\n for (const orderableFieldName of orderableFieldNames) {\n if (!data[orderableFieldName] && !originalDoc?.[orderableFieldName]) {\n const joinScopeWhere = getJoinScopeWhereFromDocData({\n collectionSlug: collection.slug,\n data,\n joinFieldPathsByCollection,\n orderableFieldName,\n originalDoc,\n })\n\n const lastDoc = await req.payload.find({\n collection: collection.slug,\n depth: 0,\n limit: 1,\n pagination: false,\n req,\n select: { [orderableFieldName]: true },\n sort: `-${orderableFieldName}`,\n where: combineWhereConstraints([\n {\n [orderableFieldName]: {\n exists: true,\n },\n },\n joinScopeWhere ?? undefined,\n ]),\n })\n\n const lastOrderValue = lastDoc.docs[0]?.[orderableFieldName] || null\n data[orderableFieldName] = generateKeyBetween(lastOrderValue, null)\n }\n }\n\n return data\n }\n\n collection.hooks.beforeChange.push(orderBeforeChangeHook)\n}\n\n/**\n * The body of the reorder endpoint.\n * @internal\n */\nexport type OrderableEndpointBody = {\n collectionSlug: string\n docsToMove: string[]\n newKeyWillBe: 'greater' | 'less'\n orderableFieldName: string\n target: {\n id: string\n key: string\n }\n}\n\nexport const addOrderableEndpoint = (\n config: SanitizedConfig,\n joinFieldPathsByCollection: Map<string, Map<string, string>>,\n) => {\n // 3. Add endpoint\n const reorderHandler: PayloadHandler = async (req) => {\n const body = (await req.json?.()) as OrderableEndpointBody\n\n const { collectionSlug, docsToMove, newKeyWillBe, orderableFieldName, target } = body\n\n if (!Array.isArray(docsToMove) || docsToMove.length === 0) {\n return new Response(JSON.stringify({ error: 'docsToMove must be a non-empty array' }), {\n headers: { 'Content-Type': 'application/json' },\n status: 400,\n })\n }\n if (newKeyWillBe !== 'greater' && newKeyWillBe !== 'less') {\n return new Response(JSON.stringify({ error: 'newKeyWillBe must be \"greater\" or \"less\"' }), {\n headers: { 'Content-Type': 'application/json' },\n status: 400,\n })\n }\n const collection = config.collections.find((c) => c.slug === collectionSlug)\n if (!collection) {\n return new Response(JSON.stringify({ error: `Collection ${collectionSlug} not found` }), {\n headers: { 'Content-Type': 'application/json' },\n status: 400,\n })\n }\n if (typeof orderableFieldName !== 'string') {\n return new Response(JSON.stringify({ error: 'orderableFieldName must be a string' }), {\n headers: { 'Content-Type': 'application/json' },\n status: 400,\n })\n }\n\n const { joinScopeWhere, targetDoc } = await getJoinScopeContext({\n collectionSlug: collection.slug,\n joinFieldPathsByCollection,\n orderableFieldName,\n req,\n target,\n })\n\n // Prevent reordering if user doesn't have editing permissions\n if (collection.access?.update) {\n await executeAccess(\n {\n // Currently only one doc can be moved at a time. We should review this if we want to allow\n // multiple docs to be moved at once in the future.\n id: docsToMove[0],\n data: {},\n req,\n },\n collection.access.update,\n )\n }\n /**\n * If there is no target.key, we can assume the user enabled `orderable`\n * on a collection with existing documents, and that this is the first\n * time they tried to reorder them. Therefore, we perform a one-time\n * migration by setting the key value for all documents. We do this\n * instead of enforcing `required` and `unique` at the database schema\n * level, so that users don't have to run a migration when they enable\n * `orderable` on a collection with existing documents.\n */\n if (!target.key) {\n const { docs } = await req.payload.find({\n collection: collection.slug,\n depth: 0,\n limit: 0,\n req,\n select: { [orderableFieldName]: true },\n where: combineWhereConstraints([\n {\n [orderableFieldName]: {\n exists: false,\n },\n },\n joinScopeWhere ?? undefined,\n ]),\n })\n await initTransaction(req)\n // We cannot update all documents in a single operation with `payload.update`,\n // because they would all end up with the same order key (`a0`).\n try {\n for (const doc of docs) {\n await req.payload.update({\n id: doc.id,\n collection: collection.slug,\n data: {\n // no data needed since the order hooks will handle this\n },\n depth: 0,\n req,\n })\n await commitTransaction(req)\n }\n } catch (e) {\n await killTransaction(req)\n if (e instanceof Error) {\n throw new APIError(e.message, httpStatus.INTERNAL_SERVER_ERROR)\n }\n }\n\n return new Response(JSON.stringify({ message: 'initial migration', success: true }), {\n headers: { 'Content-Type': 'application/json' },\n status: 200,\n })\n }\n\n if (\n typeof target !== 'object' ||\n typeof target.id === 'undefined' ||\n typeof target.key !== 'string'\n ) {\n return new Response(JSON.stringify({ error: 'target must be an object with id' }), {\n headers: { 'Content-Type': 'application/json' },\n status: 400,\n })\n }\n\n const targetId = target.id\n const targetKey = await resolvePendingTargetKey({\n collectionSlug: collection.slug,\n orderableFieldName,\n req,\n targetDoc,\n targetID: targetId,\n targetKey: target.key,\n })\n\n // The reason the endpoint does not receive this docId as an argument is that there\n // are situations where the user may not see or know what the next or previous one is. For\n // example, access control restrictions, if docBefore is the last one on the page, etc.\n const adjacentDoc = await req.payload.find({\n collection: collection.slug,\n depth: 0,\n limit: 1,\n pagination: false,\n select: { [orderableFieldName]: true },\n sort: newKeyWillBe === 'greater' ? orderableFieldName : `-${orderableFieldName}`,\n where: combineWhereConstraints([\n {\n [orderableFieldName]: {\n [newKeyWillBe === 'greater' ? 'greater_than' : 'less_than']: targetKey,\n },\n },\n joinScopeWhere ?? undefined,\n ]),\n })\n const adjacentDocKey = adjacentDoc.docs?.[0]?.[orderableFieldName] || null\n\n // Currently N (= docsToMove.length) is always 1. Maybe in the future we will\n // allow dragging and reordering multiple documents at once via the UI.\n const orderValues =\n newKeyWillBe === 'greater'\n ? generateNKeysBetween(targetKey, adjacentDocKey, docsToMove.length)\n : generateNKeysBetween(adjacentDocKey, targetKey, docsToMove.length)\n\n // Update each document with its new order value\n for (const [index, id] of docsToMove.entries()) {\n await req.payload.update({\n id,\n collection: collection.slug,\n data: {\n [orderableFieldName]: orderValues[index],\n },\n depth: 0,\n req,\n })\n }\n\n return new Response(JSON.stringify({ orderValues, success: true }), {\n headers: { 'Content-Type': 'application/json' },\n status: 200,\n })\n }\n\n const reorderEndpoint: Endpoint = {\n handler: reorderHandler,\n method: 'post',\n path: '/reorder',\n }\n\n if (!config.endpoints) {\n config.endpoints = []\n }\n\n config.endpoints.push(reorderEndpoint)\n}\n"],"names":["status","httpStatus","executeAccess","APIError","combineWhereConstraints","commitTransaction","initTransaction","killTransaction","traverseFields","generateKeyBetween","generateNKeysBetween","getJoinScopeContext","getJoinScopeWhereFromDocData","resolvePendingTargetKey","setupOrderable","config","fieldsToAdd","Map","joinFieldPathsByCollection","collections","forEach","collection","orderable","currentFields","get","set","defaultSort","callback","field","parentRef","ref","type","parentPrefix","prefix","name","Array","isArray","BAD_REQUEST","relationshipCollection","find","c","slug","joinOrderableFieldName","currentJoinFieldPaths","on","fields","from","entries","orderableFields","addOrderableFieldsAndHook","size","addOrderableEndpoint","orderableFieldNames","orderableFieldName","orderField","admin","disableBulkEdit","disabled","disableGroupBy","disableListColumn","disableListFilter","hidden","readOnly","hooks","beforeDuplicate","siblingData","index","unshift","beforeChange","orderBeforeChangeHook","data","originalDoc","req","joinScopeWhere","collectionSlug","lastDoc","payload","depth","limit","pagination","select","sort","where","exists","undefined","lastOrderValue","docs","push","reorderHandler","body","json","docsToMove","newKeyWillBe","target","length","Response","JSON","stringify","error","headers","targetDoc","access","update","id","key","doc","e","Error","message","INTERNAL_SERVER_ERROR","success","targetId","targetKey","targetID","adjacentDoc","adjacentDocKey","orderValues","reorderEndpoint","handler","method","path","endpoints"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/config/orderable/index.ts"],"sourcesContent":["import { status as httpStatus } from 'http-status'\n\nimport type { BeforeChangeHook, CollectionConfig } from '../../collections/config/types.js'\nimport type { Config } from '../../config/types.js'\nimport type { Field, TextField } from '../../fields/config/types.js'\nimport type { Endpoint, PayloadHandler, SanitizedConfig } from '../types.js'\n\nimport { executeAccess } from '../../auth/executeAccess.js'\nimport { APIError } from '../../errors/index.js'\nimport { sanitizeField } from '../../fields/config/sanitize.js'\nimport { combineWhereConstraints } from '../../utilities/combineWhereConstraints.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { generateKeyBetween, generateNKeysBetween } from './fractional-indexing.js'\nimport { getJoinScopeContext } from './utils/getJoinScopeContext.js'\nimport { getJoinScopeWhereFromDocData } from './utils/getJoinScopeWhereFromDocData.js'\nimport { resolvePendingTargetKey } from './utils/resolvePendingTargetKey.js'\n\nexport const addOrderableFieldsAndHook = async (\n collection: CollectionConfig,\n config: Config,\n orderableFieldNames: string[],\n joinFieldPathsByCollection?: Map<string, Map<string, string>>,\n) => {\n // 1. Add fields\n for (const orderableFieldName of orderableFieldNames) {\n const orderField: TextField = {\n name: orderableFieldName,\n type: 'text',\n admin: {\n disableBulkEdit: true,\n disabled: true,\n disableGroupBy: true,\n disableListColumn: true,\n disableListFilter: true,\n hidden: true,\n readOnly: true,\n },\n hooks: {\n beforeDuplicate: [\n ({ siblingData }) => {\n delete siblingData[orderableFieldName]\n },\n ],\n },\n index: true,\n }\n\n // Sanitize the field using the standard sanitization logic\n await sanitizeField({\n collectionConfig: collection,\n config,\n existingFieldNames: new Set(),\n field: orderField,\n index: 0,\n isTopLevelField: true,\n joinPath: '',\n parentIndexPath: '',\n parentIsLocalized: false,\n parentSchemaPath: '',\n requireFieldLevelRichTextEditor: false,\n validRelationships: null,\n })\n\n collection.fields.unshift(orderField)\n }\n\n // 2. Add hook\n if (!collection.hooks) {\n collection.hooks = {}\n }\n if (!collection.hooks.beforeChange) {\n collection.hooks.beforeChange = []\n }\n\n const orderBeforeChangeHook: BeforeChangeHook = async ({ data, originalDoc, req }) => {\n for (const orderableFieldName of orderableFieldNames) {\n if (!data[orderableFieldName] && !originalDoc?.[orderableFieldName]) {\n const joinScopeWhere = getJoinScopeWhereFromDocData({\n collectionSlug: collection.slug,\n data,\n joinFieldPathsByCollection,\n orderableFieldName,\n originalDoc,\n })\n\n const lastDoc = await req.payload.find({\n collection: collection.slug,\n depth: 0,\n limit: 1,\n pagination: false,\n req,\n select: { [orderableFieldName]: true },\n sort: `-${orderableFieldName}`,\n where: combineWhereConstraints([\n {\n [orderableFieldName]: {\n exists: true,\n },\n },\n joinScopeWhere ?? undefined,\n ]),\n })\n\n const lastOrderValue = lastDoc.docs[0]?.[orderableFieldName] || null\n data[orderableFieldName] = generateKeyBetween(lastOrderValue, null)\n }\n }\n\n return data\n }\n\n collection.hooks.beforeChange.push(orderBeforeChangeHook)\n}\n\n/**\n * The body of the reorder endpoint.\n * @internal\n */\nexport type OrderableEndpointBody = {\n collectionSlug: string\n docsToMove: string[]\n newKeyWillBe: 'greater' | 'less'\n orderableFieldName: string\n target: {\n id: string\n key: string\n }\n}\n\nexport const addOrderableEndpoint = (\n config: SanitizedConfig,\n joinFieldPathsByCollection: Map<string, Map<string, string>>,\n) => {\n // 3. Add endpoint\n const reorderHandler: PayloadHandler = async (req) => {\n const body = (await req.json?.()) as OrderableEndpointBody\n\n const { collectionSlug, docsToMove, newKeyWillBe, orderableFieldName, target } = body\n\n if (!Array.isArray(docsToMove) || docsToMove.length === 0) {\n return new Response(JSON.stringify({ error: 'docsToMove must be a non-empty array' }), {\n headers: { 'Content-Type': 'application/json' },\n status: 400,\n })\n }\n if (newKeyWillBe !== 'greater' && newKeyWillBe !== 'less') {\n return new Response(JSON.stringify({ error: 'newKeyWillBe must be \"greater\" or \"less\"' }), {\n headers: { 'Content-Type': 'application/json' },\n status: 400,\n })\n }\n const collection = config.collections.find((c) => c.slug === collectionSlug)\n if (!collection) {\n return new Response(JSON.stringify({ error: `Collection ${collectionSlug} not found` }), {\n headers: { 'Content-Type': 'application/json' },\n status: 400,\n })\n }\n if (typeof orderableFieldName !== 'string') {\n return new Response(JSON.stringify({ error: 'orderableFieldName must be a string' }), {\n headers: { 'Content-Type': 'application/json' },\n status: 400,\n })\n }\n\n const { joinScopeWhere, targetDoc } = await getJoinScopeContext({\n collectionSlug: collection.slug,\n joinFieldPathsByCollection,\n orderableFieldName,\n req,\n target,\n })\n\n // Prevent reordering if user doesn't have editing permissions\n if (collection.access?.update) {\n await executeAccess(\n {\n // Currently only one doc can be moved at a time. We should review this if we want to allow\n // multiple docs to be moved at once in the future.\n id: docsToMove[0],\n data: {},\n req,\n },\n collection.access.update,\n )\n }\n /**\n * If there is no target.key, we can assume the user enabled `orderable`\n * on a collection with existing documents, and that this is the first\n * time they tried to reorder them. Therefore, we perform a one-time\n * migration by setting the key value for all documents. We do this\n * instead of enforcing `required` and `unique` at the database schema\n * level, so that users don't have to run a migration when they enable\n * `orderable` on a collection with existing documents.\n */\n if (!target.key) {\n const { docs } = await req.payload.find({\n collection: collection.slug,\n depth: 0,\n limit: 0,\n req,\n select: { [orderableFieldName]: true },\n where: combineWhereConstraints([\n {\n [orderableFieldName]: {\n exists: false,\n },\n },\n joinScopeWhere ?? undefined,\n ]),\n })\n await initTransaction(req)\n // We cannot update all documents in a single operation with `payload.update`,\n // because they would all end up with the same order key (`a0`).\n try {\n for (const doc of docs) {\n await req.payload.update({\n id: doc.id,\n collection: collection.slug,\n data: {\n // no data needed since the order hooks will handle this\n },\n depth: 0,\n req,\n })\n await commitTransaction(req)\n }\n } catch (e) {\n await killTransaction(req)\n if (e instanceof Error) {\n throw new APIError(e.message, httpStatus.INTERNAL_SERVER_ERROR)\n }\n }\n\n return new Response(JSON.stringify({ message: 'initial migration', success: true }), {\n headers: { 'Content-Type': 'application/json' },\n status: 200,\n })\n }\n\n if (\n typeof target !== 'object' ||\n typeof target.id === 'undefined' ||\n typeof target.key !== 'string'\n ) {\n return new Response(JSON.stringify({ error: 'target must be an object with id' }), {\n headers: { 'Content-Type': 'application/json' },\n status: 400,\n })\n }\n\n const targetId = target.id\n const targetKey = await resolvePendingTargetKey({\n collectionSlug: collection.slug,\n orderableFieldName,\n req,\n targetDoc,\n targetID: targetId,\n targetKey: target.key,\n })\n\n // The reason the endpoint does not receive this docId as an argument is that there\n // are situations where the user may not see or know what the next or previous one is. For\n // example, access control restrictions, if docBefore is the last one on the page, etc.\n const adjacentDoc = await req.payload.find({\n collection: collection.slug,\n depth: 0,\n limit: 1,\n pagination: false,\n select: { [orderableFieldName]: true },\n sort: newKeyWillBe === 'greater' ? orderableFieldName : `-${orderableFieldName}`,\n where: combineWhereConstraints([\n {\n [orderableFieldName]: {\n [newKeyWillBe === 'greater' ? 'greater_than' : 'less_than']: targetKey,\n },\n },\n joinScopeWhere ?? undefined,\n ]),\n })\n const adjacentDocKey = adjacentDoc.docs?.[0]?.[orderableFieldName] || null\n\n // Currently N (= docsToMove.length) is always 1. Maybe in the future we will\n // allow dragging and reordering multiple documents at once via the UI.\n const orderValues =\n newKeyWillBe === 'greater'\n ? generateNKeysBetween(targetKey, adjacentDocKey, docsToMove.length)\n : generateNKeysBetween(adjacentDocKey, targetKey, docsToMove.length)\n\n // Update each document with its new order value\n for (const [index, id] of docsToMove.entries()) {\n await req.payload.update({\n id,\n collection: collection.slug,\n data: {\n [orderableFieldName]: orderValues[index],\n },\n depth: 0,\n req,\n })\n }\n\n return new Response(JSON.stringify({ orderValues, success: true }), {\n headers: { 'Content-Type': 'application/json' },\n status: 200,\n })\n }\n\n const reorderEndpoint: Endpoint = {\n handler: reorderHandler,\n method: 'post',\n path: '/reorder',\n }\n\n if (!config.endpoints) {\n config.endpoints = []\n }\n\n config.endpoints.push(reorderEndpoint)\n}\n"],"names":["status","httpStatus","executeAccess","APIError","sanitizeField","combineWhereConstraints","commitTransaction","initTransaction","killTransaction","generateKeyBetween","generateNKeysBetween","getJoinScopeContext","getJoinScopeWhereFromDocData","resolvePendingTargetKey","addOrderableFieldsAndHook","collection","config","orderableFieldNames","joinFieldPathsByCollection","orderableFieldName","orderField","name","type","admin","disableBulkEdit","disabled","disableGroupBy","disableListColumn","disableListFilter","hidden","readOnly","hooks","beforeDuplicate","siblingData","index","collectionConfig","existingFieldNames","Set","field","isTopLevelField","joinPath","parentIndexPath","parentIsLocalized","parentSchemaPath","requireFieldLevelRichTextEditor","validRelationships","fields","unshift","beforeChange","orderBeforeChangeHook","data","originalDoc","req","joinScopeWhere","collectionSlug","slug","lastDoc","payload","find","depth","limit","pagination","select","sort","where","exists","undefined","lastOrderValue","docs","push","addOrderableEndpoint","reorderHandler","body","json","docsToMove","newKeyWillBe","target","Array","isArray","length","Response","JSON","stringify","error","headers","collections","c","targetDoc","access","update","id","key","doc","e","Error","message","INTERNAL_SERVER_ERROR","success","targetId","targetKey","targetID","adjacentDoc","adjacentDocKey","orderValues","entries","reorderEndpoint","handler","method","path","endpoints"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/config/sanitize.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/config/sanitize.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,MAAM,EAGN,eAAe,EAIhB,MAAM,YAAY,CAAA;AAoGnB,eAAO,MAAM,cAAc,mBAA0B,MAAM,KAAG,OAAO,CAAC,eAAe,CAibpF,CAAA"}
|
package/dist/config/sanitize.js
CHANGED
|
@@ -15,12 +15,12 @@ import { getPreferencesCollection, preferencesCollectionSlug } from '../preferen
|
|
|
15
15
|
import { getQueryPresetsConfig, queryPresetsCollectionSlug } from '../query-presets/config.js';
|
|
16
16
|
import { getDefaultJobsCollection, jobsCollectionSlug } from '../queues/config/collection.js';
|
|
17
17
|
import { getJobStatsGlobal } from '../queues/config/global.js';
|
|
18
|
-
import { flattenBlock } from '../utilities/flattenAllFields.js';
|
|
18
|
+
import { flattenAllFields, flattenBlock } from '../utilities/flattenAllFields.js';
|
|
19
19
|
import { hasScheduledPublishEnabled } from '../utilities/getVersionsConfig.js';
|
|
20
20
|
import { validateTimezones } from '../utilities/validateTimezones.js';
|
|
21
21
|
import { getSchedulePublishTask } from '../versions/schedule/job.js';
|
|
22
22
|
import { addDefaultsToConfig } from './defaults.js';
|
|
23
|
-
import {
|
|
23
|
+
import { addOrderableEndpoint, addOrderableFieldsAndHook } from './orderable/index.js';
|
|
24
24
|
const sanitizeAdminConfig = (configToSanitize)=>{
|
|
25
25
|
const sanitizedConfig = {
|
|
26
26
|
...configToSanitize
|
|
@@ -87,8 +87,6 @@ const sanitizeAdminConfig = (configToSanitize)=>{
|
|
|
87
87
|
export const sanitizeConfig = async (incomingConfig)=>{
|
|
88
88
|
const configWithDefaults = addDefaultsToConfig(incomingConfig);
|
|
89
89
|
const config = sanitizeAdminConfig(configWithDefaults);
|
|
90
|
-
// Add orderable fields
|
|
91
|
-
setupOrderable(config);
|
|
92
90
|
if (!config.endpoints) {
|
|
93
91
|
config.endpoints = [];
|
|
94
92
|
}
|
|
@@ -190,6 +188,8 @@ export const sanitizeConfig = async (incomingConfig)=>{
|
|
|
190
188
|
}
|
|
191
189
|
}
|
|
192
190
|
const folderEnabledCollections = [];
|
|
191
|
+
// Track orderable join fields during sanitization
|
|
192
|
+
const orderableJoins = [];
|
|
193
193
|
for(let i = 0; i < config.collections.length; i++){
|
|
194
194
|
if (collectionSlugs.has(config.collections[i].slug)) {
|
|
195
195
|
throw new DuplicateCollection('slug', config.collections[i].slug);
|
|
@@ -213,11 +213,51 @@ export const sanitizeConfig = async (incomingConfig)=>{
|
|
|
213
213
|
folderSlug: config.folders.slug
|
|
214
214
|
});
|
|
215
215
|
}
|
|
216
|
-
config.collections[i] = await sanitizeCollection(config, config.collections[i], richTextSanitizationPromises, validRelationships);
|
|
216
|
+
config.collections[i] = await sanitizeCollection(config, config.collections[i], richTextSanitizationPromises, validRelationships, orderableJoins);
|
|
217
217
|
if (config.folders !== false && config.collections[i].folders) {
|
|
218
218
|
folderEnabledCollections.push(config.collections[i]);
|
|
219
219
|
}
|
|
220
220
|
}
|
|
221
|
+
// Process orderable features after all collections are sanitized
|
|
222
|
+
const fieldsToAdd = new Map();
|
|
223
|
+
const joinFieldPathsByCollection = new Map();
|
|
224
|
+
// Handle collection.orderable
|
|
225
|
+
for (const collection of config.collections){
|
|
226
|
+
if (collection.orderable) {
|
|
227
|
+
const currentFields = fieldsToAdd.get(collection) || [];
|
|
228
|
+
fieldsToAdd.set(collection, [
|
|
229
|
+
...currentFields,
|
|
230
|
+
'_order'
|
|
231
|
+
]);
|
|
232
|
+
collection.defaultSort = collection.defaultSort ?? '_order';
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
// Handle orderable join fields (tracked during sanitization)
|
|
236
|
+
for (const joinInfo of orderableJoins){
|
|
237
|
+
const targetCollection = config.collections.find((c)=>c.slug === joinInfo.targetCollectionSlug);
|
|
238
|
+
if (targetCollection) {
|
|
239
|
+
const currentFields = fieldsToAdd.get(targetCollection) || [];
|
|
240
|
+
fieldsToAdd.set(targetCollection, [
|
|
241
|
+
...currentFields,
|
|
242
|
+
joinInfo.orderFieldName
|
|
243
|
+
]);
|
|
244
|
+
const currentJoinFieldPaths = joinFieldPathsByCollection.get(targetCollection.slug) || new Map();
|
|
245
|
+
currentJoinFieldPaths.set(joinInfo.orderFieldName, joinInfo.joinFieldOn);
|
|
246
|
+
joinFieldPathsByCollection.set(targetCollection.slug, currentJoinFieldPaths);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
// Add fields, hooks, and update flattenedFields
|
|
250
|
+
for (const [collection, orderableFields] of fieldsToAdd){
|
|
251
|
+
await addOrderableFieldsAndHook(collection, config, orderableFields, joinFieldPathsByCollection);
|
|
252
|
+
// Regenerate flattenedFields since we added new fields
|
|
253
|
+
collection.flattenedFields = flattenAllFields({
|
|
254
|
+
fields: collection.fields
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
// Add endpoint if any orderable features exist
|
|
258
|
+
if (fieldsToAdd.size > 0) {
|
|
259
|
+
addOrderableEndpoint(config, joinFieldPathsByCollection);
|
|
260
|
+
}
|
|
221
261
|
if (config.globals.length > 0) {
|
|
222
262
|
for(let i = 0; i < config.globals.length; i++){
|
|
223
263
|
if (hasScheduledPublishEnabled(config.globals[i])) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/config/sanitize.ts"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\n\nimport { en } from '@payloadcms/translations/languages/en'\nimport { deepMergeSimple } from '@payloadcms/translations/utilities'\n\nimport type { CollectionSlug, GlobalSlug, SanitizedCollectionConfig } from '../index.js'\nimport type { SanitizedJobsConfig } from '../queues/config/types/index.js'\nimport type {\n Config,\n LocalizationConfigWithLabels,\n LocalizationConfigWithNoLabels,\n SanitizedConfig,\n Timezone,\n Widget,\n WidgetInstance,\n} from './types.js'\n\nimport { defaultUserCollection } from '../auth/defaultUser.js'\nimport { authRootEndpoints } from '../auth/endpoints/index.js'\nimport { sanitizeCollection } from '../collections/config/sanitize.js'\nimport { migrationsCollection } from '../database/migrations/migrationsCollection.js'\nimport { DuplicateCollection, InvalidConfiguration } from '../errors/index.js'\nimport { defaultTimezones } from '../fields/baseFields/timezone/defaultTimezones.js'\nimport { addFolderCollection } from '../folders/addFolderCollection.js'\nimport { addFolderFieldToCollection } from '../folders/addFolderFieldToCollection.js'\nimport { sanitizeGlobal } from '../globals/config/sanitize.js'\nimport { baseBlockFields, formatLabels, sanitizeFields } from '../index.js'\nimport {\n getLockedDocumentsCollection,\n lockedDocumentsCollectionSlug,\n} from '../locked-documents/config.js'\nimport { getPreferencesCollection, preferencesCollectionSlug } from '../preferences/config.js'\nimport { getQueryPresetsConfig, queryPresetsCollectionSlug } from '../query-presets/config.js'\nimport { getDefaultJobsCollection, jobsCollectionSlug } from '../queues/config/collection.js'\nimport { getJobStatsGlobal } from '../queues/config/global.js'\nimport { flattenBlock } from '../utilities/flattenAllFields.js'\nimport { hasScheduledPublishEnabled } from '../utilities/getVersionsConfig.js'\nimport { validateTimezones } from '../utilities/validateTimezones.js'\nimport { getSchedulePublishTask } from '../versions/schedule/job.js'\nimport { addDefaultsToConfig } from './defaults.js'\nimport { setupOrderable } from './orderable/index.js'\n\nconst sanitizeAdminConfig = (configToSanitize: Config): Partial<SanitizedConfig> => {\n const sanitizedConfig = { ...configToSanitize }\n\n if (configToSanitize?.compatibility?.allowLocalizedWithinLocalized) {\n process.env.NEXT_PUBLIC_PAYLOAD_COMPATIBILITY_allowLocalizedWithinLocalized = 'true'\n }\n\n // default logging level will be 'error' if not provided\n sanitizedConfig.loggingLevels = {\n Forbidden: 'info',\n Locked: 'info',\n MissingFile: 'info',\n NotFound: 'info',\n ValidationError: 'info',\n ...(sanitizedConfig.loggingLevels || {}),\n }\n ;(sanitizedConfig.admin!.dashboard ??= { widgets: [] }).widgets.push({\n slug: 'collections',\n Component: '@payloadcms/next/rsc#CollectionCards',\n minWidth: 'full',\n })\n sanitizedConfig.admin!.dashboard.defaultLayout ??= [\n {\n widgetSlug: 'collections',\n width: 'full',\n } satisfies WidgetInstance,\n ]\n\n // add default user collection if none provided\n if (!sanitizedConfig?.admin?.user) {\n const firstCollectionWithAuth = sanitizedConfig.collections!.find(({ auth }) => Boolean(auth))\n\n if (firstCollectionWithAuth) {\n sanitizedConfig.admin!.user = firstCollectionWithAuth.slug\n } else {\n sanitizedConfig.admin!.user = defaultUserCollection.slug\n sanitizedConfig.collections!.push(defaultUserCollection)\n }\n }\n\n const userCollection = sanitizedConfig.collections!.find(\n ({ slug }) => slug === sanitizedConfig.admin!.user,\n )\n\n if (!userCollection || !userCollection.auth) {\n throw new InvalidConfiguration(\n `${sanitizedConfig.admin!.user} is not a valid admin user collection`,\n )\n }\n\n if (sanitizedConfig?.admin?.timezones) {\n if (typeof configToSanitize?.admin?.timezones?.supportedTimezones === 'function') {\n sanitizedConfig.admin.timezones.supportedTimezones =\n configToSanitize.admin.timezones.supportedTimezones({ defaultTimezones })\n }\n\n if (!sanitizedConfig?.admin?.timezones?.supportedTimezones) {\n sanitizedConfig.admin.timezones.supportedTimezones = defaultTimezones\n }\n } else {\n sanitizedConfig.admin!.timezones = {\n supportedTimezones: defaultTimezones,\n }\n }\n\n validateTimezones({\n source: 'admin.timezones.supportedTimezones',\n timezones: sanitizedConfig.admin!.timezones.supportedTimezones as Timezone[],\n })\n\n return sanitizedConfig as unknown as Partial<SanitizedConfig>\n}\n\nexport const sanitizeConfig = async (incomingConfig: Config): Promise<SanitizedConfig> => {\n const configWithDefaults = addDefaultsToConfig(incomingConfig)\n\n const config: Partial<SanitizedConfig> = sanitizeAdminConfig(configWithDefaults)\n\n // Add orderable fields\n setupOrderable(config as SanitizedConfig)\n\n if (!config.endpoints) {\n config.endpoints = []\n }\n\n for (const endpoint of authRootEndpoints) {\n config.endpoints.push(endpoint)\n }\n\n if (config.localization && config.localization.locales?.length > 0) {\n // clone localization config so to not break everything\n const firstLocale = config.localization.locales[0]\n if (typeof firstLocale === 'string') {\n config.localization.localeCodes = [\n ...(config.localization as unknown as LocalizationConfigWithNoLabels).locales,\n ]\n\n // is string[], so convert to Locale[]\n config.localization.locales = (\n config.localization as unknown as LocalizationConfigWithNoLabels\n ).locales.map((locale) => ({\n code: locale,\n label: locale,\n rtl: false,\n toString: () => locale,\n }))\n } else {\n // is Locale[], so convert to string[] for localeCodes\n config.localization.localeCodes = config.localization.locales.map((locale) => locale.code)\n\n config.localization.locales = (\n config.localization as LocalizationConfigWithLabels\n ).locales.map((locale) => ({\n ...locale,\n toString: () => locale.code,\n }))\n }\n\n // Default fallback to true if not provided\n config.localization.fallback = config.localization?.fallback ?? true\n }\n\n const i18nConfig: SanitizedConfig['i18n'] = {\n fallbackLanguage: 'en',\n supportedLanguages: {\n en,\n },\n translations: {},\n }\n\n if (incomingConfig?.i18n) {\n i18nConfig.supportedLanguages =\n incomingConfig.i18n?.supportedLanguages || i18nConfig.supportedLanguages\n\n const supportedLangKeys = <AcceptedLanguages[]>Object.keys(i18nConfig.supportedLanguages)\n const fallbackLang = incomingConfig.i18n?.fallbackLanguage || i18nConfig.fallbackLanguage\n\n i18nConfig.fallbackLanguage = supportedLangKeys.includes(fallbackLang)\n ? fallbackLang\n : supportedLangKeys[0]!\n i18nConfig.translations =\n (incomingConfig.i18n?.translations as SanitizedConfig['i18n']['translations']) ||\n i18nConfig.translations\n }\n\n config.i18n = i18nConfig\n\n const richTextSanitizationPromises: Array<(config: SanitizedConfig) => Promise<void>> = []\n\n const schedulePublishCollections: CollectionSlug[] = []\n\n const queryPresetsCollections: CollectionSlug[] = []\n\n const schedulePublishGlobals: GlobalSlug[] = []\n\n const collectionSlugs = new Set<CollectionSlug>()\n\n const validRelationships = [\n ...(config.collections?.map((c) => c.slug) ?? []),\n jobsCollectionSlug,\n lockedDocumentsCollectionSlug,\n preferencesCollectionSlug,\n ]\n\n if (config.folders !== false) {\n validRelationships.push(config.folders!.slug)\n }\n\n const dashboardWidgets = config.admin?.dashboard?.widgets ?? ([] as Widget[])\n\n for (const widget of dashboardWidgets) {\n if (widget.fields?.length) {\n widget.fields = await sanitizeFields({\n config: config as unknown as Config,\n existingFieldNames: new Set(),\n fields: widget.fields,\n parentIsLocalized: false,\n richTextSanitizationPromises,\n validRelationships,\n })\n }\n }\n\n /**\n * Blocks sanitization needs to happen before collections, as collection/global join field sanitization needs config.blocks\n * to be populated with the sanitized blocks\n */\n config.blocks = []\n\n if (incomingConfig.blocks?.length) {\n for (const block of incomingConfig.blocks) {\n const sanitizedBlock = block\n\n if (sanitizedBlock._sanitized === true) {\n continue\n }\n sanitizedBlock._sanitized = true\n\n sanitizedBlock.fields = sanitizedBlock.fields.concat(baseBlockFields)\n\n sanitizedBlock.labels = !sanitizedBlock.labels\n ? formatLabels(sanitizedBlock.slug)\n : sanitizedBlock.labels\n\n sanitizedBlock.fields = await sanitizeFields({\n config: config as unknown as Config,\n existingFieldNames: new Set(),\n fields: sanitizedBlock.fields,\n parentIsLocalized: false,\n richTextSanitizationPromises,\n validRelationships,\n })\n\n const flattenedSanitizedBlock = flattenBlock({ block })\n\n config.blocks.push(flattenedSanitizedBlock)\n }\n }\n\n const folderEnabledCollections: SanitizedCollectionConfig[] = []\n\n for (let i = 0; i < config.collections!.length; i++) {\n if (collectionSlugs.has(config.collections![i]!.slug)) {\n throw new DuplicateCollection('slug', config.collections![i]!.slug)\n }\n\n collectionSlugs.add(config.collections![i]!.slug)\n\n const draftsConfig = config.collections![i]?.versions?.drafts\n\n if (typeof draftsConfig === 'object' && draftsConfig.schedulePublish) {\n schedulePublishCollections.push(config.collections![i]!.slug)\n }\n\n if (config.collections![i]!.enableQueryPresets) {\n queryPresetsCollections.push(config.collections![i]!.slug)\n\n if (!validRelationships.includes(queryPresetsCollectionSlug)) {\n validRelationships.push(queryPresetsCollectionSlug)\n }\n }\n\n if (config.folders !== false && config.collections![i]!.folders) {\n addFolderFieldToCollection({\n collection: config.collections![i]!,\n collectionSpecific: config.folders!.collectionSpecific,\n folderFieldName: config.folders!.fieldName,\n folderSlug: config.folders!.slug,\n })\n }\n\n config.collections![i] = await sanitizeCollection(\n config as unknown as Config,\n config.collections![i]!,\n richTextSanitizationPromises,\n validRelationships,\n )\n\n if (config.folders !== false && config.collections![i]!.folders) {\n folderEnabledCollections.push(config.collections![i]!)\n }\n }\n\n if (config.globals!.length > 0) {\n for (let i = 0; i < config.globals!.length; i++) {\n if (hasScheduledPublishEnabled(config.globals![i]!)) {\n schedulePublishGlobals.push(config.globals![i]!.slug)\n }\n\n config.globals![i] = await sanitizeGlobal(\n config as unknown as Config,\n config.globals![i]!,\n richTextSanitizationPromises,\n validRelationships,\n )\n }\n }\n\n if (schedulePublishCollections.length || schedulePublishGlobals.length) {\n ;((config.jobs ??= {} as SanitizedJobsConfig).tasks ??= []).push(\n getSchedulePublishTask({\n adminUserSlug: config.admin!.user,\n collections: schedulePublishCollections,\n globals: schedulePublishGlobals,\n }),\n )\n }\n\n ;(config.jobs ??= {} as SanitizedJobsConfig).enabled = Boolean(\n (Array.isArray(configWithDefaults.jobs?.tasks) && configWithDefaults.jobs?.tasks?.length) ||\n (Array.isArray(configWithDefaults.jobs?.workflows) &&\n configWithDefaults.jobs?.workflows?.length),\n )\n\n // Need to add default jobs collection before locked documents collections\n if (config.jobs.enabled) {\n // Check for schedule property in both tasks and workflows\n const hasScheduleProperty =\n (config?.jobs?.tasks?.length && config.jobs.tasks.some((task) => task.schedule)) ||\n (config?.jobs?.workflows?.length &&\n config.jobs.workflows.some((workflow) => workflow.schedule))\n\n if (hasScheduleProperty) {\n config.jobs.scheduling = true\n // Add payload-jobs-stats global for tracking when a job of a specific slug was last run\n ;(config.globals ??= []).push(\n await sanitizeGlobal(\n config as unknown as Config,\n getJobStatsGlobal(config as unknown as Config),\n richTextSanitizationPromises,\n validRelationships,\n ),\n )\n\n config.jobs.stats = true\n }\n\n let defaultJobsCollection = getDefaultJobsCollection(config.jobs)\n\n if (typeof config.jobs.jobsCollectionOverrides === 'function') {\n defaultJobsCollection = config.jobs.jobsCollectionOverrides({\n defaultJobsCollection,\n })\n\n const hooks = defaultJobsCollection?.hooks\n // @todo - delete this check in 4.0\n if (hooks && config?.jobs?.runHooks !== true) {\n for (const [hookKey, hook] of Object.entries(hooks)) {\n const defaultAmount = hookKey === 'afterRead' || hookKey === 'beforeChange' ? 1 : 0\n if (hook.length > defaultAmount) {\n // eslint-disable-next-line no-console\n console.warn(\n `The jobsCollectionOverrides function is returning a collection with an additional ${hookKey} hook defined. These hooks will not run unless the jobs.runHooks option is set to true. Setting this option to true will negatively impact performance.`,\n )\n break\n }\n }\n }\n }\n const sanitizedJobsCollection = await sanitizeCollection(\n config as unknown as Config,\n defaultJobsCollection,\n richTextSanitizationPromises,\n validRelationships,\n )\n\n ;(config.collections ??= []).push(sanitizedJobsCollection)\n }\n\n if (config.folders !== false && folderEnabledCollections.length) {\n await addFolderCollection({\n collectionSpecific: config.folders!.collectionSpecific,\n config: config as unknown as Config,\n folderEnabledCollections,\n richTextSanitizationPromises,\n validRelationships,\n })\n }\n\n const lockedDocumentsCollection = getLockedDocumentsCollection(config as unknown as Config)\n\n if (lockedDocumentsCollection) {\n configWithDefaults.collections!.push(\n await sanitizeCollection(\n config as unknown as Config,\n lockedDocumentsCollection,\n richTextSanitizationPromises,\n validRelationships,\n ),\n )\n }\n\n configWithDefaults.collections!.push(\n await sanitizeCollection(\n config as unknown as Config,\n getPreferencesCollection(config as unknown as Config),\n richTextSanitizationPromises,\n validRelationships,\n ),\n )\n\n const migrations = await sanitizeCollection(\n config as unknown as Config,\n migrationsCollection,\n richTextSanitizationPromises,\n validRelationships,\n )\n\n // @ts-expect-error indexSortableFields is only valid for @payloadcms/db-mongodb\n if (config?.db?.indexSortableFields) {\n migrations.indexes = [\n {\n fields: ['batch', 'name'],\n unique: false,\n },\n ]\n }\n configWithDefaults.collections!.push(migrations)\n\n if (queryPresetsCollections.length > 0) {\n configWithDefaults.collections!.push(\n await sanitizeCollection(\n config as unknown as Config,\n getQueryPresetsConfig(config as unknown as Config),\n richTextSanitizationPromises,\n validRelationships,\n ),\n )\n }\n\n if (config.serverURL !== '') {\n config.csrf!.push(config.serverURL!)\n }\n\n const uploadAdapters = new Set<string>()\n // interact with all collections\n for (const collection of config.collections!) {\n // deduped upload adapters\n if (collection.upload?.adapter) {\n uploadAdapters.add(collection.upload.adapter)\n }\n }\n\n if (!config.upload) {\n config.upload = { adapters: [] }\n }\n\n config.upload.adapters = Array.from(\n new Set(config.collections!.map((c) => c.upload?.adapter).filter(Boolean) as string[]),\n )\n\n // Pass through the email config as is so adapters don't break\n if (incomingConfig.email) {\n config.email = incomingConfig.email\n }\n\n /*\n Execute richText sanitization\n */\n if (typeof incomingConfig.editor === 'function') {\n config.editor = await incomingConfig.editor({\n config: config as SanitizedConfig,\n isRoot: true,\n parentIsLocalized: false,\n })\n if (config.editor.i18n && Object.keys(config.editor.i18n).length >= 0) {\n config.i18n.translations = deepMergeSimple(config.i18n.translations, config.editor.i18n)\n }\n }\n\n const promises: Promise<void>[] = []\n\n for (const sanitizeFunction of richTextSanitizationPromises) {\n promises.push(sanitizeFunction(config as SanitizedConfig))\n }\n\n await Promise.all(promises)\n\n return config as SanitizedConfig\n}\n"],"names":["en","deepMergeSimple","defaultUserCollection","authRootEndpoints","sanitizeCollection","migrationsCollection","DuplicateCollection","InvalidConfiguration","defaultTimezones","addFolderCollection","addFolderFieldToCollection","sanitizeGlobal","baseBlockFields","formatLabels","sanitizeFields","getLockedDocumentsCollection","lockedDocumentsCollectionSlug","getPreferencesCollection","preferencesCollectionSlug","getQueryPresetsConfig","queryPresetsCollectionSlug","getDefaultJobsCollection","jobsCollectionSlug","getJobStatsGlobal","flattenBlock","hasScheduledPublishEnabled","validateTimezones","getSchedulePublishTask","addDefaultsToConfig","setupOrderable","sanitizeAdminConfig","configToSanitize","sanitizedConfig","compatibility","allowLocalizedWithinLocalized","process","env","NEXT_PUBLIC_PAYLOAD_COMPATIBILITY_allowLocalizedWithinLocalized","loggingLevels","Forbidden","Locked","MissingFile","NotFound","ValidationError","admin","dashboard","widgets","push","slug","Component","minWidth","defaultLayout","widgetSlug","width","user","firstCollectionWithAuth","collections","find","auth","Boolean","userCollection","timezones","supportedTimezones","source","sanitizeConfig","incomingConfig","configWithDefaults","config","endpoints","endpoint","localization","locales","length","firstLocale","localeCodes","map","locale","code","label","rtl","toString","fallback","i18nConfig","fallbackLanguage","supportedLanguages","translations","i18n","supportedLangKeys","Object","keys","fallbackLang","includes","richTextSanitizationPromises","schedulePublishCollections","queryPresetsCollections","schedulePublishGlobals","collectionSlugs","Set","validRelationships","c","folders","dashboardWidgets","widget","fields","existingFieldNames","parentIsLocalized","blocks","block","sanitizedBlock","_sanitized","concat","labels","flattenedSanitizedBlock","folderEnabledCollections","i","has","add","draftsConfig","versions","drafts","schedulePublish","enableQueryPresets","collection","collectionSpecific","folderFieldName","fieldName","folderSlug","globals","jobs","tasks","adminUserSlug","enabled","Array","isArray","workflows","hasScheduleProperty","some","task","schedule","workflow","scheduling","stats","defaultJobsCollection","jobsCollectionOverrides","hooks","runHooks","hookKey","hook","entries","defaultAmount","console","warn","sanitizedJobsCollection","lockedDocumentsCollection","migrations","db","indexSortableFields","indexes","unique","serverURL","csrf","uploadAdapters","upload","adapter","adapters","from","filter","email","editor","isRoot","promises","sanitizeFunction","Promise","all"],"mappings":"AAEA,SAASA,EAAE,QAAQ,wCAAuC;AAC1D,SAASC,eAAe,QAAQ,qCAAoC;AAcpE,SAASC,qBAAqB,QAAQ,yBAAwB;AAC9D,SAASC,iBAAiB,QAAQ,6BAA4B;AAC9D,SAASC,kBAAkB,QAAQ,oCAAmC;AACtE,SAASC,oBAAoB,QAAQ,iDAAgD;AACrF,SAASC,mBAAmB,EAAEC,oBAAoB,QAAQ,qBAAoB;AAC9E,SAASC,gBAAgB,QAAQ,oDAAmD;AACpF,SAASC,mBAAmB,QAAQ,oCAAmC;AACvE,SAASC,0BAA0B,QAAQ,2CAA0C;AACrF,SAASC,cAAc,QAAQ,gCAA+B;AAC9D,SAASC,eAAe,EAAEC,YAAY,EAAEC,cAAc,QAAQ,cAAa;AAC3E,SACEC,4BAA4B,EAC5BC,6BAA6B,QACxB,gCAA+B;AACtC,SAASC,wBAAwB,EAAEC,yBAAyB,QAAQ,2BAA0B;AAC9F,SAASC,qBAAqB,EAAEC,0BAA0B,QAAQ,6BAA4B;AAC9F,SAASC,wBAAwB,EAAEC,kBAAkB,QAAQ,iCAAgC;AAC7F,SAASC,iBAAiB,QAAQ,6BAA4B;AAC9D,SAASC,YAAY,QAAQ,mCAAkC;AAC/D,SAASC,0BAA0B,QAAQ,oCAAmC;AAC9E,SAASC,iBAAiB,QAAQ,oCAAmC;AACrE,SAASC,sBAAsB,QAAQ,8BAA6B;AACpE,SAASC,mBAAmB,QAAQ,gBAAe;AACnD,SAASC,cAAc,QAAQ,uBAAsB;AAErD,MAAMC,sBAAsB,CAACC;IAC3B,MAAMC,kBAAkB;QAAE,GAAGD,gBAAgB;IAAC;IAE9C,IAAIA,kBAAkBE,eAAeC,+BAA+B;QAClEC,QAAQC,GAAG,CAACC,+DAA+D,GAAG;IAChF;IAEA,wDAAwD;IACxDL,gBAAgBM,aAAa,GAAG;QAC9BC,WAAW;QACXC,QAAQ;QACRC,aAAa;QACbC,UAAU;QACVC,iBAAiB;QACjB,GAAIX,gBAAgBM,aAAa,IAAI,CAAC,CAAC;IACzC;IACEN,CAAAA,gBAAgBY,KAAK,CAAEC,SAAS,KAAK;QAAEC,SAAS,EAAE;IAAC,CAAA,EAAGA,OAAO,CAACC,IAAI,CAAC;QACnEC,MAAM;QACNC,WAAW;QACXC,UAAU;IACZ;IACAlB,gBAAgBY,KAAK,CAAEC,SAAS,CAACM,aAAa,KAAK;QACjD;YACEC,YAAY;YACZC,OAAO;QACT;KACD;IAED,+CAA+C;IAC/C,IAAI,CAACrB,iBAAiBY,OAAOU,MAAM;QACjC,MAAMC,0BAA0BvB,gBAAgBwB,WAAW,CAAEC,IAAI,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKC,QAAQD;QAExF,IAAIH,yBAAyB;YAC3BvB,gBAAgBY,KAAK,CAAEU,IAAI,GAAGC,wBAAwBP,IAAI;QAC5D,OAAO;YACLhB,gBAAgBY,KAAK,CAAEU,IAAI,GAAGpD,sBAAsB8C,IAAI;YACxDhB,gBAAgBwB,WAAW,CAAET,IAAI,CAAC7C;QACpC;IACF;IAEA,MAAM0D,iBAAiB5B,gBAAgBwB,WAAW,CAAEC,IAAI,CACtD,CAAC,EAAET,IAAI,EAAE,GAAKA,SAAShB,gBAAgBY,KAAK,CAAEU,IAAI;IAGpD,IAAI,CAACM,kBAAkB,CAACA,eAAeF,IAAI,EAAE;QAC3C,MAAM,IAAInD,qBACR,GAAGyB,gBAAgBY,KAAK,CAAEU,IAAI,CAAC,qCAAqC,CAAC;IAEzE;IAEA,IAAItB,iBAAiBY,OAAOiB,WAAW;QACrC,IAAI,OAAO9B,kBAAkBa,OAAOiB,WAAWC,uBAAuB,YAAY;YAChF9B,gBAAgBY,KAAK,CAACiB,SAAS,CAACC,kBAAkB,GAChD/B,iBAAiBa,KAAK,CAACiB,SAAS,CAACC,kBAAkB,CAAC;gBAAEtD;YAAiB;QAC3E;QAEA,IAAI,CAACwB,iBAAiBY,OAAOiB,WAAWC,oBAAoB;YAC1D9B,gBAAgBY,KAAK,CAACiB,SAAS,CAACC,kBAAkB,GAAGtD;QACvD;IACF,OAAO;QACLwB,gBAAgBY,KAAK,CAAEiB,SAAS,GAAG;YACjCC,oBAAoBtD;QACtB;IACF;IAEAkB,kBAAkB;QAChBqC,QAAQ;QACRF,WAAW7B,gBAAgBY,KAAK,CAAEiB,SAAS,CAACC,kBAAkB;IAChE;IAEA,OAAO9B;AACT;AAEA,OAAO,MAAMgC,iBAAiB,OAAOC;IACnC,MAAMC,qBAAqBtC,oBAAoBqC;IAE/C,MAAME,SAAmCrC,oBAAoBoC;IAE7D,uBAAuB;IACvBrC,eAAesC;IAEf,IAAI,CAACA,OAAOC,SAAS,EAAE;QACrBD,OAAOC,SAAS,GAAG,EAAE;IACvB;IAEA,KAAK,MAAMC,YAAYlE,kBAAmB;QACxCgE,OAAOC,SAAS,CAACrB,IAAI,CAACsB;IACxB;IAEA,IAAIF,OAAOG,YAAY,IAAIH,OAAOG,YAAY,CAACC,OAAO,EAAEC,SAAS,GAAG;QAClE,uDAAuD;QACvD,MAAMC,cAAcN,OAAOG,YAAY,CAACC,OAAO,CAAC,EAAE;QAClD,IAAI,OAAOE,gBAAgB,UAAU;YACnCN,OAAOG,YAAY,CAACI,WAAW,GAAG;mBAC7B,AAACP,OAAOG,YAAY,CAA+CC,OAAO;aAC9E;YAED,sCAAsC;YACtCJ,OAAOG,YAAY,CAACC,OAAO,GAAG,AAC5BJ,OAAOG,YAAY,CACnBC,OAAO,CAACI,GAAG,CAAC,CAACC,SAAY,CAAA;oBACzBC,MAAMD;oBACNE,OAAOF;oBACPG,KAAK;oBACLC,UAAU,IAAMJ;gBAClB,CAAA;QACF,OAAO;YACL,sDAAsD;YACtDT,OAAOG,YAAY,CAACI,WAAW,GAAGP,OAAOG,YAAY,CAACC,OAAO,CAACI,GAAG,CAAC,CAACC,SAAWA,OAAOC,IAAI;YAEzFV,OAAOG,YAAY,CAACC,OAAO,GAAG,AAC5BJ,OAAOG,YAAY,CACnBC,OAAO,CAACI,GAAG,CAAC,CAACC,SAAY,CAAA;oBACzB,GAAGA,MAAM;oBACTI,UAAU,IAAMJ,OAAOC,IAAI;gBAC7B,CAAA;QACF;QAEA,2CAA2C;QAC3CV,OAAOG,YAAY,CAACW,QAAQ,GAAGd,OAAOG,YAAY,EAAEW,YAAY;IAClE;IAEA,MAAMC,aAAsC;QAC1CC,kBAAkB;QAClBC,oBAAoB;YAClBpF;QACF;QACAqF,cAAc,CAAC;IACjB;IAEA,IAAIpB,gBAAgBqB,MAAM;QACxBJ,WAAWE,kBAAkB,GAC3BnB,eAAeqB,IAAI,EAAEF,sBAAsBF,WAAWE,kBAAkB;QAE1E,MAAMG,oBAAyCC,OAAOC,IAAI,CAACP,WAAWE,kBAAkB;QACxF,MAAMM,eAAezB,eAAeqB,IAAI,EAAEH,oBAAoBD,WAAWC,gBAAgB;QAEzFD,WAAWC,gBAAgB,GAAGI,kBAAkBI,QAAQ,CAACD,gBACrDA,eACAH,iBAAiB,CAAC,EAAE;QACxBL,WAAWG,YAAY,GACrB,AAACpB,eAAeqB,IAAI,EAAED,gBACtBH,WAAWG,YAAY;IAC3B;IAEAlB,OAAOmB,IAAI,GAAGJ;IAEd,MAAMU,+BAAkF,EAAE;IAE1F,MAAMC,6BAA+C,EAAE;IAEvD,MAAMC,0BAA4C,EAAE;IAEpD,MAAMC,yBAAuC,EAAE;IAE/C,MAAMC,kBAAkB,IAAIC;IAE5B,MAAMC,qBAAqB;WACrB/B,OAAOX,WAAW,EAAEmB,IAAI,CAACwB,IAAMA,EAAEnD,IAAI,KAAK,EAAE;QAChD1B;QACAN;QACAE;KACD;IAED,IAAIiD,OAAOiC,OAAO,KAAK,OAAO;QAC5BF,mBAAmBnD,IAAI,CAACoB,OAAOiC,OAAO,CAAEpD,IAAI;IAC9C;IAEA,MAAMqD,mBAAmBlC,OAAOvB,KAAK,EAAEC,WAAWC,WAAY,EAAE;IAEhE,KAAK,MAAMwD,UAAUD,iBAAkB;QACrC,IAAIC,OAAOC,MAAM,EAAE/B,QAAQ;YACzB8B,OAAOC,MAAM,GAAG,MAAMzF,eAAe;gBACnCqD,QAAQA;gBACRqC,oBAAoB,IAAIP;gBACxBM,QAAQD,OAAOC,MAAM;gBACrBE,mBAAmB;gBACnBb;gBACAM;YACF;QACF;IACF;IAEA;;;GAGC,GACD/B,OAAOuC,MAAM,GAAG,EAAE;IAElB,IAAIzC,eAAeyC,MAAM,EAAElC,QAAQ;QACjC,KAAK,MAAMmC,SAAS1C,eAAeyC,MAAM,CAAE;YACzC,MAAME,iBAAiBD;YAEvB,IAAIC,eAAeC,UAAU,KAAK,MAAM;gBACtC;YACF;YACAD,eAAeC,UAAU,GAAG;YAE5BD,eAAeL,MAAM,GAAGK,eAAeL,MAAM,CAACO,MAAM,CAAClG;YAErDgG,eAAeG,MAAM,GAAG,CAACH,eAAeG,MAAM,GAC1ClG,aAAa+F,eAAe5D,IAAI,IAChC4D,eAAeG,MAAM;YAEzBH,eAAeL,MAAM,GAAG,MAAMzF,eAAe;gBAC3CqD,QAAQA;gBACRqC,oBAAoB,IAAIP;gBACxBM,QAAQK,eAAeL,MAAM;gBAC7BE,mBAAmB;gBACnBb;gBACAM;YACF;YAEA,MAAMc,0BAA0BxF,aAAa;gBAAEmF;YAAM;YAErDxC,OAAOuC,MAAM,CAAC3D,IAAI,CAACiE;QACrB;IACF;IAEA,MAAMC,2BAAwD,EAAE;IAEhE,IAAK,IAAIC,IAAI,GAAGA,IAAI/C,OAAOX,WAAW,CAAEgB,MAAM,EAAE0C,IAAK;QACnD,IAAIlB,gBAAgBmB,GAAG,CAAChD,OAAOX,WAAW,AAAC,CAAC0D,EAAE,CAAElE,IAAI,GAAG;YACrD,MAAM,IAAI1C,oBAAoB,QAAQ6D,OAAOX,WAAW,AAAC,CAAC0D,EAAE,CAAElE,IAAI;QACpE;QAEAgD,gBAAgBoB,GAAG,CAACjD,OAAOX,WAAW,AAAC,CAAC0D,EAAE,CAAElE,IAAI;QAEhD,MAAMqE,eAAelD,OAAOX,WAAW,AAAC,CAAC0D,EAAE,EAAEI,UAAUC;QAEvD,IAAI,OAAOF,iBAAiB,YAAYA,aAAaG,eAAe,EAAE;YACpE3B,2BAA2B9C,IAAI,CAACoB,OAAOX,WAAW,AAAC,CAAC0D,EAAE,CAAElE,IAAI;QAC9D;QAEA,IAAImB,OAAOX,WAAW,AAAC,CAAC0D,EAAE,CAAEO,kBAAkB,EAAE;YAC9C3B,wBAAwB/C,IAAI,CAACoB,OAAOX,WAAW,AAAC,CAAC0D,EAAE,CAAElE,IAAI;YAEzD,IAAI,CAACkD,mBAAmBP,QAAQ,CAACvE,6BAA6B;gBAC5D8E,mBAAmBnD,IAAI,CAAC3B;YAC1B;QACF;QAEA,IAAI+C,OAAOiC,OAAO,KAAK,SAASjC,OAAOX,WAAW,AAAC,CAAC0D,EAAE,CAAEd,OAAO,EAAE;YAC/D1F,2BAA2B;gBACzBgH,YAAYvD,OAAOX,WAAW,AAAC,CAAC0D,EAAE;gBAClCS,oBAAoBxD,OAAOiC,OAAO,CAAEuB,kBAAkB;gBACtDC,iBAAiBzD,OAAOiC,OAAO,CAAEyB,SAAS;gBAC1CC,YAAY3D,OAAOiC,OAAO,CAAEpD,IAAI;YAClC;QACF;QAEAmB,OAAOX,WAAW,AAAC,CAAC0D,EAAE,GAAG,MAAM9G,mBAC7B+D,QACAA,OAAOX,WAAW,AAAC,CAAC0D,EAAE,EACtBtB,8BACAM;QAGF,IAAI/B,OAAOiC,OAAO,KAAK,SAASjC,OAAOX,WAAW,AAAC,CAAC0D,EAAE,CAAEd,OAAO,EAAE;YAC/Da,yBAAyBlE,IAAI,CAACoB,OAAOX,WAAW,AAAC,CAAC0D,EAAE;QACtD;IACF;IAEA,IAAI/C,OAAO4D,OAAO,CAAEvD,MAAM,GAAG,GAAG;QAC9B,IAAK,IAAI0C,IAAI,GAAGA,IAAI/C,OAAO4D,OAAO,CAAEvD,MAAM,EAAE0C,IAAK;YAC/C,IAAIzF,2BAA2B0C,OAAO4D,OAAO,AAAC,CAACb,EAAE,GAAI;gBACnDnB,uBAAuBhD,IAAI,CAACoB,OAAO4D,OAAO,AAAC,CAACb,EAAE,CAAElE,IAAI;YACtD;YAEAmB,OAAO4D,OAAO,AAAC,CAACb,EAAE,GAAG,MAAMvG,eACzBwD,QACAA,OAAO4D,OAAO,AAAC,CAACb,EAAE,EAClBtB,8BACAM;QAEJ;IACF;IAEA,IAAIL,2BAA2BrB,MAAM,IAAIuB,uBAAuBvB,MAAM,EAAE;;QACpE,CAAA,AAACL,CAAAA,OAAO6D,IAAI,KAAK,CAAC,CAAuB,EAAGC,KAAK,KAAK,EAAE,AAAD,EAAGlF,IAAI,CAC9DpB,uBAAuB;YACrBuG,eAAe/D,OAAOvB,KAAK,CAAEU,IAAI;YACjCE,aAAaqC;YACbkC,SAAShC;QACX;IAEJ;;IAEE5B,CAAAA,OAAO6D,IAAI,KAAK,CAAC,CAAuB,EAAGG,OAAO,GAAGxE,QACrD,AAACyE,MAAMC,OAAO,CAACnE,mBAAmB8D,IAAI,EAAEC,UAAU/D,mBAAmB8D,IAAI,EAAEC,OAAOzD,UAC/E4D,MAAMC,OAAO,CAACnE,mBAAmB8D,IAAI,EAAEM,cACtCpE,mBAAmB8D,IAAI,EAAEM,WAAW9D;IAG1C,0EAA0E;IAC1E,IAAIL,OAAO6D,IAAI,CAACG,OAAO,EAAE;QACvB,0DAA0D;QAC1D,MAAMI,sBACJ,AAACpE,QAAQ6D,MAAMC,OAAOzD,UAAUL,OAAO6D,IAAI,CAACC,KAAK,CAACO,IAAI,CAAC,CAACC,OAASA,KAAKC,QAAQ,KAC7EvE,QAAQ6D,MAAMM,WAAW9D,UACxBL,OAAO6D,IAAI,CAACM,SAAS,CAACE,IAAI,CAAC,CAACG,WAAaA,SAASD,QAAQ;QAE9D,IAAIH,qBAAqB;YACvBpE,OAAO6D,IAAI,CAACY,UAAU,GAAG;YAEvBzE,CAAAA,OAAO4D,OAAO,KAAK,EAAE,AAAD,EAAGhF,IAAI,CAC3B,MAAMpC,eACJwD,QACA5C,kBAAkB4C,SAClByB,8BACAM;YAIJ/B,OAAO6D,IAAI,CAACa,KAAK,GAAG;QACtB;QAEA,IAAIC,wBAAwBzH,yBAAyB8C,OAAO6D,IAAI;QAEhE,IAAI,OAAO7D,OAAO6D,IAAI,CAACe,uBAAuB,KAAK,YAAY;YAC7DD,wBAAwB3E,OAAO6D,IAAI,CAACe,uBAAuB,CAAC;gBAC1DD;YACF;YAEA,MAAME,QAAQF,uBAAuBE;YACrC,mCAAmC;YACnC,IAAIA,SAAS7E,QAAQ6D,MAAMiB,aAAa,MAAM;gBAC5C,KAAK,MAAM,CAACC,SAASC,KAAK,IAAI3D,OAAO4D,OAAO,CAACJ,OAAQ;oBACnD,MAAMK,gBAAgBH,YAAY,eAAeA,YAAY,iBAAiB,IAAI;oBAClF,IAAIC,KAAK3E,MAAM,GAAG6E,eAAe;wBAC/B,sCAAsC;wBACtCC,QAAQC,IAAI,CACV,CAAC,kFAAkF,EAAEL,QAAQ,uJAAuJ,CAAC;wBAEvP;oBACF;gBACF;YACF;QACF;QACA,MAAMM,0BAA0B,MAAMpJ,mBACpC+D,QACA2E,uBACAlD,8BACAM;QAGA/B,CAAAA,OAAOX,WAAW,KAAK,EAAE,AAAD,EAAGT,IAAI,CAACyG;IACpC;IAEA,IAAIrF,OAAOiC,OAAO,KAAK,SAASa,yBAAyBzC,MAAM,EAAE;QAC/D,MAAM/D,oBAAoB;YACxBkH,oBAAoBxD,OAAOiC,OAAO,CAAEuB,kBAAkB;YACtDxD,QAAQA;YACR8C;YACArB;YACAM;QACF;IACF;IAEA,MAAMuD,4BAA4B1I,6BAA6BoD;IAE/D,IAAIsF,2BAA2B;QAC7BvF,mBAAmBV,WAAW,CAAET,IAAI,CAClC,MAAM3C,mBACJ+D,QACAsF,2BACA7D,8BACAM;IAGN;IAEAhC,mBAAmBV,WAAW,CAAET,IAAI,CAClC,MAAM3C,mBACJ+D,QACAlD,yBAAyBkD,SACzByB,8BACAM;IAIJ,MAAMwD,aAAa,MAAMtJ,mBACvB+D,QACA9D,sBACAuF,8BACAM;IAGF,gFAAgF;IAChF,IAAI/B,QAAQwF,IAAIC,qBAAqB;QACnCF,WAAWG,OAAO,GAAG;YACnB;gBACEtD,QAAQ;oBAAC;oBAAS;iBAAO;gBACzBuD,QAAQ;YACV;SACD;IACH;IACA5F,mBAAmBV,WAAW,CAAET,IAAI,CAAC2G;IAErC,IAAI5D,wBAAwBtB,MAAM,GAAG,GAAG;QACtCN,mBAAmBV,WAAW,CAAET,IAAI,CAClC,MAAM3C,mBACJ+D,QACAhD,sBAAsBgD,SACtByB,8BACAM;IAGN;IAEA,IAAI/B,OAAO4F,SAAS,KAAK,IAAI;QAC3B5F,OAAO6F,IAAI,CAAEjH,IAAI,CAACoB,OAAO4F,SAAS;IACpC;IAEA,MAAME,iBAAiB,IAAIhE;IAC3B,gCAAgC;IAChC,KAAK,MAAMyB,cAAcvD,OAAOX,WAAW,CAAG;QAC5C,0BAA0B;QAC1B,IAAIkE,WAAWwC,MAAM,EAAEC,SAAS;YAC9BF,eAAe7C,GAAG,CAACM,WAAWwC,MAAM,CAACC,OAAO;QAC9C;IACF;IAEA,IAAI,CAAChG,OAAO+F,MAAM,EAAE;QAClB/F,OAAO+F,MAAM,GAAG;YAAEE,UAAU,EAAE;QAAC;IACjC;IAEAjG,OAAO+F,MAAM,CAACE,QAAQ,GAAGhC,MAAMiC,IAAI,CACjC,IAAIpE,IAAI9B,OAAOX,WAAW,CAAEmB,GAAG,CAAC,CAACwB,IAAMA,EAAE+D,MAAM,EAAEC,SAASG,MAAM,CAAC3G;IAGnE,8DAA8D;IAC9D,IAAIM,eAAesG,KAAK,EAAE;QACxBpG,OAAOoG,KAAK,GAAGtG,eAAesG,KAAK;IACrC;IAEA;;GAEC,GACD,IAAI,OAAOtG,eAAeuG,MAAM,KAAK,YAAY;QAC/CrG,OAAOqG,MAAM,GAAG,MAAMvG,eAAeuG,MAAM,CAAC;YAC1CrG,QAAQA;YACRsG,QAAQ;YACRhE,mBAAmB;QACrB;QACA,IAAItC,OAAOqG,MAAM,CAAClF,IAAI,IAAIE,OAAOC,IAAI,CAACtB,OAAOqG,MAAM,CAAClF,IAAI,EAAEd,MAAM,IAAI,GAAG;YACrEL,OAAOmB,IAAI,CAACD,YAAY,GAAGpF,gBAAgBkE,OAAOmB,IAAI,CAACD,YAAY,EAAElB,OAAOqG,MAAM,CAAClF,IAAI;QACzF;IACF;IAEA,MAAMoF,WAA4B,EAAE;IAEpC,KAAK,MAAMC,oBAAoB/E,6BAA8B;QAC3D8E,SAAS3H,IAAI,CAAC4H,iBAAiBxG;IACjC;IAEA,MAAMyG,QAAQC,GAAG,CAACH;IAElB,OAAOvG;AACT,EAAC"}
|
|
1
|
+
{"version":3,"sources":["../../src/config/sanitize.ts"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\n\nimport { en } from '@payloadcms/translations/languages/en'\nimport { deepMergeSimple } from '@payloadcms/translations/utilities'\n\nimport type { OrderableJoinInfo } from '../fields/config/sanitizeJoinField.js'\nimport type { CollectionSlug, GlobalSlug, SanitizedCollectionConfig } from '../index.js'\nimport type { SanitizedJobsConfig } from '../queues/config/types/index.js'\nimport type {\n Config,\n LocalizationConfigWithLabels,\n LocalizationConfigWithNoLabels,\n SanitizedConfig,\n Timezone,\n Widget,\n WidgetInstance,\n} from './types.js'\n\nimport { defaultUserCollection } from '../auth/defaultUser.js'\nimport { authRootEndpoints } from '../auth/endpoints/index.js'\nimport { sanitizeCollection } from '../collections/config/sanitize.js'\nimport { migrationsCollection } from '../database/migrations/migrationsCollection.js'\nimport { DuplicateCollection, InvalidConfiguration } from '../errors/index.js'\nimport { defaultTimezones } from '../fields/baseFields/timezone/defaultTimezones.js'\nimport { addFolderCollection } from '../folders/addFolderCollection.js'\nimport { addFolderFieldToCollection } from '../folders/addFolderFieldToCollection.js'\nimport { sanitizeGlobal } from '../globals/config/sanitize.js'\nimport { baseBlockFields, formatLabels, sanitizeFields } from '../index.js'\nimport {\n getLockedDocumentsCollection,\n lockedDocumentsCollectionSlug,\n} from '../locked-documents/config.js'\nimport { getPreferencesCollection, preferencesCollectionSlug } from '../preferences/config.js'\nimport { getQueryPresetsConfig, queryPresetsCollectionSlug } from '../query-presets/config.js'\nimport { getDefaultJobsCollection, jobsCollectionSlug } from '../queues/config/collection.js'\nimport { getJobStatsGlobal } from '../queues/config/global.js'\nimport { flattenAllFields, flattenBlock } from '../utilities/flattenAllFields.js'\nimport { hasScheduledPublishEnabled } from '../utilities/getVersionsConfig.js'\nimport { validateTimezones } from '../utilities/validateTimezones.js'\nimport { getSchedulePublishTask } from '../versions/schedule/job.js'\nimport { addDefaultsToConfig } from './defaults.js'\nimport { addOrderableEndpoint, addOrderableFieldsAndHook } from './orderable/index.js'\n\nconst sanitizeAdminConfig = (configToSanitize: Config): Partial<SanitizedConfig> => {\n const sanitizedConfig = { ...configToSanitize }\n\n if (configToSanitize?.compatibility?.allowLocalizedWithinLocalized) {\n process.env.NEXT_PUBLIC_PAYLOAD_COMPATIBILITY_allowLocalizedWithinLocalized = 'true'\n }\n\n // default logging level will be 'error' if not provided\n sanitizedConfig.loggingLevels = {\n Forbidden: 'info',\n Locked: 'info',\n MissingFile: 'info',\n NotFound: 'info',\n ValidationError: 'info',\n ...(sanitizedConfig.loggingLevels || {}),\n }\n ;(sanitizedConfig.admin!.dashboard ??= { widgets: [] }).widgets.push({\n slug: 'collections',\n Component: '@payloadcms/next/rsc#CollectionCards',\n minWidth: 'full',\n })\n sanitizedConfig.admin!.dashboard.defaultLayout ??= [\n {\n widgetSlug: 'collections',\n width: 'full',\n } satisfies WidgetInstance,\n ]\n\n // add default user collection if none provided\n if (!sanitizedConfig?.admin?.user) {\n const firstCollectionWithAuth = sanitizedConfig.collections!.find(({ auth }) => Boolean(auth))\n\n if (firstCollectionWithAuth) {\n sanitizedConfig.admin!.user = firstCollectionWithAuth.slug\n } else {\n sanitizedConfig.admin!.user = defaultUserCollection.slug\n sanitizedConfig.collections!.push(defaultUserCollection)\n }\n }\n\n const userCollection = sanitizedConfig.collections!.find(\n ({ slug }) => slug === sanitizedConfig.admin!.user,\n )\n\n if (!userCollection || !userCollection.auth) {\n throw new InvalidConfiguration(\n `${sanitizedConfig.admin!.user} is not a valid admin user collection`,\n )\n }\n\n if (sanitizedConfig?.admin?.timezones) {\n if (typeof configToSanitize?.admin?.timezones?.supportedTimezones === 'function') {\n sanitizedConfig.admin.timezones.supportedTimezones =\n configToSanitize.admin.timezones.supportedTimezones({ defaultTimezones })\n }\n\n if (!sanitizedConfig?.admin?.timezones?.supportedTimezones) {\n sanitizedConfig.admin.timezones.supportedTimezones = defaultTimezones\n }\n } else {\n sanitizedConfig.admin!.timezones = {\n supportedTimezones: defaultTimezones,\n }\n }\n\n validateTimezones({\n source: 'admin.timezones.supportedTimezones',\n timezones: sanitizedConfig.admin!.timezones.supportedTimezones as Timezone[],\n })\n\n return sanitizedConfig as unknown as Partial<SanitizedConfig>\n}\n\nexport const sanitizeConfig = async (incomingConfig: Config): Promise<SanitizedConfig> => {\n const configWithDefaults = addDefaultsToConfig(incomingConfig)\n\n const config: Partial<SanitizedConfig> = sanitizeAdminConfig(configWithDefaults)\n\n if (!config.endpoints) {\n config.endpoints = []\n }\n\n for (const endpoint of authRootEndpoints) {\n config.endpoints.push(endpoint)\n }\n\n if (config.localization && config.localization.locales?.length > 0) {\n // clone localization config so to not break everything\n const firstLocale = config.localization.locales[0]\n if (typeof firstLocale === 'string') {\n config.localization.localeCodes = [\n ...(config.localization as unknown as LocalizationConfigWithNoLabels).locales,\n ]\n\n // is string[], so convert to Locale[]\n config.localization.locales = (\n config.localization as unknown as LocalizationConfigWithNoLabels\n ).locales.map((locale) => ({\n code: locale,\n label: locale,\n rtl: false,\n toString: () => locale,\n }))\n } else {\n // is Locale[], so convert to string[] for localeCodes\n config.localization.localeCodes = config.localization.locales.map((locale) => locale.code)\n\n config.localization.locales = (\n config.localization as LocalizationConfigWithLabels\n ).locales.map((locale) => ({\n ...locale,\n toString: () => locale.code,\n }))\n }\n\n // Default fallback to true if not provided\n config.localization.fallback = config.localization?.fallback ?? true\n }\n\n const i18nConfig: SanitizedConfig['i18n'] = {\n fallbackLanguage: 'en',\n supportedLanguages: {\n en,\n },\n translations: {},\n }\n\n if (incomingConfig?.i18n) {\n i18nConfig.supportedLanguages =\n incomingConfig.i18n?.supportedLanguages || i18nConfig.supportedLanguages\n\n const supportedLangKeys = <AcceptedLanguages[]>Object.keys(i18nConfig.supportedLanguages)\n const fallbackLang = incomingConfig.i18n?.fallbackLanguage || i18nConfig.fallbackLanguage\n\n i18nConfig.fallbackLanguage = supportedLangKeys.includes(fallbackLang)\n ? fallbackLang\n : supportedLangKeys[0]!\n i18nConfig.translations =\n (incomingConfig.i18n?.translations as SanitizedConfig['i18n']['translations']) ||\n i18nConfig.translations\n }\n\n config.i18n = i18nConfig\n\n const richTextSanitizationPromises: Array<(config: SanitizedConfig) => Promise<void>> = []\n\n const schedulePublishCollections: CollectionSlug[] = []\n\n const queryPresetsCollections: CollectionSlug[] = []\n\n const schedulePublishGlobals: GlobalSlug[] = []\n\n const collectionSlugs = new Set<CollectionSlug>()\n\n const validRelationships = [\n ...(config.collections?.map((c) => c.slug) ?? []),\n jobsCollectionSlug,\n lockedDocumentsCollectionSlug,\n preferencesCollectionSlug,\n ]\n\n if (config.folders !== false) {\n validRelationships.push(config.folders!.slug)\n }\n\n const dashboardWidgets = config.admin?.dashboard?.widgets ?? ([] as Widget[])\n\n for (const widget of dashboardWidgets) {\n if (widget.fields?.length) {\n widget.fields = await sanitizeFields({\n config: config as unknown as Config,\n existingFieldNames: new Set(),\n fields: widget.fields,\n parentIsLocalized: false,\n richTextSanitizationPromises,\n validRelationships,\n })\n }\n }\n\n /**\n * Blocks sanitization needs to happen before collections, as collection/global join field sanitization needs config.blocks\n * to be populated with the sanitized blocks\n */\n config.blocks = []\n\n if (incomingConfig.blocks?.length) {\n for (const block of incomingConfig.blocks) {\n const sanitizedBlock = block\n\n if (sanitizedBlock._sanitized === true) {\n continue\n }\n sanitizedBlock._sanitized = true\n\n sanitizedBlock.fields = sanitizedBlock.fields.concat(baseBlockFields)\n\n sanitizedBlock.labels = !sanitizedBlock.labels\n ? formatLabels(sanitizedBlock.slug)\n : sanitizedBlock.labels\n\n sanitizedBlock.fields = await sanitizeFields({\n config: config as unknown as Config,\n existingFieldNames: new Set(),\n fields: sanitizedBlock.fields,\n parentIsLocalized: false,\n richTextSanitizationPromises,\n validRelationships,\n })\n\n const flattenedSanitizedBlock = flattenBlock({ block })\n\n config.blocks.push(flattenedSanitizedBlock)\n }\n }\n\n const folderEnabledCollections: SanitizedCollectionConfig[] = []\n\n // Track orderable join fields during sanitization\n const orderableJoins: OrderableJoinInfo[] = []\n\n for (let i = 0; i < config.collections!.length; i++) {\n if (collectionSlugs.has(config.collections![i]!.slug)) {\n throw new DuplicateCollection('slug', config.collections![i]!.slug)\n }\n\n collectionSlugs.add(config.collections![i]!.slug)\n\n const draftsConfig = config.collections![i]?.versions?.drafts\n\n if (typeof draftsConfig === 'object' && draftsConfig.schedulePublish) {\n schedulePublishCollections.push(config.collections![i]!.slug)\n }\n\n if (config.collections![i]!.enableQueryPresets) {\n queryPresetsCollections.push(config.collections![i]!.slug)\n\n if (!validRelationships.includes(queryPresetsCollectionSlug)) {\n validRelationships.push(queryPresetsCollectionSlug)\n }\n }\n\n if (config.folders !== false && config.collections![i]!.folders) {\n addFolderFieldToCollection({\n collection: config.collections![i]!,\n collectionSpecific: config.folders!.collectionSpecific,\n folderFieldName: config.folders!.fieldName,\n folderSlug: config.folders!.slug,\n })\n }\n\n config.collections![i] = await sanitizeCollection(\n config as unknown as Config,\n config.collections![i]!,\n richTextSanitizationPromises,\n validRelationships,\n orderableJoins,\n )\n\n if (config.folders !== false && config.collections![i]!.folders) {\n folderEnabledCollections.push(config.collections![i]!)\n }\n }\n\n // Process orderable features after all collections are sanitized\n const fieldsToAdd = new Map<SanitizedCollectionConfig, string[]>()\n const joinFieldPathsByCollection = new Map<string, Map<string, string>>()\n\n // Handle collection.orderable\n for (const collection of config.collections!) {\n if (collection.orderable) {\n const currentFields = fieldsToAdd.get(collection) || []\n fieldsToAdd.set(collection, [...currentFields, '_order'])\n collection.defaultSort = collection.defaultSort ?? '_order'\n }\n }\n\n // Handle orderable join fields (tracked during sanitization)\n for (const joinInfo of orderableJoins) {\n const targetCollection = config.collections!.find(\n (c) => c.slug === joinInfo.targetCollectionSlug,\n )\n if (targetCollection) {\n const currentFields = fieldsToAdd.get(targetCollection) || []\n fieldsToAdd.set(targetCollection, [...currentFields, joinInfo.orderFieldName])\n\n const currentJoinFieldPaths =\n joinFieldPathsByCollection.get(targetCollection.slug) || new Map<string, string>()\n currentJoinFieldPaths.set(joinInfo.orderFieldName, joinInfo.joinFieldOn)\n joinFieldPathsByCollection.set(targetCollection.slug, currentJoinFieldPaths)\n }\n }\n\n // Add fields, hooks, and update flattenedFields\n for (const [collection, orderableFields] of fieldsToAdd) {\n await addOrderableFieldsAndHook(\n collection,\n config as unknown as Config,\n orderableFields,\n joinFieldPathsByCollection,\n )\n // Regenerate flattenedFields since we added new fields\n collection.flattenedFields = flattenAllFields({ fields: collection.fields })\n }\n\n // Add endpoint if any orderable features exist\n if (fieldsToAdd.size > 0) {\n addOrderableEndpoint(config as SanitizedConfig, joinFieldPathsByCollection)\n }\n\n if (config.globals!.length > 0) {\n for (let i = 0; i < config.globals!.length; i++) {\n if (hasScheduledPublishEnabled(config.globals![i]!)) {\n schedulePublishGlobals.push(config.globals![i]!.slug)\n }\n\n config.globals![i] = await sanitizeGlobal(\n config as unknown as Config,\n config.globals![i]!,\n richTextSanitizationPromises,\n validRelationships,\n )\n }\n }\n\n if (schedulePublishCollections.length || schedulePublishGlobals.length) {\n ;((config.jobs ??= {} as SanitizedJobsConfig).tasks ??= []).push(\n getSchedulePublishTask({\n adminUserSlug: config.admin!.user,\n collections: schedulePublishCollections,\n globals: schedulePublishGlobals,\n }),\n )\n }\n\n ;(config.jobs ??= {} as SanitizedJobsConfig).enabled = Boolean(\n (Array.isArray(configWithDefaults.jobs?.tasks) && configWithDefaults.jobs?.tasks?.length) ||\n (Array.isArray(configWithDefaults.jobs?.workflows) &&\n configWithDefaults.jobs?.workflows?.length),\n )\n\n // Need to add default jobs collection before locked documents collections\n if (config.jobs.enabled) {\n // Check for schedule property in both tasks and workflows\n const hasScheduleProperty =\n (config?.jobs?.tasks?.length && config.jobs.tasks.some((task) => task.schedule)) ||\n (config?.jobs?.workflows?.length &&\n config.jobs.workflows.some((workflow) => workflow.schedule))\n\n if (hasScheduleProperty) {\n config.jobs.scheduling = true\n // Add payload-jobs-stats global for tracking when a job of a specific slug was last run\n ;(config.globals ??= []).push(\n await sanitizeGlobal(\n config as unknown as Config,\n getJobStatsGlobal(config as unknown as Config),\n richTextSanitizationPromises,\n validRelationships,\n ),\n )\n\n config.jobs.stats = true\n }\n\n let defaultJobsCollection = getDefaultJobsCollection(config.jobs)\n\n if (typeof config.jobs.jobsCollectionOverrides === 'function') {\n defaultJobsCollection = config.jobs.jobsCollectionOverrides({\n defaultJobsCollection,\n })\n\n const hooks = defaultJobsCollection?.hooks\n // @todo - delete this check in 4.0\n if (hooks && config?.jobs?.runHooks !== true) {\n for (const [hookKey, hook] of Object.entries(hooks)) {\n const defaultAmount = hookKey === 'afterRead' || hookKey === 'beforeChange' ? 1 : 0\n if (hook.length > defaultAmount) {\n // eslint-disable-next-line no-console\n console.warn(\n `The jobsCollectionOverrides function is returning a collection with an additional ${hookKey} hook defined. These hooks will not run unless the jobs.runHooks option is set to true. Setting this option to true will negatively impact performance.`,\n )\n break\n }\n }\n }\n }\n const sanitizedJobsCollection = await sanitizeCollection(\n config as unknown as Config,\n defaultJobsCollection,\n richTextSanitizationPromises,\n validRelationships,\n )\n\n ;(config.collections ??= []).push(sanitizedJobsCollection)\n }\n\n if (config.folders !== false && folderEnabledCollections.length) {\n await addFolderCollection({\n collectionSpecific: config.folders!.collectionSpecific,\n config: config as unknown as Config,\n folderEnabledCollections,\n richTextSanitizationPromises,\n validRelationships,\n })\n }\n\n const lockedDocumentsCollection = getLockedDocumentsCollection(config as unknown as Config)\n\n if (lockedDocumentsCollection) {\n configWithDefaults.collections!.push(\n await sanitizeCollection(\n config as unknown as Config,\n lockedDocumentsCollection,\n richTextSanitizationPromises,\n validRelationships,\n ),\n )\n }\n\n configWithDefaults.collections!.push(\n await sanitizeCollection(\n config as unknown as Config,\n getPreferencesCollection(config as unknown as Config),\n richTextSanitizationPromises,\n validRelationships,\n ),\n )\n\n const migrations = await sanitizeCollection(\n config as unknown as Config,\n migrationsCollection,\n richTextSanitizationPromises,\n validRelationships,\n )\n\n // @ts-expect-error indexSortableFields is only valid for @payloadcms/db-mongodb\n if (config?.db?.indexSortableFields) {\n migrations.indexes = [\n {\n fields: ['batch', 'name'],\n unique: false,\n },\n ]\n }\n configWithDefaults.collections!.push(migrations)\n\n if (queryPresetsCollections.length > 0) {\n configWithDefaults.collections!.push(\n await sanitizeCollection(\n config as unknown as Config,\n getQueryPresetsConfig(config as unknown as Config),\n richTextSanitizationPromises,\n validRelationships,\n ),\n )\n }\n\n if (config.serverURL !== '') {\n config.csrf!.push(config.serverURL!)\n }\n\n const uploadAdapters = new Set<string>()\n // interact with all collections\n for (const collection of config.collections!) {\n // deduped upload adapters\n if (collection.upload?.adapter) {\n uploadAdapters.add(collection.upload.adapter)\n }\n }\n\n if (!config.upload) {\n config.upload = { adapters: [] }\n }\n\n config.upload.adapters = Array.from(\n new Set(config.collections!.map((c) => c.upload?.adapter).filter(Boolean) as string[]),\n )\n\n // Pass through the email config as is so adapters don't break\n if (incomingConfig.email) {\n config.email = incomingConfig.email\n }\n\n /*\n Execute richText sanitization\n */\n if (typeof incomingConfig.editor === 'function') {\n config.editor = await incomingConfig.editor({\n config: config as SanitizedConfig,\n isRoot: true,\n parentIsLocalized: false,\n })\n if (config.editor.i18n && Object.keys(config.editor.i18n).length >= 0) {\n config.i18n.translations = deepMergeSimple(config.i18n.translations, config.editor.i18n)\n }\n }\n\n const promises: Promise<void>[] = []\n\n for (const sanitizeFunction of richTextSanitizationPromises) {\n promises.push(sanitizeFunction(config as SanitizedConfig))\n }\n\n await Promise.all(promises)\n\n return config as SanitizedConfig\n}\n"],"names":["en","deepMergeSimple","defaultUserCollection","authRootEndpoints","sanitizeCollection","migrationsCollection","DuplicateCollection","InvalidConfiguration","defaultTimezones","addFolderCollection","addFolderFieldToCollection","sanitizeGlobal","baseBlockFields","formatLabels","sanitizeFields","getLockedDocumentsCollection","lockedDocumentsCollectionSlug","getPreferencesCollection","preferencesCollectionSlug","getQueryPresetsConfig","queryPresetsCollectionSlug","getDefaultJobsCollection","jobsCollectionSlug","getJobStatsGlobal","flattenAllFields","flattenBlock","hasScheduledPublishEnabled","validateTimezones","getSchedulePublishTask","addDefaultsToConfig","addOrderableEndpoint","addOrderableFieldsAndHook","sanitizeAdminConfig","configToSanitize","sanitizedConfig","compatibility","allowLocalizedWithinLocalized","process","env","NEXT_PUBLIC_PAYLOAD_COMPATIBILITY_allowLocalizedWithinLocalized","loggingLevels","Forbidden","Locked","MissingFile","NotFound","ValidationError","admin","dashboard","widgets","push","slug","Component","minWidth","defaultLayout","widgetSlug","width","user","firstCollectionWithAuth","collections","find","auth","Boolean","userCollection","timezones","supportedTimezones","source","sanitizeConfig","incomingConfig","configWithDefaults","config","endpoints","endpoint","localization","locales","length","firstLocale","localeCodes","map","locale","code","label","rtl","toString","fallback","i18nConfig","fallbackLanguage","supportedLanguages","translations","i18n","supportedLangKeys","Object","keys","fallbackLang","includes","richTextSanitizationPromises","schedulePublishCollections","queryPresetsCollections","schedulePublishGlobals","collectionSlugs","Set","validRelationships","c","folders","dashboardWidgets","widget","fields","existingFieldNames","parentIsLocalized","blocks","block","sanitizedBlock","_sanitized","concat","labels","flattenedSanitizedBlock","folderEnabledCollections","orderableJoins","i","has","add","draftsConfig","versions","drafts","schedulePublish","enableQueryPresets","collection","collectionSpecific","folderFieldName","fieldName","folderSlug","fieldsToAdd","Map","joinFieldPathsByCollection","orderable","currentFields","get","set","defaultSort","joinInfo","targetCollection","targetCollectionSlug","orderFieldName","currentJoinFieldPaths","joinFieldOn","orderableFields","flattenedFields","size","globals","jobs","tasks","adminUserSlug","enabled","Array","isArray","workflows","hasScheduleProperty","some","task","schedule","workflow","scheduling","stats","defaultJobsCollection","jobsCollectionOverrides","hooks","runHooks","hookKey","hook","entries","defaultAmount","console","warn","sanitizedJobsCollection","lockedDocumentsCollection","migrations","db","indexSortableFields","indexes","unique","serverURL","csrf","uploadAdapters","upload","adapter","adapters","from","filter","email","editor","isRoot","promises","sanitizeFunction","Promise","all"],"mappings":"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"}
|
package/dist/config/types.d.ts
CHANGED
|
@@ -1265,6 +1265,26 @@ export type Config = {
|
|
|
1265
1265
|
} | false;
|
|
1266
1266
|
/** Filename to write the generated types to */
|
|
1267
1267
|
outputFile?: string;
|
|
1268
|
+
/**
|
|
1269
|
+
* Post-process the generated TypeScript types string before writing to file.
|
|
1270
|
+
* Useful for plugins that need to inject generic types that JSON Schema cannot express.
|
|
1271
|
+
*
|
|
1272
|
+
* Functions are applied in order after the built-in Select generics are added.
|
|
1273
|
+
*
|
|
1274
|
+
* @example
|
|
1275
|
+
* ```ts
|
|
1276
|
+
* postProcess: [
|
|
1277
|
+
* ({ compiledTypes, config }) => {
|
|
1278
|
+
* const genericType = `export type MyGeneric<T> = { value: T };`
|
|
1279
|
+
* return compiledTypes.replace(/(\/\*[\s\S]*?\*\/\n)/, `$1\n${genericType}\n`)
|
|
1280
|
+
* },
|
|
1281
|
+
* ]
|
|
1282
|
+
* ```
|
|
1283
|
+
*/
|
|
1284
|
+
postProcess?: Array<(args: {
|
|
1285
|
+
compiledTypes: string;
|
|
1286
|
+
config: SanitizedConfig;
|
|
1287
|
+
}) => string>;
|
|
1268
1288
|
/**
|
|
1269
1289
|
* Allows you to modify the base JSON schema that is generated during generate:types. This JSON schema will be used
|
|
1270
1290
|
* to generate the TypeScript interfaces.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|