payload 3.0.0-beta.3 → 3.0.0-beta.5

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 (111) hide show
  1. package/dist/admin/RichText.d.ts +2 -0
  2. package/dist/admin/RichText.d.ts.map +1 -1
  3. package/dist/admin/RichText.js.map +1 -1
  4. package/dist/admin/elements/PreviewButton.d.ts +2 -1
  5. package/dist/admin/elements/PreviewButton.d.ts.map +1 -1
  6. package/dist/admin/elements/PreviewButton.js.map +1 -1
  7. package/dist/admin/elements/PublishButton.d.ts +2 -1
  8. package/dist/admin/elements/PublishButton.d.ts.map +1 -1
  9. package/dist/admin/elements/PublishButton.js.map +1 -1
  10. package/dist/admin/elements/SaveButton.d.ts +2 -1
  11. package/dist/admin/elements/SaveButton.d.ts.map +1 -1
  12. package/dist/admin/elements/SaveButton.js.map +1 -1
  13. package/dist/admin/elements/SaveDraftButton.d.ts +2 -1
  14. package/dist/admin/elements/SaveDraftButton.d.ts.map +1 -1
  15. package/dist/admin/elements/SaveDraftButton.js.map +1 -1
  16. package/dist/admin/elements/WithServerSideProps.d.ts +5 -0
  17. package/dist/admin/elements/WithServerSideProps.d.ts.map +1 -0
  18. package/dist/admin/elements/WithServerSideProps.js +3 -0
  19. package/dist/admin/elements/WithServerSideProps.js.map +1 -0
  20. package/dist/admin/forms/FieldDescription.d.ts +4 -2
  21. package/dist/admin/forms/FieldDescription.d.ts.map +1 -1
  22. package/dist/admin/forms/FieldDescription.js.map +1 -1
  23. package/dist/admin/forms/RowLabel.d.ts +2 -1
  24. package/dist/admin/forms/RowLabel.d.ts.map +1 -1
  25. package/dist/admin/forms/RowLabel.js.map +1 -1
  26. package/dist/admin/types.d.ts +1 -0
  27. package/dist/admin/types.d.ts.map +1 -1
  28. package/dist/admin/types.js.map +1 -1
  29. package/dist/auth/executeAuthStrategies.d.ts +3 -2
  30. package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
  31. package/dist/auth/executeAuthStrategies.js.map +1 -1
  32. package/dist/auth/getFieldsToSign.d.ts +2 -2
  33. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  34. package/dist/auth/getFieldsToSign.js.map +1 -1
  35. package/dist/auth/operations/auth.d.ts +3 -2
  36. package/dist/auth/operations/auth.d.ts.map +1 -1
  37. package/dist/auth/operations/auth.js.map +1 -1
  38. package/dist/bin/loader/index.d.ts.map +1 -1
  39. package/dist/bin/loader/index.js +4 -0
  40. package/dist/bin/loader/index.js.map +1 -1
  41. package/dist/collections/config/client.d.ts +11 -11
  42. package/dist/collections/config/types.d.ts +7 -6
  43. package/dist/collections/config/types.d.ts.map +1 -1
  44. package/dist/collections/config/types.js.map +1 -1
  45. package/dist/collections/dataloader.d.ts.map +1 -1
  46. package/dist/collections/dataloader.js +3 -5
  47. package/dist/collections/dataloader.js.map +1 -1
  48. package/dist/collections/operations/create.d.ts.map +1 -1
  49. package/dist/collections/operations/create.js +1 -4
  50. package/dist/collections/operations/create.js.map +1 -1
  51. package/dist/config/find.d.ts.map +1 -1
  52. package/dist/config/find.js +20 -9
  53. package/dist/config/find.js.map +1 -1
  54. package/dist/config/types.d.ts +20 -14
  55. package/dist/config/types.d.ts.map +1 -1
  56. package/dist/config/types.js +3 -0
  57. package/dist/config/types.js.map +1 -1
  58. package/dist/exports/utilities.d.ts +1 -2
  59. package/dist/exports/utilities.d.ts.map +1 -1
  60. package/dist/exports/utilities.js +1 -2
  61. package/dist/exports/utilities.js.map +1 -1
  62. package/dist/fields/config/client.d.ts +102 -102
  63. package/dist/fields/config/sanitize.spec.js +4 -1
  64. package/dist/fields/config/sanitize.spec.js.map +1 -1
  65. package/dist/fields/config/types.d.ts +45 -46
  66. package/dist/fields/config/types.d.ts.map +1 -1
  67. package/dist/fields/config/types.js.map +1 -1
  68. package/dist/fields/getDefaultValue.d.ts +2 -2
  69. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  70. package/dist/fields/getDefaultValue.js.map +1 -1
  71. package/dist/fields/validations.d.ts +4 -4
  72. package/dist/fields/validations.d.ts.map +1 -1
  73. package/dist/fields/validations.js +5 -9
  74. package/dist/fields/validations.js.map +1 -1
  75. package/dist/fields/validations.spec.js +6 -1
  76. package/dist/fields/validations.spec.js.map +1 -1
  77. package/dist/globals/config/types.d.ts +1 -2
  78. package/dist/globals/config/types.d.ts.map +1 -1
  79. package/dist/globals/config/types.js.map +1 -1
  80. package/dist/index.d.ts +3 -0
  81. package/dist/index.d.ts.map +1 -1
  82. package/dist/index.js +7 -1
  83. package/dist/index.js.map +1 -1
  84. package/dist/preferences/operations/update.d.ts +1 -1
  85. package/dist/preferences/types.d.ts +1 -2
  86. package/dist/preferences/types.d.ts.map +1 -1
  87. package/dist/preferences/types.js.map +1 -1
  88. package/dist/types/index.d.ts +4 -4
  89. package/dist/types/index.d.ts.map +1 -1
  90. package/dist/types/index.js.map +1 -1
  91. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  92. package/dist/utilities/configToJSONSchema.js +34 -1
  93. package/dist/utilities/configToJSONSchema.js.map +1 -1
  94. package/dist/utilities/isEntityHidden.d.ts +2 -2
  95. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  96. package/dist/utilities/isEntityHidden.js.map +1 -1
  97. package/dist/utilities/isReactComponent.d.ts +2 -0
  98. package/dist/utilities/isReactComponent.d.ts.map +1 -1
  99. package/dist/utilities/isReactComponent.js +8 -2
  100. package/dist/utilities/isReactComponent.js.map +1 -1
  101. package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
  102. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  103. package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
  104. package/package.json +2 -2
  105. package/src/index.ts +12 -0
  106. package/utilities.d.ts +1 -2
  107. package/utilities.js +1 -2
  108. package/dist/utilities/getIDType.d.ts +0 -4
  109. package/dist/utilities/getIDType.d.ts.map +0 -1
  110. package/dist/utilities/getIDType.js +0 -8
  111. package/dist/utilities/getIDType.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/types.ts"],"sourcesContent":["import type { GraphQLInputObjectType, GraphQLNonNull, GraphQLObjectType } from 'graphql'\nimport type { DeepRequired } from 'ts-essentials'\n\nimport type {\n CustomPreviewButton,\n CustomPublishButton,\n CustomSaveButton,\n CustomSaveDraftButton,\n} from '../../admin/types.js'\nimport type { Auth, ClientUser, IncomingAuthType } from '../../auth/types.js'\nimport type {\n Access,\n EditConfig,\n Endpoint,\n EntityDescription,\n GeneratePreviewURL,\n LabelFunction,\n LivePreviewConfig,\n} from '../../config/types.js'\nimport type { Field } from '../../fields/config/types.js'\nimport type { GeneratedTypes } from '../../index.js'\nimport type { PayloadRequest, RequestContext } from '../../types/index.js'\nimport type { SanitizedUploadConfig, UploadConfig } from '../../uploads/types.js'\nimport type {\n IncomingCollectionVersions,\n SanitizedCollectionVersions,\n} from '../../versions/types.js'\nimport type { AfterOperationArg, AfterOperationMap } from '../operations/utils.js'\n\nexport type HookOperationType =\n | 'autosave'\n | 'create'\n | 'delete'\n | 'forgotPassword'\n | 'login'\n | 'read'\n | 'refresh'\n | 'update'\n\ntype CreateOrUpdateOperation = Extract<HookOperationType, 'create' | 'update'>\n\nexport type BeforeOperationHook = (args: {\n args?: any\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n /**\n * Hook operation being performed\n */\n operation: HookOperationType\n req: PayloadRequest\n}) => any\n\nexport type BeforeValidateHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n data?: Partial<T>\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n /**\n * Original document before change\n *\n * `undefined` on 'create' operation\n */\n originalDoc?: T\n req: PayloadRequest\n}) => any\n\nexport type BeforeChangeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n data: Partial<T>\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n /**\n * Original document before change\n *\n * `undefined` on 'create' operation\n */\n originalDoc?: T\n req: PayloadRequest\n}) => any\n\nexport type AfterChangeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n previousDoc: T\n req: PayloadRequest\n}) => any\n\nexport type BeforeReadHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n query: { [key: string]: any }\n req: PayloadRequest\n}) => any\n\nexport type AfterReadHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n findMany?: boolean\n query?: { [key: string]: any }\n req: PayloadRequest\n}) => any\n\nexport type BeforeDeleteHook = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n id: number | string\n req: PayloadRequest\n}) => any\n\nexport type AfterDeleteHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n id: number | string\n req: PayloadRequest\n}) => any\n\nexport type AfterOperationHook<T extends TypeWithID = any> = (\n arg: AfterOperationArg<T>,\n) => Promise<ReturnType<AfterOperationMap<T>[keyof AfterOperationMap<T>]>>\n\nexport type AfterErrorHook = (\n err: Error,\n res: unknown,\n context: RequestContext,\n /** The collection which this hook is being run on. This is null if the AfterError hook was be added to the payload-wide config */\n collection: SanitizedCollectionConfig | null,\n) => { response: any; status: number } | void\n\nexport type BeforeLoginHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n user: T\n}) => any\n\nexport type AfterLoginHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n token: string\n user: T\n}) => any\n\nexport type AfterLogoutHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n}) => any\n\nexport type AfterMeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n response: unknown\n}) => any\n\nexport type AfterRefreshHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n exp: number\n req: PayloadRequest\n token: string\n}) => any\n\nexport type AfterForgotPasswordHook = (args: {\n args?: any\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n}) => any\n\nexport type CollectionAdminOptions = {\n /**\n * Custom admin components\n */\n components?: {\n AfterList?: React.ComponentType<any>[]\n AfterListTable?: React.ComponentType<any>[]\n BeforeList?: React.ComponentType<any>[]\n BeforeListTable?: React.ComponentType<any>[]\n /**\n * Components within the edit view\n */\n edit?: {\n /**\n * Replaces the \"Preview\" button\n */\n PreviewButton?: CustomPreviewButton\n /**\n * Replaces the \"Publish\" button\n * + drafts must be enabled\n */\n PublishButton?: CustomPublishButton\n /**\n * Replaces the \"Save\" button\n * + drafts must be disabled\n */\n SaveButton?: CustomSaveButton\n /**\n * Replaces the \"Save Draft\" button\n * + drafts must be enabled\n * + autosave must be disabled\n */\n SaveDraftButton?: CustomSaveDraftButton\n }\n views?: {\n /**\n * Set to a React component to replace the entire \"Edit\" view, including all nested routes.\n * Set to an object to replace or modify individual nested routes, or to add new ones.\n */\n Edit?: EditConfig\n List?:\n | {\n Component?: React.ComponentType<any>\n actions?: React.ComponentType<any>[]\n }\n | React.ComponentType<any>\n }\n }\n /**\n * Default columns to show in list view\n */\n defaultColumns?: string[]\n /**\n * Custom description for collection\n */\n description?: EntityDescription\n enableRichTextLink?: boolean\n enableRichTextRelationship?: boolean\n /**\n * Place collections into a navigational group\n * */\n group?: Record<string, string> | string\n /**\n * Exclude the collection from the admin nav and routes\n */\n hidden?: ((args: { user: ClientUser }) => boolean) | boolean\n /**\n * Hide the API URL within the Edit view\n */\n hideAPIURL?: boolean\n /**\n * Additional fields to be searched via the full text search\n */\n listSearchableFields?: string[]\n /**\n * Live preview options\n */\n livePreview?: LivePreviewConfig\n pagination?: {\n defaultLimit?: number\n limits?: number[]\n }\n /**\n * Function to generate custom preview URL\n */\n preview?: GeneratePreviewURL\n /**\n * Field to use as title in Edit view and first column in List view\n */\n useAsTitle?: string\n}\n\n/** Manage all aspects of a data collection */\nexport type CollectionConfig = {\n /**\n * Access control\n */\n access?: {\n admin?: ({ req }: { req: PayloadRequest }) => Promise<boolean> | boolean\n create?: Access\n delete?: Access\n read?: Access\n readVersions?: Access\n unlock?: Access\n update?: Access\n }\n /**\n * Collection admin options\n */\n admin?: CollectionAdminOptions\n /**\n * Collection login options\n *\n * Use `true` to enable with default options\n */\n auth?: IncomingAuthType | boolean\n /** Extension point to add your custom data. */\n custom?: Record<string, any>\n /**\n * Default field to sort by in collection list view\n */\n defaultSort?: string\n /**\n * When true, do not show the \"Duplicate\" button while editing documents within this collection and prevent `duplicate` from all APIs\n */\n disableDuplicate?: boolean\n /**\n * Custom rest api endpoints, set false to disable all rest endpoints for this collection.\n */\n endpoints?: Omit<Endpoint, 'root'>[] | false\n fields: Field[]\n /**\n * GraphQL configuration\n */\n graphQL?:\n | {\n pluralName?: string\n singularName?: string\n }\n | false\n /**\n * Hooks to modify Payload functionality\n */\n hooks?: {\n afterChange?: AfterChangeHook[]\n afterDelete?: AfterDeleteHook[]\n afterError?: AfterErrorHook\n afterForgotPassword?: AfterForgotPasswordHook[]\n afterLogin?: AfterLoginHook[]\n afterLogout?: AfterLogoutHook[]\n afterMe?: AfterMeHook[]\n afterOperation?: AfterOperationHook[]\n afterRead?: AfterReadHook[]\n afterRefresh?: AfterRefreshHook[]\n beforeChange?: BeforeChangeHook[]\n beforeDelete?: BeforeDeleteHook[]\n beforeLogin?: BeforeLoginHook[]\n beforeOperation?: BeforeOperationHook[]\n beforeRead?: BeforeReadHook[]\n beforeValidate?: BeforeValidateHook[]\n }\n /**\n * Label configuration\n */\n labels?: {\n plural?: LabelFunction | Record<string, string> | string\n singular?: LabelFunction | Record<string, string> | string\n }\n slug: string\n /**\n * Add `createdAt` and `updatedAt` fields\n *\n * @default true\n */\n timestamps?: boolean\n /**\n * Options used in typescript generation\n */\n typescript?: {\n /**\n * Typescript generation name given to the interface type\n */\n interface?: string\n }\n /**\n * Customize the handling of incoming file uploads\n *\n * @default false // disable uploads\n */\n upload?: UploadConfig | boolean\n /**\n * Customize the handling of incoming file uploads\n *\n * @default false // disable versioning\n */\n versions?: IncomingCollectionVersions | boolean\n}\n\nexport interface SanitizedCollectionConfig\n extends Omit<\n DeepRequired<CollectionConfig>,\n 'auth' | 'endpoints' | 'fields' | 'upload' | 'versions'\n > {\n auth: Auth\n endpoints: Endpoint[] | false\n fields: Field[]\n upload: SanitizedUploadConfig\n versions: SanitizedCollectionVersions\n}\n\nexport type Collection = {\n config: SanitizedCollectionConfig\n graphQL?: {\n JWT: GraphQLObjectType\n mutationInputType: GraphQLNonNull<any>\n paginatedType: GraphQLObjectType\n type: GraphQLObjectType\n updateMutationInputType: GraphQLNonNull<any>\n versionType: GraphQLObjectType\n whereInputType: GraphQLInputObjectType\n }\n}\n\nexport type BulkOperationResult<TSlug extends keyof GeneratedTypes['collections']> = {\n docs: GeneratedTypes['collections'][TSlug][]\n errors: {\n id: GeneratedTypes['collections'][TSlug]['id']\n message: string\n }[]\n}\n\nexport type AuthCollection = {\n config: SanitizedCollectionConfig\n}\n\nexport type TypeWithID = {\n id: number | string\n}\n\nexport type TypeWithTimestamps = {\n [key: string]: unknown\n createdAt: string\n id: number | string\n updatedAt: string\n}\n"],"names":[],"rangeMappings":"","mappings":"AAqbA,WAKC"}
