payload 3.0.0-beta.65 → 3.0.0-beta.66

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 (100) hide show
  1. package/dist/auth/baseFields/accountLock.d.ts +1 -2
  2. package/dist/auth/baseFields/accountLock.d.ts.map +1 -1
  3. package/dist/auth/baseFields/accountLock.js +1 -1
  4. package/dist/auth/baseFields/accountLock.js.map +1 -1
  5. package/dist/auth/baseFields/apiKey.d.ts +1 -2
  6. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  7. package/dist/auth/baseFields/apiKey.js +1 -2
  8. package/dist/auth/baseFields/apiKey.js.map +1 -1
  9. package/dist/auth/baseFields/auth.d.ts +1 -2
  10. package/dist/auth/baseFields/auth.d.ts.map +1 -1
  11. package/dist/auth/baseFields/auth.js +1 -2
  12. package/dist/auth/baseFields/auth.js.map +1 -1
  13. package/dist/auth/baseFields/email.d.ts +5 -0
  14. package/dist/auth/baseFields/email.d.ts.map +1 -0
  15. package/dist/auth/baseFields/email.js +25 -0
  16. package/dist/auth/baseFields/email.js.map +1 -0
  17. package/dist/auth/baseFields/username.d.ts +3 -0
  18. package/dist/auth/baseFields/username.d.ts.map +1 -0
  19. package/dist/auth/baseFields/username.js +25 -0
  20. package/dist/auth/baseFields/username.js.map +1 -0
  21. package/dist/auth/baseFields/verification.d.ts +1 -2
  22. package/dist/auth/baseFields/verification.d.ts.map +1 -1
  23. package/dist/auth/baseFields/verification.js +1 -1
  24. package/dist/auth/baseFields/verification.js.map +1 -1
  25. package/dist/auth/getAuthFields.d.ts +4 -0
  26. package/dist/auth/getAuthFields.d.ts.map +1 -0
  27. package/dist/auth/getAuthFields.js +35 -0
  28. package/dist/auth/getAuthFields.js.map +1 -0
  29. package/dist/auth/isLocked.d.ts.map +1 -1
  30. package/dist/auth/isLocked.js +4 -1
  31. package/dist/auth/isLocked.js.map +1 -1
  32. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  33. package/dist/auth/operations/forgotPassword.js +25 -14
  34. package/dist/auth/operations/forgotPassword.js.map +1 -1
  35. package/dist/auth/operations/local/unlock.d.ts +5 -7
  36. package/dist/auth/operations/local/unlock.d.ts.map +1 -1
  37. package/dist/auth/operations/local/unlock.js.map +1 -1
  38. package/dist/auth/operations/login.d.ts.map +1 -1
  39. package/dist/auth/operations/login.js +70 -17
  40. package/dist/auth/operations/login.js.map +1 -1
  41. package/dist/auth/operations/resetPassword.d.ts +0 -1
  42. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  43. package/dist/auth/operations/resetPassword.js +0 -1
  44. package/dist/auth/operations/resetPassword.js.map +1 -1
  45. package/dist/auth/operations/unlock.d.ts +5 -7
  46. package/dist/auth/operations/unlock.d.ts.map +1 -1
  47. package/dist/auth/operations/unlock.js +22 -15
  48. package/dist/auth/operations/unlock.js.map +1 -1
  49. package/dist/auth/types.d.ts +7 -2
  50. package/dist/auth/types.d.ts.map +1 -1
  51. package/dist/auth/types.js.map +1 -1
  52. package/dist/collections/config/defaults.d.ts +2 -0
  53. package/dist/collections/config/defaults.d.ts.map +1 -1
  54. package/dist/collections/config/defaults.js +4 -0
  55. package/dist/collections/config/defaults.js.map +1 -1
  56. package/dist/collections/config/sanitize.d.ts.map +1 -1
  57. package/dist/collections/config/sanitize.js +6 -22
  58. package/dist/collections/config/sanitize.js.map +1 -1
  59. package/dist/collections/config/schema.d.ts.map +1 -1
  60. package/dist/collections/config/schema.js +4 -1
  61. package/dist/collections/config/schema.js.map +1 -1
  62. package/dist/collections/operations/create.d.ts.map +1 -1
  63. package/dist/collections/operations/create.js +1 -4
  64. package/dist/collections/operations/create.js.map +1 -1
  65. package/dist/fields/config/client.d.ts +1 -1
  66. package/dist/fields/config/client.d.ts.map +1 -1
  67. package/dist/fields/config/client.js +3 -1
  68. package/dist/fields/config/client.js.map +1 -1
  69. package/dist/fields/config/schema.d.ts.map +1 -1
  70. package/dist/fields/config/schema.js +3 -0
  71. package/dist/fields/config/schema.js.map +1 -1
  72. package/dist/fields/config/types.d.ts +9 -0
  73. package/dist/fields/config/types.d.ts.map +1 -1
  74. package/dist/fields/config/types.js.map +1 -1
  75. package/dist/fields/validations.d.ts +1 -0
  76. package/dist/fields/validations.d.ts.map +1 -1
  77. package/dist/fields/validations.js +13 -0
  78. package/dist/fields/validations.js.map +1 -1
  79. package/dist/index.d.ts +4 -2
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js.map +1 -1
  82. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  83. package/dist/utilities/configToJSONSchema.js +103 -42
  84. package/dist/utilities/configToJSONSchema.js.map +1 -1
  85. package/dist/utilities/telemetry/conf/envPaths.d.ts +23 -0
  86. package/dist/utilities/telemetry/conf/envPaths.d.ts.map +1 -0
  87. package/dist/utilities/telemetry/conf/envPaths.js +70 -0
  88. package/dist/utilities/telemetry/conf/envPaths.js.map +1 -0
  89. package/dist/utilities/telemetry/conf/index.d.ts +84 -0
  90. package/dist/utilities/telemetry/conf/index.d.ts.map +1 -0
  91. package/dist/utilities/telemetry/conf/index.js +144 -0
  92. package/dist/utilities/telemetry/conf/index.js.map +1 -0
  93. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  94. package/dist/utilities/telemetry/index.js +1 -1
  95. package/dist/utilities/telemetry/index.js.map +1 -1
  96. package/package.json +2 -3
  97. package/dist/auth/baseFields/loginField.d.ts +0 -4
  98. package/dist/auth/baseFields/loginField.d.ts.map +0 -1
  99. package/dist/auth/baseFields/loginField.js +0 -35
  100. package/dist/auth/baseFields/loginField.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/sanitize.ts"],"sourcesContent":["import merge from 'deepmerge'\n\nimport type { Config, SanitizedConfig } from '../../config/types.js'\nimport type { CollectionConfig, SanitizedCollectionConfig } from './types.js'\n\nimport baseAccountLockFields from '../../auth/baseFields/accountLock.js'\nimport baseAPIKeyFields from '../../auth/baseFields/apiKey.js'\nimport baseAuthFields from '../../auth/baseFields/auth.js'\nimport baseLoginField from '../../auth/baseFields/loginField.js'\nimport baseVerificationFields from '../../auth/baseFields/verification.js'\nimport { TimestampsRequired } from '../../errors/TimestampsRequired.js'\nimport { sanitizeFields } from '../../fields/config/sanitize.js'\nimport { fieldAffectsData } from '../../fields/config/types.js'\nimport mergeBaseFields from '../../fields/mergeBaseFields.js'\nimport { getBaseUploadFields } from '../../uploads/getBaseFields.js'\nimport { formatLabels } from '../../utilities/formatLabels.js'\nimport { isPlainObject } from '../../utilities/isPlainObject.js'\nimport baseVersionFields from '../../versions/baseFields.js'\nimport { versionDefaults } from '../../versions/defaults.js'\nimport { authDefaults, defaults } from './defaults.js'\n\nexport const sanitizeCollection = async (\n config: Config,\n collection: CollectionConfig,\n /**\n * If this property is set, RichText fields won't be sanitized immediately. Instead, they will be added to this array as promises\n * so that you can sanitize them together, after the config has been sanitized.\n */\n richTextSanitizationPromises?: Array<(config: SanitizedConfig) => Promise<void>>,\n): Promise<SanitizedCollectionConfig> => {\n // /////////////////////////////////\n // Make copy of collection config\n // /////////////////////////////////\n\n const sanitized: CollectionConfig = merge(defaults, collection, {\n isMergeableObject: isPlainObject,\n })\n\n // /////////////////////////////////\n // Sanitize fields\n // /////////////////////////////////\n\n const validRelationships = config.collections.map((c) => c.slug) || []\n sanitized.fields = await sanitizeFields({\n config,\n fields: sanitized.fields,\n richTextSanitizationPromises,\n validRelationships,\n })\n\n if (sanitized.timestamps !== false) {\n // add default timestamps fields only as needed\n let hasUpdatedAt = null\n let hasCreatedAt = null\n sanitized.fields.some((field) => {\n if (fieldAffectsData(field)) {\n if (field.name === 'updatedAt') hasUpdatedAt = true\n if (field.name === 'createdAt') hasCreatedAt = true\n }\n return hasCreatedAt && hasUpdatedAt\n })\n if (!hasUpdatedAt) {\n sanitized.fields.push({\n name: 'updatedAt',\n type: 'date',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n label: ({ t }) => t('general:updatedAt'),\n })\n }\n if (!hasCreatedAt) {\n sanitized.fields.push({\n name: 'createdAt',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n // The default sort for list view is createdAt. Thus, enabling indexing by default, is a major performance improvement, especially for large or a large amount of collections.\n type: 'date',\n index: true,\n label: ({ t }) => t('general:createdAt'),\n })\n }\n }\n\n sanitized.labels = sanitized.labels || formatLabels(sanitized.slug)\n\n if (sanitized.versions) {\n if (sanitized.versions === true) sanitized.versions = { drafts: false }\n\n if (sanitized.timestamps === false) {\n throw new TimestampsRequired(collection)\n }\n\n if (sanitized.versions.drafts) {\n if (sanitized.versions.drafts === true) {\n sanitized.versions.drafts = {\n autosave: false,\n validate: false,\n }\n }\n\n if (sanitized.versions.drafts.autosave === true) {\n sanitized.versions.drafts.autosave = {\n interval: versionDefaults.autosaveInterval,\n }\n }\n\n if (sanitized.versions.drafts.validate === undefined) {\n sanitized.versions.drafts.validate = false\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, baseVersionFields)\n }\n }\n\n if (sanitized.upload) {\n if (sanitized.upload === true) sanitized.upload = {}\n\n // disable duplicate for uploads by default\n sanitized.disableDuplicate = sanitized.disableDuplicate || true\n\n sanitized.upload.staticDir = sanitized.upload.staticDir || sanitized.slug\n sanitized.admin.useAsTitle =\n sanitized.admin.useAsTitle && sanitized.admin.useAsTitle !== 'id'\n ? sanitized.admin.useAsTitle\n : 'filename'\n\n const uploadFields = getBaseUploadFields({\n collection: sanitized,\n config,\n })\n\n sanitized.fields = mergeBaseFields(sanitized.fields, uploadFields)\n }\n\n if (sanitized.auth) {\n sanitized.auth = merge(authDefaults, typeof sanitized.auth === 'object' ? sanitized.auth : {}, {\n isMergeableObject: isPlainObject,\n })\n\n let authFields = []\n\n if (sanitized.auth.useAPIKey) {\n authFields = authFields.concat(baseAPIKeyFields)\n }\n\n if (!sanitized.auth.disableLocalStrategy) {\n const loginField = sanitized.auth.loginWithUsername ? 'username' : 'email'\n\n authFields = authFields.concat(baseLoginField(loginField))\n\n authFields = authFields.concat(baseAuthFields)\n\n if (sanitized.auth.verify) {\n if (sanitized.auth.verify === true) sanitized.auth.verify = {}\n authFields = authFields.concat(baseVerificationFields)\n }\n\n if (sanitized.auth.maxLoginAttempts > 0) {\n authFields = authFields.concat(baseAccountLockFields)\n }\n }\n\n // disable duplicate for auth enabled collections by default\n sanitized.disableDuplicate = sanitized.disableDuplicate || true\n\n if (!sanitized.auth.strategies) {\n sanitized.auth.strategies = []\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, authFields)\n }\n\n return sanitized as SanitizedCollectionConfig\n}\n"],"names":["merge","baseAccountLockFields","baseAPIKeyFields","baseAuthFields","baseLoginField","baseVerificationFields","TimestampsRequired","sanitizeFields","fieldAffectsData","mergeBaseFields","getBaseUploadFields","formatLabels","isPlainObject","baseVersionFields","versionDefaults","authDefaults","defaults","sanitizeCollection","config","collection","richTextSanitizationPromises","sanitized","isMergeableObject","validRelationships","collections","map","c","slug","fields","timestamps","hasUpdatedAt","hasCreatedAt","some","field","name","push","type","admin","disableBulkEdit","hidden","label","t","index","labels","versions","drafts","autosave","validate","interval","autosaveInterval","undefined","upload","disableDuplicate","staticDir","useAsTitle","uploadFields","auth","authFields","useAPIKey","concat","disableLocalStrategy","loginField","loginWithUsername","verify","maxLoginAttempts","strategies"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/config/sanitize.ts"],"sourcesContent":["import merge from 'deepmerge'\n\nimport type { Config, SanitizedConfig } from '../../config/types.js'\nimport type { CollectionConfig, SanitizedCollectionConfig } from './types.js'\n\nimport { getBaseAuthFields } from '../../auth/getAuthFields.js'\nimport { TimestampsRequired } from '../../errors/TimestampsRequired.js'\nimport { sanitizeFields } from '../../fields/config/sanitize.js'\nimport { fieldAffectsData } from '../../fields/config/types.js'\nimport mergeBaseFields from '../../fields/mergeBaseFields.js'\nimport { getBaseUploadFields } from '../../uploads/getBaseFields.js'\nimport { formatLabels } from '../../utilities/formatLabels.js'\nimport { isPlainObject } from '../../utilities/isPlainObject.js'\nimport baseVersionFields from '../../versions/baseFields.js'\nimport { versionDefaults } from '../../versions/defaults.js'\nimport { authDefaults, defaults, loginWithUsernameDefaults } from './defaults.js'\n\nexport const sanitizeCollection = async (\n config: Config,\n collection: CollectionConfig,\n /**\n * If this property is set, RichText fields won't be sanitized immediately. Instead, they will be added to this array as promises\n * so that you can sanitize them together, after the config has been sanitized.\n */\n richTextSanitizationPromises?: Array<(config: SanitizedConfig) => Promise<void>>,\n): Promise<SanitizedCollectionConfig> => {\n // /////////////////////////////////\n // Make copy of collection config\n // /////////////////////////////////\n\n const sanitized: CollectionConfig = merge(defaults, collection, {\n isMergeableObject: isPlainObject,\n })\n\n // /////////////////////////////////\n // Sanitize fields\n // /////////////////////////////////\n\n const validRelationships = config.collections.map((c) => c.slug) || []\n sanitized.fields = await sanitizeFields({\n config,\n fields: sanitized.fields,\n richTextSanitizationPromises,\n validRelationships,\n })\n\n if (sanitized.timestamps !== false) {\n // add default timestamps fields only as needed\n let hasUpdatedAt = null\n let hasCreatedAt = null\n sanitized.fields.some((field) => {\n if (fieldAffectsData(field)) {\n if (field.name === 'updatedAt') hasUpdatedAt = true\n if (field.name === 'createdAt') hasCreatedAt = true\n }\n return hasCreatedAt && hasUpdatedAt\n })\n if (!hasUpdatedAt) {\n sanitized.fields.push({\n name: 'updatedAt',\n type: 'date',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n label: ({ t }) => t('general:updatedAt'),\n })\n }\n if (!hasCreatedAt) {\n sanitized.fields.push({\n name: 'createdAt',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n // The default sort for list view is createdAt. Thus, enabling indexing by default, is a major performance improvement, especially for large or a large amount of collections.\n type: 'date',\n index: true,\n label: ({ t }) => t('general:createdAt'),\n })\n }\n }\n\n sanitized.labels = sanitized.labels || formatLabels(sanitized.slug)\n\n if (sanitized.versions) {\n if (sanitized.versions === true) sanitized.versions = { drafts: false }\n\n if (sanitized.timestamps === false) {\n throw new TimestampsRequired(collection)\n }\n\n if (sanitized.versions.drafts) {\n if (sanitized.versions.drafts === true) {\n sanitized.versions.drafts = {\n autosave: false,\n validate: false,\n }\n }\n\n if (sanitized.versions.drafts.autosave === true) {\n sanitized.versions.drafts.autosave = {\n interval: versionDefaults.autosaveInterval,\n }\n }\n\n if (sanitized.versions.drafts.validate === undefined) {\n sanitized.versions.drafts.validate = false\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, baseVersionFields)\n }\n }\n\n if (sanitized.upload) {\n if (sanitized.upload === true) sanitized.upload = {}\n\n // disable duplicate for uploads by default\n sanitized.disableDuplicate = sanitized.disableDuplicate || true\n\n sanitized.upload.staticDir = sanitized.upload.staticDir || sanitized.slug\n sanitized.admin.useAsTitle =\n sanitized.admin.useAsTitle && sanitized.admin.useAsTitle !== 'id'\n ? sanitized.admin.useAsTitle\n : 'filename'\n\n const uploadFields = getBaseUploadFields({\n collection: sanitized,\n config,\n })\n\n sanitized.fields = mergeBaseFields(sanitized.fields, uploadFields)\n }\n\n if (sanitized.auth) {\n sanitized.auth = merge(authDefaults, typeof sanitized.auth === 'object' ? sanitized.auth : {}, {\n isMergeableObject: isPlainObject,\n })\n\n if (!sanitized.auth.disableLocalStrategy && sanitized.auth.verify === true) {\n sanitized.auth.verify = {}\n }\n\n // disable duplicate for auth enabled collections by default\n sanitized.disableDuplicate = sanitized.disableDuplicate || true\n\n if (!sanitized.auth.strategies) {\n sanitized.auth.strategies = []\n }\n\n sanitized.auth.loginWithUsername = sanitized.auth.loginWithUsername\n ? merge(\n loginWithUsernameDefaults,\n typeof sanitized.auth.loginWithUsername === 'boolean'\n ? {}\n : sanitized.auth.loginWithUsername,\n )\n : false\n\n sanitized.fields = mergeBaseFields(sanitized.fields, getBaseAuthFields(sanitized.auth))\n }\n\n return sanitized as SanitizedCollectionConfig\n}\n"],"names":["merge","getBaseAuthFields","TimestampsRequired","sanitizeFields","fieldAffectsData","mergeBaseFields","getBaseUploadFields","formatLabels","isPlainObject","baseVersionFields","versionDefaults","authDefaults","defaults","loginWithUsernameDefaults","sanitizeCollection","config","collection","richTextSanitizationPromises","sanitized","isMergeableObject","validRelationships","collections","map","c","slug","fields","timestamps","hasUpdatedAt","hasCreatedAt","some","field","name","push","type","admin","disableBulkEdit","hidden","label","t","index","labels","versions","drafts","autosave","validate","interval","autosaveInterval","undefined","upload","disableDuplicate","staticDir","useAsTitle","uploadFields","auth","disableLocalStrategy","verify","strategies","loginWithUsername"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/collections/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAUrB,QAAA,MAAM,gBAAgB,uBA6NpB,CAAA;AAEF,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/collections/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAUrB,QAAA,MAAM,gBAAgB,uBAmOpB,CAAA;AAEF,eAAe,gBAAgB,CAAA"}
@@ -79,7 +79,10 @@ const collectionSchema = joi.object().keys({
79
79
  generateEmailSubject: joi.func()
80
80
  }),
81
81
  lockTime: joi.number(),
82
- loginWithUsername: joi.boolean(),
82
+ loginWithUsername: joi.alternatives().try(joi.boolean(), joi.object().keys({
83
+ allowEmailLogin: joi.boolean(),
84
+ requireEmail: joi.boolean()
85
+ })),
83
86
  maxLoginAttempts: joi.number(),
84
87
  removeTokenFromResponses: joi.boolean().valid(true),
85
88
  strategies: joi.array().items(joi.object().keys({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/schema.ts"],"sourcesContent":["import joi from 'joi'\n\nimport { endpointsSchema } from '../../config/schema.js'\nimport {\n componentSchema,\n customViewSchema,\n livePreviewSchema,\n} from '../../config/shared/componentSchema.js'\nimport { openGraphSchema } from '../../config/shared/openGraphSchema.js'\n\nconst collectionSchema = joi.object().keys({\n slug: joi.string().required(),\n access: joi.object({\n admin: joi.func(),\n create: joi.func(),\n delete: joi.func(),\n read: joi.func(),\n readVersions: joi.func(),\n unlock: joi.func(),\n update: joi.func(),\n }),\n admin: joi.object({\n components: joi.object({\n afterList: joi.array().items(componentSchema),\n afterListTable: joi.array().items(componentSchema),\n beforeList: joi.array().items(componentSchema),\n beforeListTable: joi.array().items(componentSchema),\n edit: joi.object({\n Description: componentSchema,\n PreviewButton: componentSchema,\n PublishButton: componentSchema,\n SaveButton: componentSchema,\n SaveDraftButton: componentSchema,\n Upload: componentSchema,\n }),\n views: joi.object({\n Edit: joi.alternatives().try(\n componentSchema,\n joi.object({\n API: joi.alternatives().try(componentSchema, customViewSchema),\n Default: joi.alternatives().try(componentSchema, customViewSchema),\n LivePreview: joi.alternatives().try(componentSchema, customViewSchema),\n Version: joi.alternatives().try(componentSchema, customViewSchema),\n Versions: joi.alternatives().try(componentSchema, customViewSchema),\n // Relationships\n // References\n }),\n ),\n List: joi.alternatives().try(\n componentSchema,\n joi.object({\n Component: componentSchema,\n actions: joi.array().items(componentSchema),\n }),\n ),\n }),\n }),\n custom: joi.object().pattern(joi.string(), joi.any()),\n defaultColumns: joi.array().items(joi.string()),\n description: joi\n .alternatives()\n .try(joi.func(), joi.object().pattern(joi.string(), [joi.string()]), joi.string()),\n enableRichTextLink: joi.boolean(),\n enableRichTextRelationship: joi.boolean(),\n group: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n hidden: joi.alternatives().try(joi.boolean(), joi.func()),\n hideAPIURL: joi.bool(),\n listSearchableFields: joi.array().items(joi.string()),\n livePreview: joi.object(livePreviewSchema),\n meta: joi.object({\n description: joi.string(),\n openGraph: openGraphSchema,\n }),\n pagination: joi.object({\n defaultLimit: joi.number(),\n limits: joi.array().items(joi.number()),\n }),\n preview: joi.func(),\n useAsTitle: joi.string(),\n }),\n auth: joi.alternatives().try(\n joi.object({\n cookies: joi.object().keys({\n domain: joi.string(),\n sameSite: joi.string(), // TODO: add further specificity with joi.xor\n secure: joi.boolean(),\n }),\n depth: joi.number(),\n disableLocalStrategy: joi.boolean().valid(true),\n forgotPassword: joi.object().keys({\n generateEmailHTML: joi.func(),\n generateEmailSubject: joi.func(),\n }),\n lockTime: joi.number(),\n loginWithUsername: joi.boolean(),\n maxLoginAttempts: joi.number(),\n removeTokenFromResponses: joi.boolean().valid(true),\n strategies: joi.array().items(\n joi.object().keys({\n name: joi.string().required(),\n authenticate: joi.func().required(),\n }),\n ),\n tokenExpiration: joi.number(),\n useAPIKey: joi.boolean(),\n verify: joi.alternatives().try(\n joi.boolean(),\n joi.object().keys({\n generateEmailHTML: joi.func(),\n generateEmailSubject: joi.func(),\n }),\n ),\n }),\n joi.boolean(),\n ),\n custom: joi.object().pattern(joi.string(), joi.any()),\n dbName: joi.alternatives().try(joi.string(), joi.func()),\n defaultSort: joi.string(),\n disableDuplicate: joi.bool(),\n endpoints: endpointsSchema,\n fields: joi.array(),\n graphQL: joi.alternatives().try(\n joi.object().keys({\n pluralName: joi.string(),\n singularName: joi.string(),\n }),\n joi.boolean(),\n ),\n hooks: joi.object({\n afterChange: joi.array().items(joi.func()),\n afterDelete: joi.array().items(joi.func()),\n afterForgotPassword: joi.array().items(joi.func()),\n afterLogin: joi.array().items(joi.func()),\n afterLogout: joi.array().items(joi.func()),\n afterMe: joi.array().items(joi.func()),\n afterOperation: joi.array().items(joi.func()),\n afterRead: joi.array().items(joi.func()),\n afterRefresh: joi.array().items(joi.func()),\n beforeChange: joi.array().items(joi.func()),\n beforeDelete: joi.array().items(joi.func()),\n beforeLogin: joi.array().items(joi.func()),\n beforeOperation: joi.array().items(joi.func()),\n beforeRead: joi.array().items(joi.func()),\n beforeValidate: joi.array().items(joi.func()),\n me: joi.array().items(joi.func()),\n refresh: joi.array().items(joi.func()),\n }),\n labels: joi.object({\n plural: joi\n .alternatives()\n .try(joi.func(), joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n singular: joi\n .alternatives()\n .try(joi.func(), joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n }),\n timestamps: joi.boolean(),\n typescript: joi.object().keys({\n interface: joi.string(),\n }),\n upload: joi.alternatives().try(\n joi.object({\n adapter: joi.string(),\n adminThumbnail: joi.alternatives().try(joi.string(), componentSchema),\n crop: joi.bool(),\n disableLocalStorage: joi.bool(),\n externalFileHeaderFilter: joi.func(),\n filesRequiredOnCreate: joi.bool(),\n focalPoint: joi.bool(),\n formatOptions: joi.object().keys({\n format: joi.string(),\n options: joi.object(),\n }),\n handlers: joi.array().items(joi.func()),\n imageSizes: joi.array().items(\n joi\n .object()\n .keys({\n name: joi.string(),\n crop: joi.string(), // TODO: add further specificity with joi.xor\n height: joi.number().integer().allow(null),\n width: joi.number().integer().allow(null),\n })\n .unknown(),\n ),\n mimeTypes: joi.array().items(joi.string()),\n modifyResponseHeaders: joi.func(),\n resizeOptions: joi\n .object()\n .keys({\n background: joi.string(),\n fastShrinkOnLoad: joi.bool(),\n fit: joi.string(),\n height: joi.number().allow(null),\n kernel: joi.string(),\n position: joi.alternatives().try(joi.string(), joi.number()),\n width: joi.number().allow(null),\n withoutEnlargement: joi.bool(),\n })\n .allow(null),\n staticDir: joi.string(),\n tempFileDir: joi.string(),\n trimOptions: joi.alternatives().try(\n joi.object().keys({\n format: joi.string(),\n options: joi.object(),\n }),\n joi.string(),\n joi.number(),\n ),\n useTempFiles: joi.bool(),\n }),\n joi.boolean(),\n ),\n versions: joi.alternatives().try(\n joi.object({\n drafts: joi.alternatives().try(\n joi.object({\n autosave: joi.alternatives().try(\n joi.boolean(),\n joi.object({\n interval: joi.number(),\n }),\n ),\n validate: joi.boolean(),\n }),\n joi.boolean(),\n ),\n maxPerDoc: joi.number(),\n }),\n joi.boolean(),\n ),\n})\n\nexport default collectionSchema\n"],"names":["joi","endpointsSchema","componentSchema","customViewSchema","livePreviewSchema","openGraphSchema","collectionSchema","object","keys","slug","string","required","access","admin","func","create","delete","read","readVersions","unlock","update","components","afterList","array","items","afterListTable","beforeList","beforeListTable","edit","Description","PreviewButton","PublishButton","SaveButton","SaveDraftButton","Upload","views","Edit","alternatives","try","API","Default","LivePreview","Version","Versions","List","Component","actions","custom","pattern","any","defaultColumns","description","enableRichTextLink","boolean","enableRichTextRelationship","group","hidden","hideAPIURL","bool","listSearchableFields","livePreview","meta","openGraph","pagination","defaultLimit","number","limits","preview","useAsTitle","auth","cookies","domain","sameSite","secure","depth","disableLocalStrategy","valid","forgotPassword","generateEmailHTML","generateEmailSubject","lockTime","loginWithUsername","maxLoginAttempts","removeTokenFromResponses","strategies","name","authenticate","tokenExpiration","useAPIKey","verify","dbName","defaultSort","disableDuplicate","endpoints","fields","graphQL","pluralName","singularName","hooks","afterChange","afterDelete","afterForgotPassword","afterLogin","afterLogout","afterMe","afterOperation","afterRead","afterRefresh","beforeChange","beforeDelete","beforeLogin","beforeOperation","beforeRead","beforeValidate","me","refresh","labels","plural","singular","timestamps","typescript","interface","upload","adapter","adminThumbnail","crop","disableLocalStorage","externalFileHeaderFilter","filesRequiredOnCreate","focalPoint","formatOptions","format","options","handlers","imageSizes","height","integer","allow","width","unknown","mimeTypes","modifyResponseHeaders","resizeOptions","background","fastShrinkOnLoad","fit","kernel","position","withoutEnlargement","staticDir","tempFileDir","trimOptions","useTempFiles","versions","drafts","autosave","interval","validate","maxPerDoc"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/config/schema.ts"],"sourcesContent":["import joi from 'joi'\n\nimport { endpointsSchema } from '../../config/schema.js'\nimport {\n componentSchema,\n customViewSchema,\n livePreviewSchema,\n} from '../../config/shared/componentSchema.js'\nimport { openGraphSchema } from '../../config/shared/openGraphSchema.js'\n\nconst collectionSchema = joi.object().keys({\n slug: joi.string().required(),\n access: joi.object({\n admin: joi.func(),\n create: joi.func(),\n delete: joi.func(),\n read: joi.func(),\n readVersions: joi.func(),\n unlock: joi.func(),\n update: joi.func(),\n }),\n admin: joi.object({\n components: joi.object({\n afterList: joi.array().items(componentSchema),\n afterListTable: joi.array().items(componentSchema),\n beforeList: joi.array().items(componentSchema),\n beforeListTable: joi.array().items(componentSchema),\n edit: joi.object({\n Description: componentSchema,\n PreviewButton: componentSchema,\n PublishButton: componentSchema,\n SaveButton: componentSchema,\n SaveDraftButton: componentSchema,\n Upload: componentSchema,\n }),\n views: joi.object({\n Edit: joi.alternatives().try(\n componentSchema,\n joi.object({\n API: joi.alternatives().try(componentSchema, customViewSchema),\n Default: joi.alternatives().try(componentSchema, customViewSchema),\n LivePreview: joi.alternatives().try(componentSchema, customViewSchema),\n Version: joi.alternatives().try(componentSchema, customViewSchema),\n Versions: joi.alternatives().try(componentSchema, customViewSchema),\n // Relationships\n // References\n }),\n ),\n List: joi.alternatives().try(\n componentSchema,\n joi.object({\n Component: componentSchema,\n actions: joi.array().items(componentSchema),\n }),\n ),\n }),\n }),\n custom: joi.object().pattern(joi.string(), joi.any()),\n defaultColumns: joi.array().items(joi.string()),\n description: joi\n .alternatives()\n .try(joi.func(), joi.object().pattern(joi.string(), [joi.string()]), joi.string()),\n enableRichTextLink: joi.boolean(),\n enableRichTextRelationship: joi.boolean(),\n group: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n hidden: joi.alternatives().try(joi.boolean(), joi.func()),\n hideAPIURL: joi.bool(),\n listSearchableFields: joi.array().items(joi.string()),\n livePreview: joi.object(livePreviewSchema),\n meta: joi.object({\n description: joi.string(),\n openGraph: openGraphSchema,\n }),\n pagination: joi.object({\n defaultLimit: joi.number(),\n limits: joi.array().items(joi.number()),\n }),\n preview: joi.func(),\n useAsTitle: joi.string(),\n }),\n auth: joi.alternatives().try(\n joi.object({\n cookies: joi.object().keys({\n domain: joi.string(),\n sameSite: joi.string(), // TODO: add further specificity with joi.xor\n secure: joi.boolean(),\n }),\n depth: joi.number(),\n disableLocalStrategy: joi.boolean().valid(true),\n forgotPassword: joi.object().keys({\n generateEmailHTML: joi.func(),\n generateEmailSubject: joi.func(),\n }),\n lockTime: joi.number(),\n loginWithUsername: joi.alternatives().try(\n joi.boolean(),\n joi.object().keys({\n allowEmailLogin: joi.boolean(),\n requireEmail: joi.boolean(),\n }),\n ),\n maxLoginAttempts: joi.number(),\n removeTokenFromResponses: joi.boolean().valid(true),\n strategies: joi.array().items(\n joi.object().keys({\n name: joi.string().required(),\n authenticate: joi.func().required(),\n }),\n ),\n tokenExpiration: joi.number(),\n useAPIKey: joi.boolean(),\n verify: joi.alternatives().try(\n joi.boolean(),\n joi.object().keys({\n generateEmailHTML: joi.func(),\n generateEmailSubject: joi.func(),\n }),\n ),\n }),\n joi.boolean(),\n ),\n custom: joi.object().pattern(joi.string(), joi.any()),\n dbName: joi.alternatives().try(joi.string(), joi.func()),\n defaultSort: joi.string(),\n disableDuplicate: joi.bool(),\n endpoints: endpointsSchema,\n fields: joi.array(),\n graphQL: joi.alternatives().try(\n joi.object().keys({\n pluralName: joi.string(),\n singularName: joi.string(),\n }),\n joi.boolean(),\n ),\n hooks: joi.object({\n afterChange: joi.array().items(joi.func()),\n afterDelete: joi.array().items(joi.func()),\n afterForgotPassword: joi.array().items(joi.func()),\n afterLogin: joi.array().items(joi.func()),\n afterLogout: joi.array().items(joi.func()),\n afterMe: joi.array().items(joi.func()),\n afterOperation: joi.array().items(joi.func()),\n afterRead: joi.array().items(joi.func()),\n afterRefresh: joi.array().items(joi.func()),\n beforeChange: joi.array().items(joi.func()),\n beforeDelete: joi.array().items(joi.func()),\n beforeLogin: joi.array().items(joi.func()),\n beforeOperation: joi.array().items(joi.func()),\n beforeRead: joi.array().items(joi.func()),\n beforeValidate: joi.array().items(joi.func()),\n me: joi.array().items(joi.func()),\n refresh: joi.array().items(joi.func()),\n }),\n labels: joi.object({\n plural: joi\n .alternatives()\n .try(joi.func(), joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n singular: joi\n .alternatives()\n .try(joi.func(), joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n }),\n timestamps: joi.boolean(),\n typescript: joi.object().keys({\n interface: joi.string(),\n }),\n upload: joi.alternatives().try(\n joi.object({\n adapter: joi.string(),\n adminThumbnail: joi.alternatives().try(joi.string(), componentSchema),\n crop: joi.bool(),\n disableLocalStorage: joi.bool(),\n externalFileHeaderFilter: joi.func(),\n filesRequiredOnCreate: joi.bool(),\n focalPoint: joi.bool(),\n formatOptions: joi.object().keys({\n format: joi.string(),\n options: joi.object(),\n }),\n handlers: joi.array().items(joi.func()),\n imageSizes: joi.array().items(\n joi\n .object()\n .keys({\n name: joi.string(),\n crop: joi.string(), // TODO: add further specificity with joi.xor\n height: joi.number().integer().allow(null),\n width: joi.number().integer().allow(null),\n })\n .unknown(),\n ),\n mimeTypes: joi.array().items(joi.string()),\n modifyResponseHeaders: joi.func(),\n resizeOptions: joi\n .object()\n .keys({\n background: joi.string(),\n fastShrinkOnLoad: joi.bool(),\n fit: joi.string(),\n height: joi.number().allow(null),\n kernel: joi.string(),\n position: joi.alternatives().try(joi.string(), joi.number()),\n width: joi.number().allow(null),\n withoutEnlargement: joi.bool(),\n })\n .allow(null),\n staticDir: joi.string(),\n tempFileDir: joi.string(),\n trimOptions: joi.alternatives().try(\n joi.object().keys({\n format: joi.string(),\n options: joi.object(),\n }),\n joi.string(),\n joi.number(),\n ),\n useTempFiles: joi.bool(),\n }),\n joi.boolean(),\n ),\n versions: joi.alternatives().try(\n joi.object({\n drafts: joi.alternatives().try(\n joi.object({\n autosave: joi.alternatives().try(\n joi.boolean(),\n joi.object({\n interval: joi.number(),\n }),\n ),\n validate: joi.boolean(),\n }),\n joi.boolean(),\n ),\n maxPerDoc: joi.number(),\n }),\n joi.boolean(),\n ),\n})\n\nexport default collectionSchema\n"],"names":["joi","endpointsSchema","componentSchema","customViewSchema","livePreviewSchema","openGraphSchema","collectionSchema","object","keys","slug","string","required","access","admin","func","create","delete","read","readVersions","unlock","update","components","afterList","array","items","afterListTable","beforeList","beforeListTable","edit","Description","PreviewButton","PublishButton","SaveButton","SaveDraftButton","Upload","views","Edit","alternatives","try","API","Default","LivePreview","Version","Versions","List","Component","actions","custom","pattern","any","defaultColumns","description","enableRichTextLink","boolean","enableRichTextRelationship","group","hidden","hideAPIURL","bool","listSearchableFields","livePreview","meta","openGraph","pagination","defaultLimit","number","limits","preview","useAsTitle","auth","cookies","domain","sameSite","secure","depth","disableLocalStrategy","valid","forgotPassword","generateEmailHTML","generateEmailSubject","lockTime","loginWithUsername","allowEmailLogin","requireEmail","maxLoginAttempts","removeTokenFromResponses","strategies","name","authenticate","tokenExpiration","useAPIKey","verify","dbName","defaultSort","disableDuplicate","endpoints","fields","graphQL","pluralName","singularName","hooks","afterChange","afterDelete","afterForgotPassword","afterLogin","afterLogout","afterMe","afterOperation","afterRead","afterRefresh","beforeChange","beforeDelete","beforeLogin","beforeOperation","beforeRead","beforeValidate","me","refresh","labels","plural","singular","timestamps","typescript","interface","upload","adapter","adminThumbnail","crop","disableLocalStorage","externalFileHeaderFilter","filesRequiredOnCreate","focalPoint","formatOptions","format","options","handlers","imageSizes","height","integer","allow","width","unknown","mimeTypes","modifyResponseHeaders","resizeOptions","background","fastShrinkOnLoad","fit","kernel","position","withoutEnlargement","staticDir","tempFileDir","trimOptions","useTempFiles","versions","drafts","autosave","interval","validate","maxPerDoc"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/create.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,KAAK,EAIV,UAAU,EACV,sBAAsB,EACtB,8BAA8B,EAC/B,MAAM,oBAAoB,CAAA;AAmB3B,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,cAAc,IAAI;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,8BAA8B,CAAC,KAAK,CAAC,CAAA;IAC3C,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,GAAU,KAAK,SAAS,cAAc,gBAClD,SAAS,CAAC,KAAK,CAAC,KAC7B,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAmUvC,CAAA"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/create.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,KAAK,EAIV,UAAU,EACV,sBAAsB,EACtB,8BAA8B,EAC/B,MAAM,oBAAoB,CAAA;AAmB3B,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,cAAc,IAAI;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,8BAA8B,CAAC,KAAK,CAAC,CAAA;IAC3C,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,GAAU,KAAK,SAAS,cAAc,gBAClD,SAAS,CAAC,KAAK,CAAC,KAC7B,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CA+TvC,CAAA"}
@@ -130,9 +130,6 @@ export const createOperation = async (incomingArgs)=>{
130
130
  // /////////////////////////////////////
131
131
  let doc;
132
132
  if (collectionConfig.auth && !collectionConfig.auth.disableLocalStrategy) {
133
- if (data.email) {
134
- resultWithLocales.email = data.email.toLowerCase();
135
- }
136
133
  if (collectionConfig.auth.verify) {
137
134
  resultWithLocales._verified = Boolean(resultWithLocales._verified) || false;
138
135
  resultWithLocales._verificationToken = crypto.randomBytes(20).toString('hex');
@@ -169,7 +166,7 @@ export const createOperation = async (incomingArgs)=>{
169
166
  // /////////////////////////////////////
170
167
  // Send verification email if applicable
171
168
  // /////////////////////////////////////
172
- if (collectionConfig.auth && collectionConfig.auth.verify) {
169
+ if (collectionConfig.auth && collectionConfig.auth.verify && result.email) {
173
170
  await sendVerificationEmail({
174
171
  collection: {
175
172
  config: collectionConfig
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/create.ts"],"sourcesContent":["import crypto from 'crypto'\n\nimport type { CollectionSlug } from '../../index.js'\nimport type { Document, PayloadRequest } from '../../types/index.js'\nimport type {\n AfterChangeHook,\n BeforeOperationHook,\n BeforeValidateHook,\n Collection,\n DataFromCollectionSlug,\n RequiredDataFromCollectionSlug,\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 Arguments<TSlug extends CollectionSlug> = {\n autosave?: boolean\n collection: Collection\n data: RequiredDataFromCollectionSlug<TSlug>\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 CollectionSlug>(\n incomingArgs: Arguments<TSlug>,\n): Promise<DataFromCollectionSlug<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, email },\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 operation: 'create',\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 // 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:\n shouldSaveDraft &&\n collectionConfig.versions.drafts &&\n !collectionConfig.versions.drafts.validate,\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 await sendVerificationEmail({\n collection: { config: collectionConfig },\n config: payload.config,\n disableEmail: disableVerificationEmail,\n email: payload.email,\n req,\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 draft,\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<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","email","showHiddenFields","data","shouldSaveDraft","Boolean","versions","drafts","access","create","collections","slug","customIDType","_id","id","newFileData","files","filesToUpload","throwOnMissingFile","upload","filesRequiredOnCreate","doc","global","resultWithLocales","docWithLocales","skipValidation","validate","disableLocalStorage","auth","disableLocalStrategy","toLowerCase","verify","_verified","_verificationToken","randomBytes","toString","password","db","verificationToken","result","disableEmail","token","user","previousDoc","error"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/operations/create.ts"],"sourcesContent":["import crypto from 'crypto'\n\nimport type { CollectionSlug } from '../../index.js'\nimport type { Document, PayloadRequest } from '../../types/index.js'\nimport type {\n AfterChangeHook,\n BeforeOperationHook,\n BeforeValidateHook,\n Collection,\n DataFromCollectionSlug,\n RequiredDataFromCollectionSlug,\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 Arguments<TSlug extends CollectionSlug> = {\n autosave?: boolean\n collection: Collection\n data: RequiredDataFromCollectionSlug<TSlug>\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 CollectionSlug>(\n incomingArgs: Arguments<TSlug>,\n): Promise<DataFromCollectionSlug<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, email },\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 operation: 'create',\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 // 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:\n shouldSaveDraft &&\n collectionConfig.versions.drafts &&\n !collectionConfig.versions.drafts.validate,\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 (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 && result.email) {\n await sendVerificationEmail({\n collection: { config: collectionConfig },\n config: payload.config,\n disableEmail: disableVerificationEmail,\n email: payload.email,\n req,\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 draft,\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<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","email","showHiddenFields","data","shouldSaveDraft","Boolean","versions","drafts","access","create","collections","slug","customIDType","_id","id","newFileData","files","filesToUpload","throwOnMissingFile","upload","filesRequiredOnCreate","doc","global","resultWithLocales","docWithLocales","skipValidation","validate","disableLocalStorage","auth","disableLocalStrategy","verify","_verified","_verificationToken","randomBytes","toString","password","db","verificationToken","result","disableEmail","token","user","previousDoc","error"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { TFunction } from '@payloadcms/translations';
2
2
  import type { Field, FieldBase } from '../../fields/config/types.js';
3
3
  export type ClientFieldConfig = Omit<Field, 'access' | 'defaultValue' | 'hooks' | 'validate'>;
4
- export type ServerOnlyFieldProperties = 'editor' | 'filterOptions' | 'label' | 'typescriptSchema' | keyof Pick<FieldBase, 'access' | 'custom' | 'defaultValue' | 'hooks' | 'validate'>;
4
+ export type ServerOnlyFieldProperties = 'dbName' | 'editor' | 'enumName' | 'filterOptions' | 'label' | 'typescriptSchema' | keyof Pick<FieldBase, 'access' | 'custom' | 'defaultValue' | 'hooks' | 'validate'>;
5
5
  export type ServerOnlyFieldAdminProperties = keyof Pick<FieldBase['admin'], 'components' | 'condition' | 'description'>;
6
6
  export declare const createClientFieldConfig: ({ field: incomingField, t, }: {
7
7
  field: Field;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/fields/config/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/fields/config/client.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,9 @@ export const createClientFieldConfig = ({ field: incomingField, t })=>{
11
11
  'filterOptions',
12
12
  'editor',
13
13
  'custom',
14
- 'typescriptSchema'
14
+ 'typescriptSchema',
15
+ 'dbName',
16
+ 'enumName'
15
17
  ];
16
18
  serverOnlyFieldProperties.forEach((key)=>{
17
19
  if (key in field) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/config/client.ts"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\n\nimport type { Field, FieldBase } from '../../fields/config/types.js'\n\nexport type ClientFieldConfig = Omit<Field, 'access' | 'defaultValue' | 'hooks' | 'validate'>\n\nexport type ServerOnlyFieldProperties =\n | 'editor' // This is a `richText` only property\n | 'filterOptions' // This is a `relationship` and `upload` only property\n | 'label'\n | 'typescriptSchema'\n | keyof Pick<FieldBase, 'access' | 'custom' | 'defaultValue' | 'hooks' | 'validate'>\n\nexport type ServerOnlyFieldAdminProperties = keyof Pick<\n FieldBase['admin'],\n 'components' | 'condition' | 'description'\n>\n\nexport const createClientFieldConfig = ({\n field: incomingField,\n t,\n}: {\n field: Field\n t: TFunction\n}) => {\n const field = { ...incomingField }\n\n const serverOnlyFieldProperties: Partial<ServerOnlyFieldProperties>[] = [\n 'hooks',\n 'access',\n 'validate',\n 'defaultValue',\n 'label',\n 'filterOptions', // This is a `relationship` and `upload` only property\n 'editor', // This is a `richText` only property\n 'custom',\n 'typescriptSchema',\n // `fields`\n // `blocks`\n // `tabs`\n // `admin`\n // are all handled separately\n ]\n\n serverOnlyFieldProperties.forEach((key) => {\n if (key in field) {\n delete field[key]\n }\n })\n\n if ('options' in field && Array.isArray(field.options)) {\n field.options = field.options.map((option) => {\n if (typeof option === 'object' && typeof option.label === 'function') {\n return {\n label: option.label({ t }),\n value: option.value,\n }\n }\n\n return option\n })\n }\n\n if ('fields' in field) {\n field.fields = createClientFieldConfigs({ fields: field.fields, t })\n }\n\n if ('blocks' in field) {\n field.blocks = field.blocks.map((block) => {\n const sanitized = { ...block }\n sanitized.fields = createClientFieldConfigs({ fields: sanitized.fields, t })\n return sanitized\n })\n }\n\n if ('tabs' in field) {\n // @ts-expect-error\n field.tabs = field.tabs.map((tab) => createClientFieldConfig({ field: tab, t }))\n }\n\n if ('admin' in field) {\n field.admin = { ...field.admin }\n\n const serverOnlyFieldAdminProperties: Partial<ServerOnlyFieldAdminProperties>[] = [\n 'components',\n 'condition',\n 'description',\n ]\n\n serverOnlyFieldAdminProperties.forEach((key) => {\n if (key in field.admin) {\n delete field.admin[key]\n }\n })\n }\n\n return field\n}\n\nexport const createClientFieldConfigs = ({\n fields,\n t,\n}: {\n fields: Field[]\n t: TFunction\n}): Field[] => fields.map((field) => createClientFieldConfig({ field, t }))\n"],"names":["createClientFieldConfig","field","incomingField","t","serverOnlyFieldProperties","forEach","key","Array","isArray","options","map","option","label","value","fields","createClientFieldConfigs","blocks","block","sanitized","tabs","tab","admin","serverOnlyFieldAdminProperties"],"mappings":"AAkBA,OAAO,MAAMA,0BAA0B,CAAC,EACtCC,OAAOC,aAAa,EACpBC,CAAC,EAIF;IACC,MAAMF,QAAQ;QAAE,GAAGC,aAAa;IAAC;IAEjC,MAAME,4BAAkE;QACtE;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KAMD;IAEDA,0BAA0BC,OAAO,CAAC,CAACC;QACjC,IAAIA,OAAOL,OAAO;YAChB,OAAOA,KAAK,CAACK,IAAI;QACnB;IACF;IAEA,IAAI,aAAaL,SAASM,MAAMC,OAAO,CAACP,MAAMQ,OAAO,GAAG;QACtDR,MAAMQ,OAAO,GAAGR,MAAMQ,OAAO,CAACC,GAAG,CAAC,CAACC;YACjC,IAAI,OAAOA,WAAW,YAAY,OAAOA,OAAOC,KAAK,KAAK,YAAY;gBACpE,OAAO;oBACLA,OAAOD,OAAOC,KAAK,CAAC;wBAAET;oBAAE;oBACxBU,OAAOF,OAAOE,KAAK;gBACrB;YACF;YAEA,OAAOF;QACT;IACF;IAEA,IAAI,YAAYV,OAAO;QACrBA,MAAMa,MAAM,GAAGC,yBAAyB;YAAED,QAAQb,MAAMa,MAAM;YAAEX;QAAE;IACpE;IAEA,IAAI,YAAYF,OAAO;QACrBA,MAAMe,MAAM,GAAGf,MAAMe,MAAM,CAACN,GAAG,CAAC,CAACO;YAC/B,MAAMC,YAAY;gBAAE,GAAGD,KAAK;YAAC;YAC7BC,UAAUJ,MAAM,GAAGC,yBAAyB;gBAAED,QAAQI,UAAUJ,MAAM;gBAAEX;YAAE;YAC1E,OAAOe;QACT;IACF;IAEA,IAAI,UAAUjB,OAAO;QACnB,mBAAmB;QACnBA,MAAMkB,IAAI,GAAGlB,MAAMkB,IAAI,CAACT,GAAG,CAAC,CAACU,MAAQpB,wBAAwB;gBAAEC,OAAOmB;gBAAKjB;YAAE;IAC/E;IAEA,IAAI,WAAWF,OAAO;QACpBA,MAAMoB,KAAK,GAAG;YAAE,GAAGpB,MAAMoB,KAAK;QAAC;QAE/B,MAAMC,iCAA4E;YAChF;YACA;YACA;SACD;QAEDA,+BAA+BjB,OAAO,CAAC,CAACC;YACtC,IAAIA,OAAOL,MAAMoB,KAAK,EAAE;gBACtB,OAAOpB,MAAMoB,KAAK,CAACf,IAAI;YACzB;QACF;IACF;IAEA,OAAOL;AACT,EAAC;AAED,OAAO,MAAMc,2BAA2B,CAAC,EACvCD,MAAM,EACNX,CAAC,EAIF,GAAcW,OAAOJ,GAAG,CAAC,CAACT,QAAUD,wBAAwB;YAAEC;YAAOE;QAAE,IAAG"}
1
+ {"version":3,"sources":["../../../src/fields/config/client.ts"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\n\nimport type { Field, FieldBase } from '../../fields/config/types.js'\n\nexport type ClientFieldConfig = Omit<Field, 'access' | 'defaultValue' | 'hooks' | 'validate'>\n\nexport type ServerOnlyFieldProperties =\n | 'dbName' // can be a function\n | 'editor' // This is a `richText` only property\n | 'enumName' // can be a function\n | 'filterOptions' // This is a `relationship` and `upload` only property\n | 'label'\n | 'typescriptSchema'\n | keyof Pick<FieldBase, 'access' | 'custom' | 'defaultValue' | 'hooks' | 'validate'>\n\nexport type ServerOnlyFieldAdminProperties = keyof Pick<\n FieldBase['admin'],\n 'components' | 'condition' | 'description'\n>\n\nexport const createClientFieldConfig = ({\n field: incomingField,\n t,\n}: {\n field: Field\n t: TFunction\n}) => {\n const field = { ...incomingField }\n\n const serverOnlyFieldProperties: Partial<ServerOnlyFieldProperties>[] = [\n 'hooks',\n 'access',\n 'validate',\n 'defaultValue',\n 'label',\n 'filterOptions', // This is a `relationship` and `upload` only property\n 'editor', // This is a `richText` only property\n 'custom',\n 'typescriptSchema',\n 'dbName', // can be a function\n 'enumName', // can be a function\n // `fields`\n // `blocks`\n // `tabs`\n // `admin`\n // are all handled separately\n ]\n\n serverOnlyFieldProperties.forEach((key) => {\n if (key in field) {\n delete field[key]\n }\n })\n\n if ('options' in field && Array.isArray(field.options)) {\n field.options = field.options.map((option) => {\n if (typeof option === 'object' && typeof option.label === 'function') {\n return {\n label: option.label({ t }),\n value: option.value,\n }\n }\n\n return option\n })\n }\n\n if ('fields' in field) {\n field.fields = createClientFieldConfigs({ fields: field.fields, t })\n }\n\n if ('blocks' in field) {\n field.blocks = field.blocks.map((block) => {\n const sanitized = { ...block }\n sanitized.fields = createClientFieldConfigs({ fields: sanitized.fields, t })\n return sanitized\n })\n }\n\n if ('tabs' in field) {\n // @ts-expect-error\n field.tabs = field.tabs.map((tab) => createClientFieldConfig({ field: tab, t }))\n }\n\n if ('admin' in field) {\n field.admin = { ...field.admin }\n\n const serverOnlyFieldAdminProperties: Partial<ServerOnlyFieldAdminProperties>[] = [\n 'components',\n 'condition',\n 'description',\n ]\n\n serverOnlyFieldAdminProperties.forEach((key) => {\n if (key in field.admin) {\n delete field.admin[key]\n }\n })\n }\n\n return field\n}\n\nexport const createClientFieldConfigs = ({\n fields,\n t,\n}: {\n fields: Field[]\n t: TFunction\n}): Field[] => fields.map((field) => createClientFieldConfig({ field, t }))\n"],"names":["createClientFieldConfig","field","incomingField","t","serverOnlyFieldProperties","forEach","key","Array","isArray","options","map","option","label","value","fields","createClientFieldConfigs","blocks","block","sanitized","tabs","tab","admin","serverOnlyFieldAdminProperties"],"mappings":"AAoBA,OAAO,MAAMA,0BAA0B,CAAC,EACtCC,OAAOC,aAAa,EACpBC,CAAC,EAIF;IACC,MAAMF,QAAQ;QAAE,GAAGC,aAAa;IAAC;IAEjC,MAAME,4BAAkE;QACtE;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KAMD;IAEDA,0BAA0BC,OAAO,CAAC,CAACC;QACjC,IAAIA,OAAOL,OAAO;YAChB,OAAOA,KAAK,CAACK,IAAI;QACnB;IACF;IAEA,IAAI,aAAaL,SAASM,MAAMC,OAAO,CAACP,MAAMQ,OAAO,GAAG;QACtDR,MAAMQ,OAAO,GAAGR,MAAMQ,OAAO,CAACC,GAAG,CAAC,CAACC;YACjC,IAAI,OAAOA,WAAW,YAAY,OAAOA,OAAOC,KAAK,KAAK,YAAY;gBACpE,OAAO;oBACLA,OAAOD,OAAOC,KAAK,CAAC;wBAAET;oBAAE;oBACxBU,OAAOF,OAAOE,KAAK;gBACrB;YACF;YAEA,OAAOF;QACT;IACF;IAEA,IAAI,YAAYV,OAAO;QACrBA,MAAMa,MAAM,GAAGC,yBAAyB;YAAED,QAAQb,MAAMa,MAAM;YAAEX;QAAE;IACpE;IAEA,IAAI,YAAYF,OAAO;QACrBA,MAAMe,MAAM,GAAGf,MAAMe,MAAM,CAACN,GAAG,CAAC,CAACO;YAC/B,MAAMC,YAAY;gBAAE,GAAGD,KAAK;YAAC;YAC7BC,UAAUJ,MAAM,GAAGC,yBAAyB;gBAAED,QAAQI,UAAUJ,MAAM;gBAAEX;YAAE;YAC1E,OAAOe;QACT;IACF;IAEA,IAAI,UAAUjB,OAAO;QACnB,mBAAmB;QACnBA,MAAMkB,IAAI,GAAGlB,MAAMkB,IAAI,CAACT,GAAG,CAAC,CAACU,MAAQpB,wBAAwB;gBAAEC,OAAOmB;gBAAKjB;YAAE;IAC/E;IAEA,IAAI,WAAWF,OAAO;QACpBA,MAAMoB,KAAK,GAAG;YAAE,GAAGpB,MAAMoB,KAAK;QAAC;QAE/B,MAAMC,iCAA4E;YAChF;YACA;YACA;SACD;QAEDA,+BAA+BjB,OAAO,CAAC,CAACC;YACtC,IAAIA,OAAOL,MAAMoB,KAAK,EAAE;gBACtB,OAAOpB,MAAMoB,KAAK,CAACf,IAAI;YACzB;QACF;IACF;IAEA,OAAOL;AACT,EAAC;AAED,OAAO,MAAMc,2BAA2B,CAAC,EACvCD,MAAM,EACNX,CAAC,EAIF,GAAcW,OAAOJ,GAAG,CAAC,CAACT,QAAUD,wBAAwB;YAAEC;YAAOE;QAAE,IAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/fields/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAIrB,eAAO,MAAM,wBAAwB,uBAQvB,CAAA;AAEd,eAAO,MAAM,eAAe,uBAkB1B,CAAA;AAEF,eAAO,MAAM,SAAS,uBAqCV,CAAA;AAEZ,eAAO,MAAM,OAAO,uBAKlB,CAAA;AAEF,eAAO,MAAM,IAAI,uBAsBf,CAAA;AAEF,eAAO,MAAM,MAAM,uBAgCjB,CAAA;AAEF,eAAO,MAAM,QAAQ,uBAiBnB,CAAA;AAEF,eAAO,MAAM,KAAK,uBAgBhB,CAAA;AAEF,eAAO,MAAM,IAAI,uBAYf,CAAA;AAEF,eAAO,MAAM,IAAI,uBAYf,CAAA;AAEF,eAAO,MAAM,MAAM,uBAgCjB,CAAA;AAEF,eAAO,MAAM,KAAK,uBA4BhB,CAAA;AAEF,eAAO,MAAM,GAAG,uBAId,CAAA;AAEF,eAAO,MAAM,WAAW,uBAuBtB,CAAA;AAeF,eAAO,MAAM,IAAI,uBAQf,CAAA;AAEF,eAAO,MAAM,KAAK,uBAShB,CAAA;AAEF,eAAO,MAAM,KAAK,uBA2BhB,CAAA;AAEF,eAAO,MAAM,MAAM,uBAajB,CAAA;AAEF,eAAO,MAAM,QAAQ,uBAYnB,CAAA;AAEF,eAAO,MAAM,KAAK,uBAYhB,CAAA;AAEF,eAAO,MAAM,YAAY,uBA+BvB,CAAA;AAEF,eAAO,MAAM,MAAM,uBA+CjB,CAAA;AAEF,eAAO,MAAM,QAAQ,uBAsBnB,CAAA;AAEF,eAAO,MAAM,IAAI,uBAyBf,CAAA;AAEF,eAAO,MAAM,EAAE,uBAsBb,CAAA;AAEF,QAAA,MAAM,WAAW,6BAyBH,CAAA;AAEd,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/fields/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAIrB,eAAO,MAAM,wBAAwB,uBAQvB,CAAA;AAEd,eAAO,MAAM,eAAe,uBAkB1B,CAAA;AAEF,eAAO,MAAM,SAAS,uBAqCV,CAAA;AAEZ,eAAO,MAAM,OAAO,uBAKlB,CAAA;AAEF,eAAO,MAAM,IAAI,uBAsBf,CAAA;AAEF,eAAO,MAAM,MAAM,uBAgCjB,CAAA;AAEF,eAAO,MAAM,QAAQ,uBAiBnB,CAAA;AAEF,eAAO,MAAM,KAAK,uBAgBhB,CAAA;AAEF,eAAO,MAAM,IAAI,uBAYf,CAAA;AAEF,eAAO,MAAM,IAAI,uBAYf,CAAA;AAEF,eAAO,MAAM,MAAM,uBAgCjB,CAAA;AAEF,eAAO,MAAM,KAAK,uBA4BhB,CAAA;AAEF,eAAO,MAAM,GAAG,uBAId,CAAA;AAEF,eAAO,MAAM,WAAW,uBAuBtB,CAAA;AAeF,eAAO,MAAM,IAAI,uBAQf,CAAA;AAEF,eAAO,MAAM,KAAK,uBAShB,CAAA;AAEF,eAAO,MAAM,KAAK,uBA2BhB,CAAA;AAEF,eAAO,MAAM,MAAM,uBAajB,CAAA;AAEF,eAAO,MAAM,QAAQ,uBAYnB,CAAA;AAEF,eAAO,MAAM,KAAK,uBAYhB,CAAA;AAEF,eAAO,MAAM,YAAY,uBA+BvB,CAAA;AAEF,eAAO,MAAM,MAAM,uBAkDjB,CAAA;AAEF,eAAO,MAAM,QAAQ,uBAsBnB,CAAA;AAEF,eAAO,MAAM,IAAI,uBAyBf,CAAA;AAEF,eAAO,MAAM,EAAE,uBAsBb,CAAA;AAEF,QAAA,MAAM,WAAW,6BAyBH,CAAA;AAEd,eAAe,WAAW,CAAA"}
@@ -402,6 +402,9 @@ export const blocks = baseField.keys({
402
402
  blocks: joi.array().items(joi.object({
403
403
  slug: joi.string().required(),
404
404
  admin: joi.object().keys({
405
+ components: joi.object().keys({
406
+ Label: componentSchema
407
+ }),
405
408
  custom: joi.object().pattern(joi.string(), joi.any())
406
409
  }),
407
410
  custom: joi.object().pattern(joi.string(), joi.any()),