payload 4.0.0-internal.f11981a → 4.0.0-internal.f715c6e

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.
Files changed (80) hide show
  1. package/dist/admin/RichText.d.ts +1 -1
  2. package/dist/admin/RichText.d.ts.map +1 -1
  3. package/dist/admin/RichText.js.map +1 -1
  4. package/dist/auth/endpoints/refresh.d.ts.map +1 -1
  5. package/dist/auth/endpoints/refresh.js +6 -4
  6. package/dist/auth/endpoints/refresh.js.map +1 -1
  7. package/dist/auth/executeAccess.d.ts +1 -1
  8. package/dist/auth/executeAccess.d.ts.map +1 -1
  9. package/dist/auth/executeAccess.js.map +1 -1
  10. package/dist/auth/getLoginOptions.js.map +1 -1
  11. package/dist/auth/types.d.ts +14 -9
  12. package/dist/auth/types.d.ts.map +1 -1
  13. package/dist/auth/types.js.map +1 -1
  14. package/dist/collections/config/defaults.d.ts +4 -4
  15. package/dist/collections/config/defaults.d.ts.map +1 -1
  16. package/dist/collections/config/defaults.js +32 -36
  17. package/dist/collections/config/defaults.js.map +1 -1
  18. package/dist/collections/config/sanitize.d.ts +8 -4
  19. package/dist/collections/config/sanitize.d.ts.map +1 -1
  20. package/dist/collections/config/sanitize.js +21 -4
  21. package/dist/collections/config/sanitize.js.map +1 -1
  22. package/dist/collections/config/types.d.ts +48 -52
  23. package/dist/collections/config/types.d.ts.map +1 -1
  24. package/dist/collections/config/types.js.map +1 -1
  25. package/dist/collections/config/useAsTitle.spec.js +27 -27
  26. package/dist/collections/config/useAsTitle.spec.js.map +1 -1
  27. package/dist/config/build.js +1 -1
  28. package/dist/config/build.js.map +1 -1
  29. package/dist/config/orderable/index.d.ts +1 -1
  30. package/dist/config/orderable/index.d.ts.map +1 -1
  31. package/dist/config/orderable/index.js +2 -2
  32. package/dist/config/orderable/index.js.map +1 -1
  33. package/dist/config/sanitize.d.ts +1 -1
  34. package/dist/config/sanitize.d.ts.map +1 -1
  35. package/dist/config/sanitize.js +30 -26
  36. package/dist/config/sanitize.js.map +1 -1
  37. package/dist/fields/config/reservedFieldNames.spec.js +18 -18
  38. package/dist/fields/config/reservedFieldNames.spec.js.map +1 -1
  39. package/dist/fields/config/sanitize.d.ts +6 -6
  40. package/dist/fields/config/sanitize.d.ts.map +1 -1
  41. package/dist/fields/config/sanitize.js +19 -18
  42. package/dist/fields/config/sanitize.js.map +1 -1
  43. package/dist/fields/config/sanitize.spec.js +105 -105
  44. package/dist/fields/config/sanitize.spec.js.map +1 -1
  45. package/dist/fields/config/types.js +1 -1
  46. package/dist/fields/config/types.js.map +1 -1
  47. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  48. package/dist/fields/hooks/beforeValidate/traverseFields.js +0 -2
  49. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  50. package/dist/globals/config/sanitize.d.ts +7 -3
  51. package/dist/globals/config/sanitize.d.ts.map +1 -1
  52. package/dist/globals/config/sanitize.js +6 -3
  53. package/dist/globals/config/sanitize.js.map +1 -1
  54. package/dist/globals/config/sanitize.spec.js +6 -6
  55. package/dist/globals/config/sanitize.spec.js.map +1 -1
  56. package/dist/index.bundled.d.ts +79 -72
  57. package/dist/uploads/generateFileData.d.ts.map +1 -1
  58. package/dist/uploads/generateFileData.js +13 -3
  59. package/dist/uploads/generateFileData.js.map +1 -1
  60. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  61. package/dist/uploads/getBaseFields.js +68 -0
  62. package/dist/uploads/getBaseFields.js.map +1 -1
  63. package/dist/uploads/types.d.ts +8 -0
  64. package/dist/uploads/types.d.ts.map +1 -1
  65. package/dist/uploads/types.js.map +1 -1
  66. package/dist/utilities/appendNonTrashedFilter.d.ts +1 -1
  67. package/dist/utilities/appendNonTrashedFilter.d.ts.map +1 -1
  68. package/dist/utilities/appendNonTrashedFilter.js.map +1 -1
  69. package/dist/utilities/configToJSONSchema.spec.js +33 -33
  70. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  71. package/dist/utilities/traverseFields.d.ts.map +1 -1
  72. package/dist/utilities/traverseFields.js +22 -20
  73. package/dist/utilities/traverseFields.js.map +1 -1
  74. package/dist/utilities/traverseFields.spec.js +0 -112
  75. package/dist/utilities/traverseFields.spec.js.map +1 -1
  76. package/package.json +2 -2
  77. package/dist/utilities/unflattenData.d.ts +0 -3
  78. package/dist/utilities/unflattenData.d.ts.map +0 -1
  79. package/dist/utilities/unflattenData.js +0 -14
  80. package/dist/utilities/unflattenData.js.map +0 -1
@@ -199,6 +199,6 @@ export type RichTextAdapterProvider<Value extends object = object, AdapterProps
199
199
  */
200
200
  isRoot?: boolean;
201
201
  parentIsLocalized: boolean;
202
- }) => RichTextAdapter<Value, AdapterProps, ExtraFieldProperties>;
202
+ }) => Promise<RichTextAdapter<Value, AdapterProps, ExtraFieldProperties>> | RichTextAdapter<Value, AdapterProps, ExtraFieldProperties>;
203
203
  export {};
204
204
  //# sourceMappingURL=RichText.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RichText.d.ts","sourceRoot":"","sources":["../../src/admin/RichText.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RichText.d.ts","sourceRoot":"","sources":["../../src/admin/RichText.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/admin/RichText.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { I18n } from '@payloadcms/translations'\nimport type { JSONSchema4 } from 'json-schema'\n\nimport type { SanitizedCollectionConfig, TypeWithID } from '../collections/config/types.js'\nimport type { ImportMapGenerators, PayloadComponent, SanitizedConfig } from '../config/types.js'\nimport type { ValidationFieldError } from '../errors/ValidationError.js'\nimport type {\n FieldAffectingData,\n RichTextField,\n RichTextFieldClient,\n Validate,\n} from '../fields/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { RequestContext, TypedFallbackLocale } from '../index.js'\nimport type { JsonObject, PayloadRequest, PopulateType } from '../types/index.js'\nimport type { FieldsToJSONSchemaArgs } from '../utilities/configToJSONSchema.js'\nimport type { RichTextFieldClientProps, RichTextFieldServerProps } from './fields/RichText.js'\nimport type { FieldDiffClientProps, FieldDiffServerProps, FieldSchemaMap } from './types.js'\n\nexport type AfterReadRichTextHookArgs<\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n TData extends TypeWithID = any,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n TValue = any,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n TSiblingData = any,\n> = {\n currentDepth?: number\n\n depth?: number\n\n draft?: boolean\n\n fallbackLocale?: TypedFallbackLocale\n fieldPromises?: Promise<void>[]\n\n /** Boolean to denote if this hook is running against finding one, or finding many within the afterRead hook. */\n findMany?: boolean\n\n flattenLocales?: boolean\n\n locale?: string\n\n /** A string relating to which operation the field type is currently executing within. */\n operation?: 'create' | 'delete' | 'read' | 'update'\n\n overrideAccess?: boolean\n\n populate?: PopulateType\n\n populationPromises?: Promise<void>[]\n showHiddenFields?: boolean\n triggerAccessControl?: boolean\n triggerHooks?: boolean\n}\n\nexport type AfterChangeRichTextHookArgs<\n TData extends TypeWithID = any,\n TValue = any,\n TSiblingData = any,\n> = {\n /** A string relating to which operation the field type is currently executing within. */\n operation: 'create' | 'update'\n /** The document before changes were applied. */\n previousDoc?: TData\n /** The sibling data of the document before changes being applied. */\n previousSiblingDoc?: TSiblingData\n /** The previous value of the field, before changes */\n previousValue?: TValue\n}\n\nexport type BeforeValidateRichTextHookArgs<\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n TData extends TypeWithID = any,\n TValue = any,\n TSiblingData = any,\n> = {\n /** A string relating to which operation the field type is currently executing within. */\n operation: 'create' | 'update'\n overrideAccess?: boolean\n /** The sibling data of the document before changes being applied. */\n previousSiblingDoc?: TSiblingData\n /** The previous value of the field, before changes */\n previousValue?: TValue\n}\n\nexport type BeforeChangeRichTextHookArgs<\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n TData extends TypeWithID = any,\n TValue = any,\n TSiblingData = any,\n> = {\n /**\n * The original data with locales (not modified by any hooks). Only available in `beforeChange` and `beforeDuplicate` field hooks.\n */\n docWithLocales?: JsonObject\n\n duplicate?: boolean\n\n errors?: ValidationFieldError[]\n /**\n * Built up field label\n *\n * @example \"Group Field > Tab Field > Rich Text Field\"\n */\n fieldLabelPath: string\n /** Only available in `beforeChange` field hooks */\n mergeLocaleActions?: (() => Promise<void> | void)[]\n /** A string relating to which operation the field type is currently executing within. */\n operation?: 'create' | 'delete' | 'read' | 'update'\n overrideAccess: boolean\n /** The sibling data of the document before changes being applied. */\n previousSiblingDoc?: TSiblingData\n /** The previous value of the field, before changes */\n previousValue?: TValue\n /**\n * The original siblingData with locales (not modified by any hooks).\n */\n siblingDocWithLocales?: JsonObject\n skipValidation?: boolean\n}\n\nexport type BaseRichTextHookArgs<\n TData extends TypeWithID = any,\n TValue = any,\n TSiblingData = any,\n> = {\n /** The collection which the field belongs to. If the field belongs to a global, this will be null. */\n collection: null | SanitizedCollectionConfig\n context: RequestContext\n /** The data passed to update the document within create and update operations, and the full document itself in the afterRead hook. */\n data?: Partial<TData>\n /** The field which the hook is running against. */\n field: FieldAffectingData\n /** The global which the field belongs to. If the field belongs to a collection, this will be null. */\n global: null | SanitizedGlobalConfig\n indexPath: number[]\n /** The full original document in `update` operations. In the `afterChange` hook, this is the resulting document of the operation. */\n originalDoc?: TData\n parentIsLocalized: boolean\n /**\n * The path of the field, e.g. [\"group\", \"myArray\", 1, \"textField\"]. The path is the schemaPath but with indexes and would be used in the context of field data, not field schemas.\n */\n path: (number | string)[]\n /** The Express request object. It is mocked for Local API operations. */\n req: PayloadRequest\n /**\n * The schemaPath of the field, e.g. [\"group\", \"myArray\", \"textField\"]. The schemaPath is the path but without indexes and would be used in the context of field schemas, not field data.\n */\n schemaPath: string[]\n /** The sibling data passed to a field that the hook is running against. */\n siblingData: Partial<TSiblingData>\n /** The value of the field. */\n value?: TValue\n}\n\nexport type AfterReadRichTextHook<\n TData extends TypeWithID = any,\n TValue = any,\n TSiblingData = any,\n> = (\n args: AfterReadRichTextHookArgs<TData, TValue, TSiblingData> &\n BaseRichTextHookArgs<TData, TValue, TSiblingData>,\n) => Promise<TValue> | TValue\n\nexport type AfterChangeRichTextHook<\n TData extends TypeWithID = any,\n TValue = any,\n TSiblingData = any,\n> = (\n args: AfterChangeRichTextHookArgs<TData, TValue, TSiblingData> &\n BaseRichTextHookArgs<TData, TValue, TSiblingData>,\n) => Promise<TValue> | TValue\n\nexport type BeforeChangeRichTextHook<\n TData extends TypeWithID = any,\n TValue = any,\n TSiblingData = any,\n> = (\n args: BaseRichTextHookArgs<TData, TValue, TSiblingData> &\n BeforeChangeRichTextHookArgs<TData, TValue, TSiblingData>,\n) => Promise<TValue> | TValue\n\nexport type BeforeValidateRichTextHook<\n TData extends TypeWithID = any,\n TValue = any,\n TSiblingData = any,\n> = (\n args: BaseRichTextHookArgs<TData, TValue, TSiblingData> &\n BeforeValidateRichTextHookArgs<TData, TValue, TSiblingData>,\n) => Promise<TValue> | TValue\n\nexport type RichTextHooks = {\n afterChange?: AfterChangeRichTextHook[]\n afterRead?: AfterReadRichTextHook[]\n beforeChange?: BeforeChangeRichTextHook[]\n beforeValidate?: BeforeValidateRichTextHook[]\n}\n\ntype RichTextAdapterBase<\n Value extends object = object,\n AdapterProps = any,\n ExtraFieldProperties = {},\n> = {\n /**\n * Provide a function that can be used to add items to the import map. This is useful for\n * making modules available to the client.\n */\n generateImportMap?: ImportMapGenerators[0]\n /**\n * Provide a function that can be used to add items to the schema map. This is useful for\n * richtext sub-fields the server needs to \"know\" about in order to do things like calculate form state.\n *\n * This function is run within `buildFieldSchemaMap`.\n */\n generateSchemaMap?: (args: {\n config: SanitizedConfig\n field: RichTextField\n i18n: I18n<any, any>\n schemaMap: FieldSchemaMap\n schemaPath: string\n }) => FieldSchemaMap\n /**\n * Like an afterRead hook, but runs only for the GraphQL resolver. For populating data, this should be used, as afterRead hooks do not have a depth in graphQL.\n *\n * To populate stuff / resolve field hooks, mutate the incoming populationPromises or fieldPromises array. They will then be awaited in the correct order within payload itself.\n * @param data\n */\n graphQLPopulationPromises?: (data: {\n context: RequestContext\n currentDepth?: number\n depth: number\n draft: boolean\n field: RichTextField<Value, AdapterProps, ExtraFieldProperties>\n fieldPromises: Promise<void>[]\n findMany: boolean\n flattenLocales: boolean\n overrideAccess?: boolean\n parentIsLocalized: boolean\n populateArg?: PopulateType\n populationPromises: Promise<void>[]\n req: PayloadRequest\n showHiddenFields: boolean\n siblingDoc: JsonObject\n }) => void\n hooks?: RichTextHooks\n /**\n * Return the JSON schema for the field value. The JSON schema is read by\n * `json-schema-to-typescript` which is used to generate types for this richtext field\n * payload-types.ts)\n */\n jsonSchema?: (\n args: {\n field: RichTextField<Value, AdapterProps, ExtraFieldProperties>\n isRequired: boolean\n } & Pick<\n FieldsToJSONSchemaArgs,\n | 'collectionIDFieldTypes'\n | 'config'\n | 'i18n'\n | 'interfaceNameDefinitions'\n | 'typeStringDefinitions'\n | 'variant'\n >,\n ) => JSONSchema4\n /**\n * Provide validation function for the richText field. This function is run the same way\n * as other field validation functions.\n */\n validate: Validate<\n Value,\n Value,\n unknown,\n RichTextField<Value, AdapterProps, ExtraFieldProperties>\n >\n}\n\nexport type RichTextAdapter<\n Value extends object = any,\n AdapterProps = any,\n ExtraFieldProperties = any,\n> = {\n /**\n * Component that will be displayed in the list view. Can be typed as\n * `DefaultCellComponentProps` or `DefaultServerCellComponentProps`.\n */\n CellComponent: PayloadComponent<never>\n /**\n * Component that will be displayed in the version diff view.\n * If not provided, richtext content will be diffed as JSON.\n */\n DiffComponent?: PayloadComponent<\n FieldDiffServerProps<RichTextField, RichTextFieldClient>,\n FieldDiffClientProps<RichTextFieldClient>\n >\n /**\n * Component that will be displayed in the edit view.\n */\n FieldComponent: PayloadComponent<RichTextFieldServerProps, RichTextFieldClientProps>\n} & RichTextAdapterBase<Value, AdapterProps, ExtraFieldProperties>\n\nexport type RichTextAdapterProvider<\n Value extends object = object,\n AdapterProps = any,\n ExtraFieldProperties = {},\n> = ({\n config,\n isRoot,\n parentIsLocalized,\n}: {\n config: SanitizedConfig\n /**\n * Whether or not this is the root richText editor, defined in the top-level `editor` property\n * of the Payload Config.\n *\n * @default false\n */\n isRoot?: boolean\n parentIsLocalized: boolean\n}) => RichTextAdapter<Value, AdapterProps, ExtraFieldProperties>\n"],"names":[],"mappings":"AAAA,qDAAqD,GA8SrD,WAkBgE"}