1
+ {"version":3,"sources":["../../../src/collections/config/types.ts"],"sourcesContent":["import type { GraphQLInputObjectType, GraphQLNonNull, GraphQLObjectType } from 'graphql'\nimport type { DeepRequired } from 'ts-essentials'\n\nimport type {\n CustomPreviewButton,\n CustomPublishButton,\n CustomSaveButton,\n CustomSaveDraftButton,\n} from '../../admin/types.js'\nimport type { Auth, ClientUser, IncomingAuthType } from '../../auth/types.js'\nimport type {\n Access,\n CustomComponent,\n EditConfig,\n Endpoint,\n EntityDescription,\n GeneratePreviewURL,\n LabelFunction,\n LivePreviewConfig,\n} from '../../config/types.js'\nimport type { Field } from '../../fields/config/types.js'\nimport type { GeneratedTypes } from '../../index.js'\nimport type { PayloadRequest, RequestContext } from '../../types/index.js'\nimport type { SanitizedUploadConfig, UploadConfig } from '../../uploads/types.js'\nimport type {\n IncomingCollectionVersions,\n SanitizedCollectionVersions,\n} from '../../versions/types.js'\nimport type { AfterOperationArg, AfterOperationMap } from '../operations/utils.js'\n\nexport type HookOperationType =\n | 'autosave'\n | 'create'\n | 'delete'\n | 'forgotPassword'\n | 'login'\n | 'read'\n | 'refresh'\n | 'update'\n\ntype CreateOrUpdateOperation = Extract<HookOperationType, 'create' | 'update'>\n\nexport type BeforeOperationHook = (args: {\n args?: any\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n /**\n * Hook operation being performed\n */\n operation: HookOperationType\n req: PayloadRequest\n}) => any\n\nexport type BeforeValidateHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n data?: Partial<T>\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n /**\n * Original document before change\n *\n * `undefined` on 'create' operation\n */\n originalDoc?: T\n req: PayloadRequest\n}) => any\n\nexport type BeforeChangeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n data: Partial<T>\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n /**\n * Original document before change\n *\n * `undefined` on 'create' operation\n */\n originalDoc?: T\n req: PayloadRequest\n}) => any\n\nexport type AfterChangeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n previousDoc: T\n req: PayloadRequest\n}) => any\n\nexport type BeforeReadHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n query: { [key: string]: any }\n req: PayloadRequest\n}) => any\n\nexport type AfterReadHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n findMany?: boolean\n query?: { [key: string]: any }\n req: PayloadRequest\n}) => any\n\nexport type BeforeDeleteHook = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n id: number | string\n req: PayloadRequest\n}) => any\n\nexport type AfterDeleteHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n id: number | string\n req: PayloadRequest\n}) => any\n\nexport type AfterOperationHook<T extends TypeWithID = any> = (\n arg: AfterOperationArg<T>,\n) => Promise<ReturnType<AfterOperationMap<T>[keyof AfterOperationMap<T>]>>\n\nexport type AfterErrorHook = (\n err: Error,\n res: unknown,\n context: RequestContext,\n /** The collection which this hook is being run on. This is null if the AfterError hook was be added to the payload-wide config */\n collection: SanitizedCollectionConfig | null,\n) => { response: any; status: number } | void\n\nexport type BeforeLoginHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n user: T\n}) => any\n\nexport type AfterLoginHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n token: string\n user: T\n}) => any\n\nexport type AfterLogoutHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n}) => any\n\nexport type AfterMeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n response: unknown\n}) => any\n\nexport type AfterRefreshHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n exp: number\n req: PayloadRequest\n token: string\n}) => any\n\nexport type AfterForgotPasswordHook = (args: {\n args?: any\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n}) => any\n\nexport type CollectionAdminOptions = {\n /**\n * Custom admin components\n */\n components?: {\n AfterList?: CustomComponent[]\n AfterListTable?: CustomComponent[]\n BeforeList?: CustomComponent[]\n BeforeListTable?: CustomComponent[]\n /**\n * Components within the edit view\n */\n edit?: {\n /**\n * Replaces the \"Preview\" button\n */\n PreviewButton?: CustomPreviewButton\n /**\n * Replaces the \"Publish\" button\n * + drafts must be enabled\n */\n PublishButton?: CustomPublishButton\n /**\n * Replaces the \"Save\" button\n * + drafts must be disabled\n */\n SaveButton?: CustomSaveButton\n /**\n * Replaces the \"Save Draft\" button\n * + drafts must be enabled\n * + autosave must be disabled\n */\n SaveDraftButton?: CustomSaveDraftButton\n }\n views?: {\n /**\n * Set to a React component to replace the entire \"Edit\" view, including all nested routes.\n * Set to an object to replace or modify individual nested routes, or to add new ones.\n */\n Edit?: EditConfig\n List?:\n | {\n Component?: React.ComponentType<any>\n actions?: CustomComponent[]\n }\n | React.ComponentType<any>\n }\n }\n /**\n * Default columns to show in list view\n */\n defaultColumns?: string[]\n /**\n * Custom description for collection\n */\n description?: EntityDescription\n enableRichTextLink?: boolean\n enableRichTextRelationship?: boolean\n /**\n * Place collections into a navigational group\n * */\n group?: Record<string, string> | string\n /**\n * Exclude the collection from the admin nav and routes\n */\n hidden?: ((args: { user: ClientUser }) => boolean) | boolean\n /**\n * Hide the API URL within the Edit view\n */\n hideAPIURL?: boolean\n /**\n * Additional fields to be searched via the full text search\n */\n listSearchableFields?: string[]\n /**\n * Live preview options\n */\n livePreview?: LivePreviewConfig\n pagination?: {\n defaultLimit?: number\n limits?: number[]\n }\n /**\n * Function to generate custom preview URL\n */\n preview?: GeneratePreviewURL\n /**\n * Field to use as title in Edit view and first column in List view\n */\n useAsTitle?: string\n}\n\n/** Manage all aspects of a data collection */\nexport type CollectionConfig = {\n /**\n * Access control\n */\n access?: {\n admin?: ({ req }: { req: PayloadRequest }) => Promise<boolean> | boolean\n create?: Access\n delete?: Access\n read?: Access\n readVersions?: Access\n unlock?: Access\n update?: Access\n }\n /**\n * Collection admin options\n */\n admin?: CollectionAdminOptions\n /**\n * Collection login options\n *\n * Use `true` to enable with default options\n */\n auth?: IncomingAuthType | boolean\n /** Extension point to add your custom data. */\n custom?: Record<string, any>\n /**\n * Default field to sort by in collection list view\n */\n defaultSort?: string\n /**\n * When true, do not show the \"Duplicate\" button while editing documents within this collection and prevent `duplicate` from all APIs\n */\n disableDuplicate?: boolean\n /**\n * Custom rest api endpoints, set false to disable all rest endpoints for this collection.\n */\n endpoints?: Omit<Endpoint, 'root'>[] | false\n fields: Field[]\n /**\n * GraphQL configuration\n */\n graphQL?:\n | {\n pluralName?: string\n singularName?: string\n }\n | false\n /**\n * Hooks to modify Payload functionality\n */\n hooks?: {\n afterChange?: AfterChangeHook[]\n afterDelete?: AfterDeleteHook[]\n afterError?: AfterErrorHook\n afterForgotPassword?: AfterForgotPasswordHook[]\n afterLogin?: AfterLoginHook[]\n afterLogout?: AfterLogoutHook[]\n afterMe?: AfterMeHook[]\n afterOperation?: AfterOperationHook[]\n afterRead?: AfterReadHook[]\n afterRefresh?: AfterRefreshHook[]\n beforeChange?: BeforeChangeHook[]\n beforeDelete?: BeforeDeleteHook[]\n beforeLogin?: BeforeLoginHook[]\n beforeOperation?: BeforeOperationHook[]\n beforeRead?: BeforeReadHook[]\n beforeValidate?: BeforeValidateHook[]\n }\n /**\n * Label configuration\n */\n labels?: {\n plural?: LabelFunction | Record<string, string> | string\n singular?: LabelFunction | Record<string, string> | string\n }\n slug: string\n /**\n * Add `createdAt` and `updatedAt` fields\n *\n * @default true\n */\n timestamps?: boolean\n /**\n * Options used in typescript generation\n */\n typescript?: {\n /**\n * Typescript generation name given to the interface type\n */\n interface?: string\n }\n /**\n * Customize the handling of incoming file uploads\n *\n * @default false // disable uploads\n */\n upload?: UploadConfig | boolean\n /**\n * Customize the handling of incoming file uploads\n *\n * @default false // disable versioning\n */\n versions?: IncomingCollectionVersions | boolean\n}\n\nexport interface SanitizedCollectionConfig\n extends Omit<\n DeepRequired<CollectionConfig>,\n 'auth' | 'endpoints' | 'fields' | 'upload' | 'versions'\n > {\n auth: Auth\n endpoints: Endpoint[] | false\n fields: Field[]\n upload: SanitizedUploadConfig\n versions: SanitizedCollectionVersions\n}\n\nexport type Collection = {\n config: SanitizedCollectionConfig\n customIDType?: 'number' | 'text'\n graphQL?: {\n JWT: GraphQLObjectType\n mutationInputType: GraphQLNonNull<any>\n paginatedType: GraphQLObjectType\n type: GraphQLObjectType\n updateMutationInputType: GraphQLNonNull<any>\n versionType: GraphQLObjectType\n whereInputType: GraphQLInputObjectType\n }\n}\n\nexport type BulkOperationResult<TSlug extends keyof GeneratedTypes['collections']> = {\n docs: GeneratedTypes['collections'][TSlug][]\n errors: {\n id: GeneratedTypes['collections'][TSlug]['id']\n message: string\n }[]\n}\n\nexport type AuthCollection = {\n config: SanitizedCollectionConfig\n}\n\nexport type TypeWithID = {\n id: number | string\n}\n\nexport type TypeWithTimestamps = {\n [key: string]: unknown\n createdAt: string\n id: number | string\n updatedAt: string\n}\n"],"names":[],"rangeMappings":"","mappings":"AAubA,WAKC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dataloader.d.ts","sourceRoot":"","sources":["../../src/collections/dataloader.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAsJnD,eAAO,MAAM,aAAa,QAAS,cAAc,2CAA0C,CAAA"}
1
+ {"version":3,"file":"dataloader.d.ts","sourceRoot":"","sources":["../../src/collections/dataloader.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAkJnD,eAAO,MAAM,aAAa,QAAS,cAAc,2CAA0C,CAAA"}
@@ -1,6 +1,4 @@
1
1
  import DataLoader from 'dataloader';
2
- import { fieldAffectsData } from '../fields/config/types.js';
3
- import { getIDType } from '../utilities/getIDType.js';
4
2
  import { isValidID } from '../utilities/isValidID.js';
5
3
  // Payload uses `dataloader` to solve the classic GraphQL N+1 problem.
6
4
  // We keep a list of all documents requested to be populated for any given request
@@ -42,10 +40,10 @@ const batchAndLoadDocs = (req)=>async (keys)=>{
42
40
  showHiddenFields
43
41
  ];
44
42
  const batchKey = JSON.stringify(batchKeyArray);
45
- const idField = payload.collections?.[collection].config.fields.find((field)=>fieldAffectsData(field) && field.name === 'id');
43
+ const idType = payload.collections?.[collection].customIDType || payload.db.defaultIDType;
46
44
  let sanitizedID = id;
47
- if (idField?.type === 'number') sanitizedID = parseFloat(id);
48
- if (isValidID(sanitizedID, getIDType(idField, payload?.db?.defaultIDType))) {
45
+ if (idType === 'number') sanitizedID = parseFloat(id);
46
+ if (isValidID(sanitizedID, idType)) {
49
47
  return {
50
48
  ...batches,
51
49
  [batchKey]: [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/collections/dataloader.ts"],"sourcesContent":["import type { BatchLoadFn } from 'dataloader'\n\nimport DataLoader from 'dataloader'\n\nimport type { PayloadRequest } from '../types/index.js'\nimport type { TypeWithID } from './config/types.js'\n\nimport { fieldAffectsData } from '../fields/config/types.js'\nimport { getIDType } from '../utilities/getIDType.js'\nimport { isValidID } from '../utilities/isValidID.js'\n\n// Payload uses `dataloader` to solve the classic GraphQL N+1 problem.\n\n// We keep a list of all documents requested to be populated for any given request\n// and then batch together documents within the same collection,\n// making only 1 find per each collection, rather than `findByID` per each requested doc.\n\n// This dramatically improves performance for REST and Local API `depth` populations,\n// and also ensures complex GraphQL queries perform lightning-fast.\n\nconst batchAndLoadDocs =\n (req: PayloadRequest): BatchLoadFn<string, TypeWithID> =>\n async (keys: string[]): Promise<TypeWithID[]> => {\n const { payload } = req\n\n // Create docs array of same length as keys, using null as value\n // We will replace nulls with injected docs as they are retrieved\n const docs: (TypeWithID | null)[] = keys.map(() => null)\n\n /**\n * Batch IDs by their `find` args\n * so we can make one find query per combination of collection, depth, locale, and fallbackLocale.\n *\n * Resulting shape will be as follows:\n {\n // key is stringified set of find args\n '[null,\"pages\",2,0,\"es\",\"en\",false,false]': [\n // value is array of IDs to find with these args\n 'q34tl23462346234524',\n '435523540194324280',\n '2346245j35l3j5234532li',\n ],\n // etc\n };\n *\n **/\n\n const batchByFindArgs = keys.reduce((batches, key) => {\n const [\n transactionID,\n collection,\n id,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ] = JSON.parse(key)\n\n const batchKeyArray = [\n transactionID,\n collection,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ]\n\n const batchKey = JSON.stringify(batchKeyArray)\n\n const idField = payload.collections?.[collection].config.fields.find(\n (field) => fieldAffectsData(field) && field.name === 'id',\n )\n\n let sanitizedID: number | string = id\n\n if (idField?.type === 'number') sanitizedID = parseFloat(id)\n\n if (isValidID(sanitizedID, getIDType(idField, payload?.db?.defaultIDType))) {\n return {\n ...batches,\n [batchKey]: [...(batches[batchKey] || []), sanitizedID],\n }\n }\n return batches\n }, {})\n\n // Run find requests one after another, so as to not hang transactions\n\n await Object.entries(batchByFindArgs).reduce(async (priorFind, [batchKey, ids]) => {\n await priorFind\n\n const [\n transactionID,\n collection,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ] = JSON.parse(batchKey)\n\n req.transactionID = transactionID\n\n const result = await payload.find({\n collection,\n currentDepth,\n depth,\n disableErrors: true,\n fallbackLocale,\n locale,\n overrideAccess: Boolean(overrideAccess),\n pagination: false,\n req,\n showHiddenFields: Boolean(showHiddenFields),\n where: {\n id: {\n in: ids,\n },\n },\n })\n\n // For each returned doc, find index in original keys\n // Inject doc within docs array if index exists\n\n result.docs.forEach((doc) => {\n const docKey = JSON.stringify([\n req.transactionID,\n collection,\n doc.id,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ])\n const docsIndex = keys.findIndex((key) => key === docKey)\n\n if (docsIndex > -1) {\n docs[docsIndex] = doc\n }\n })\n }, Promise.resolve())\n\n // Return docs array,\n // which has now been injected with all fetched docs\n // and should match the length of the incoming keys arg\n return docs\n }\n\nexport const getDataLoader = (req: PayloadRequest) => new DataLoader(batchAndLoadDocs(req))\n"],"names":["DataLoader","fieldAffectsData","getIDType","isValidID","batchAndLoadDocs","req","keys","payload","docs","map","batchByFindArgs","reduce","batches","key","transactionID","collection","id","depth","currentDepth","locale","fallbackLocale","overrideAccess","showHiddenFields","JSON","parse","batchKeyArray","batchKey","stringify","idField","collections","config","fields","find","field","name","sanitizedID","type","parseFloat","db","defaultIDType","Object","entries","priorFind","ids","result","disableErrors","Boolean","pagination","where","in","forEach","doc","docKey","docsIndex","findIndex","Promise","resolve","getDataLoader"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,gBAAgB,aAAY;AAKnC,SAASC,gBAAgB,QAAQ,4BAA2B;AAC5D,SAASC,SAAS,QAAQ,4BAA2B;AACrD,SAASC,SAAS,QAAQ,4BAA2B;AAErD,sEAAsE;AAEtE,kFAAkF;AAClF,gEAAgE;AAChE,yFAAyF;AAEzF,qFAAqF;AACrF,mEAAmE;AAEnE,MAAMC,mBACJ,CAACC,MACD,OAAOC;QACL,MAAM,EAAEC,OAAO,EAAE,GAAGF;QAEpB,gEAAgE;QAChE,iEAAiE;QACjE,MAAMG,OAA8BF,KAAKG,GAAG,CAAC,IAAM;QAEnD;;;;;;;;;;;;;;;;KAgBC,GAED,MAAMC,kBAAkBJ,KAAKK,MAAM,CAAC,CAACC,SAASC;YAC5C,MAAM,CACJC,eACAC,YACAC,IACAC,OACAC,cACAC,QACAC,gBACAC,gBACAC,iBACD,GAAGC,KAAKC,KAAK,CAACX;YAEf,MAAMY,gBAAgB;gBACpBX;gBACAC;gBACAE;gBACAC;gBACAC;gBACAC;gBACAC;gBACAC;aACD;YAED,MAAMI,WAAWH,KAAKI,SAAS,CAACF;YAEhC,MAAMG,UAAUrB,QAAQsB,WAAW,EAAE,CAACd,WAAW,CAACe,OAAOC,OAAOC,KAC9D,CAACC,QAAUhC,iBAAiBgC,UAAUA,MAAMC,IAAI,KAAK;YAGvD,IAAIC,cAA+BnB;YAEnC,IAAIY,SAASQ,SAAS,UAAUD,cAAcE,WAAWrB;YAEzD,IAAIb,UAAUgC,aAAajC,UAAU0B,SAASrB,SAAS+B,IAAIC,iBAAiB;gBAC1E,OAAO;oBACL,GAAG3B,OAAO;oBACV,CAACc,SAAS,EAAE;2BAAKd,OAAO,CAACc,SAAS,IAAI,EAAE;wBAAGS;qBAAY;gBACzD;YACF;YACA,OAAOvB;QACT,GAAG,CAAC;QAEJ,sEAAsE;QAEtE,MAAM4B,OAAOC,OAAO,CAAC/B,iBAAiBC,MAAM,CAAC,OAAO+B,WAAW,CAAChB,UAAUiB,IAAI;YAC5E,MAAMD;YAEN,MAAM,CACJ5B,eACAC,YACAE,OACAC,cACAC,QACAC,gBACAC,gBACAC,iBACD,GAAGC,KAAKC,KAAK,CAACE;YAEfrB,IAAIS,aAAa,GAAGA;YAEpB,MAAM8B,SAAS,MAAMrC,QAAQyB,IAAI,CAAC;gBAChCjB;gBACAG;gBACAD;gBACA4B,eAAe;gBACfzB;gBACAD;gBACAE,gBAAgByB,QAAQzB;gBACxB0B,YAAY;gBACZ1C;gBACAiB,kBAAkBwB,QAAQxB;gBAC1B0B,OAAO;oBACLhC,IAAI;wBACFiC,IAAIN;oBACN;gBACF;YACF;YAEA,qDAAqD;YACrD,+CAA+C;YAE/CC,OAAOpC,IAAI,CAAC0C,OAAO,CAAC,CAACC;gBACnB,MAAMC,SAAS7B,KAAKI,SAAS,CAAC;oBAC5BtB,IAAIS,aAAa;oBACjBC;oBACAoC,IAAInC,EAAE;oBACNC;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;iBACD;gBACD,MAAM+B,YAAY/C,KAAKgD,SAAS,CAAC,CAACzC,MAAQA,QAAQuC;gBAElD,IAAIC,YAAY,CAAC,GAAG;oBAClB7C,IAAI,CAAC6C,UAAU,GAAGF;gBACpB;YACF;QACF,GAAGI,QAAQC,OAAO;QAElB,qBAAqB;QACrB,oDAAoD;QACpD,uDAAuD;QACvD,OAAOhD;IACT;AAEF,OAAO,MAAMiD,gBAAgB,CAACpD,MAAwB,IAAIL,WAAWI,iBAAiBC,MAAK"}
1
+ {"version":3,"sources":["../../src/collections/dataloader.ts"],"sourcesContent":["import type { BatchLoadFn } from 'dataloader'\n\nimport DataLoader from 'dataloader'\n\nimport type { PayloadRequest } from '../types/index.js'\nimport type { TypeWithID } from './config/types.js'\n\nimport { isValidID } from '../utilities/isValidID.js'\n\n// Payload uses `dataloader` to solve the classic GraphQL N+1 problem.\n\n// We keep a list of all documents requested to be populated for any given request\n// and then batch together documents within the same collection,\n// making only 1 find per each collection, rather than `findByID` per each requested doc.\n\n// This dramatically improves performance for REST and Local API `depth` populations,\n// and also ensures complex GraphQL queries perform lightning-fast.\n\nconst batchAndLoadDocs =\n (req: PayloadRequest): BatchLoadFn<string, TypeWithID> =>\n async (keys: string[]): Promise<TypeWithID[]> => {\n const { payload } = req\n\n // Create docs array of same length as keys, using null as value\n // We will replace nulls with injected docs as they are retrieved\n const docs: (TypeWithID | null)[] = keys.map(() => null)\n\n /**\n * Batch IDs by their `find` args\n * so we can make one find query per combination of collection, depth, locale, and fallbackLocale.\n *\n * Resulting shape will be as follows:\n {\n // key is stringified set of find args\n '[null,\"pages\",2,0,\"es\",\"en\",false,false]': [\n // value is array of IDs to find with these args\n 'q34tl23462346234524',\n '435523540194324280',\n '2346245j35l3j5234532li',\n ],\n // etc\n };\n *\n **/\n\n const batchByFindArgs = keys.reduce((batches, key) => {\n const [\n transactionID,\n collection,\n id,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ] = JSON.parse(key)\n\n const batchKeyArray = [\n transactionID,\n collection,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ]\n\n const batchKey = JSON.stringify(batchKeyArray)\n\n const idType = payload.collections?.[collection].customIDType || payload.db.defaultIDType\n\n let sanitizedID: number | string = id\n\n if (idType === 'number') sanitizedID = parseFloat(id)\n\n if (isValidID(sanitizedID, idType)) {\n return {\n ...batches,\n [batchKey]: [...(batches[batchKey] || []), sanitizedID],\n }\n }\n return batches\n }, {})\n\n // Run find requests one after another, so as to not hang transactions\n\n await Object.entries(batchByFindArgs).reduce(async (priorFind, [batchKey, ids]) => {\n await priorFind\n\n const [\n transactionID,\n collection,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ] = JSON.parse(batchKey)\n\n req.transactionID = transactionID\n\n const result = await payload.find({\n collection,\n currentDepth,\n depth,\n disableErrors: true,\n fallbackLocale,\n locale,\n overrideAccess: Boolean(overrideAccess),\n pagination: false,\n req,\n showHiddenFields: Boolean(showHiddenFields),\n where: {\n id: {\n in: ids,\n },\n },\n })\n\n // For each returned doc, find index in original keys\n // Inject doc within docs array if index exists\n\n result.docs.forEach((doc) => {\n const docKey = JSON.stringify([\n req.transactionID,\n collection,\n doc.id,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ])\n const docsIndex = keys.findIndex((key) => key === docKey)\n\n if (docsIndex > -1) {\n docs[docsIndex] = doc\n }\n })\n }, Promise.resolve())\n\n // Return docs array,\n // which has now been injected with all fetched docs\n // and should match the length of the incoming keys arg\n return docs\n }\n\nexport const getDataLoader = (req: PayloadRequest) => new DataLoader(batchAndLoadDocs(req))\n"],"names":["DataLoader","isValidID","batchAndLoadDocs","req","keys","payload","docs","map","batchByFindArgs","reduce","batches","key","transactionID","collection","id","depth","currentDepth","locale","fallbackLocale","overrideAccess","showHiddenFields","JSON","parse","batchKeyArray","batchKey","stringify","idType","collections","customIDType","db","defaultIDType","sanitizedID","parseFloat","Object","entries","priorFind","ids","result","find","disableErrors","Boolean","pagination","where","in","forEach","doc","docKey","docsIndex","findIndex","Promise","resolve","getDataLoader"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,gBAAgB,aAAY;AAKnC,SAASC,SAAS,QAAQ,4BAA2B;AAErD,sEAAsE;AAEtE,kFAAkF;AAClF,gEAAgE;AAChE,yFAAyF;AAEzF,qFAAqF;AACrF,mEAAmE;AAEnE,MAAMC,mBACJ,CAACC,MACD,OAAOC;QACL,MAAM,EAAEC,OAAO,EAAE,GAAGF;QAEpB,gEAAgE;QAChE,iEAAiE;QACjE,MAAMG,OAA8BF,KAAKG,GAAG,CAAC,IAAM;QAEnD;;;;;;;;;;;;;;;;KAgBC,GAED,MAAMC,kBAAkBJ,KAAKK,MAAM,CAAC,CAACC,SAASC;YAC5C,MAAM,CACJC,eACAC,YACAC,IACAC,OACAC,cACAC,QACAC,gBACAC,gBACAC,iBACD,GAAGC,KAAKC,KAAK,CAACX;YAEf,MAAMY,gBAAgB;gBACpBX;gBACAC;gBACAE;gBACAC;gBACAC;gBACAC;gBACAC;gBACAC;aACD;YAED,MAAMI,WAAWH,KAAKI,SAAS,CAACF;YAEhC,MAAMG,SAASrB,QAAQsB,WAAW,EAAE,CAACd,WAAW,CAACe,gBAAgBvB,QAAQwB,EAAE,CAACC,aAAa;YAEzF,IAAIC,cAA+BjB;YAEnC,IAAIY,WAAW,UAAUK,cAAcC,WAAWlB;YAElD,IAAIb,UAAU8B,aAAaL,SAAS;gBAClC,OAAO;oBACL,GAAGhB,OAAO;oBACV,CAACc,SAAS,EAAE;2BAAKd,OAAO,CAACc,SAAS,IAAI,EAAE;wBAAGO;qBAAY;gBACzD;YACF;YACA,OAAOrB;QACT,GAAG,CAAC;QAEJ,sEAAsE;QAEtE,MAAMuB,OAAOC,OAAO,CAAC1B,iBAAiBC,MAAM,CAAC,OAAO0B,WAAW,CAACX,UAAUY,IAAI;YAC5E,MAAMD;YAEN,MAAM,CACJvB,eACAC,YACAE,OACAC,cACAC,QACAC,gBACAC,gBACAC,iBACD,GAAGC,KAAKC,KAAK,CAACE;YAEfrB,IAAIS,aAAa,GAAGA;YAEpB,MAAMyB,SAAS,MAAMhC,QAAQiC,IAAI,CAAC;gBAChCzB;gBACAG;gBACAD;gBACAwB,eAAe;gBACfrB;gBACAD;gBACAE,gBAAgBqB,QAAQrB;gBACxBsB,YAAY;gBACZtC;gBACAiB,kBAAkBoB,QAAQpB;gBAC1BsB,OAAO;oBACL5B,IAAI;wBACF6B,IAAIP;oBACN;gBACF;YACF;YAEA,qDAAqD;YACrD,+CAA+C;YAE/CC,OAAO/B,IAAI,CAACsC,OAAO,CAAC,CAACC;gBACnB,MAAMC,SAASzB,KAAKI,SAAS,CAAC;oBAC5BtB,IAAIS,aAAa;oBACjBC;oBACAgC,IAAI/B,EAAE;oBACNC;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;iBACD;gBACD,MAAM2B,YAAY3C,KAAK4C,SAAS,CAAC,CAACrC,MAAQA,QAAQmC;gBAElD,IAAIC,YAAY,CAAC,GAAG;oBAClBzC,IAAI,CAACyC,UAAU,GAAGF;gBACpB;YACF;QACF,GAAGI,QAAQC,OAAO;QAElB,qBAAqB;QACrB,oDAAoD;QACpD,uDAAuD;QACvD,OAAO5C;IACT;AAEF,OAAO,MAAM6C,gBAAgB,CAAChD,MAAwB,IAAIH,WAAWE,iBAAiBC,MAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAIjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,KAAK,EAIV,UAAU,EACX,MAAM,oBAAoB,CAAA;AAoB3B,MAAM,MAAM,gBAAgB,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAE7E,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,gBAAgB,IAAI;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC,CAAA;IACjE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,eAAe,yDACZ,UAAU,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,KAC5D,QAAQ,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CA2U9C,CAAA"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAIjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,KAAK,EAIV,UAAU,EACX,MAAM,oBAAoB,CAAA;AAmB3B,MAAM,MAAM,gBAAgB,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAE7E,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,gBAAgB,IAAI;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC,CAAA;IACjE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,eAAe,yDACZ,UAAU,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,KAC5D,QAAQ,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAwU9C,CAAA"}
@@ -10,7 +10,6 @@ import { generateFileData } from '../../uploads/generateFileData.js';
10
10
  import { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js';
11
11
  import { uploadFiles } from '../../uploads/uploadFiles.js';
12
12
  import { commitTransaction } from '../../utilities/commitTransaction.js';
13
- import flattenFields from '../../utilities/flattenTopLevelFields.js';
14
13
  import { initTransaction } from '../../utilities/initTransaction.js';
15
14
  import { killTransaction } from '../../utilities/killTransaction.js';
16
15
  import sanitizeInternalFields from '../../utilities/sanitizeInternalFields.js';
@@ -48,9 +47,7 @@ export const createOperation = async (incomingArgs)=>{
48
47
  // /////////////////////////////////////
49
48
  // Custom id
50
49
  // /////////////////////////////////////
51
- // @todo: Refactor code to store 'customId' on the collection configuration itself so we don't need to repeat flattenFields
52
- const hasIdField = flattenFields(collectionConfig.fields).findIndex((field)=>field.name === 'id') > -1;
53
- if (hasIdField) {
50
+ if (payload.collections[collectionConfig.slug].customIDType) {
54
51
  data = {
55
52
  _id: data.id,
56
53
  ...data
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/create.ts"],"sourcesContent":["import type { MarkOptional } from 'ts-essentials'\n\nimport crypto from 'crypto'\n\nimport type { GeneratedTypes } from '../../index.js'\nimport type { Document, PayloadRequest } from '../../types/index.js'\nimport type {\n AfterChangeHook,\n BeforeOperationHook,\n BeforeValidateHook,\n Collection,\n} from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport sendVerificationEmail from '../../auth/sendVerificationEmail.js'\nimport { registerLocalStrategy } from '../../auth/strategies/local/register.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { beforeChange } from '../../fields/hooks/beforeChange/index.js'\nimport { beforeValidate } from '../../fields/hooks/beforeValidate/index.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { uploadFiles } from '../../uploads/uploadFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport flattenFields from '../../utilities/flattenTopLevelFields.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport sanitizeInternalFields from '../../utilities/sanitizeInternalFields.js'\nimport { saveVersion } from '../../versions/saveVersion.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type CreateUpdateType = { [field: number | string | symbol]: unknown }\n\nexport type Arguments<T extends CreateUpdateType> = {\n autosave?: boolean\n collection: Collection\n data: MarkOptional<T, 'createdAt' | 'id' | 'sizes' | 'updatedAt'>\n depth?: number\n disableVerificationEmail?: boolean\n draft?: boolean\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const createOperation = async <TSlug extends keyof GeneratedTypes['collections']>(\n incomingArgs: Arguments<GeneratedTypes['collections'][TSlug]>,\n): Promise<GeneratedTypes['collections'][TSlug]> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\n async (priorHook: BeforeOperationHook | Promise<void>, hook: BeforeOperationHook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'create',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n const {\n autosave = false,\n collection: { config: collectionConfig },\n collection,\n depth,\n disableVerificationEmail,\n draft = false,\n overrideAccess,\n overwriteExistingFiles = false,\n req: {\n fallbackLocale,\n locale,\n payload,\n payload: { config, emailOptions },\n },\n req,\n showHiddenFields,\n } = args\n\n let { data } = args\n\n const shouldSaveDraft = Boolean(draft && collectionConfig.versions.drafts)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n if (!overrideAccess) {\n await executeAccess({ data, req }, collectionConfig.access.create)\n }\n\n // /////////////////////////////////////\n // Custom id\n // /////////////////////////////////////\n // @todo: Refactor code to store 'customId' on the collection configuration itself so we don't need to repeat flattenFields\n const hasIdField =\n flattenFields(collectionConfig.fields).findIndex((field) => field.name === 'id') > -1\n\n if (hasIdField) {\n data = {\n _id: data.id,\n ...data,\n }\n }\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data,\n overwriteExistingFiles,\n req,\n throwOnMissingFile:\n !shouldSaveDraft && collection.config.upload.filesRequiredOnCreate !== false,\n })\n\n data = newFileData\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: {},\n global: null,\n operation: 'create',\n overrideAccess,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Collections\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeValidate.reduce(\n async (priorHook: BeforeValidateHook | Promise<void>, hook: BeforeValidateHook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'create',\n req,\n })) || data\n },\n Promise.resolve(),\n )\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n // if (!collectionConfig.upload.disableLocalStorage) {\n // await uploadFiles(payload, filesToUpload, req.t)\n // }\n\n // /////////////////////////////////////\n // beforeChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'create',\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n const resultWithLocales = await beforeChange<Record<string, unknown>>({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: {},\n docWithLocales: {},\n global: null,\n operation: 'create',\n req,\n skipValidation: shouldSaveDraft,\n })\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\n\n // /////////////////////////////////////\n // Create\n // /////////////////////////////////////\n\n let doc\n\n if (collectionConfig.auth && !collectionConfig.auth.disableLocalStrategy) {\n if (data.email) {\n resultWithLocales.email = (data.email as string).toLowerCase()\n }\n\n if (collectionConfig.auth.verify) {\n resultWithLocales._verified = Boolean(resultWithLocales._verified) || false\n resultWithLocales._verificationToken = crypto.randomBytes(20).toString('hex')\n }\n\n doc = await registerLocalStrategy({\n collection: collectionConfig,\n doc: resultWithLocales,\n password: data.password as string,\n payload: req.payload,\n req,\n })\n } else {\n doc = await payload.db.create({\n collection: collectionConfig.slug,\n data: resultWithLocales,\n req,\n })\n }\n\n const verificationToken = doc._verificationToken\n let result: Document = sanitizeInternalFields(doc)\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await saveVersion({\n id: result.id,\n autosave,\n collection: collectionConfig,\n docWithLocales: result,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Send verification email if applicable\n // /////////////////////////////////////\n\n if (collectionConfig.auth && collectionConfig.auth.verify) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n sendVerificationEmail({\n collection: { config: collectionConfig },\n config: payload.config,\n disableEmail: disableVerificationEmail,\n emailOptions,\n req,\n sendEmail: payload.sendEmail,\n token: verificationToken,\n user: result,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'create',\n previousDoc: {},\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(\n async (priorHook: AfterChangeHook | Promise<void>, hook: AfterChangeHook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation: 'create',\n previousDoc: {},\n req: args.req,\n })) || result\n },\n Promise.resolve(),\n )\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<GeneratedTypes['collections'][TSlug]>({\n args,\n collection: collectionConfig,\n operation: 'create',\n result,\n })\n\n await unlinkTempFiles({ collectionConfig, config, req })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["crypto","executeAccess","sendVerificationEmail","registerLocalStrategy","afterChange","afterRead","beforeChange","beforeValidate","generateFileData","unlinkTempFiles","uploadFiles","commitTransaction","flattenFields","initTransaction","killTransaction","sanitizeInternalFields","saveVersion","buildAfterOperation","createOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","autosave","collectionConfig","depth","disableVerificationEmail","draft","overrideAccess","overwriteExistingFiles","fallbackLocale","locale","payload","emailOptions","showHiddenFields","data","shouldSaveDraft","Boolean","versions","drafts","access","create","hasIdField","fields","findIndex","field","name","_id","id","newFileData","files","filesToUpload","throwOnMissingFile","upload","filesRequiredOnCreate","doc","global","resultWithLocales","docWithLocales","skipValidation","disableLocalStorage","auth","disableLocalStrategy","email","toLowerCase","verify","_verified","_verificationToken","randomBytes","toString","password","db","slug","verificationToken","result","disableEmail","sendEmail","token","user","previousDoc","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/operations/create.ts"],"sourcesContent":["import type { MarkOptional } from 'ts-essentials'\n\nimport crypto from 'crypto'\n\nimport type { GeneratedTypes } from '../../index.js'\nimport type { Document, PayloadRequest } from '../../types/index.js'\nimport type {\n AfterChangeHook,\n BeforeOperationHook,\n BeforeValidateHook,\n Collection,\n} from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport sendVerificationEmail from '../../auth/sendVerificationEmail.js'\nimport { registerLocalStrategy } from '../../auth/strategies/local/register.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { beforeChange } from '../../fields/hooks/beforeChange/index.js'\nimport { beforeValidate } from '../../fields/hooks/beforeValidate/index.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { uploadFiles } from '../../uploads/uploadFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport sanitizeInternalFields from '../../utilities/sanitizeInternalFields.js'\nimport { saveVersion } from '../../versions/saveVersion.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type CreateUpdateType = { [field: number | string | symbol]: unknown }\n\nexport type Arguments<T extends CreateUpdateType> = {\n autosave?: boolean\n collection: Collection\n data: MarkOptional<T, 'createdAt' | 'id' | 'sizes' | 'updatedAt'>\n depth?: number\n disableVerificationEmail?: boolean\n draft?: boolean\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const createOperation = async <TSlug extends keyof GeneratedTypes['collections']>(\n incomingArgs: Arguments<GeneratedTypes['collections'][TSlug]>,\n): Promise<GeneratedTypes['collections'][TSlug]> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\n async (priorHook: BeforeOperationHook | Promise<void>, hook: BeforeOperationHook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'create',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n const {\n autosave = false,\n collection: { config: collectionConfig },\n collection,\n depth,\n disableVerificationEmail,\n draft = false,\n overrideAccess,\n overwriteExistingFiles = false,\n req: {\n fallbackLocale,\n locale,\n payload,\n payload: { config, emailOptions },\n },\n req,\n showHiddenFields,\n } = args\n\n let { data } = args\n\n const shouldSaveDraft = Boolean(draft && collectionConfig.versions.drafts)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n if (!overrideAccess) {\n await executeAccess({ data, req }, collectionConfig.access.create)\n }\n\n // /////////////////////////////////////\n // Custom id\n // /////////////////////////////////////\n\n if (payload.collections[collectionConfig.slug].customIDType) {\n data = {\n _id: data.id,\n ...data,\n }\n }\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data,\n overwriteExistingFiles,\n req,\n throwOnMissingFile:\n !shouldSaveDraft && collection.config.upload.filesRequiredOnCreate !== false,\n })\n\n data = newFileData\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: {},\n global: null,\n operation: 'create',\n overrideAccess,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Collections\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeValidate.reduce(\n async (priorHook: BeforeValidateHook | Promise<void>, hook: BeforeValidateHook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'create',\n req,\n })) || data\n },\n Promise.resolve(),\n )\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n // if (!collectionConfig.upload.disableLocalStorage) {\n // await uploadFiles(payload, filesToUpload, req.t)\n // }\n\n // /////////////////////////////////////\n // beforeChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'create',\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n const resultWithLocales = await beforeChange<Record<string, unknown>>({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: {},\n docWithLocales: {},\n global: null,\n operation: 'create',\n req,\n skipValidation: shouldSaveDraft,\n })\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\n\n // /////////////////////////////////////\n // Create\n // /////////////////////////////////////\n\n let doc\n\n if (collectionConfig.auth && !collectionConfig.auth.disableLocalStrategy) {\n if (data.email) {\n resultWithLocales.email = (data.email as string).toLowerCase()\n }\n\n if (collectionConfig.auth.verify) {\n resultWithLocales._verified = Boolean(resultWithLocales._verified) || false\n resultWithLocales._verificationToken = crypto.randomBytes(20).toString('hex')\n }\n\n doc = await registerLocalStrategy({\n collection: collectionConfig,\n doc: resultWithLocales,\n password: data.password as string,\n payload: req.payload,\n req,\n })\n } else {\n doc = await payload.db.create({\n collection: collectionConfig.slug,\n data: resultWithLocales,\n req,\n })\n }\n\n const verificationToken = doc._verificationToken\n let result: Document = sanitizeInternalFields(doc)\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await saveVersion({\n id: result.id,\n autosave,\n collection: collectionConfig,\n docWithLocales: result,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Send verification email if applicable\n // /////////////////////////////////////\n\n if (collectionConfig.auth && collectionConfig.auth.verify) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n sendVerificationEmail({\n collection: { config: collectionConfig },\n config: payload.config,\n disableEmail: disableVerificationEmail,\n emailOptions,\n req,\n sendEmail: payload.sendEmail,\n token: verificationToken,\n user: result,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'create',\n previousDoc: {},\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(\n async (priorHook: AfterChangeHook | Promise<void>, hook: AfterChangeHook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation: 'create',\n previousDoc: {},\n req: args.req,\n })) || result\n },\n Promise.resolve(),\n )\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<GeneratedTypes['collections'][TSlug]>({\n args,\n collection: collectionConfig,\n operation: 'create',\n result,\n })\n\n await unlinkTempFiles({ collectionConfig, config, req })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["crypto","executeAccess","sendVerificationEmail","registerLocalStrategy","afterChange","afterRead","beforeChange","beforeValidate","generateFileData","unlinkTempFiles","uploadFiles","commitTransaction","initTransaction","killTransaction","sanitizeInternalFields","saveVersion","buildAfterOperation","createOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","autosave","collectionConfig","depth","disableVerificationEmail","draft","overrideAccess","overwriteExistingFiles","fallbackLocale","locale","payload","emailOptions","showHiddenFields","data","shouldSaveDraft","Boolean","versions","drafts","access","create","collections","slug","customIDType","_id","id","newFileData","files","filesToUpload","throwOnMissingFile","upload","filesRequiredOnCreate","doc","global","resultWithLocales","docWithLocales","skipValidation","disableLocalStorage","auth","disableLocalStrategy","email","toLowerCase","verify","_verified","_verificationToken","randomBytes","toString","password","db","verificationToken","result","disableEmail","sendEmail","token","user","previousDoc","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/config/find.ts"],"names":[],"mappings":"AAmCA;;;;GAIG;AACH,eAAO,MAAM,UAAU,QAAO,MA8D7B,CAAA"}
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/config/find.ts"],"names":[],"mappings":"AAsDA;;;;GAIG;AACH,eAAO,MAAM,UAAU,QAAO,MAmE7B,CAAA"}
@@ -9,26 +9,32 @@ import path from 'path';
9
9
  const tsConfigPath = findUp.sync('tsconfig.json');
10
10
  if (!tsConfigPath) {
11
11
  return {
12
- outPath: process.cwd(),
13
- srcPath: process.cwd()
12
+ rootPath: process.cwd()
14
13
  };
15
14
  }
16
15
  try {
17
16
  // Read the file as a string and remove trailing commas
18
17
  const rawTsConfig = fs.readFileSync(tsConfigPath, 'utf-8').replace(/,\s*\]/g, ']').replace(/,\s*\}/g, '}');
19
18
  const tsConfig = JSON.parse(rawTsConfig);
20
- const srcPath = tsConfig.compilerOptions?.rootDir || process.cwd();
21
- const outPath = tsConfig.compilerOptions?.outDir || process.cwd();
19
+ const rootPath = process.cwd();
20
+ const srcPath = tsConfig.compilerOptions?.rootDir || path.resolve(process.cwd(), 'src');
21
+ const outPath = tsConfig.compilerOptions?.outDir || path.resolve(process.cwd(), 'dist');
22
+ const tsConfigDir = path.dirname(tsConfigPath);
23
+ let configPath = tsConfig.compilerOptions?.paths?.['@payload-config']?.[0];
24
+ if (configPath) {
25
+ configPath = path.resolve(tsConfigDir, configPath);
26
+ }
22
27
  return {
28
+ configPath,
23
29
  outPath,
30
+ rootPath,
24
31
  srcPath
25
32
  };
26
33
  } catch (error) {
27
34
  console.error(`Error parsing tsconfig.json: ${error}`) // Do not throw the error, as we can still continue with the other config path finding methods
28
35
  ;
29
36
  return {
30
- outPath: process.cwd(),
31
- srcPath: process.cwd()
37
+ rootPath: process.cwd()
32
38
  };
33
39
  }
34
40
  };
@@ -45,15 +51,20 @@ import path from 'path';
45
51
  }
46
52
  return path.resolve(process.cwd(), process.env.PAYLOAD_CONFIG_PATH);
47
53
  }
48
- const { outPath, srcPath } = getTSConfigPaths();
54
+ const { configPath, outPath, rootPath, srcPath } = getTSConfigPaths();
49
55
  const searchPaths = process.env.NODE_ENV === 'production' ? [
56
+ configPath,
50
57
  outPath,
51
- srcPath
58
+ srcPath,
59
+ rootPath
52
60
  ] : [
53
- srcPath
61
+ configPath,
62
+ srcPath,
63
+ rootPath
54
64
  ];
55
65
  // eslint-disable-next-line no-restricted-syntax
56
66
  for (const searchPath of searchPaths){
67
+ if (!searchPath) continue;
57
68
  const configPath = findUp.sync((dir)=>{
58
69
  const tsPath = path.join(dir, 'payload.config.ts');
59
70
  const hasTS = findUp.sync.exists(tsPath);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config/find.ts"],"sourcesContent":["import findUp from 'find-up'\nimport fs from 'fs'\nimport path from 'path'\n\n/**\n * Returns the source and output paths from the nearest tsconfig.json file.\n * If no tsconfig.json file is found, returns the current working directory.\n * @returns An object containing the source and output paths.\n */\nconst getTSConfigPaths = (): { outPath: string; srcPath: string } => {\n const tsConfigPath = findUp.sync('tsconfig.json')\n\n if (!tsConfigPath) {\n return { outPath: process.cwd(), srcPath: process.cwd() }\n }\n\n try {\n // Read the file as a string and remove trailing commas\n const rawTsConfig = fs\n .readFileSync(tsConfigPath, 'utf-8')\n .replace(/,\\s*\\]/g, ']')\n .replace(/,\\s*\\}/g, '}')\n\n const tsConfig = JSON.parse(rawTsConfig)\n\n const srcPath = tsConfig.compilerOptions?.rootDir || process.cwd()\n const outPath = tsConfig.compilerOptions?.outDir || process.cwd()\n\n return { outPath, srcPath }\n } catch (error) {\n console.error(`Error parsing tsconfig.json: ${error}`) // Do not throw the error, as we can still continue with the other config path finding methods\n return { outPath: process.cwd(), srcPath: process.cwd() }\n }\n}\n\n/**\n * Searches for a Payload configuration file.\n * @returns The absolute path to the Payload configuration file.\n * @throws An error if no configuration file is found.\n */\nexport const findConfig = (): string => {\n // If the developer has specified a config path,\n // format it if relative and use it directly if absolute\n if (process.env.PAYLOAD_CONFIG_PATH) {\n if (path.isAbsolute(process.env.PAYLOAD_CONFIG_PATH)) {\n return process.env.PAYLOAD_CONFIG_PATH\n }\n\n return path.resolve(process.cwd(), process.env.PAYLOAD_CONFIG_PATH)\n }\n\n const { outPath, srcPath } = getTSConfigPaths()\n\n const searchPaths = process.env.NODE_ENV === 'production' ? [outPath, srcPath] : [srcPath]\n\n // eslint-disable-next-line no-restricted-syntax\n for (const searchPath of searchPaths) {\n const configPath = findUp.sync(\n (dir) => {\n const tsPath = path.join(dir, 'payload.config.ts')\n const hasTS = findUp.sync.exists(tsPath)\n\n if (hasTS) {\n return tsPath\n }\n\n const jsPath = path.join(dir, 'payload.config.js')\n const hasJS = findUp.sync.exists(jsPath)\n\n if (hasJS) {\n return jsPath\n }\n\n return undefined\n },\n { cwd: searchPath },\n )\n\n if (configPath) {\n return configPath\n }\n }\n\n // If no config file is found in the directories defined by tsconfig.json,\n // try searching in the 'src' and 'dist' directory as a last resort, as they are most commonly used\n if (process.env.NODE_ENV === 'production') {\n const distConfigPath = findUp.sync(['payload.config.js', 'payload.config.ts'], {\n cwd: path.resolve(process.cwd(), 'dist'),\n })\n\n if (distConfigPath) return distConfigPath\n } else {\n const srcConfigPath = findUp.sync(['payload.config.js', 'payload.config.ts'], {\n cwd: path.resolve(process.cwd(), 'src'),\n })\n\n if (srcConfigPath) return srcConfigPath\n }\n\n throw new Error(\n 'Error: cannot find Payload config. Please create a configuration file located at the root of your current working directory called \"payload.config.js\" or \"payload.config.ts\".',\n )\n}\n"],"names":["findUp","fs","path","getTSConfigPaths","tsConfigPath","sync","outPath","process","cwd","srcPath","rawTsConfig","readFileSync","replace","tsConfig","JSON","parse","compilerOptions","rootDir","outDir","error","console","findConfig","env","PAYLOAD_CONFIG_PATH","isAbsolute","resolve","searchPaths","NODE_ENV","searchPath","configPath","dir","tsPath","join","hasTS","exists","jsPath","hasJS","undefined","distConfigPath","srcConfigPath","Error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,YAAY,UAAS;AAC5B,OAAOC,QAAQ,KAAI;AACnB,OAAOC,UAAU,OAAM;AAEvB;;;;CAIC,GACD,MAAMC,mBAAmB;IACvB,MAAMC,eAAeJ,OAAOK,IAAI,CAAC;IAEjC,IAAI,CAACD,cAAc;QACjB,OAAO;YAAEE,SAASC,QAAQC,GAAG;YAAIC,SAASF,QAAQC,GAAG;QAAG;IAC1D;IAEA,IAAI;QACF,uDAAuD;QACvD,MAAME,cAAcT,GACjBU,YAAY,CAACP,cAAc,SAC3BQ,OAAO,CAAC,WAAW,KACnBA,OAAO,CAAC,WAAW;QAEtB,MAAMC,WAAWC,KAAKC,KAAK,CAACL;QAE5B,MAAMD,UAAUI,SAASG,eAAe,EAAEC,WAAWV,QAAQC,GAAG;QAChE,MAAMF,UAAUO,SAASG,eAAe,EAAEE,UAAUX,QAAQC,GAAG;QAE/D,OAAO;YAAEF;YAASG;QAAQ;IAC5B,EAAE,OAAOU,OAAO;QACdC,QAAQD,KAAK,CAAC,CAAC,6BAA6B,EAAEA,MAAM,CAAC,EAAE,8FAA8F;;QACrJ,OAAO;YAAEb,SAASC,QAAQC,GAAG;YAAIC,SAASF,QAAQC,GAAG;QAAG;IAC1D;AACF;AAEA;;;;CAIC,GACD,OAAO,MAAMa,aAAa;IACxB,gDAAgD;IAChD,wDAAwD;IACxD,IAAId,QAAQe,GAAG,CAACC,mBAAmB,EAAE;QACnC,IAAIrB,KAAKsB,UAAU,CAACjB,QAAQe,GAAG,CAACC,mBAAmB,GAAG;YACpD,OAAOhB,QAAQe,GAAG,CAACC,mBAAmB;QACxC;QAEA,OAAOrB,KAAKuB,OAAO,CAAClB,QAAQC,GAAG,IAAID,QAAQe,GAAG,CAACC,mBAAmB;IACpE;IAEA,MAAM,EAAEjB,OAAO,EAAEG,OAAO,EAAE,GAAGN;IAE7B,MAAMuB,cAAcnB,QAAQe,GAAG,CAACK,QAAQ,KAAK,eAAe;QAACrB;QAASG;KAAQ,GAAG;QAACA;KAAQ;IAE1F,gDAAgD;IAChD,KAAK,MAAMmB,cAAcF,YAAa;QACpC,MAAMG,aAAa7B,OAAOK,IAAI,CAC5B,CAACyB;YACC,MAAMC,SAAS7B,KAAK8B,IAAI,CAACF,KAAK;YAC9B,MAAMG,QAAQjC,OAAOK,IAAI,CAAC6B,MAAM,CAACH;YAEjC,IAAIE,OAAO;gBACT,OAAOF;YACT;YAEA,MAAMI,SAASjC,KAAK8B,IAAI,CAACF,KAAK;YAC9B,MAAMM,QAAQpC,OAAOK,IAAI,CAAC6B,MAAM,CAACC;YAEjC,IAAIC,OAAO;gBACT,OAAOD;YACT;YAEA,OAAOE;QACT,GACA;YAAE7B,KAAKoB;QAAW;QAGpB,IAAIC,YAAY;YACd,OAAOA;QACT;IACF;IAEA,0EAA0E;IAC1E,mGAAmG;IACnG,IAAItB,QAAQe,GAAG,CAACK,QAAQ,KAAK,cAAc;QACzC,MAAMW,iBAAiBtC,OAAOK,IAAI,CAAC;YAAC;YAAqB;SAAoB,EAAE;YAC7EG,KAAKN,KAAKuB,OAAO,CAAClB,QAAQC,GAAG,IAAI;QACnC;QAEA,IAAI8B,gBAAgB,OAAOA;IAC7B,OAAO;QACL,MAAMC,gBAAgBvC,OAAOK,IAAI,CAAC;YAAC;YAAqB;SAAoB,EAAE;YAC5EG,KAAKN,KAAKuB,OAAO,CAAClB,QAAQC,GAAG,IAAI;QACnC;QAEA,IAAI+B,eAAe,OAAOA;IAC5B;IAEA,MAAM,IAAIC,MACR;AAEJ,EAAC"}
1
+ {"version":3,"sources":["../../src/config/find.ts"],"sourcesContent":["import findUp from 'find-up'\nimport fs from 'fs'\nimport path from 'path'\n\n/**\n * Returns the source and output paths from the nearest tsconfig.json file.\n * If no tsconfig.json file is found, returns the current working directory.\n * @returns An object containing the source and output paths.\n */\nconst getTSConfigPaths = (): {\n configPath?: string\n outPath?: string\n rootPath?: string\n srcPath?: string\n} => {\n const tsConfigPath = findUp.sync('tsconfig.json')\n\n if (!tsConfigPath) {\n return {\n rootPath: process.cwd(),\n }\n }\n\n try {\n // Read the file as a string and remove trailing commas\n const rawTsConfig = fs\n .readFileSync(tsConfigPath, 'utf-8')\n .replace(/,\\s*\\]/g, ']')\n .replace(/,\\s*\\}/g, '}')\n\n const tsConfig = JSON.parse(rawTsConfig)\n\n const rootPath = process.cwd()\n const srcPath = tsConfig.compilerOptions?.rootDir || path.resolve(process.cwd(), 'src')\n const outPath = tsConfig.compilerOptions?.outDir || path.resolve(process.cwd(), 'dist')\n const tsConfigDir = path.dirname(tsConfigPath)\n let configPath = tsConfig.compilerOptions?.paths?.['@payload-config']?.[0]\n if (configPath) {\n configPath = path.resolve(tsConfigDir, configPath)\n }\n return {\n configPath,\n outPath,\n rootPath,\n srcPath,\n }\n } catch (error) {\n console.error(`Error parsing tsconfig.json: ${error}`) // Do not throw the error, as we can still continue with the other config path finding methods\n return {\n rootPath: process.cwd(),\n }\n }\n}\n\n/**\n * Searches for a Payload configuration file.\n * @returns The absolute path to the Payload configuration file.\n * @throws An error if no configuration file is found.\n */\nexport const findConfig = (): string => {\n // If the developer has specified a config path,\n // format it if relative and use it directly if absolute\n if (process.env.PAYLOAD_CONFIG_PATH) {\n if (path.isAbsolute(process.env.PAYLOAD_CONFIG_PATH)) {\n return process.env.PAYLOAD_CONFIG_PATH\n }\n\n return path.resolve(process.cwd(), process.env.PAYLOAD_CONFIG_PATH)\n }\n\n const { configPath, outPath, rootPath, srcPath } = getTSConfigPaths()\n\n const searchPaths =\n process.env.NODE_ENV === 'production'\n ? [configPath, outPath, srcPath, rootPath]\n : [configPath, srcPath, rootPath]\n\n // eslint-disable-next-line no-restricted-syntax\n for (const searchPath of searchPaths) {\n if (!searchPath) continue\n\n const configPath = findUp.sync(\n (dir) => {\n const tsPath = path.join(dir, 'payload.config.ts')\n const hasTS = findUp.sync.exists(tsPath)\n\n if (hasTS) {\n return tsPath\n }\n\n const jsPath = path.join(dir, 'payload.config.js')\n const hasJS = findUp.sync.exists(jsPath)\n\n if (hasJS) {\n return jsPath\n }\n\n return undefined\n },\n { cwd: searchPath },\n )\n\n if (configPath) {\n return configPath\n }\n }\n\n // If no config file is found in the directories defined by tsconfig.json,\n // try searching in the 'src' and 'dist' directory as a last resort, as they are most commonly used\n if (process.env.NODE_ENV === 'production') {\n const distConfigPath = findUp.sync(['payload.config.js', 'payload.config.ts'], {\n cwd: path.resolve(process.cwd(), 'dist'),\n })\n\n if (distConfigPath) return distConfigPath\n } else {\n const srcConfigPath = findUp.sync(['payload.config.js', 'payload.config.ts'], {\n cwd: path.resolve(process.cwd(), 'src'),\n })\n\n if (srcConfigPath) return srcConfigPath\n }\n\n throw new Error(\n 'Error: cannot find Payload config. Please create a configuration file located at the root of your current working directory called \"payload.config.js\" or \"payload.config.ts\".',\n )\n}\n"],"names":["findUp","fs","path","getTSConfigPaths","tsConfigPath","sync","rootPath","process","cwd","rawTsConfig","readFileSync","replace","tsConfig","JSON","parse","srcPath","compilerOptions","rootDir","resolve","outPath","outDir","tsConfigDir","dirname","configPath","paths","error","console","findConfig","env","PAYLOAD_CONFIG_PATH","isAbsolute","searchPaths","NODE_ENV","searchPath","dir","tsPath","join","hasTS","exists","jsPath","hasJS","undefined","distConfigPath","srcConfigPath","Error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -60,7 +60,8 @@ export type LivePreviewConfig = {
60
60
  export type ServerOnlyLivePreviewProperties = keyof Pick<LivePreviewConfig, 'url'>;
61
61
  type GeneratePreviewURLOptions = {
62
62
  locale: string;
63
- token: string;
63
+ req: PayloadRequest;
64
+ token: null | string;
64
65
  };
65
66
  export type GeneratePreviewURL = (doc: Record<string, unknown>, options: GeneratePreviewURLOptions) => Promise<null | string> | null | string;
66
67
  export type EmailTransport = Email & {
@@ -225,7 +226,7 @@ export type EditViewConfig = {
225
226
  Component: EditViewComponent;
226
227
  path: string;
227
228
  } | {
228
- actions?: React.ComponentType<any>[];
229
+ actions?: CustomComponent[];
229
230
  };
230
231
  /**
231
232
  * Override existing views
@@ -235,6 +236,11 @@ export type EditViewConfig = {
235
236
  * i.e. you can change just the label, if desired
236
237
  */
237
238
  export type EditView = EditViewComponent | EditViewConfig;
239
+ export type ServerProps = {
240
+ payload: Payload;
241
+ };
242
+ export declare const serverProps: (keyof ServerProps)[];
243
+ export type CustomComponent<T extends any = any> = React.ComponentType<T & ServerProps>;
238
244
  export type Locale = {
239
245
  /**
240
246
  * value of supported locale
@@ -332,46 +338,46 @@ export type Config = {
332
338
  /**
333
339
  * Replace the navigation with a custom component
334
340
  */
335
- Nav?: React.ComponentType<any>;
341
+ Nav?: CustomComponent;
336
342
  /**
337
343
  * Add custom components to the top right of the Admin Panel
338
344
  */
339
- actions?: React.ComponentType<any>[];
345
+ actions?: CustomComponent[];
340
346
  /**
341
347
  * Add custom components after the collection overview
342
348
  */
343
- afterDashboard?: React.ComponentType<any>[];
349
+ afterDashboard?: CustomComponent[];
344
350
  /**
345
351
  * Add custom components after the email/password field
346
352
  */
347
- afterLogin?: React.ComponentType<any>[];
353
+ afterLogin?: CustomComponent[];
348
354
  /**
349
355
  * Add custom components after the navigation links
350
356
  */
351
- afterNavLinks?: React.ComponentType<any>[];
357
+ afterNavLinks?: CustomComponent[];
352
358
  /**
353
359
  * Add custom components before the collection overview
354
360
  */
355
- beforeDashboard?: React.ComponentType<any>[];
361
+ beforeDashboard?: CustomComponent[];
356
362
  /**
357
363
  * Add custom components before the email/password field
358
364
  */
359
- beforeLogin?: React.ComponentType<any>[];
365
+ beforeLogin?: CustomComponent[];
360
366
  /**
361
367
  * Add custom components before the navigation links
362
368
  */
363
- beforeNavLinks?: React.ComponentType<any>[];
369
+ beforeNavLinks?: CustomComponent[];
364
370
  /** Replace graphical components */
365
371
  graphics?: {
366
372
  /** Replace the icon in the navigation */
367
- Icon?: React.ComponentType<any>;
373
+ Icon?: CustomComponent;
368
374
  /** Replace the logo on the login page */
369
- Logo?: React.ComponentType<any>;
375
+ Logo?: CustomComponent;
370
376
  };
371
377
  /** Replace logout related components */
372
378
  logout?: {
373
379
  /** Replace the logout button */
374
- Button?: React.ComponentType<any>;
380
+ Button?: CustomComponent;
375
381
  };
376
382
  /**
377
383
  * Wrap the admin dashboard in custom context providers
@@ -616,7 +622,7 @@ export type EditConfig = ({
616
622
  } | {
617
623
  [key: string]: EditViewConfig;
618
624
  }) | EditViewComponent;
619
- export type EntityDescriptionComponent = React.ComponentType<any>;
625
+ export type EntityDescriptionComponent = CustomComponent;
620
626
  export type EntityDescriptionFunction = () => string;
621
627
  export type EntityDescription = EntityDescriptionComponent | EntityDescriptionFunction | Record<string, string> | string;
622
628
  export {};
@@ -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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"}
@@ -10,5 +10,8 @@
10
10
  */ export function hasTransportOptions(emailConfig) {
11
11
  return emailConfig.transportOptions !== undefined;
12
12
  }
13
+ export const serverProps = [
14
+ 'payload'
15
+ ];
13
16
 
14
17
  //# sourceMappingURL=types.js.map