1
+ {"version":3,"sources":["../../src/admin/RichText.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { I18n } from '@payloadcms/translations'\nimport type { JSONSchema4 } from 'json-schema'\n\nimport type { SanitizedCollectionConfig, TypeWithID } from '../collections/config/types.js'\nimport type { ImportMapGenerators, PayloadComponent, SanitizedConfig } from '../config/types.js'\nimport type { ValidationFieldError } from '../errors/ValidationError.js'\nimport type {\n FieldAffectingData,\n RichTextField,\n RichTextFieldClient,\n Validate,\n} from '../fields/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { RequestContext, TypedFallbackLocale } from '../index.js'\nimport type { JsonObject, PayloadRequest, PopulateType } from '../types/index.js'\nimport type { FieldsToJSONSchemaArgs } from '../utilities/configToJSONSchema.js'\nimport type { RichTextFieldClientProps, RichTextFieldServerProps } from './fields/RichText.js'\nimport type { FieldDiffClientProps, FieldDiffServerProps, FieldSchemaMap } from './types.js'\n\nexport type AfterReadRichTextHookArgs<\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n TData extends TypeWithID = any,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n TValue = any,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n TSiblingData = any,\n> = {\n currentDepth?: number\n\n depth?: number\n\n draft?: boolean\n\n fallbackLocale?: TypedFallbackLocale\n fieldPromises?: Promise<void>[]\n\n /** Boolean to denote if this hook is running against finding one, or finding many within the afterRead hook. */\n findMany?: boolean\n\n flattenLocales?: boolean\n\n locale?: string\n\n /** A string relating to which operation the field type is currently executing within. */\n operation?: 'create' | 'delete' | 'read' | 'update'\n\n overrideAccess?: boolean\n\n populate?: PopulateType\n\n populationPromises?: Promise<void>[]\n showHiddenFields?: boolean\n triggerAccessControl?: boolean\n triggerHooks?: boolean\n}\n\nexport type AfterChangeRichTextHookArgs<\n TData extends TypeWithID = any,\n TValue = any,\n TSiblingData = any,\n> = {\n /** A string relating to which operation the field type is currently executing within. */\n operation: 'create' | 'update'\n /** The document before changes were applied. */\n previousDoc?: TData\n /** The sibling data of the document before changes being applied. */\n previousSiblingDoc?: TSiblingData\n /** The previous value of the field, before changes */\n previousValue?: TValue\n}\n\nexport type BeforeValidateRichTextHookArgs<\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n TData extends TypeWithID = any,\n TValue = any,\n TSiblingData = any,\n> = {\n /** A string relating to which operation the field type is currently executing within. */\n operation: 'create' | 'update'\n overrideAccess?: boolean\n /** The sibling data of the document before changes being applied. */\n previousSiblingDoc?: TSiblingData\n /** The previous value of the field, before changes */\n previousValue?: TValue\n}\n\nexport type BeforeChangeRichTextHookArgs<\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n TData extends TypeWithID = any,\n TValue = any,\n TSiblingData = any,\n> = {\n /**\n * The original data with locales (not modified by any hooks). Only available in `beforeChange` and `beforeDuplicate` field hooks.\n */\n docWithLocales?: JsonObject\n\n duplicate?: boolean\n\n errors?: ValidationFieldError[]\n /**\n * Built up field label\n *\n * @example \"Group Field > Tab Field > Rich Text Field\"\n */\n fieldLabelPath: string\n /** Only available in `beforeChange` field hooks */\n mergeLocaleActions?: (() => Promise<void> | void)[]\n /** A string relating to which operation the field type is currently executing within. */\n operation?: 'create' | 'delete' | 'read' | 'update'\n overrideAccess: boolean\n /** The sibling data of the document before changes being applied. */\n previousSiblingDoc?: TSiblingData\n /** The previous value of the field, before changes */\n previousValue?: TValue\n /**\n * The original siblingData with locales (not modified by any hooks).\n */\n siblingDocWithLocales?: JsonObject\n skipValidation?: boolean\n}\n\nexport type BaseRichTextHookArgs<\n TData extends TypeWithID = any,\n TValue = any,\n TSiblingData = any,\n> = {\n /** The collection which the field belongs to. If the field belongs to a global, this will be null. */\n collection: null | SanitizedCollectionConfig\n context: RequestContext\n /** The data passed to update the document within create and update operations, and the full document itself in the afterRead hook. */\n data?: Partial<TData>\n /** The field which the hook is running against. */\n field: FieldAffectingData\n /** The global which the field belongs to. If the field belongs to a collection, this will be null. */\n global: null | SanitizedGlobalConfig\n indexPath: number[]\n /** The full original document in `update` operations. In the `afterChange` hook, this is the resulting document of the operation. */\n originalDoc?: TData\n parentIsLocalized: boolean\n /**\n * The path of the field, e.g. [\"group\", \"myArray\", 1, \"textField\"]. The path is the schemaPath but with indexes and would be used in the context of field data, not field schemas.\n */\n path: (number | string)[]\n /** The Express request object. It is mocked for Local API operations. */\n req: PayloadRequest\n /**\n * The schemaPath of the field, e.g. [\"group\", \"myArray\", \"textField\"]. The schemaPath is the path but without indexes and would be used in the context of field schemas, not field data.\n */\n schemaPath: string[]\n /** The sibling data passed to a field that the hook is running against. */\n siblingData: Partial<TSiblingData>\n /** The value of the field. */\n value?: TValue\n}\n\nexport type AfterReadRichTextHook<\n TData extends TypeWithID = any,\n TValue = any,\n TSiblingData = any,\n> = (\n args: AfterReadRichTextHookArgs<TData, TValue, TSiblingData> &\n BaseRichTextHookArgs<TData, TValue, TSiblingData>,\n) => Promise<TValue> | TValue\n\nexport type AfterChangeRichTextHook<\n TData extends TypeWithID = any,\n TValue = any,\n TSiblingData = any,\n> = (\n args: AfterChangeRichTextHookArgs<TData, TValue, TSiblingData> &\n BaseRichTextHookArgs<TData, TValue, TSiblingData>,\n) => Promise<TValue> | TValue\n\nexport type BeforeChangeRichTextHook<\n TData extends TypeWithID = any,\n TValue = any,\n TSiblingData = any,\n> = (\n args: BaseRichTextHookArgs<TData, TValue, TSiblingData> &\n BeforeChangeRichTextHookArgs<TData, TValue, TSiblingData>,\n) => Promise<TValue> | TValue\n\nexport type BeforeValidateRichTextHook<\n TData extends TypeWithID = any,\n TValue = any,\n TSiblingData = any,\n> = (\n args: BaseRichTextHookArgs<TData, TValue, TSiblingData> &\n BeforeValidateRichTextHookArgs<TData, TValue, TSiblingData>,\n) => Promise<TValue> | TValue\n\nexport type RichTextHooks = {\n afterChange?: AfterChangeRichTextHook[]\n afterRead?: AfterReadRichTextHook[]\n beforeChange?: BeforeChangeRichTextHook[]\n beforeValidate?: BeforeValidateRichTextHook[]\n}\n\ntype RichTextAdapterBase<\n Value extends object = object,\n AdapterProps = any,\n ExtraFieldProperties = {},\n> = {\n /**\n * Provide a function that can be used to add items to the import map. This is useful for\n * making modules available to the client.\n */\n generateImportMap?: ImportMapGenerators[0]\n /**\n * Provide a function that can be used to add items to the schema map. This is useful for\n * richtext sub-fields the server needs to \"know\" about in order to do things like calculate form state.\n *\n * This function is run within `buildFieldSchemaMap`.\n */\n generateSchemaMap?: (args: {\n config: SanitizedConfig\n field: RichTextField\n i18n: I18n<any, any>\n schemaMap: FieldSchemaMap\n schemaPath: string\n }) => FieldSchemaMap\n /**\n * Like an afterRead hook, but runs only for the GraphQL resolver. For populating data, this should be used, as afterRead hooks do not have a depth in graphQL.\n *\n * To populate stuff / resolve field hooks, mutate the incoming populationPromises or fieldPromises array. They will then be awaited in the correct order within payload itself.\n * @param data\n */\n graphQLPopulationPromises?: (data: {\n context: RequestContext\n currentDepth?: number\n depth: number\n draft: boolean\n field: RichTextField<Value, AdapterProps, ExtraFieldProperties>\n fieldPromises: Promise<void>[]\n findMany: boolean\n flattenLocales: boolean\n overrideAccess?: boolean\n parentIsLocalized: boolean\n populateArg?: PopulateType\n populationPromises: Promise<void>[]\n req: PayloadRequest\n showHiddenFields: boolean\n siblingDoc: JsonObject\n }) => void\n hooks?: RichTextHooks\n /**\n * Return the JSON schema for the field value. The JSON schema is read by\n * `json-schema-to-typescript` which is used to generate types for this richtext field\n * payload-types.ts)\n */\n jsonSchema?: (\n args: {\n field: RichTextField<Value, AdapterProps, ExtraFieldProperties>\n isRequired: boolean\n } & Pick<\n FieldsToJSONSchemaArgs,\n | 'collectionIDFieldTypes'\n | 'config'\n | 'i18n'\n | 'interfaceNameDefinitions'\n | 'typeStringDefinitions'\n | 'variant'\n >,\n ) => JSONSchema4\n /**\n * Provide validation function for the richText field. This function is run the same way\n * as other field validation functions.\n */\n validate: Validate<\n Value,\n Value,\n unknown,\n RichTextField<Value, AdapterProps, ExtraFieldProperties>\n >\n}\n\nexport type RichTextAdapter<\n Value extends object = any,\n AdapterProps = any,\n ExtraFieldProperties = any,\n> = {\n /**\n * Component that will be displayed in the list view. Can be typed as\n * `DefaultCellComponentProps` or `DefaultServerCellComponentProps`.\n */\n CellComponent: PayloadComponent<never>\n /**\n * Component that will be displayed in the version diff view.\n * If not provided, richtext content will be diffed as JSON.\n */\n DiffComponent?: PayloadComponent<\n FieldDiffServerProps<RichTextField, RichTextFieldClient>,\n FieldDiffClientProps<RichTextFieldClient>\n >\n /**\n * Component that will be displayed in the edit view.\n */\n FieldComponent: PayloadComponent<RichTextFieldServerProps, RichTextFieldClientProps>\n} & RichTextAdapterBase<Value, AdapterProps, ExtraFieldProperties>\n\nexport type RichTextAdapterProvider<\n Value extends object = object,\n AdapterProps = any,\n ExtraFieldProperties = {},\n> = ({\n config,\n isRoot,\n parentIsLocalized,\n}: {\n config: SanitizedConfig\n /**\n * Whether or not this is the root richText editor, defined in the top-level `editor` property\n * of the Payload Config.\n *\n * @default false\n */\n isRoot?: boolean\n parentIsLocalized: boolean\n}) =>\n | Promise<RichTextAdapter<Value, AdapterProps, ExtraFieldProperties>>\n | RichTextAdapter<Value, AdapterProps, ExtraFieldProperties>\n"],"names":[],"mappings":"AAAA,qDAAqD,GA8SrD,WAoB8D"}
@@ -1 +1 @@
1
- {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/auth/endpoints/refresh.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAO3D,eAAO,MAAM,cAAc,EAAE,cAwC5B,CAAA"}
1
+ {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/auth/endpoints/refresh.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAO3D,eAAO,MAAM,cAAc,EAAE,cAuC5B,CAAA"}
@@ -14,19 +14,21 @@ export const refreshHandler = async (req)=>{
14
14
  collection,
15
15
  req
16
16
  });
17
- const { refreshedToken, ...resultWithoutToken } = result;
18
17
  if (result.setCookie) {
19
18
  const cookie = generatePayloadCookie({
20
19
  collectionAuthConfig: collection.config.auth,
21
20
  cookiePrefix: req.payload.config.cookiePrefix,
22
- token: refreshedToken
21
+ token: result.refreshedToken
23
22
  });
23
+ if (collection.config.auth.removeTokenFromResponses) {
24
+ // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
25
+ delete result.refreshedToken;
26
+ }
24
27
  headers.set('Set-Cookie', cookie);
25
28
  }
26
- const responseResult = collection.config.auth.removeTokenFromResponses ? resultWithoutToken : result;
27
29
  return Response.json({
28
30
  message: t('authentication:tokenRefreshSuccessful'),
29
- ...responseResult
31
+ ...result
30
32
  }, {
31
33
  headers,
32
34
  status: httpStatus.OK
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/auth/endpoints/refresh.ts"],"sourcesContent":["import { status as httpStatus } from 'http-status'\n\nimport type { PayloadHandler } from '../../config/types.js'\n\nimport { getRequestCollection } from '../../utilities/getRequestEntity.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { generatePayloadCookie } from '../cookies.js'\nimport { refreshOperation } from '../operations/refresh.js'\n\nexport const refreshHandler: PayloadHandler = async (req) => {\n const collection = getRequestCollection(req)\n const { t } = req\n\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n const result = await refreshOperation({\n collection,\n req,\n })\n\n const { refreshedToken, ...resultWithoutToken } = result\n\n if (result.setCookie) {\n const cookie = generatePayloadCookie({\n collectionAuthConfig: collection.config.auth,\n cookiePrefix: req.payload.config.cookiePrefix,\n token: refreshedToken,\n })\n\n headers.set('Set-Cookie', cookie)\n }\n\n const responseResult = collection.config.auth.removeTokenFromResponses\n ? resultWithoutToken\n : result\n\n return Response.json(\n {\n message: t('authentication:tokenRefreshSuccessful'),\n ...responseResult,\n },\n {\n headers,\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["status","httpStatus","getRequestCollection","headersWithCors","generatePayloadCookie","refreshOperation","refreshHandler","req","collection","t","headers","Headers","result","refreshedToken","resultWithoutToken","setCookie","cookie","collectionAuthConfig","config","auth","cookiePrefix","payload","token","set","responseResult","removeTokenFromResponses","Response","json","message","OK"],"mappings":"AAAA,SAASA,UAAUC,UAAU,QAAQ,cAAa;AAIlD,SAASC,oBAAoB,QAAQ,sCAAqC;AAC1E,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,qBAAqB,QAAQ,gBAAe;AACrD,SAASC,gBAAgB,QAAQ,2BAA0B;AAE3D,OAAO,MAAMC,iBAAiC,OAAOC;IACnD,MAAMC,aAAaN,qBAAqBK;IACxC,MAAM,EAAEE,CAAC,EAAE,GAAGF;IAEd,MAAMG,UAAUP,gBAAgB;QAC9BO,SAAS,IAAIC;QACbJ;IACF;IAEA,MAAMK,SAAS,MAAMP,iBAAiB;QACpCG;QACAD;IACF;IAEA,MAAM,EAAEM,cAAc,EAAE,GAAGC,oBAAoB,GAAGF;IAElD,IAAIA,OAAOG,SAAS,EAAE;QACpB,MAAMC,SAASZ,sBAAsB;YACnCa,sBAAsBT,WAAWU,MAAM,CAACC,IAAI;YAC5CC,cAAcb,IAAIc,OAAO,CAACH,MAAM,CAACE,YAAY;YAC7CE,OAAOT;QACT;QAEAH,QAAQa,GAAG,CAAC,cAAcP;IAC5B;IAEA,MAAMQ,iBAAiBhB,WAAWU,MAAM,CAACC,IAAI,CAACM,wBAAwB,GAClEX,qBACAF;IAEJ,OAAOc,SAASC,IAAI,CAClB;QACEC,SAASnB,EAAE;QACX,GAAGe,cAAc;IACnB,GACA;QACEd;QACAV,QAAQC,WAAW4B,EAAE;IACvB;AAEJ,EAAC"}
1
+ {"version":3,"sources":["../../../src/auth/endpoints/refresh.ts"],"sourcesContent":["import { status as httpStatus } from 'http-status'\n\nimport type { PayloadHandler } from '../../config/types.js'\n\nimport { getRequestCollection } from '../../utilities/getRequestEntity.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { generatePayloadCookie } from '../cookies.js'\nimport { refreshOperation } from '../operations/refresh.js'\n\nexport const refreshHandler: PayloadHandler = async (req) => {\n const collection = getRequestCollection(req)\n const { t } = req\n\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n const result = await refreshOperation({\n collection,\n req,\n })\n\n if (result.setCookie) {\n const cookie = generatePayloadCookie({\n collectionAuthConfig: collection.config.auth,\n cookiePrefix: req.payload.config.cookiePrefix,\n token: result.refreshedToken,\n })\n\n if (collection.config.auth.removeTokenFromResponses) {\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n delete result.refreshedToken\n }\n\n headers.set('Set-Cookie', cookie)\n }\n\n return Response.json(\n {\n message: t('authentication:tokenRefreshSuccessful'),\n ...result,\n },\n {\n headers,\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["status","httpStatus","getRequestCollection","headersWithCors","generatePayloadCookie","refreshOperation","refreshHandler","req","collection","t","headers","Headers","result","setCookie","cookie","collectionAuthConfig","config","auth","cookiePrefix","payload","token","refreshedToken","removeTokenFromResponses","set","Response","json","message","OK"],"mappings":"AAAA,SAASA,UAAUC,UAAU,QAAQ,cAAa;AAIlD,SAASC,oBAAoB,QAAQ,sCAAqC;AAC1E,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,qBAAqB,QAAQ,gBAAe;AACrD,SAASC,gBAAgB,QAAQ,2BAA0B;AAE3D,OAAO,MAAMC,iBAAiC,OAAOC;IACnD,MAAMC,aAAaN,qBAAqBK;IACxC,MAAM,EAAEE,CAAC,EAAE,GAAGF;IAEd,MAAMG,UAAUP,gBAAgB;QAC9BO,SAAS,IAAIC;QACbJ;IACF;IAEA,MAAMK,SAAS,MAAMP,iBAAiB;QACpCG;QACAD;IACF;IAEA,IAAIK,OAAOC,SAAS,EAAE;QACpB,MAAMC,SAASV,sBAAsB;YACnCW,sBAAsBP,WAAWQ,MAAM,CAACC,IAAI;YAC5CC,cAAcX,IAAIY,OAAO,CAACH,MAAM,CAACE,YAAY;YAC7CE,OAAOR,OAAOS,cAAc;QAC9B;QAEA,IAAIb,WAAWQ,MAAM,CAACC,IAAI,CAACK,wBAAwB,EAAE;YACnD,oFAAoF;YACpF,OAAOV,OAAOS,cAAc;QAC9B;QAEAX,QAAQa,GAAG,CAAC,cAAcT;IAC5B;IAEA,OAAOU,SAASC,IAAI,CAClB;QACEC,SAASjB,EAAE;QACX,GAAGG,MAAM;IACX,GACA;QACEF;QACAV,QAAQC,WAAW0B,EAAE;IACvB;AAEJ,EAAC"}
@@ -7,6 +7,6 @@ type OperationArgs = {
7
7
  isReadingStaticFile?: boolean;
8
8
  req: PayloadRequest;
9
9
  };
10
- export declare const executeAccess: ({ id, data, disableErrors, isReadingStaticFile, req }: OperationArgs, access?: Access) => Promise<AccessResult>;
10
+ export declare const executeAccess: ({ id, data, disableErrors, isReadingStaticFile, req }: OperationArgs, access: Access) => Promise<AccessResult>;
11
11
  export {};
12
12
  //# sourceMappingURL=executeAccess.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"executeAccess.d.ts","sourceRoot":"","sources":["../../src/auth/executeAccess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIvD,KAAK,aAAa,GAAG;IACnB,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AACD,eAAO,MAAM,aAAa,0DACuC,aAAa,WACnE,MAAM,KACd,OAAO,CAAC,YAAY,CA0BtB,CAAA"}
1
+ {"version":3,"file":"executeAccess.d.ts","sourceRoot":"","sources":["../../src/auth/executeAccess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIvD,KAAK,aAAa,GAAG;IACnB,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AACD,eAAO,MAAM,aAAa,0DACuC,aAAa,UACpE,MAAM,KACb,OAAO,CAAC,YAAY,CA0BtB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/auth/executeAccess.ts"],"sourcesContent":["import type { Access, AccessResult } from '../config/types.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { Forbidden } from '../errors/index.js'\n\ntype OperationArgs = {\n data?: any\n disableErrors?: boolean\n id?: number | string\n isReadingStaticFile?: boolean\n req: PayloadRequest\n}\nexport const executeAccess = async (\n { id, data, disableErrors, isReadingStaticFile = false, req }: OperationArgs,\n access?: Access,\n): Promise<AccessResult> => {\n if (access) {\n const resolvedConstraint = await access({\n id,\n data,\n isReadingStaticFile,\n req,\n })\n\n if (!resolvedConstraint) {\n if (!disableErrors) {\n throw new Forbidden(req.t)\n }\n }\n\n return resolvedConstraint\n }\n\n if (req.user) {\n return true\n }\n\n if (!disableErrors) {\n throw new Forbidden(req.t)\n }\n return false\n}\n"],"names":["Forbidden","executeAccess","id","data","disableErrors","isReadingStaticFile","req","access","resolvedConstraint","t","user"],"mappings":"AAGA,SAASA,SAAS,QAAQ,qBAAoB;AAS9C,OAAO,MAAMC,gBAAgB,OAC3B,EAAEC,EAAE,EAAEC,IAAI,EAAEC,aAAa,EAAEC,sBAAsB,KAAK,EAAEC,GAAG,EAAiB,EAC5EC;IAEA,IAAIA,QAAQ;QACV,MAAMC,qBAAqB,MAAMD,OAAO;YACtCL;YACAC;YACAE;YACAC;QACF;QAEA,IAAI,CAACE,oBAAoB;YACvB,IAAI,CAACJ,eAAe;gBAClB,MAAM,IAAIJ,UAAUM,IAAIG,CAAC;YAC3B;QACF;QAEA,OAAOD;IACT;IAEA,IAAIF,IAAII,IAAI,EAAE;QACZ,OAAO;IACT;IAEA,IAAI,CAACN,eAAe;QAClB,MAAM,IAAIJ,UAAUM,IAAIG,CAAC;IAC3B;IACA,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/auth/executeAccess.ts"],"sourcesContent":["import type { Access, AccessResult } from '../config/types.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { Forbidden } from '../errors/index.js'\n\ntype OperationArgs = {\n data?: any\n disableErrors?: boolean\n id?: number | string\n isReadingStaticFile?: boolean\n req: PayloadRequest\n}\nexport const executeAccess = async (\n { id, data, disableErrors, isReadingStaticFile = false, req }: OperationArgs,\n access: Access,\n): Promise<AccessResult> => {\n if (access) {\n const resolvedConstraint = await access({\n id,\n data,\n isReadingStaticFile,\n req,\n })\n\n if (!resolvedConstraint) {\n if (!disableErrors) {\n throw new Forbidden(req.t)\n }\n }\n\n return resolvedConstraint\n }\n\n if (req.user) {\n return true\n }\n\n if (!disableErrors) {\n throw new Forbidden(req.t)\n }\n return false\n}\n"],"names":["Forbidden","executeAccess","id","data","disableErrors","isReadingStaticFile","req","access","resolvedConstraint","t","user"],"mappings":"AAGA,SAASA,SAAS,QAAQ,qBAAoB;AAS9C,OAAO,MAAMC,gBAAgB,OAC3B,EAAEC,EAAE,EAAEC,IAAI,EAAEC,aAAa,EAAEC,sBAAsB,KAAK,EAAEC,GAAG,EAAiB,EAC5EC;IAEA,IAAIA,QAAQ;QACV,MAAMC,qBAAqB,MAAMD,OAAO;YACtCL;YACAC;YACAE;YACAC;QACF;QAEA,IAAI,CAACE,oBAAoB;YACvB,IAAI,CAACJ,eAAe;gBAClB,MAAM,IAAIJ,UAAUM,IAAIG,CAAC;YAC3B;QACF;QAEA,OAAOD;IACT;IAEA,IAAIF,IAAII,IAAI,EAAE;QACZ,OAAO;IACT;IAEA,IAAI,CAACN,eAAe;QAClB,MAAM,IAAIJ,UAAUM,IAAIG,CAAC;IAC3B;IACA,OAAO;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/auth/getLoginOptions.ts"],"sourcesContent":["import type { Auth } from './types.js'\n\nexport const getLoginOptions = (\n loginWithUsername: Auth['loginWithUsername'],\n): {\n canLoginWithEmail: boolean\n canLoginWithUsername: boolean\n} => {\n return {\n canLoginWithEmail: !loginWithUsername || loginWithUsername.allowEmailLogin,\n canLoginWithUsername: Boolean(loginWithUsername),\n }\n}\n"],"names":["getLoginOptions","loginWithUsername","canLoginWithEmail","allowEmailLogin","canLoginWithUsername","Boolean"],"mappings":"AAEA,OAAO,MAAMA,kBAAkB,CAC7BC;IAKA,OAAO;QACLC,mBAAmB,CAACD,qBAAqBA,kBAAkBE,eAAe;QAC1EC,sBAAsBC,QAAQJ;IAChC;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/auth/getLoginOptions.ts"],"sourcesContent":["import type { Auth } from './types.js'\n\nexport const getLoginOptions = (\n loginWithUsername: Auth['loginWithUsername'],\n): {\n canLoginWithEmail: boolean\n canLoginWithUsername: boolean\n} => {\n return {\n canLoginWithEmail: !loginWithUsername || loginWithUsername.allowEmailLogin!,\n canLoginWithUsername: Boolean(loginWithUsername),\n }\n}\n"],"names":["getLoginOptions","loginWithUsername","canLoginWithEmail","allowEmailLogin","canLoginWithUsername","Boolean"],"mappings":"AAEA,OAAO,MAAMA,kBAAkB,CAC7BC;IAKA,OAAO;QACLC,mBAAmB,CAACD,qBAAqBA,kBAAkBE,eAAe;QAC1EC,sBAAsBC,QAAQJ;IAChC;AACF,EAAC"}
@@ -1,3 +1,4 @@
1
+ import type { DeepRequired } from 'ts-essentials';
1
2
  import type { CollectionSlug, GlobalSlug, Payload, User } from '../index.js';
2
3
  import type { PayloadRequest, Where } from '../types/index.js';
3
4
  /**
@@ -171,16 +172,15 @@ export type LoginWithUsernameOptions = {
171
172
  requireEmail?: boolean;
172
173
  requireUsername?: boolean;
173
174
  };
174
- type AuthCookies = {
175
- domain?: string;
176
- sameSite?: 'Lax' | 'None' | 'Strict' | boolean;
177
- secure?: boolean;
178
- };
179
175
  export interface IncomingAuthType {
180
176
  /**
181
177
  * Set cookie options, including secure, sameSite, and domain. For advanced users.
182
178
  */
183
- cookies?: AuthCookies;
179
+ cookies?: {
180
+ domain?: string;
181
+ sameSite?: 'Lax' | 'None' | 'Strict' | boolean;
182
+ secure?: boolean;
183
+ };
184
184
  /**
185
185
  * How many levels deep a user document should be populated when creating the JWT and binding the user to the req. Defaults to 0 and should only be modified if absolutely necessary, as this will affect performance.
186
186
  * @default 0
@@ -263,9 +263,14 @@ export type VerifyConfig = {
263
263
  generateEmailHTML?: GenerateVerifyEmailHTML;
264
264
  generateEmailSubject?: GenerateVerifyEmailSubject;
265
265
  };
266
- export interface Auth extends Omit<IncomingAuthType, 'cookies' | 'forgotPassword' | 'lockTime' | 'loginWithUsername' | 'maxLoginAttempts' | 'strategies' | 'tokenExpiration' | 'useSessions' | 'verify'>, Required<Pick<IncomingAuthType, 'forgotPassword' | 'lockTime' | 'maxLoginAttempts' | 'strategies' | 'tokenExpiration' | 'useSessions' | 'verify'>> {
267
- cookies: Pick<AuthCookies, 'domain'> & Required<Pick<AuthCookies, 'sameSite' | 'secure'>>;
268
- loginWithUsername: false | Required<LoginWithUsernameOptions>;
266
+ export interface Auth extends Omit<DeepRequired<IncomingAuthType>, 'forgotPassword' | 'loginWithUsername' | 'verify'> {
267
+ forgotPassword?: {
268
+ expiration?: number;
269
+ generateEmailHTML?: GenerateForgotPasswordEmailHTML;
270
+ generateEmailSubject?: GenerateForgotPasswordEmailSubject;
271
+ };
272
+ loginWithUsername: false | LoginWithUsernameOptions;
273
+ verify?: boolean | VerifyConfig;
269
274
  }
270
275
  export declare function hasWhereAccessResult(result: boolean | Where): result is Where;
271
276
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/auth/types.ts"],"sourcesContent":["import type { CollectionSlug, GlobalSlug, Payload, User } from '../index.js'\nimport type { PayloadRequest, Where } from '../types/index.js'\n\n/**\n * A permission object that can be used to determine if a user has access to a specific operation.\n */\nexport type Permission = {\n permission: boolean\n where?: Where\n}\n\nexport type FieldsPermissions = {\n [fieldName: string]: FieldPermissions\n}\n\nexport type BlockPermissions = {\n create: Permission\n fields: FieldsPermissions\n read: Permission\n update: Permission\n}\n\nexport type SanitizedBlockPermissions =\n | {\n fields: SanitizedFieldsPermissions\n }\n | true\n\nexport type BlocksPermissions = {\n [blockSlug: string]: BlockPermissions\n}\n\nexport type SanitizedBlocksPermissions =\n | {\n [blockSlug: string]: SanitizedBlockPermissions\n }\n | true\n\nexport type FieldPermissions = {\n blocks?: BlocksPermissions\n create?: Permission\n fields?: FieldsPermissions\n read?: Permission\n update?: Permission\n}\n\nexport type SanitizedFieldPermissions =\n | {\n blocks?: SanitizedBlocksPermissions\n create: true\n fields?: SanitizedFieldsPermissions\n read: true\n update: true\n }\n | true\n\nexport type SanitizedFieldsPermissions =\n | {\n [fieldName: string]: SanitizedFieldPermissions\n }\n | true\n\nexport type CollectionPermission = {\n create?: Permission\n delete?: Permission\n fields: FieldsPermissions\n read?: Permission\n readVersions?: Permission\n // Auth-enabled Collections only\n unlock?: Permission\n update?: Permission\n}\n\nexport type SanitizedCollectionPermission = {\n create?: true\n delete?: true\n fields: SanitizedFieldsPermissions\n read?: true\n readVersions?: true\n // Auth-enabled Collections only\n unlock?: true\n update?: true\n}\n\nexport type GlobalPermission = {\n fields: FieldsPermissions\n read?: Permission\n readVersions?: Permission\n update?: Permission\n}\n\nexport type SanitizedGlobalPermission = {\n fields: SanitizedFieldsPermissions\n read?: true\n readVersions?: true\n update?: true\n}\n\nexport type DocumentPermissions = CollectionPermission | GlobalPermission\n\nexport type SanitizedDocumentPermissions = SanitizedCollectionPermission | SanitizedGlobalPermission\n\nexport type Permissions = {\n canAccessAdmin: boolean\n collections?: Record<CollectionSlug, CollectionPermission>\n globals?: Record<GlobalSlug, GlobalPermission>\n}\n\nexport type SanitizedPermissions = {\n canAccessAdmin?: boolean\n collections?: {\n [collectionSlug: string]: SanitizedCollectionPermission\n }\n globals?: {\n [globalSlug: string]: SanitizedGlobalPermission\n }\n}\n\n/**\n * Fields injected onto a user at authentication time. They are never stored in the database and\n * never present on a plain document read (e.g. `payload.findByID`) - only on the authenticated\n * user (`req.user`, login/auth/me results, auth strategies).\n */\nexport type AuthRuntimeFields = {\n /**\n * The session ID of the current request. May be present on request-authenticated users when\n * sessions are enabled.\n */\n _sid?: string\n /**\n * The name of the auth strategy that authenticated the request (e.g. `local-jwt`).\n */\n _strategy?: string\n}\n\n/**\n * Note: AuthenticatedUser still carries the write-only `password` from `User` (always `undefined` at runtime).\n * Stripping it cleanly isn't possible, because auth operations build the authenticated user\n * from a read `User` doc, so a `never`-typed `password` would break those assignments\n */\n/**\n * The signed-in user: the read user plus the runtime auth markers (`_strategy`, `_sid`). This is\n * what `req.user`, `payload.auth()`, the `me` operation, auth strategies, and `useAuth().user`\n * return.\n */\nexport type AuthenticatedUser = AuthRuntimeFields & User\n\nexport type UserSession = {\n createdAt?: Date | null | string\n expiresAt: Date | string\n id: string\n}\ntype GenerateVerifyEmailHTML<TUser = any> = (args: {\n req: PayloadRequest\n token: string\n user: TUser\n}) => Promise<string> | string\n\ntype GenerateVerifyEmailSubject<TUser = any> = (args: {\n req: PayloadRequest\n token: string\n user: TUser\n}) => Promise<string> | string\n\ntype GenerateForgotPasswordEmailHTML<TUser = any> = (args?: {\n req?: PayloadRequest\n token?: string\n user?: TUser\n}) => Promise<string> | string\n\ntype GenerateForgotPasswordEmailSubject<TUser = any> = (args?: {\n req?: PayloadRequest\n token?: string\n user?: TUser\n}) => Promise<string> | string\n\nexport type AuthStrategyFunctionArgs = {\n /**\n * Specifies whether or not response headers can be set from this strategy.\n */\n canSetHeaders?: boolean\n headers: Request['headers']\n isGraphQL?: boolean\n payload: Payload\n /**\n * The AuthStrategy name property from the payload config.\n */\n strategyName?: string\n}\n\nexport type AuthStrategyResult = {\n responseHeaders?: Headers\n user: AuthenticatedUser | null\n}\n\nexport type AuthStrategyFunction = (\n args: AuthStrategyFunctionArgs,\n) => AuthStrategyResult | Promise<AuthStrategyResult>\nexport type AuthStrategy = {\n authenticate: AuthStrategyFunction\n name: string\n}\n\nexport type LoginWithUsernameOptions =\n | {\n allowEmailLogin?: false\n requireEmail?: boolean\n // If `allowEmailLogin` is false, `requireUsername` must be true (default: true)\n requireUsername?: true\n }\n | {\n allowEmailLogin?: true\n requireEmail?: boolean\n requireUsername?: boolean\n }\n\ntype AuthCookies = {\n domain?: string\n sameSite?: 'Lax' | 'None' | 'Strict' | boolean\n secure?: boolean\n}\n\nexport interface IncomingAuthType {\n /**\n * Set cookie options, including secure, sameSite, and domain. For advanced users.\n */\n cookies?: AuthCookies\n /**\n * How many levels deep a user document should be populated when creating the JWT and binding the user to the req. Defaults to 0 and should only be modified if absolutely necessary, as this will affect performance.\n * @default 0\n */\n depth?: number\n /**\n * Advanced - disable Payload's built-in local auth strategy. Only use this property if you have replaced Payload's auth mechanisms with your own.\n */\n disableLocalStrategy?:\n | {\n /**\n * Include auth fields on the collection even though the local strategy is disabled.\n * Useful when you do not want the database or types to vary depending on the auth configuration.\n */\n enableFields?: true\n optionalPassword?: true\n }\n | true\n /**\n * Customize the way that the forgotPassword operation functions.\n * @link https://payloadcms.com/docs/authentication/email#forgot-password\n */\n forgotPassword?: {\n /**\n * The number of milliseconds that the forgot password token should be valid for.\n * @default 3600000 // 1 hour\n */\n expiration?: number\n generateEmailHTML?: GenerateForgotPasswordEmailHTML\n generateEmailSubject?: GenerateForgotPasswordEmailSubject\n }\n /**\n * Set the time (in milliseconds) that a user should be locked out if they fail authentication more times than maxLoginAttempts allows for.\n */\n lockTime?: number\n /**\n * Ability to allow users to login with username/password.\n *\n * @link https://payloadcms.com/docs/authentication/overview#login-with-username\n */\n loginWithUsername?: boolean | LoginWithUsernameOptions\n /**\n * Only allow a user to attempt logging in X amount of times. Automatically locks out a user from authenticating if this limit is passed. Set to 0 to disable.\n */\n maxLoginAttempts?: number\n /***\n * Set to true if you want to remove the token from the returned authentication API responses such as login or refresh.\n */\n removeTokenFromResponses?: true\n /**\n * Advanced - an array of custom authentification strategies to extend this collection's authentication with.\n * @link https://payloadcms.com/docs/authentication/custom-strategies\n */\n strategies?: AuthStrategy[]\n /**\n * Controls how many seconds the token will be valid for. Default is 2 hours.\n * @default 7200\n * @link https://payloadcms.com/docs/authentication/overview#config-options\n */\n tokenExpiration?: number\n /**\n * Payload Authentication provides for API keys to be set on each user within an Authentication-enabled Collection.\n * @default false\n * @link https://payloadcms.com/docs/authentication/api-keys\n */\n useAPIKey?: boolean\n\n /**\n * Use sessions for authentication. Enabled by default.\n * @default true\n */\n useSessions?: boolean\n\n /**\n * Set to true or pass an object with verification options to require users to verify by email before they are allowed to log into your app.\n * @link https://payloadcms.com/docs/authentication/email#email-verification\n */\n verify?:\n | {\n generateEmailHTML?: GenerateVerifyEmailHTML\n generateEmailSubject?: GenerateVerifyEmailSubject\n }\n | boolean\n}\n\nexport type VerifyConfig = {\n generateEmailHTML?: GenerateVerifyEmailHTML\n generateEmailSubject?: GenerateVerifyEmailSubject\n}\n\nexport interface Auth\n extends Omit<\n IncomingAuthType,\n | 'cookies'\n | 'forgotPassword'\n | 'lockTime'\n | 'loginWithUsername'\n | 'maxLoginAttempts'\n | 'strategies'\n | 'tokenExpiration'\n | 'useSessions'\n | 'verify'\n >,\n Required<\n Pick<\n IncomingAuthType,\n | 'forgotPassword'\n | 'lockTime'\n | 'maxLoginAttempts'\n | 'strategies'\n | 'tokenExpiration'\n | 'useSessions'\n | 'verify'\n >\n > {\n cookies: Pick<AuthCookies, 'domain'> & Required<Pick<AuthCookies, 'sameSite' | 'secure'>>\n loginWithUsername: false | Required<LoginWithUsernameOptions>\n}\n\nexport function hasWhereAccessResult(result: boolean | Where): result is Where {\n return result && typeof result === 'object'\n}\n"],"names":["hasWhereAccessResult","result"],"mappings":"AA0VA,OAAO,SAASA,qBAAqBC,MAAuB;IAC1D,OAAOA,UAAU,OAAOA,WAAW;AACrC"}
1
+ {"version":3,"sources":["../../src/auth/types.ts"],"sourcesContent":["import type { DeepRequired } from 'ts-essentials'\n\nimport type { CollectionSlug, GlobalSlug, Payload, User } from '../index.js'\nimport type { PayloadRequest, Where } from '../types/index.js'\n\n/**\n * A permission object that can be used to determine if a user has access to a specific operation.\n */\nexport type Permission = {\n permission: boolean\n where?: Where\n}\n\nexport type FieldsPermissions = {\n [fieldName: string]: FieldPermissions\n}\n\nexport type BlockPermissions = {\n create: Permission\n fields: FieldsPermissions\n read: Permission\n update: Permission\n}\n\nexport type SanitizedBlockPermissions =\n | {\n fields: SanitizedFieldsPermissions\n }\n | true\n\nexport type BlocksPermissions = {\n [blockSlug: string]: BlockPermissions\n}\n\nexport type SanitizedBlocksPermissions =\n | {\n [blockSlug: string]: SanitizedBlockPermissions\n }\n | true\n\nexport type FieldPermissions = {\n blocks?: BlocksPermissions\n create?: Permission\n fields?: FieldsPermissions\n read?: Permission\n update?: Permission\n}\n\nexport type SanitizedFieldPermissions =\n | {\n blocks?: SanitizedBlocksPermissions\n create: true\n fields?: SanitizedFieldsPermissions\n read: true\n update: true\n }\n | true\n\nexport type SanitizedFieldsPermissions =\n | {\n [fieldName: string]: SanitizedFieldPermissions\n }\n | true\n\nexport type CollectionPermission = {\n create?: Permission\n delete?: Permission\n fields: FieldsPermissions\n read?: Permission\n readVersions?: Permission\n // Auth-enabled Collections only\n unlock?: Permission\n update?: Permission\n}\n\nexport type SanitizedCollectionPermission = {\n create?: true\n delete?: true\n fields: SanitizedFieldsPermissions\n read?: true\n readVersions?: true\n // Auth-enabled Collections only\n unlock?: true\n update?: true\n}\n\nexport type GlobalPermission = {\n fields: FieldsPermissions\n read?: Permission\n readVersions?: Permission\n update?: Permission\n}\n\nexport type SanitizedGlobalPermission = {\n fields: SanitizedFieldsPermissions\n read?: true\n readVersions?: true\n update?: true\n}\n\nexport type DocumentPermissions = CollectionPermission | GlobalPermission\n\nexport type SanitizedDocumentPermissions = SanitizedCollectionPermission | SanitizedGlobalPermission\n\nexport type Permissions = {\n canAccessAdmin: boolean\n collections?: Record<CollectionSlug, CollectionPermission>\n globals?: Record<GlobalSlug, GlobalPermission>\n}\n\nexport type SanitizedPermissions = {\n canAccessAdmin?: boolean\n collections?: {\n [collectionSlug: string]: SanitizedCollectionPermission\n }\n globals?: {\n [globalSlug: string]: SanitizedGlobalPermission\n }\n}\n\n/**\n * Fields injected onto a user at authentication time. They are never stored in the database and\n * never present on a plain document read (e.g. `payload.findByID`) - only on the authenticated\n * user (`req.user`, login/auth/me results, auth strategies).\n */\nexport type AuthRuntimeFields = {\n /**\n * The session ID of the current request. May be present on request-authenticated users when\n * sessions are enabled.\n */\n _sid?: string\n /**\n * The name of the auth strategy that authenticated the request (e.g. `local-jwt`).\n */\n _strategy?: string\n}\n\n/**\n * Note: AuthenticatedUser still carries the write-only `password` from `User` (always `undefined` at runtime).\n * Stripping it cleanly isn't possible, because auth operations build the authenticated user\n * from a read `User` doc, so a `never`-typed `password` would break those assignments\n */\n/**\n * The signed-in user: the read user plus the runtime auth markers (`_strategy`, `_sid`). This is\n * what `req.user`, `payload.auth()`, the `me` operation, auth strategies, and `useAuth().user`\n * return.\n */\nexport type AuthenticatedUser = AuthRuntimeFields & User\n\nexport type UserSession = {\n createdAt?: Date | null | string\n expiresAt: Date | string\n id: string\n}\ntype GenerateVerifyEmailHTML<TUser = any> = (args: {\n req: PayloadRequest\n token: string\n user: TUser\n}) => Promise<string> | string\n\ntype GenerateVerifyEmailSubject<TUser = any> = (args: {\n req: PayloadRequest\n token: string\n user: TUser\n}) => Promise<string> | string\n\ntype GenerateForgotPasswordEmailHTML<TUser = any> = (args?: {\n req?: PayloadRequest\n token?: string\n user?: TUser\n}) => Promise<string> | string\n\ntype GenerateForgotPasswordEmailSubject<TUser = any> = (args?: {\n req?: PayloadRequest\n token?: string\n user?: TUser\n}) => Promise<string> | string\n\nexport type AuthStrategyFunctionArgs = {\n /**\n * Specifies whether or not response headers can be set from this strategy.\n */\n canSetHeaders?: boolean\n headers: Request['headers']\n isGraphQL?: boolean\n payload: Payload\n /**\n * The AuthStrategy name property from the payload config.\n */\n strategyName?: string\n}\n\nexport type AuthStrategyResult = {\n responseHeaders?: Headers\n user: AuthenticatedUser | null\n}\n\nexport type AuthStrategyFunction = (\n args: AuthStrategyFunctionArgs,\n) => AuthStrategyResult | Promise<AuthStrategyResult>\nexport type AuthStrategy = {\n authenticate: AuthStrategyFunction\n name: string\n}\n\nexport type LoginWithUsernameOptions =\n | {\n allowEmailLogin?: false\n requireEmail?: boolean\n // If `allowEmailLogin` is false, `requireUsername` must be true (default: true)\n requireUsername?: true\n }\n | {\n allowEmailLogin?: true\n requireEmail?: boolean\n requireUsername?: boolean\n }\n\nexport interface IncomingAuthType {\n /**\n * Set cookie options, including secure, sameSite, and domain. For advanced users.\n */\n cookies?: {\n domain?: string\n sameSite?: 'Lax' | 'None' | 'Strict' | boolean\n secure?: boolean\n }\n /**\n * How many levels deep a user document should be populated when creating the JWT and binding the user to the req. Defaults to 0 and should only be modified if absolutely necessary, as this will affect performance.\n * @default 0\n */\n depth?: number\n /**\n * Advanced - disable Payload's built-in local auth strategy. Only use this property if you have replaced Payload's auth mechanisms with your own.\n */\n disableLocalStrategy?:\n | {\n /**\n * Include auth fields on the collection even though the local strategy is disabled.\n * Useful when you do not want the database or types to vary depending on the auth configuration.\n */\n enableFields?: true\n optionalPassword?: true\n }\n | true\n /**\n * Customize the way that the forgotPassword operation functions.\n * @link https://payloadcms.com/docs/authentication/email#forgot-password\n */\n forgotPassword?: {\n /**\n * The number of milliseconds that the forgot password token should be valid for.\n * @default 3600000 // 1 hour\n */\n expiration?: number\n generateEmailHTML?: GenerateForgotPasswordEmailHTML\n generateEmailSubject?: GenerateForgotPasswordEmailSubject\n }\n /**\n * Set the time (in milliseconds) that a user should be locked out if they fail authentication more times than maxLoginAttempts allows for.\n */\n lockTime?: number\n /**\n * Ability to allow users to login with username/password.\n *\n * @link https://payloadcms.com/docs/authentication/overview#login-with-username\n */\n loginWithUsername?: boolean | LoginWithUsernameOptions\n /**\n * Only allow a user to attempt logging in X amount of times. Automatically locks out a user from authenticating if this limit is passed. Set to 0 to disable.\n */\n maxLoginAttempts?: number\n /***\n * Set to true if you want to remove the token from the returned authentication API responses such as login or refresh.\n */\n removeTokenFromResponses?: true\n /**\n * Advanced - an array of custom authentification strategies to extend this collection's authentication with.\n * @link https://payloadcms.com/docs/authentication/custom-strategies\n */\n strategies?: AuthStrategy[]\n /**\n * Controls how many seconds the token will be valid for. Default is 2 hours.\n * @default 7200\n * @link https://payloadcms.com/docs/authentication/overview#config-options\n */\n tokenExpiration?: number\n /**\n * Payload Authentication provides for API keys to be set on each user within an Authentication-enabled Collection.\n * @default false\n * @link https://payloadcms.com/docs/authentication/api-keys\n */\n useAPIKey?: boolean\n\n /**\n * Use sessions for authentication. Enabled by default.\n * @default true\n */\n useSessions?: boolean\n\n /**\n * Set to true or pass an object with verification options to require users to verify by email before they are allowed to log into your app.\n * @link https://payloadcms.com/docs/authentication/email#email-verification\n */\n verify?:\n | {\n generateEmailHTML?: GenerateVerifyEmailHTML\n generateEmailSubject?: GenerateVerifyEmailSubject\n }\n | boolean\n}\n\nexport type VerifyConfig = {\n generateEmailHTML?: GenerateVerifyEmailHTML\n generateEmailSubject?: GenerateVerifyEmailSubject\n}\n\nexport interface Auth\n extends Omit<DeepRequired<IncomingAuthType>, 'forgotPassword' | 'loginWithUsername' | 'verify'> {\n forgotPassword?: {\n expiration?: number\n generateEmailHTML?: GenerateForgotPasswordEmailHTML\n generateEmailSubject?: GenerateForgotPasswordEmailSubject\n }\n loginWithUsername: false | LoginWithUsernameOptions\n verify?: boolean | VerifyConfig\n}\n\nexport function hasWhereAccessResult(result: boolean | Where): result is Where {\n return result && typeof result === 'object'\n}\n"],"names":["hasWhereAccessResult","result"],"mappings":"AAwUA,OAAO,SAASA,qBAAqBC,MAAuB;IAC1D,OAAOA,UAAU,OAAOA,WAAW;AACrC"}
@@ -1,14 +1,14 @@
1
- import type { Auth, IncomingAuthType, LoginWithUsernameOptions } from '../../auth/types.js';
1
+ import type { IncomingAuthType, LoginWithUsernameOptions } from '../../auth/types.js';
2
2
  import type { CollectionConfig } from './types.js';
3
3
  /**
4
4
  * @deprecated - remove in 4.0. This is error-prone, as mutating this object will affect any objects that use the defaults as a base.
5
5
  */
6
6
  export declare const defaults: Partial<CollectionConfig>;
7
7
  export declare const addDefaultsToCollectionConfig: (collection: CollectionConfig) => CollectionConfig;
8
- export declare const addDefaultsToAuthConfig: (auth: IncomingAuthType) => Auth;
8
+ export declare const addDefaultsToAuthConfig: (auth: IncomingAuthType) => IncomingAuthType;
9
9
  /**
10
10
  * @deprecated - remove in 4.0. This is error-prone, as mutating this object will affect any objects that use the defaults as a base.
11
11
  */
12
- export declare const loginWithUsernameDefaults: Required<LoginWithUsernameOptions>;
13
- export declare const addDefaultsToLoginWithUsernameConfig: (loginWithUsername: LoginWithUsernameOptions) => Required<LoginWithUsernameOptions>;
12
+ export declare const loginWithUsernameDefaults: LoginWithUsernameOptions;
13
+ export declare const addDefaultsToLoginWithUsernameConfig: (loginWithUsername: LoginWithUsernameOptions) => LoginWithUsernameOptions;
14
14
  //# sourceMappingURL=defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/collections/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAA6B,MAAM,YAAY,CAAA;AAI7E;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CA+C9C,CAAA;AAED,eAAO,MAAM,6BAA6B,eAAgB,gBAAgB,KAAG,gBA+D5E,CAAA;AAED,eAAO,MAAM,uBAAuB,SAAU,gBAAgB,KAAG,IA0BhE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,wBAAwB,CAIxE,CAAA;AAED,eAAO,MAAM,oCAAoC,sBAC5B,wBAAwB,KAC1C,QAAQ,CAAC,wBAAwB,CAQM,CAAA"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/collections/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AACrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAIlD;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CA8C9C,CAAA;AAED,eAAO,MAAM,6BAA6B,eAAgB,gBAAgB,KAAG,gBA0D5E,CAAA;AAED,eAAO,MAAM,uBAAuB,SAAU,gBAAgB,KAAG,gBAsBhE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,wBAIvC,CAAA;AAED,eAAO,MAAM,oCAAoC,sBAC5B,wBAAwB,KAC1C,wBAM6B,CAAA"}
@@ -33,7 +33,6 @@ import { defaultAccess } from '../../auth/defaultAccess.js';
33
33
  hooks: {
34
34
  afterChange: [],
35
35
  afterDelete: [],
36
- afterError: [],
37
36
  afterForgotPassword: [],
38
37
  afterLogin: [],
39
38
  afterLogout: [],
@@ -56,14 +55,13 @@ import { defaultAccess } from '../../auth/defaultAccess.js';
56
55
  versions: true
57
56
  };
58
57
  export const addDefaultsToCollectionConfig = (collection)=>{
59
- const access = collection.access;
60
58
  collection.access = {
61
- ...access,
62
- create: access?.create ?? defaultAccess,
63
- delete: access?.delete ?? defaultAccess,
64
- read: access?.read ?? defaultAccess,
65
- unlock: access?.unlock ?? defaultAccess,
66
- update: access?.update ?? defaultAccess
59
+ create: defaultAccess,
60
+ delete: defaultAccess,
61
+ read: defaultAccess,
62
+ unlock: defaultAccess,
63
+ update: defaultAccess,
64
+ ...collection.access || {}
67
65
  };
68
66
  collection.admin = {
69
67
  components: {},
@@ -89,27 +87,25 @@ export const addDefaultsToCollectionConfig = (collection)=>{
89
87
  collection.endpoints = collection.endpoints ?? [];
90
88
  collection.fields = collection.fields ?? [];
91
89
  collection.hierarchy = collection.hierarchy ?? false;
92
- const hooks = collection.hooks;
93
90
  collection.hooks = {
94
- ...hooks,
95
- afterChange: hooks?.afterChange ?? [],
96
- afterDelete: hooks?.afterDelete ?? [],
97
- afterError: hooks?.afterError ?? [],
98
- afterForgotPassword: hooks?.afterForgotPassword ?? [],
99
- afterLogin: hooks?.afterLogin ?? [],
100
- afterLogout: hooks?.afterLogout ?? [],
101
- afterMe: hooks?.afterMe ?? [],
102
- afterOperation: hooks?.afterOperation ?? [],
103
- afterRead: hooks?.afterRead ?? [],
104
- afterRefresh: hooks?.afterRefresh ?? [],
105
- beforeChange: hooks?.beforeChange ?? [],
106
- beforeDelete: hooks?.beforeDelete ?? [],
107
- beforeLogin: hooks?.beforeLogin ?? [],
108
- beforeOperation: hooks?.beforeOperation ?? [],
109
- beforeRead: hooks?.beforeRead ?? [],
110
- beforeValidate: hooks?.beforeValidate ?? [],
111
- me: hooks?.me ?? [],
112
- refresh: hooks?.refresh ?? []
91
+ afterChange: [],
92
+ afterDelete: [],
93
+ afterForgotPassword: [],
94
+ afterLogin: [],
95
+ afterLogout: [],
96
+ afterMe: [],
97
+ afterOperation: [],
98
+ afterRead: [],
99
+ afterRefresh: [],
100
+ beforeChange: [],
101
+ beforeDelete: [],
102
+ beforeLogin: [],
103
+ beforeOperation: [],
104
+ beforeRead: [],
105
+ beforeValidate: [],
106
+ me: [],
107
+ refresh: [],
108
+ ...collection.hooks || {}
113
109
  };
114
110
  collection.timestamps = collection.timestamps ?? true;
115
111
  collection.upload = collection.upload ?? false;
@@ -119,14 +115,14 @@ export const addDefaultsToCollectionConfig = (collection)=>{
119
115
  };
120
116
  export const addDefaultsToAuthConfig = (auth)=>{
121
117
  auth.cookies = {
122
- ...auth.cookies || {},
123
- sameSite: auth.cookies?.sameSite ?? 'Lax',
124
- secure: auth.cookies?.secure ?? false
118
+ sameSite: 'Lax',
119
+ secure: false,
120
+ ...auth.cookies || {}
125
121
  };
126
122
  auth.depth = auth.depth ?? 0;
127
123
  auth.forgotPassword = auth.forgotPassword ?? {};
128
124
  auth.lockTime = auth.lockTime ?? 600000; // 10 minutes
129
- auth.loginWithUsername = auth.loginWithUsername ? addDefaultsToLoginWithUsernameConfig(auth.loginWithUsername === true ? {} : auth.loginWithUsername) : false;
125
+ auth.loginWithUsername = auth.loginWithUsername ?? false;
130
126
  auth.maxLoginAttempts = auth.maxLoginAttempts ?? 5;
131
127
  auth.tokenExpiration = auth.tokenExpiration ?? 7200;
132
128
  auth.useSessions = auth.useSessions ?? true;
@@ -145,10 +141,10 @@ export const addDefaultsToAuthConfig = (auth)=>{
145
141
  requireUsername: true
146
142
  };
147
143
  export const addDefaultsToLoginWithUsernameConfig = (loginWithUsername)=>({
148
- ...loginWithUsername,
149
- allowEmailLogin: loginWithUsername.allowEmailLogin ?? false,
150
- requireEmail: loginWithUsername.requireEmail ?? false,
151
- requireUsername: loginWithUsername.allowEmailLogin ? loginWithUsername.requireUsername ?? true : true
144
+ allowEmailLogin: false,
145
+ requireEmail: false,
146
+ requireUsername: true,
147
+ ...loginWithUsername || {}
152
148
  });
153
149
 
154
150
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/defaults.ts"],"sourcesContent":["import type { Auth, IncomingAuthType, LoginWithUsernameOptions } from '../../auth/types.js'\nimport type { CollectionConfig, SanitizedCollectionConfig } from './types.js'\n\nimport { defaultAccess } from '../../auth/defaultAccess.js'\n\n/**\n * @deprecated - remove in 4.0. This is error-prone, as mutating this object will affect any objects that use the defaults as a base.\n */\nexport const defaults: Partial<CollectionConfig> = {\n access: {\n create: defaultAccess,\n delete: defaultAccess,\n read: defaultAccess,\n unlock: defaultAccess,\n update: defaultAccess,\n },\n admin: {\n components: {},\n custom: {},\n enableRichTextLink: true,\n enableRichTextRelationship: true,\n pagination: {\n defaultLimit: 10,\n limits: [5, 10, 25, 50, 100],\n },\n useAsTitle: 'id',\n },\n auth: false,\n custom: {},\n endpoints: [],\n fields: [],\n hooks: {\n afterChange: [],\n afterDelete: [],\n afterError: [],\n afterForgotPassword: [],\n afterLogin: [],\n afterLogout: [],\n afterMe: [],\n afterOperation: [],\n afterRead: [],\n afterRefresh: [],\n beforeChange: [],\n beforeDelete: [],\n beforeLogin: [],\n beforeOperation: [],\n beforeRead: [],\n beforeValidate: [],\n me: [],\n refresh: [],\n },\n indexes: [],\n timestamps: true,\n upload: false,\n versions: true,\n}\n\nexport const addDefaultsToCollectionConfig = (collection: CollectionConfig): CollectionConfig => {\n const access = collection.access\n\n collection.access = {\n ...access,\n create: access?.create ?? defaultAccess,\n delete: access?.delete ?? defaultAccess,\n read: access?.read ?? defaultAccess,\n unlock: access?.unlock ?? defaultAccess,\n update: access?.update ?? defaultAccess,\n } satisfies SanitizedCollectionConfig['access']\n\n collection.admin = {\n components: {},\n custom: {},\n enableRichTextLink: true,\n enableRichTextRelationship: true,\n useAsTitle: 'id',\n ...(collection.admin || {}),\n pagination: {\n defaultLimit: 10,\n limits: [5, 10, 25, 50, 100],\n ...(collection.admin?.pagination || {}),\n },\n }\n\n collection.auth = collection.auth ?? false\n collection.custom = collection.custom ?? {}\n collection.endpoints = collection.endpoints ?? []\n collection.fields = collection.fields ?? []\n collection.hierarchy = collection.hierarchy ?? false\n\n const hooks = collection.hooks\n\n collection.hooks = {\n ...hooks,\n afterChange: hooks?.afterChange ?? [],\n afterDelete: hooks?.afterDelete ?? [],\n afterError: hooks?.afterError ?? [],\n afterForgotPassword: hooks?.afterForgotPassword ?? [],\n afterLogin: hooks?.afterLogin ?? [],\n afterLogout: hooks?.afterLogout ?? [],\n afterMe: hooks?.afterMe ?? [],\n afterOperation: hooks?.afterOperation ?? [],\n afterRead: hooks?.afterRead ?? [],\n afterRefresh: hooks?.afterRefresh ?? [],\n beforeChange: hooks?.beforeChange ?? [],\n beforeDelete: hooks?.beforeDelete ?? [],\n beforeLogin: hooks?.beforeLogin ?? [],\n beforeOperation: hooks?.beforeOperation ?? [],\n beforeRead: hooks?.beforeRead ?? [],\n beforeValidate: hooks?.beforeValidate ?? [],\n me: hooks?.me ?? [],\n refresh: hooks?.refresh ?? [],\n } satisfies SanitizedCollectionConfig['hooks']\n\n collection.timestamps = collection.timestamps ?? true\n collection.upload = collection.upload ?? false\n collection.versions = collection.versions ?? true\n\n collection.indexes = collection.indexes ?? []\n\n return collection\n}\n\nexport const addDefaultsToAuthConfig = (auth: IncomingAuthType): Auth => {\n auth.cookies = {\n ...(auth.cookies || {}),\n sameSite: auth.cookies?.sameSite ?? 'Lax',\n secure: auth.cookies?.secure ?? false,\n } satisfies Auth['cookies']\n\n auth.depth = auth.depth ?? 0\n auth.forgotPassword = auth.forgotPassword ?? {}\n auth.lockTime = auth.lockTime ?? 600000 // 10 minutes\n auth.loginWithUsername = auth.loginWithUsername\n ? addDefaultsToLoginWithUsernameConfig(\n auth.loginWithUsername === true ? {} : auth.loginWithUsername,\n )\n : false\n auth.maxLoginAttempts = auth.maxLoginAttempts ?? 5\n auth.tokenExpiration = auth.tokenExpiration ?? 7200\n auth.useSessions = auth.useSessions ?? true\n auth.verify = auth.verify ?? false\n auth.strategies = auth.strategies ?? []\n\n if (!auth.disableLocalStrategy && auth.verify === true) {\n auth.verify = {}\n }\n\n return auth as Auth\n}\n\n/**\n * @deprecated - remove in 4.0. This is error-prone, as mutating this object will affect any objects that use the defaults as a base.\n */\nexport const loginWithUsernameDefaults: Required<LoginWithUsernameOptions> = {\n allowEmailLogin: false,\n requireEmail: false,\n requireUsername: true,\n}\n\nexport const addDefaultsToLoginWithUsernameConfig = (\n loginWithUsername: LoginWithUsernameOptions,\n): Required<LoginWithUsernameOptions> =>\n ({\n ...loginWithUsername,\n allowEmailLogin: loginWithUsername.allowEmailLogin ?? false,\n requireEmail: loginWithUsername.requireEmail ?? false,\n requireUsername: loginWithUsername.allowEmailLogin\n ? (loginWithUsername.requireUsername ?? true)\n : true,\n }) as Required<LoginWithUsernameOptions>\n"],"names":["defaultAccess","defaults","access","create","delete","read","unlock","update","admin","components","custom","enableRichTextLink","enableRichTextRelationship","pagination","defaultLimit","limits","useAsTitle","auth","endpoints","fields","hooks","afterChange","afterDelete","afterError","afterForgotPassword","afterLogin","afterLogout","afterMe","afterOperation","afterRead","afterRefresh","beforeChange","beforeDelete","beforeLogin","beforeOperation","beforeRead","beforeValidate","me","refresh","indexes","timestamps","upload","versions","addDefaultsToCollectionConfig","collection","hierarchy","addDefaultsToAuthConfig","cookies","sameSite","secure","depth","forgotPassword","lockTime","loginWithUsername","addDefaultsToLoginWithUsernameConfig","maxLoginAttempts","tokenExpiration","useSessions","verify","strategies","disableLocalStrategy","loginWithUsernameDefaults","allowEmailLogin","requireEmail","requireUsername"],"mappings":"AAGA,SAASA,aAAa,QAAQ,8BAA6B;AAE3D;;CAEC,GACD,OAAO,MAAMC,WAAsC;IACjDC,QAAQ;QACNC,QAAQH;QACRI,QAAQJ;QACRK,MAAML;QACNM,QAAQN;QACRO,QAAQP;IACV;IACAQ,OAAO;QACLC,YAAY,CAAC;QACbC,QAAQ,CAAC;QACTC,oBAAoB;QACpBC,4BAA4B;QAC5BC,YAAY;YACVC,cAAc;YACdC,QAAQ;gBAAC;gBAAG;gBAAI;gBAAI;gBAAI;aAAI;QAC9B;QACAC,YAAY;IACd;IACAC,MAAM;IACNP,QAAQ,CAAC;IACTQ,WAAW,EAAE;IACbC,QAAQ,EAAE;IACVC,OAAO;QACLC,aAAa,EAAE;QACfC,aAAa,EAAE;QACfC,YAAY,EAAE;QACdC,qBAAqB,EAAE;QACvBC,YAAY,EAAE;QACdC,aAAa,EAAE;QACfC,SAAS,EAAE;QACXC,gBAAgB,EAAE;QAClBC,WAAW,EAAE;QACbC,cAAc,EAAE;QAChBC,cAAc,EAAE;QAChBC,cAAc,EAAE;QAChBC,aAAa,EAAE;QACfC,iBAAiB,EAAE;QACnBC,YAAY,EAAE;QACdC,gBAAgB,EAAE;QAClBC,IAAI,EAAE;QACNC,SAAS,EAAE;IACb;IACAC,SAAS,EAAE;IACXC,YAAY;IACZC,QAAQ;IACRC,UAAU;AACZ,EAAC;AAED,OAAO,MAAMC,gCAAgC,CAACC;IAC5C,MAAM1C,SAAS0C,WAAW1C,MAAM;IAEhC0C,WAAW1C,MAAM,GAAG;QAClB,GAAGA,MAAM;QACTC,QAAQD,QAAQC,UAAUH;QAC1BI,QAAQF,QAAQE,UAAUJ;QAC1BK,MAAMH,QAAQG,QAAQL;QACtBM,QAAQJ,QAAQI,UAAUN;QAC1BO,QAAQL,QAAQK,UAAUP;IAC5B;IAEA4C,WAAWpC,KAAK,GAAG;QACjBC,YAAY,CAAC;QACbC,QAAQ,CAAC;QACTC,oBAAoB;QACpBC,4BAA4B;QAC5BI,YAAY;QACZ,GAAI4B,WAAWpC,KAAK,IAAI,CAAC,CAAC;QAC1BK,YAAY;YACVC,cAAc;YACdC,QAAQ;gBAAC;gBAAG;gBAAI;gBAAI;gBAAI;aAAI;YAC5B,GAAI6B,WAAWpC,KAAK,EAAEK,cAAc,CAAC,CAAC;QACxC;IACF;IAEA+B,WAAW3B,IAAI,GAAG2B,WAAW3B,IAAI,IAAI;IACrC2B,WAAWlC,MAAM,GAAGkC,WAAWlC,MAAM,IAAI,CAAC;IAC1CkC,WAAW1B,SAAS,GAAG0B,WAAW1B,SAAS,IAAI,EAAE;IACjD0B,WAAWzB,MAAM,GAAGyB,WAAWzB,MAAM,IAAI,EAAE;IAC3CyB,WAAWC,SAAS,GAAGD,WAAWC,SAAS,IAAI;IAE/C,MAAMzB,QAAQwB,WAAWxB,KAAK;IAE9BwB,WAAWxB,KAAK,GAAG;QACjB,GAAGA,KAAK;QACRC,aAAaD,OAAOC,eAAe,EAAE;QACrCC,aAAaF,OAAOE,eAAe,EAAE;QACrCC,YAAYH,OAAOG,cAAc,EAAE;QACnCC,qBAAqBJ,OAAOI,uBAAuB,EAAE;QACrDC,YAAYL,OAAOK,cAAc,EAAE;QACnCC,aAAaN,OAAOM,eAAe,EAAE;QACrCC,SAASP,OAAOO,WAAW,EAAE;QAC7BC,gBAAgBR,OAAOQ,kBAAkB,EAAE;QAC3CC,WAAWT,OAAOS,aAAa,EAAE;QACjCC,cAAcV,OAAOU,gBAAgB,EAAE;QACvCC,cAAcX,OAAOW,gBAAgB,EAAE;QACvCC,cAAcZ,OAAOY,gBAAgB,EAAE;QACvCC,aAAab,OAAOa,eAAe,EAAE;QACrCC,iBAAiBd,OAAOc,mBAAmB,EAAE;QAC7CC,YAAYf,OAAOe,cAAc,EAAE;QACnCC,gBAAgBhB,OAAOgB,kBAAkB,EAAE;QAC3CC,IAAIjB,OAAOiB,MAAM,EAAE;QACnBC,SAASlB,OAAOkB,WAAW,EAAE;IAC/B;IAEAM,WAAWJ,UAAU,GAAGI,WAAWJ,UAAU,IAAI;IACjDI,WAAWH,MAAM,GAAGG,WAAWH,MAAM,IAAI;IACzCG,WAAWF,QAAQ,GAAGE,WAAWF,QAAQ,IAAI;IAE7CE,WAAWL,OAAO,GAAGK,WAAWL,OAAO,IAAI,EAAE;IAE7C,OAAOK;AACT,EAAC;AAED,OAAO,MAAME,0BAA0B,CAAC7B;IACtCA,KAAK8B,OAAO,GAAG;QACb,GAAI9B,KAAK8B,OAAO,IAAI,CAAC,CAAC;QACtBC,UAAU/B,KAAK8B,OAAO,EAAEC,YAAY;QACpCC,QAAQhC,KAAK8B,OAAO,EAAEE,UAAU;IAClC;IAEAhC,KAAKiC,KAAK,GAAGjC,KAAKiC,KAAK,IAAI;IAC3BjC,KAAKkC,cAAc,GAAGlC,KAAKkC,cAAc,IAAI,CAAC;IAC9ClC,KAAKmC,QAAQ,GAAGnC,KAAKmC,QAAQ,IAAI,QAAO,aAAa;IACrDnC,KAAKoC,iBAAiB,GAAGpC,KAAKoC,iBAAiB,GAC3CC,qCACErC,KAAKoC,iBAAiB,KAAK,OAAO,CAAC,IAAIpC,KAAKoC,iBAAiB,IAE/D;IACJpC,KAAKsC,gBAAgB,GAAGtC,KAAKsC,gBAAgB,IAAI;IACjDtC,KAAKuC,eAAe,GAAGvC,KAAKuC,eAAe,IAAI;IAC/CvC,KAAKwC,WAAW,GAAGxC,KAAKwC,WAAW,IAAI;IACvCxC,KAAKyC,MAAM,GAAGzC,KAAKyC,MAAM,IAAI;IAC7BzC,KAAK0C,UAAU,GAAG1C,KAAK0C,UAAU,IAAI,EAAE;IAEvC,IAAI,CAAC1C,KAAK2C,oBAAoB,IAAI3C,KAAKyC,MAAM,KAAK,MAAM;QACtDzC,KAAKyC,MAAM,GAAG,CAAC;IACjB;IAEA,OAAOzC;AACT,EAAC;AAED;;CAEC,GACD,OAAO,MAAM4C,4BAAgE;IAC3EC,iBAAiB;IACjBC,cAAc;IACdC,iBAAiB;AACnB,EAAC;AAED,OAAO,MAAMV,uCAAuC,CAClDD,oBAEC,CAAA;QACC,GAAGA,iBAAiB;QACpBS,iBAAiBT,kBAAkBS,eAAe,IAAI;QACtDC,cAAcV,kBAAkBU,YAAY,IAAI;QAChDC,iBAAiBX,kBAAkBS,eAAe,GAC7CT,kBAAkBW,eAAe,IAAI,OACtC;IACN,CAAA,EAAwC"}
1
+ {"version":3,"sources":["../../../src/collections/config/defaults.ts"],"sourcesContent":["import type { IncomingAuthType, LoginWithUsernameOptions } from '../../auth/types.js'\nimport type { CollectionConfig } from './types.js'\n\nimport { defaultAccess } from '../../auth/defaultAccess.js'\n\n/**\n * @deprecated - remove in 4.0. This is error-prone, as mutating this object will affect any objects that use the defaults as a base.\n */\nexport const defaults: Partial<CollectionConfig> = {\n access: {\n create: defaultAccess,\n delete: defaultAccess,\n read: defaultAccess,\n unlock: defaultAccess,\n update: defaultAccess,\n },\n admin: {\n components: {},\n custom: {},\n enableRichTextLink: true,\n enableRichTextRelationship: true,\n pagination: {\n defaultLimit: 10,\n limits: [5, 10, 25, 50, 100],\n },\n useAsTitle: 'id',\n },\n auth: false,\n custom: {},\n endpoints: [],\n fields: [],\n hooks: {\n afterChange: [],\n afterDelete: [],\n afterForgotPassword: [],\n afterLogin: [],\n afterLogout: [],\n afterMe: [],\n afterOperation: [],\n afterRead: [],\n afterRefresh: [],\n beforeChange: [],\n beforeDelete: [],\n beforeLogin: [],\n beforeOperation: [],\n beforeRead: [],\n beforeValidate: [],\n me: [],\n refresh: [],\n },\n indexes: [],\n timestamps: true,\n upload: false,\n versions: true,\n}\n\nexport const addDefaultsToCollectionConfig = (collection: CollectionConfig): CollectionConfig => {\n collection.access = {\n create: defaultAccess,\n delete: defaultAccess,\n read: defaultAccess,\n unlock: defaultAccess,\n update: defaultAccess,\n ...(collection.access || {}),\n }\n\n collection.admin = {\n components: {},\n custom: {},\n enableRichTextLink: true,\n enableRichTextRelationship: true,\n useAsTitle: 'id',\n ...(collection.admin || {}),\n pagination: {\n defaultLimit: 10,\n limits: [5, 10, 25, 50, 100],\n ...(collection.admin?.pagination || {}),\n },\n }\n\n collection.auth = collection.auth ?? false\n collection.custom = collection.custom ?? {}\n collection.endpoints = collection.endpoints ?? []\n collection.fields = collection.fields ?? []\n collection.hierarchy = collection.hierarchy ?? false\n\n collection.hooks = {\n afterChange: [],\n afterDelete: [],\n afterForgotPassword: [],\n afterLogin: [],\n afterLogout: [],\n afterMe: [],\n afterOperation: [],\n afterRead: [],\n afterRefresh: [],\n beforeChange: [],\n beforeDelete: [],\n beforeLogin: [],\n beforeOperation: [],\n beforeRead: [],\n beforeValidate: [],\n me: [],\n refresh: [],\n ...(collection.hooks || {}),\n }\n\n collection.timestamps = collection.timestamps ?? true\n collection.upload = collection.upload ?? false\n collection.versions = collection.versions ?? true\n\n collection.indexes = collection.indexes ?? []\n\n return collection\n}\n\nexport const addDefaultsToAuthConfig = (auth: IncomingAuthType): IncomingAuthType => {\n auth.cookies = {\n sameSite: 'Lax',\n secure: false,\n ...(auth.cookies || {}),\n }\n\n auth.depth = auth.depth ?? 0\n auth.forgotPassword = auth.forgotPassword ?? {}\n auth.lockTime = auth.lockTime ?? 600000 // 10 minutes\n auth.loginWithUsername = auth.loginWithUsername ?? false\n auth.maxLoginAttempts = auth.maxLoginAttempts ?? 5\n auth.tokenExpiration = auth.tokenExpiration ?? 7200\n auth.useSessions = auth.useSessions ?? true\n auth.verify = auth.verify ?? false\n auth.strategies = auth.strategies ?? []\n\n if (!auth.disableLocalStrategy && auth.verify === true) {\n auth.verify = {}\n }\n\n return auth\n}\n\n/**\n * @deprecated - remove in 4.0. This is error-prone, as mutating this object will affect any objects that use the defaults as a base.\n */\nexport const loginWithUsernameDefaults: LoginWithUsernameOptions = {\n allowEmailLogin: false,\n requireEmail: false,\n requireUsername: true,\n}\n\nexport const addDefaultsToLoginWithUsernameConfig = (\n loginWithUsername: LoginWithUsernameOptions,\n): LoginWithUsernameOptions =>\n ({\n allowEmailLogin: false,\n requireEmail: false,\n requireUsername: true,\n ...(loginWithUsername || {}),\n }) as LoginWithUsernameOptions\n"],"names":["defaultAccess","defaults","access","create","delete","read","unlock","update","admin","components","custom","enableRichTextLink","enableRichTextRelationship","pagination","defaultLimit","limits","useAsTitle","auth","endpoints","fields","hooks","afterChange","afterDelete","afterForgotPassword","afterLogin","afterLogout","afterMe","afterOperation","afterRead","afterRefresh","beforeChange","beforeDelete","beforeLogin","beforeOperation","beforeRead","beforeValidate","me","refresh","indexes","timestamps","upload","versions","addDefaultsToCollectionConfig","collection","hierarchy","addDefaultsToAuthConfig","cookies","sameSite","secure","depth","forgotPassword","lockTime","loginWithUsername","maxLoginAttempts","tokenExpiration","useSessions","verify","strategies","disableLocalStrategy","loginWithUsernameDefaults","allowEmailLogin","requireEmail","requireUsername","addDefaultsToLoginWithUsernameConfig"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import type { Config } from '../../config/types.js';
2
- import type { RichTextSanitizer } from '../../fields/config/sanitize.js';
1
+ import type { Config, SanitizedConfig } from '../../config/types.js';
3
2
  import type { OrderableJoinInfo } from '../../fields/config/sanitizeJoinField.js';
4
3
  import type { CollectionConfig, SanitizedCollectionConfig } from './types.js';
5
4
  /**
@@ -7,9 +6,14 @@ import type { CollectionConfig, SanitizedCollectionConfig } from './types.js';
7
6
  * Views without `path` will never be matched by the router and are silently ignored.
8
7
  */
9
8
  export declare const warnOnInvalidCustomViews: (collection: CollectionConfig) => void;
10
- export declare const sanitizeCollection: (config: Config, collection: CollectionConfig, richTextSanitizers?: RichTextSanitizer[], _validRelationships?: string[],
9
+ export declare const sanitizeCollection: (config: Config, collection: CollectionConfig,
10
+ /**
11
+ * If this property is set, RichText fields won't be sanitized immediately. Instead, they will be added to this array as promises
12
+ * so that you can sanitize them together, after the config has been sanitized.
13
+ */
14
+ richTextSanitizationPromises?: Array<(config: SanitizedConfig) => Promise<void>>, _validRelationships?: string[],
11
15
  /**
12
16
  * Tracker for orderable join fields - populated during sanitization
13
17
  */
14
- orderableJoins?: OrderableJoinInfo[]) => SanitizedCollectionConfig;
18
+ orderableJoins?: OrderableJoinInfo[]) => Promise<SanitizedCollectionConfig>;
15
19
  //# sourceMappingURL=sanitize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/collections/config/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAEjF,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EAG1B,MAAM,YAAY,CAAA;AAsBnB;;;GAGG;AACH,eAAO,MAAM,wBAAwB,eAAgB,gBAAgB,KAAG,IAuBvE,CAAA;AAED,eAAO,MAAM,kBAAkB,WACrB,MAAM,cACF,gBAAgB,uBACP,iBAAiB,EAAE,wBAClB,MAAM,EAAE;AAC9B;;GAEG;iBACc,iBAAiB,EAAE,KACnC,yBA6RF,CAAA"}
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/collections/config/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAEjF,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EAG1B,MAAM,YAAY,CAAA;AA0BnB;;;GAGG;AACH,eAAO,MAAM,wBAAwB,eAAgB,gBAAgB,KAAG,IAuBvE,CAAA;AAED,eAAO,MAAM,kBAAkB,WACrB,MAAM,cACF,gBAAgB;AAC5B;;;GAGG;+BAC4B,KAAK,CAAC,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,wBAC1D,MAAM,EAAE;AAC9B;;GAEG;iBACc,iBAAiB,EAAE,KACnC,OAAO,CAAC,yBAAyB,CA+SnC,CAAA"}
@@ -14,7 +14,7 @@ import { traverseForLocalizedFields } from '../../utilities/traverseForLocalized
14
14
  import { baseVersionFields } from '../../versions/baseFields.js';
15
15
  import { versionDefaults } from '../../versions/defaults.js';
16
16
  import { defaultCollectionEndpoints } from '../endpoints/index.js';
17
- import { addDefaultsToAuthConfig, addDefaultsToCollectionConfig } from './defaults.js';
17
+ import { addDefaultsToAuthConfig, addDefaultsToCollectionConfig, addDefaultsToLoginWithUsernameConfig } from './defaults.js';
18
18
  import { sanitizeCompoundIndexes } from './sanitizeCompoundIndexes.js';
19
19
  import { validateUseAsTitle } from './useAsTitle.js';
20
20
  /**
@@ -37,7 +37,10 @@ import { validateUseAsTitle } from './useAsTitle.js';
37
37
  }
38
38
  }
39
39
  };
40
- export const sanitizeCollection = (config, collection, richTextSanitizers, _validRelationships, /**
40
+ export const sanitizeCollection = async (config, collection, /**
41
+ * If this property is set, RichText fields won't be sanitized immediately. Instead, they will be added to this array as promises
42
+ * so that you can sanitize them together, after the config has been sanitized.
43
+ */ richTextSanitizationPromises, _validRelationships, /**
41
44
  * Tracker for orderable join fields - populated during sanitization
42
45
  */ orderableJoins)=>{
43
46
  if (collection._sanitized) {
@@ -93,7 +96,7 @@ export const sanitizeCollection = (config, collection, richTextSanitizers, _vali
93
96
  const validRelationships = _validRelationships ?? config.collections.map((c)=>c.slug) ?? [];
94
97
  const joins = {};
95
98
  const polymorphicJoins = [];
96
- sanitized.fields = sanitizeFields({
99
+ sanitized.fields = await sanitizeFields({
97
100
  collectionConfig: sanitized,
98
101
  config,
99
102
  fields: sanitized.fields,
@@ -102,7 +105,7 @@ export const sanitizeCollection = (config, collection, richTextSanitizers, _vali
102
105
  orderableJoins,
103
106
  parentIsLocalized: false,
104
107
  polymorphicJoins,
105
- richTextSanitizers,
108
+ richTextSanitizationPromises,
106
109
  validRelationships
107
110
  });
108
111
  if (sanitized.endpoints !== false) {
@@ -246,6 +249,20 @@ export const sanitizeCollection = (config, collection, richTextSanitizers, _vali
246
249
  sanitized.auth = addDefaultsToAuthConfig(typeof sanitized.auth === 'boolean' ? {} : sanitized.auth);
247
250
  // disable duplicate for auth enabled collections by default
248
251
  sanitized.disableDuplicate = sanitized.disableDuplicate ?? true;
252
+ if (sanitized.auth.loginWithUsername) {
253
+ if (sanitized.auth.loginWithUsername === true) {
254
+ sanitized.auth.loginWithUsername = addDefaultsToLoginWithUsernameConfig({});
255
+ } else {
256
+ const loginWithUsernameWithDefaults = addDefaultsToLoginWithUsernameConfig(sanitized.auth.loginWithUsername);
257
+ // if allowEmailLogin is false, requireUsername must be true
258
+ if (loginWithUsernameWithDefaults.allowEmailLogin === false) {
259
+ loginWithUsernameWithDefaults.requireUsername = true;
260
+ }
261
+ sanitized.auth.loginWithUsername = loginWithUsernameWithDefaults;
262
+ }
263
+ } else {
264
+ sanitized.auth.loginWithUsername = false;
265
+ }
249
266
  if (!collection?.admin?.useAsTitle) {
250
267
  sanitized.admin.useAsTitle = sanitized.auth.loginWithUsername ? 'username' : 'email';
251
268
  }