payload 3.0.0-alpha.65 → 3.0.0-alpha.67

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 (207) hide show
  1. package/dist/admin/RichText.d.ts +3 -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/Tab.d.ts +3 -0
  5. package/dist/admin/elements/Tab.d.ts.map +1 -1
  6. package/dist/admin/elements/Tab.js.map +1 -1
  7. package/dist/admin/types.d.ts +1 -1
  8. package/dist/admin/types.d.ts.map +1 -1
  9. package/dist/admin/types.js.map +1 -1
  10. package/dist/auth/getAccessResults.js +1 -1
  11. package/dist/auth/getAccessResults.js.map +1 -1
  12. package/dist/auth/operations/forgotPassword.js +3 -2
  13. package/dist/auth/operations/forgotPassword.js.map +1 -1
  14. package/dist/auth/operations/login.d.ts.map +1 -1
  15. package/dist/auth/operations/login.js +3 -0
  16. package/dist/auth/operations/login.js.map +1 -1
  17. package/dist/auth/sendVerificationEmail.js +3 -2
  18. package/dist/auth/sendVerificationEmail.js.map +1 -1
  19. package/dist/bin/loader/index.d.ts.map +1 -1
  20. package/dist/bin/loader/index.js +2 -1
  21. package/dist/bin/loader/index.js.map +1 -1
  22. package/dist/bin/loader/resolveOriginalPath.d.ts +10 -0
  23. package/dist/bin/loader/resolveOriginalPath.d.ts.map +1 -0
  24. package/dist/bin/loader/resolveOriginalPath.js +32 -0
  25. package/dist/bin/loader/resolveOriginalPath.js.map +1 -0
  26. package/dist/collections/config/sanitize.d.ts +2 -3
  27. package/dist/collections/config/sanitize.d.ts.map +1 -1
  28. package/dist/collections/config/sanitize.js +7 -4
  29. package/dist/collections/config/sanitize.js.map +1 -1
  30. package/dist/collections/config/schema.d.ts.map +1 -1
  31. package/dist/collections/config/schema.js +1 -0
  32. package/dist/collections/config/schema.js.map +1 -1
  33. package/dist/config/build.d.ts.map +1 -1
  34. package/dist/config/build.js +3 -4
  35. package/dist/config/build.js.map +1 -1
  36. package/dist/config/sanitize.d.ts +1 -1
  37. package/dist/config/sanitize.d.ts.map +1 -1
  38. package/dist/config/sanitize.js +28 -7
  39. package/dist/config/sanitize.js.map +1 -1
  40. package/dist/config/schema.js +1 -1
  41. package/dist/config/schema.js.map +1 -1
  42. package/dist/config/types.d.ts +11 -2
  43. package/dist/config/types.d.ts.map +1 -1
  44. package/dist/config/types.js.map +1 -1
  45. package/dist/database/queryValidation/validateQueryPaths.js +1 -1
  46. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
  47. package/dist/email/consoleEmailAdapter.d.ts.map +1 -1
  48. package/dist/email/consoleEmailAdapter.js +1 -0
  49. package/dist/email/consoleEmailAdapter.js.map +1 -1
  50. package/dist/email/types.d.ts +1 -0
  51. package/dist/email/types.d.ts.map +1 -1
  52. package/dist/email/types.js.map +1 -1
  53. package/dist/errors/APIError.d.ts +2 -2
  54. package/dist/errors/APIError.d.ts.map +1 -1
  55. package/dist/errors/APIError.js +1 -2
  56. package/dist/errors/APIError.js.map +1 -1
  57. package/dist/errors/AuthenticationError.d.ts +2 -3
  58. package/dist/errors/AuthenticationError.d.ts.map +1 -1
  59. package/dist/errors/AuthenticationError.js +2 -3
  60. package/dist/errors/AuthenticationError.js.map +1 -1
  61. package/dist/errors/DuplicateCollection.d.ts +2 -3
  62. package/dist/errors/DuplicateCollection.d.ts.map +1 -1
  63. package/dist/errors/DuplicateCollection.js +2 -3
  64. package/dist/errors/DuplicateCollection.js.map +1 -1
  65. package/dist/errors/DuplicateFieldName.d.ts +2 -3
  66. package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
  67. package/dist/errors/DuplicateFieldName.js +2 -3
  68. package/dist/errors/DuplicateFieldName.js.map +1 -1
  69. package/dist/errors/DuplicateGlobal.d.ts +2 -3
  70. package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
  71. package/dist/errors/DuplicateGlobal.js +2 -3
  72. package/dist/errors/DuplicateGlobal.js.map +1 -1
  73. package/dist/errors/ErrorDeletingFile.d.ts +2 -3
  74. package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
  75. package/dist/errors/ErrorDeletingFile.js +2 -3
  76. package/dist/errors/ErrorDeletingFile.js.map +1 -1
  77. package/dist/errors/FileRetrievalError.d.ts +6 -0
  78. package/dist/errors/FileRetrievalError.d.ts.map +1 -0
  79. package/dist/errors/FileRetrievalError.js +13 -0
  80. package/dist/errors/FileRetrievalError.js.map +1 -0
  81. package/dist/errors/FileUploadError.d.ts +2 -3
  82. package/dist/errors/FileUploadError.d.ts.map +1 -1
  83. package/dist/errors/FileUploadError.js +2 -3
  84. package/dist/errors/FileUploadError.js.map +1 -1
  85. package/dist/errors/Forbidden.d.ts +2 -3
  86. package/dist/errors/Forbidden.d.ts.map +1 -1
  87. package/dist/errors/Forbidden.js +2 -3
  88. package/dist/errors/Forbidden.js.map +1 -1
  89. package/dist/errors/InvalidConfiguration.d.ts +2 -3
  90. package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
  91. package/dist/errors/InvalidConfiguration.js +2 -3
  92. package/dist/errors/InvalidConfiguration.js.map +1 -1
  93. package/dist/errors/InvalidFieldName.d.ts +2 -3
  94. package/dist/errors/InvalidFieldName.d.ts.map +1 -1
  95. package/dist/errors/InvalidFieldName.js +2 -3
  96. package/dist/errors/InvalidFieldName.js.map +1 -1
  97. package/dist/errors/InvalidFieldRelationship.d.ts +2 -3
  98. package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
  99. package/dist/errors/InvalidFieldRelationship.js +2 -3
  100. package/dist/errors/InvalidFieldRelationship.js.map +1 -1
  101. package/dist/errors/InvalidSchema.d.ts +2 -3
  102. package/dist/errors/InvalidSchema.d.ts.map +1 -1
  103. package/dist/errors/InvalidSchema.js +2 -3
  104. package/dist/errors/InvalidSchema.js.map +1 -1
  105. package/dist/errors/LockedAuth.d.ts +2 -3
  106. package/dist/errors/LockedAuth.d.ts.map +1 -1
  107. package/dist/errors/LockedAuth.js +2 -3
  108. package/dist/errors/LockedAuth.js.map +1 -1
  109. package/dist/errors/MissingCollectionLabel.d.ts +2 -3
  110. package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
  111. package/dist/errors/MissingCollectionLabel.js +2 -3
  112. package/dist/errors/MissingCollectionLabel.js.map +1 -1
  113. package/dist/errors/MissingEditorProp.d.ts +2 -3
  114. package/dist/errors/MissingEditorProp.d.ts.map +1 -1
  115. package/dist/errors/MissingEditorProp.js +2 -3
  116. package/dist/errors/MissingEditorProp.js.map +1 -1
  117. package/dist/errors/MissingFieldInputOptions.d.ts +2 -3
  118. package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
  119. package/dist/errors/MissingFieldInputOptions.js +2 -3
  120. package/dist/errors/MissingFieldInputOptions.js.map +1 -1
  121. package/dist/errors/MissingFieldType.d.ts +2 -3
  122. package/dist/errors/MissingFieldType.d.ts.map +1 -1
  123. package/dist/errors/MissingFieldType.js +2 -3
  124. package/dist/errors/MissingFieldType.js.map +1 -1
  125. package/dist/errors/MissingFile.d.ts +2 -3
  126. package/dist/errors/MissingFile.d.ts.map +1 -1
  127. package/dist/errors/MissingFile.js +2 -3
  128. package/dist/errors/MissingFile.js.map +1 -1
  129. package/dist/errors/NotFound.d.ts +2 -3
  130. package/dist/errors/NotFound.d.ts.map +1 -1
  131. package/dist/errors/NotFound.js +2 -3
  132. package/dist/errors/NotFound.js.map +1 -1
  133. package/dist/errors/QueryError.d.ts +2 -3
  134. package/dist/errors/QueryError.d.ts.map +1 -1
  135. package/dist/errors/QueryError.js +2 -3
  136. package/dist/errors/QueryError.js.map +1 -1
  137. package/dist/errors/TimestampsRequired.d.ts +2 -3
  138. package/dist/errors/TimestampsRequired.d.ts.map +1 -1
  139. package/dist/errors/TimestampsRequired.js +2 -3
  140. package/dist/errors/TimestampsRequired.js.map +1 -1
  141. package/dist/errors/UnathorizedError.d.ts +2 -3
  142. package/dist/errors/UnathorizedError.d.ts.map +1 -1
  143. package/dist/errors/UnathorizedError.js +2 -3
  144. package/dist/errors/UnathorizedError.js.map +1 -1
  145. package/dist/errors/ValidationError.d.ts +2 -3
  146. package/dist/errors/ValidationError.d.ts.map +1 -1
  147. package/dist/errors/ValidationError.js +2 -3
  148. package/dist/errors/ValidationError.js.map +1 -1
  149. package/dist/errors/index.d.ts +20 -19
  150. package/dist/errors/index.d.ts.map +1 -1
  151. package/dist/errors/index.js +20 -19
  152. package/dist/errors/index.js.map +1 -1
  153. package/dist/exports/i18n.d.ts +2 -0
  154. package/dist/exports/i18n.d.ts.map +1 -0
  155. package/dist/exports/i18n.js +3 -0
  156. package/dist/exports/i18n.js.map +1 -0
  157. package/dist/fields/config/client.d.ts +1 -1
  158. package/dist/fields/config/sanitize.d.ts +7 -2
  159. package/dist/fields/config/sanitize.d.ts.map +1 -1
  160. package/dist/fields/config/sanitize.js +56 -45
  161. package/dist/fields/config/sanitize.js.map +1 -1
  162. package/dist/fields/config/sanitize.spec.js +76 -85
  163. package/dist/fields/config/sanitize.spec.js.map +1 -1
  164. package/dist/fields/config/types.d.ts +4 -3
  165. package/dist/fields/config/types.d.ts.map +1 -1
  166. package/dist/fields/config/types.js.map +1 -1
  167. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  168. package/dist/fields/hooks/afterRead/promise.js +3 -0
  169. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  170. package/dist/fields/validations.d.ts.map +1 -1
  171. package/dist/fields/validations.js +3 -0
  172. package/dist/fields/validations.js.map +1 -1
  173. package/dist/globals/config/sanitize.d.ts +2 -3
  174. package/dist/globals/config/sanitize.d.ts.map +1 -1
  175. package/dist/globals/config/sanitize.js +36 -35
  176. package/dist/globals/config/sanitize.js.map +1 -1
  177. package/dist/preferences/operations/delete.js +2 -2
  178. package/dist/preferences/operations/delete.js.map +1 -1
  179. package/dist/preferences/operations/update.js +1 -1
  180. package/dist/preferences/operations/update.js.map +1 -1
  181. package/dist/uploads/generateFileData.js +2 -2
  182. package/dist/uploads/generateFileData.js.map +1 -1
  183. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  184. package/dist/uploads/getExternalFile.js +5 -2
  185. package/dist/uploads/getExternalFile.js.map +1 -1
  186. package/dist/uploads/types.d.ts +4 -0
  187. package/dist/uploads/types.d.ts.map +1 -1
  188. package/dist/uploads/types.js.map +1 -1
  189. package/dist/utilities/checkDuplicateCollections.js +1 -1
  190. package/dist/utilities/checkDuplicateCollections.js.map +1 -1
  191. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  192. package/dist/utilities/configToJSONSchema.js +3 -0
  193. package/dist/utilities/configToJSONSchema.js.map +1 -1
  194. package/dist/utilities/configToJSONSchema.spec.js +2 -2
  195. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  196. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  197. package/dist/utilities/createLocalReq.js +4 -2
  198. package/dist/utilities/createLocalReq.js.map +1 -1
  199. package/dist/utilities/importWithoutClientFiles.js +1 -1
  200. package/dist/utilities/importWithoutClientFiles.js.map +1 -1
  201. package/dist/utilities/parseCookies.js +1 -1
  202. package/dist/utilities/parseCookies.js.map +1 -1
  203. package/dist/utilities/telemetry/index.d.ts +7 -1
  204. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  205. package/dist/utilities/telemetry/index.js +41 -19
  206. package/dist/utilities/telemetry/index.js.map +1 -1
  207. package/package.json +67 -70
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/sanitize.ts"],"sourcesContent":["import merge from 'deepmerge'\n\nimport type { Config } 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 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 { authDefaults, defaults } from './defaults.js'\n\nconst sanitizeCollection = (\n config: Config,\n collection: CollectionConfig,\n): SanitizedCollectionConfig => {\n // /////////////////////////////////\n // Make copy of collection config\n // /////////////////////////////////\n\n const sanitized: CollectionConfig = merge(defaults, collection, {\n isMergeableObject: isPlainObject,\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 }\n }\n\n if (sanitized.versions.drafts.autosave === true) {\n sanitized.versions.drafts.autosave = {\n interval: 2000,\n }\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 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 // /////////////////////////////////\n // Sanitize fields\n // /////////////////////////////////\n\n const validRelationships = config.collections.map((c) => c.slug) || []\n sanitized.fields = sanitizeFields({\n config,\n fields: sanitized.fields,\n validRelationships,\n })\n\n return sanitized as SanitizedCollectionConfig\n}\n\nexport default sanitizeCollection\n"],"names":["merge","baseAccountLockFields","baseAPIKeyFields","baseAuthFields","baseVerificationFields","TimestampsRequired","sanitizeFields","fieldAffectsData","mergeBaseFields","getBaseUploadFields","formatLabels","isPlainObject","baseVersionFields","authDefaults","defaults","sanitizeCollection","config","collection","sanitized","isMergeableObject","timestamps","hasUpdatedAt","hasCreatedAt","fields","some","field","name","push","type","admin","disableBulkEdit","hidden","label","t","index","labels","slug","versions","drafts","autosave","interval","upload","disableDuplicate","staticDir","useAsTitle","uploadFields","auth","authFields","useAPIKey","concat","disableLocalStrategy","verify","maxLoginAttempts","strategies","validRelationships","collections","map","c"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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 baseAccountLockFields from '../../auth/baseFields/accountLock.js'\nimport baseAPIKeyFields from '../../auth/baseFields/apiKey.js'\nimport baseAuthFields from '../../auth/baseFields/auth.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 { 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 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 }\n }\n\n if (sanitized.versions.drafts.autosave === true) {\n sanitized.versions.drafts.autosave = {\n interval: 2000,\n }\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 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 // /////////////////////////////////\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 return sanitized as SanitizedCollectionConfig\n}\n"],"names":["merge","baseAccountLockFields","baseAPIKeyFields","baseAuthFields","baseVerificationFields","TimestampsRequired","sanitizeFields","fieldAffectsData","mergeBaseFields","getBaseUploadFields","formatLabels","isPlainObject","baseVersionFields","authDefaults","defaults","sanitizeCollection","config","collection","richTextSanitizationPromises","sanitized","isMergeableObject","timestamps","hasUpdatedAt","hasCreatedAt","fields","some","field","name","push","type","admin","disableBulkEdit","hidden","label","t","index","labels","slug","versions","drafts","autosave","interval","upload","disableDuplicate","staticDir","useAsTitle","uploadFields","auth","authFields","useAPIKey","concat","disableLocalStrategy","verify","maxLoginAttempts","strategies","validRelationships","collections","map","c"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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;AAcrB,QAAA,MAAM,gBAAgB,uBAgNpB,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;AAcrB,QAAA,MAAM,gBAAgB,uBAiNpB,CAAA;AAEF,eAAe,gBAAgB,CAAA"}
@@ -127,6 +127,7 @@ const collectionSchema = joi.object().keys({
127
127
  interface: joi.string()
128
128
  }),
129
129
  upload: joi.alternatives().try(joi.object({
130
+ adapter: joi.string(),
130
131
  adminThumbnail: joi.alternatives().try(joi.string(), componentSchema),
131
132
  crop: joi.bool(),
132
133
  disableLocalStorage: joi.bool(),
@@ -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'\n\nconst strategyBaseSchema = joi.object().keys({\n logout: joi.boolean(),\n refresh: joi.boolean(),\n})\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 PreviewButton: componentSchema,\n PublishButton: componentSchema,\n SaveButton: componentSchema,\n SaveDraftButton: 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.alternatives().try(joi.string(), componentSchema),\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 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 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 }),\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 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 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 staticOptions: joi.object(),\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 }),\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","strategyBaseSchema","object","keys","logout","boolean","refresh","collectionSchema","slug","string","required","access","admin","func","create","delete","read","readVersions","unlock","update","components","AfterList","array","items","AfterListTable","BeforeList","BeforeListTable","edit","PreviewButton","PublishButton","SaveButton","SaveDraftButton","views","Edit","alternatives","try","API","Default","LivePreview","Version","Versions","List","Component","actions","custom","pattern","any","defaultColumns","description","enableRichTextLink","enableRichTextRelationship","group","hidden","hideAPIURL","bool","listSearchableFields","livePreview","pagination","defaultLimit","number","limits","preview","useAsTitle","auth","cookies","domain","sameSite","secure","depth","disableLocalStrategy","valid","forgotPassword","generateEmailHTML","generateEmailSubject","lockTime","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","labels","plural","singular","timestamps","typescript","interface","upload","adminThumbnail","crop","disableLocalStorage","externalFileHeaderFilter","filesRequiredOnCreate","focalPoint","formatOptions","format","options","handlers","imageSizes","height","integer","allow","width","unknown","mimeTypes","resizeOptions","background","fastShrinkOnLoad","fit","kernel","position","withoutEnlargement","staticDir","staticOptions","tempFileDir","trimOptions","useTempFiles","versions","drafts","autosave","interval","maxPerDoc"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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'\n\nconst strategyBaseSchema = joi.object().keys({\n logout: joi.boolean(),\n refresh: joi.boolean(),\n})\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 PreviewButton: componentSchema,\n PublishButton: componentSchema,\n SaveButton: componentSchema,\n SaveDraftButton: 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.alternatives().try(joi.string(), componentSchema),\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 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 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 }),\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 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 staticOptions: joi.object(),\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 }),\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","strategyBaseSchema","object","keys","logout","boolean","refresh","collectionSchema","slug","string","required","access","admin","func","create","delete","read","readVersions","unlock","update","components","AfterList","array","items","AfterListTable","BeforeList","BeforeListTable","edit","PreviewButton","PublishButton","SaveButton","SaveDraftButton","views","Edit","alternatives","try","API","Default","LivePreview","Version","Versions","List","Component","actions","custom","pattern","any","defaultColumns","description","enableRichTextLink","enableRichTextRelationship","group","hidden","hideAPIURL","bool","listSearchableFields","livePreview","pagination","defaultLimit","number","limits","preview","useAsTitle","auth","cookies","domain","sameSite","secure","depth","disableLocalStrategy","valid","forgotPassword","generateEmailHTML","generateEmailSubject","lockTime","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","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","resizeOptions","background","fastShrinkOnLoad","fit","kernel","position","withoutEnlargement","staticDir","staticOptions","tempFileDir","trimOptions","useTempFiles","versions","drafts","autosave","interval","maxPerDoc"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/config/build.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAIzD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAa1E"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/config/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAIzD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAW1E"}
@@ -1,4 +1,4 @@
1
- /* eslint-disable no-use-before-define */ /* eslint-disable no-nested-ternary */ import { sanitizeConfig } from './sanitize.js';
1
+ import { sanitizeConfig } from './sanitize.js';
2
2
  /**
3
3
  * @description Builds and validates Payload configuration
4
4
  * @param config Payload Config
@@ -9,10 +9,9 @@
9
9
  const configAfterPlugin = await acc;
10
10
  return plugin(configAfterPlugin);
11
11
  }, Promise.resolve(config));
12
- const sanitizedConfig = sanitizeConfig(configAfterPlugins);
13
- return sanitizedConfig;
12
+ return await sanitizeConfig(configAfterPlugins);
14
13
  }
15
- return sanitizeConfig(config);
14
+ return await sanitizeConfig(config);
16
15
  }
17
16
 
18
17
  //# sourceMappingURL=build.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config/build.ts"],"sourcesContent":["/* eslint-disable no-use-before-define */\n/* eslint-disable no-nested-ternary */\nimport type { Config, SanitizedConfig } from './types.js'\n\nimport { sanitizeConfig } from './sanitize.js'\n\n/**\n * @description Builds and validates Payload configuration\n * @param config Payload Config\n * @returns Built and sanitized Payload Config\n */\nexport async function buildConfig(config: Config): Promise<SanitizedConfig> {\n if (Array.isArray(config.plugins)) {\n const configAfterPlugins = await config.plugins.reduce(async (acc, plugin) => {\n const configAfterPlugin = await acc\n return plugin(configAfterPlugin)\n }, Promise.resolve(config))\n\n const sanitizedConfig = sanitizeConfig(configAfterPlugins)\n\n return sanitizedConfig\n }\n\n return sanitizeConfig(config)\n}\n"],"names":["sanitizeConfig","buildConfig","config","Array","isArray","plugins","configAfterPlugins","reduce","acc","plugin","configAfterPlugin","Promise","resolve","sanitizedConfig"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAAA,uCAAuC,GACvC,oCAAoC,GAGpC,SAASA,cAAc,QAAQ,gBAAe;AAE9C;;;;CAIC,GACD,OAAO,eAAeC,YAAYC,MAAc;IAC9C,IAAIC,MAAMC,OAAO,CAACF,OAAOG,OAAO,GAAG;QACjC,MAAMC,qBAAqB,MAAMJ,OAAOG,OAAO,CAACE,MAAM,CAAC,OAAOC,KAAKC;YACjE,MAAMC,oBAAoB,MAAMF;YAChC,OAAOC,OAAOC;QAChB,GAAGC,QAAQC,OAAO,CAACV;QAEnB,MAAMW,kBAAkBb,eAAeM;QAEvC,OAAOO;IACT;IAEA,OAAOb,eAAeE;AACxB"}
1
+ {"version":3,"sources":["../../src/config/build.ts"],"sourcesContent":["import type { Config, SanitizedConfig } from './types.js'\n\nimport { sanitizeConfig } from './sanitize.js'\n\n/**\n * @description Builds and validates Payload configuration\n * @param config Payload Config\n * @returns Built and sanitized Payload Config\n */\nexport async function buildConfig(config: Config): Promise<SanitizedConfig> {\n if (Array.isArray(config.plugins)) {\n const configAfterPlugins = await config.plugins.reduce(async (acc, plugin) => {\n const configAfterPlugin = await acc\n return plugin(configAfterPlugin)\n }, Promise.resolve(config))\n\n return await sanitizeConfig(configAfterPlugins)\n }\n\n return await sanitizeConfig(config)\n}\n"],"names":["sanitizeConfig","buildConfig","config","Array","isArray","plugins","configAfterPlugins","reduce","acc","plugin","configAfterPlugin","Promise","resolve"],"rangeMappings":";;;;;;;;;;;;;;","mappings":"AAEA,SAASA,cAAc,QAAQ,gBAAe;AAE9C;;;;CAIC,GACD,OAAO,eAAeC,YAAYC,MAAc;IAC9C,IAAIC,MAAMC,OAAO,CAACF,OAAOG,OAAO,GAAG;QACjC,MAAMC,qBAAqB,MAAMJ,OAAOG,OAAO,CAACE,MAAM,CAAC,OAAOC,KAAKC;YACjE,MAAMC,oBAAoB,MAAMF;YAChC,OAAOC,OAAOC;QAChB,GAAGC,QAAQC,OAAO,CAACV;QAEnB,OAAO,MAAMF,eAAeM;IAC9B;IAEA,OAAO,MAAMN,eAAeE;AAC9B"}
@@ -1,3 +1,3 @@
1
1
  import type { Config, SanitizedConfig } from './types.js';
2
- export declare const sanitizeConfig: (incomingConfig: Config) => SanitizedConfig;
2
+ export declare const sanitizeConfig: (incomingConfig: Config) => Promise<SanitizedConfig>;
3
3
  //# sourceMappingURL=sanitize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/config/sanitize.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,MAAM,EAGN,eAAe,EAChB,MAAM,YAAY,CAAA;AAmCnB,eAAO,MAAM,cAAc,mBAAoB,MAAM,KAAG,eAsEvD,CAAA"}
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/config/sanitize.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,MAAM,EAGN,eAAe,EAChB,MAAM,YAAY,CAAA;AAsCnB,eAAO,MAAM,cAAc,mBAA0B,MAAM,KAAG,QAAQ,eAAe,CAoGpF,CAAA"}
@@ -1,10 +1,10 @@
1
1
  import { en } from '@payloadcms/translations/languages/en';
2
2
  import merge from 'deepmerge';
3
3
  import { defaultUserCollection } from '../auth/defaultUser.js';
4
- import sanitizeCollection from '../collections/config/sanitize.js';
4
+ import { sanitizeCollection } from '../collections/config/sanitize.js';
5
5
  import { migrationsCollection } from '../database/migrations/migrationsCollection.js';
6
6
  import { InvalidConfiguration } from '../errors/index.js';
7
- import sanitizeGlobals from '../globals/config/sanitize.js';
7
+ import { sanitizeGlobals } from '../globals/config/sanitize.js';
8
8
  import getPreferencesCollection from '../preferences/preferencesCollection.js';
9
9
  import checkDuplicateCollections from '../utilities/checkDuplicateCollections.js';
10
10
  import { isPlainObject } from '../utilities/isPlainObject.js';
@@ -23,12 +23,13 @@ const sanitizeAdminConfig = (configToSanitize)=>{
23
23
  sanitizedConfig.collections.push(defaultUserCollection);
24
24
  }
25
25
  }
26
- if (!sanitizedConfig.collections.find(({ slug })=>slug === sanitizedConfig.admin.user)) {
26
+ const userCollection = sanitizedConfig.collections.find(({ slug })=>slug === sanitizedConfig.admin.user);
27
+ if (!userCollection || !userCollection.auth) {
27
28
  throw new InvalidConfiguration(`${sanitizedConfig.admin.user} is not a valid admin user collection`);
28
29
  }
29
30
  return sanitizedConfig;
30
31
  };
31
- export const sanitizeConfig = (incomingConfig)=>{
32
+ export const sanitizeConfig = async (incomingConfig)=>{
32
33
  const configWithDefaults = merge(defaults, incomingConfig, {
33
34
  isMergeableObject: isPlainObject
34
35
  });
@@ -70,16 +71,36 @@ export const sanitizeConfig = (incomingConfig)=>{
70
71
  translations: {},
71
72
  ...incomingConfig?.i18n ?? {}
72
73
  };
73
- configWithDefaults.collections.push(getPreferencesCollection(configWithDefaults));
74
+ configWithDefaults.collections.push(getPreferencesCollection(config));
74
75
  configWithDefaults.collections.push(migrationsCollection);
75
- config.collections = config.collections.map((collection)=>sanitizeCollection(configWithDefaults, collection));
76
+ const richTextSanitizationPromises = [];
77
+ for(let i = 0; i < config.collections.length; i++){
78
+ config.collections[i] = await sanitizeCollection(config, config.collections[i], richTextSanitizationPromises);
79
+ }
76
80
  checkDuplicateCollections(config.collections);
77
81
  if (config.globals.length > 0) {
78
- config.globals = sanitizeGlobals(config);
82
+ config.globals = await sanitizeGlobals(config, richTextSanitizationPromises);
79
83
  }
80
84
  if (config.serverURL !== '') {
81
85
  config.csrf.push(config.serverURL);
82
86
  }
87
+ // Get deduped list of upload adapters
88
+ if (!config.upload) config.upload = {
89
+ adapters: []
90
+ };
91
+ config.upload.adapters = Array.from(new Set(config.collections.map((c)=>c.upload?.adapter).filter(Boolean)));
92
+ /*
93
+ Execute richText sanitization
94
+ */ if (typeof incomingConfig.editor === 'function') {
95
+ config.editor = await incomingConfig.editor({
96
+ config: config
97
+ });
98
+ }
99
+ const promises = [];
100
+ for (const sanitizeFunction of richTextSanitizationPromises){
101
+ promises.push(sanitizeFunction(config));
102
+ }
103
+ await Promise.all(promises);
83
104
  return config;
84
105
  };
85
106
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config/sanitize.ts"],"sourcesContent":["import { en } from '@payloadcms/translations/languages/en'\nimport merge from 'deepmerge'\n\nimport type {\n Config,\n LocalizationConfigWithLabels,\n LocalizationConfigWithNoLabels,\n SanitizedConfig,\n} from './types.js'\n\nimport { defaultUserCollection } from '../auth/defaultUser.js'\nimport sanitizeCollection from '../collections/config/sanitize.js'\nimport { migrationsCollection } from '../database/migrations/migrationsCollection.js'\nimport { InvalidConfiguration } from '../errors/index.js'\nimport sanitizeGlobals from '../globals/config/sanitize.js'\nimport getPreferencesCollection from '../preferences/preferencesCollection.js'\nimport checkDuplicateCollections from '../utilities/checkDuplicateCollections.js'\nimport { isPlainObject } from '../utilities/isPlainObject.js'\nimport { defaults } from './defaults.js'\n\nconst sanitizeAdminConfig = (configToSanitize: Config): Partial<SanitizedConfig> => {\n const sanitizedConfig = { ...configToSanitize }\n\n // add default user collection if none provided\n if (!sanitizedConfig?.admin?.user) {\n const firstCollectionWithAuth = sanitizedConfig.collections.find(({ auth }) => Boolean(auth))\n if (firstCollectionWithAuth) {\n sanitizedConfig.admin.user = firstCollectionWithAuth.slug\n } else {\n sanitizedConfig.admin.user = defaultUserCollection.slug\n sanitizedConfig.collections.push(defaultUserCollection)\n }\n }\n\n if (!sanitizedConfig.collections.find(({ slug }) => slug === sanitizedConfig.admin.user)) {\n throw new InvalidConfiguration(\n `${sanitizedConfig.admin.user} is not a valid admin user collection`,\n )\n }\n\n return sanitizedConfig as Partial<SanitizedConfig>\n}\n\nexport const sanitizeConfig = (incomingConfig: Config): SanitizedConfig => {\n const configWithDefaults: Config = merge(defaults, incomingConfig, {\n isMergeableObject: isPlainObject,\n }) as Config\n\n if (!configWithDefaults?.serverURL) {\n configWithDefaults.serverURL = ''\n }\n\n const config: Partial<SanitizedConfig> = sanitizeAdminConfig(configWithDefaults)\n\n if (config.localization && config.localization.locales?.length > 0) {\n // clone localization config so to not break everything\n const firstLocale = config.localization.locales[0]\n if (typeof firstLocale === 'string') {\n config.localization.localeCodes = [\n ...(config.localization as unknown as LocalizationConfigWithNoLabels).locales,\n ]\n\n // is string[], so convert to Locale[]\n config.localization.locales = (\n config.localization as unknown as LocalizationConfigWithNoLabels\n ).locales.map((locale) => ({\n code: locale,\n label: locale,\n rtl: false,\n toString: () => locale,\n }))\n } else {\n // is Locale[], so convert to string[] for localeCodes\n config.localization.localeCodes = config.localization.locales.reduce((locales, locale) => {\n locales.push(locale.code)\n return locales\n }, [] as string[])\n\n config.localization.locales = (\n config.localization as LocalizationConfigWithLabels\n ).locales.map((locale) => ({\n ...locale,\n toString: () => locale.code,\n }))\n }\n }\n\n config.i18n = {\n fallbackLanguage: 'en',\n supportedLanguages: {\n en,\n },\n translations: {},\n ...(incomingConfig?.i18n ?? {}),\n }\n\n configWithDefaults.collections.push(getPreferencesCollection(configWithDefaults))\n configWithDefaults.collections.push(migrationsCollection)\n\n config.collections = config.collections.map((collection) =>\n sanitizeCollection(configWithDefaults, collection),\n )\n checkDuplicateCollections(config.collections)\n\n if (config.globals.length > 0) {\n config.globals = sanitizeGlobals(config as SanitizedConfig)\n }\n\n if (config.serverURL !== '') {\n config.csrf.push(config.serverURL)\n }\n\n return config as SanitizedConfig\n}\n"],"names":["en","merge","defaultUserCollection","sanitizeCollection","migrationsCollection","InvalidConfiguration","sanitizeGlobals","getPreferencesCollection","checkDuplicateCollections","isPlainObject","defaults","sanitizeAdminConfig","configToSanitize","sanitizedConfig","admin","user","firstCollectionWithAuth","collections","find","auth","Boolean","slug","push","sanitizeConfig","incomingConfig","configWithDefaults","isMergeableObject","serverURL","config","localization","locales","length","firstLocale","localeCodes","map","locale","code","label","rtl","toString","reduce","i18n","fallbackLanguage","supportedLanguages","translations","collection","globals","csrf"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../src/config/sanitize.ts"],"sourcesContent":["import { en } from '@payloadcms/translations/languages/en'\nimport merge from 'deepmerge'\n\nimport type {\n Config,\n LocalizationConfigWithLabels,\n LocalizationConfigWithNoLabels,\n SanitizedConfig,\n} from './types.js'\n\nimport { defaultUserCollection } from '../auth/defaultUser.js'\nimport { sanitizeCollection } from '../collections/config/sanitize.js'\nimport { migrationsCollection } from '../database/migrations/migrationsCollection.js'\nimport { InvalidConfiguration } from '../errors/index.js'\nimport { sanitizeGlobals } from '../globals/config/sanitize.js'\nimport getPreferencesCollection from '../preferences/preferencesCollection.js'\nimport checkDuplicateCollections from '../utilities/checkDuplicateCollections.js'\nimport { isPlainObject } from '../utilities/isPlainObject.js'\nimport { defaults } from './defaults.js'\n\nconst sanitizeAdminConfig = (configToSanitize: Config): Partial<SanitizedConfig> => {\n const sanitizedConfig = { ...configToSanitize }\n\n // add default user collection if none provided\n if (!sanitizedConfig?.admin?.user) {\n const firstCollectionWithAuth = sanitizedConfig.collections.find(({ auth }) => Boolean(auth))\n if (firstCollectionWithAuth) {\n sanitizedConfig.admin.user = firstCollectionWithAuth.slug\n } else {\n sanitizedConfig.admin.user = defaultUserCollection.slug\n sanitizedConfig.collections.push(defaultUserCollection)\n }\n }\n\n const userCollection = sanitizedConfig.collections.find(\n ({ slug }) => slug === sanitizedConfig.admin.user,\n )\n if (!userCollection || !userCollection.auth) {\n throw new InvalidConfiguration(\n `${sanitizedConfig.admin.user} is not a valid admin user collection`,\n )\n }\n\n return sanitizedConfig as unknown as Partial<SanitizedConfig>\n}\n\nexport const sanitizeConfig = async (incomingConfig: Config): Promise<SanitizedConfig> => {\n const configWithDefaults: Config = merge(defaults, incomingConfig, {\n isMergeableObject: isPlainObject,\n }) as Config\n\n if (!configWithDefaults?.serverURL) {\n configWithDefaults.serverURL = ''\n }\n\n const config: Partial<SanitizedConfig> = sanitizeAdminConfig(configWithDefaults)\n\n if (config.localization && config.localization.locales?.length > 0) {\n // clone localization config so to not break everything\n const firstLocale = config.localization.locales[0]\n if (typeof firstLocale === 'string') {\n config.localization.localeCodes = [\n ...(config.localization as unknown as LocalizationConfigWithNoLabels).locales,\n ]\n\n // is string[], so convert to Locale[]\n config.localization.locales = (\n config.localization as unknown as LocalizationConfigWithNoLabels\n ).locales.map((locale) => ({\n code: locale,\n label: locale,\n rtl: false,\n toString: () => locale,\n }))\n } else {\n // is Locale[], so convert to string[] for localeCodes\n config.localization.localeCodes = config.localization.locales.reduce((locales, locale) => {\n locales.push(locale.code)\n return locales\n }, [] as string[])\n\n config.localization.locales = (\n config.localization as LocalizationConfigWithLabels\n ).locales.map((locale) => ({\n ...locale,\n toString: () => locale.code,\n }))\n }\n }\n\n config.i18n = {\n fallbackLanguage: 'en',\n supportedLanguages: {\n en,\n },\n translations: {},\n ...(incomingConfig?.i18n ?? {}),\n }\n\n configWithDefaults.collections.push(getPreferencesCollection(config as unknown as Config))\n configWithDefaults.collections.push(migrationsCollection)\n\n const richTextSanitizationPromises: Array<(config: SanitizedConfig) => Promise<void>> = []\n for (let i = 0; i < config.collections.length; i++) {\n config.collections[i] = await sanitizeCollection(\n config as unknown as Config,\n config.collections[i],\n richTextSanitizationPromises,\n )\n }\n\n checkDuplicateCollections(config.collections)\n\n if (config.globals.length > 0) {\n config.globals = await sanitizeGlobals(\n config as unknown as Config,\n richTextSanitizationPromises,\n )\n }\n\n if (config.serverURL !== '') {\n config.csrf.push(config.serverURL)\n }\n\n // Get deduped list of upload adapters\n if (!config.upload) config.upload = { adapters: [] }\n config.upload.adapters = Array.from(\n new Set(config.collections.map((c) => c.upload?.adapter).filter(Boolean)),\n )\n\n /*\n Execute richText sanitization\n */\n if (typeof incomingConfig.editor === 'function') {\n config.editor = await incomingConfig.editor({\n config: config as SanitizedConfig,\n })\n }\n\n const promises: Promise<void>[] = []\n for (const sanitizeFunction of richTextSanitizationPromises) {\n promises.push(sanitizeFunction(config as SanitizedConfig))\n }\n await Promise.all(promises)\n\n return config as SanitizedConfig\n}\n"],"names":["en","merge","defaultUserCollection","sanitizeCollection","migrationsCollection","InvalidConfiguration","sanitizeGlobals","getPreferencesCollection","checkDuplicateCollections","isPlainObject","defaults","sanitizeAdminConfig","configToSanitize","sanitizedConfig","admin","user","firstCollectionWithAuth","collections","find","auth","Boolean","slug","push","userCollection","sanitizeConfig","incomingConfig","configWithDefaults","isMergeableObject","serverURL","config","localization","locales","length","firstLocale","localeCodes","map","locale","code","label","rtl","toString","reduce","i18n","fallbackLanguage","supportedLanguages","translations","richTextSanitizationPromises","i","globals","csrf","upload","adapters","Array","from","Set","c","adapter","filter","editor","promises","sanitizeFunction","Promise","all"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -81,7 +81,7 @@ export default joi.object({
81
81
  populationPromise: joi.func().optional(),
82
82
  validate: joi.func().required()
83
83
  }).unknown(),
84
- email: joi.object(),
84
+ email: joi.alternatives().try(joi.object(), joi.func()),
85
85
  endpoints: endpointsSchema,
86
86
  globals: joi.array(),
87
87
  graphQL: joi.object().keys({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config/schema.ts"],"sourcesContent":["import joi from 'joi'\n\nimport { adminViewSchema } from './shared/adminViewSchema.js'\nimport { componentSchema, livePreviewSchema } from './shared/componentSchema.js'\n\nconst component = joi.alternatives().try(joi.object().unknown(), joi.func())\n\nexport const endpointsSchema = joi.alternatives().try(\n joi.array().items(\n joi.object({\n custom: joi.object().pattern(joi.string(), joi.any()),\n handler: joi.alternatives().try(joi.array().items(joi.func()), joi.func()),\n method: joi\n .string()\n .valid('get', 'head', 'post', 'put', 'patch', 'delete', 'connect', 'options'),\n path: joi.string(),\n root: joi.bool(),\n }),\n ),\n joi.boolean(),\n)\n\nexport default joi.object({\n admin: joi.object({\n autoLogin: joi.alternatives().try(\n joi.object().keys({\n email: joi.string(),\n password: joi.string(),\n prefillOnly: joi.boolean(),\n }),\n joi.boolean(),\n ),\n avatar: joi.alternatives().try(joi.string(), component),\n buildPath: joi.string(),\n components: joi.object().keys({\n Nav: component,\n actions: joi.array().items(component),\n afterDashboard: joi.array().items(component),\n afterLogin: joi.array().items(component),\n afterNavLinks: joi.array().items(component),\n beforeDashboard: joi.array().items(component),\n beforeLogin: joi.array().items(component),\n beforeNavLinks: joi.array().items(component),\n graphics: joi.object({\n Icon: component,\n Logo: component,\n }),\n logout: joi.object({\n Button: component,\n }),\n providers: joi.array().items(component),\n views: joi.alternatives().try(\n joi.object({\n Account: joi.alternatives().try(component, adminViewSchema),\n Dashboard: joi.alternatives().try(component, adminViewSchema),\n }),\n joi.object().pattern(joi.string(), component),\n ),\n }),\n custom: joi.object().pattern(joi.string(), joi.any()),\n dateFormat: joi.string(),\n disable: joi.bool(),\n inactivityRoute: joi.string(),\n livePreview: joi.object({\n ...livePreviewSchema,\n collections: joi.array().items(joi.string()),\n globals: joi.array().items(joi.string()),\n }),\n logoutRoute: joi.string(),\n meta: joi.object().keys({\n favicon: joi.string(),\n ogImage: joi.string(),\n titleSuffix: joi.string(),\n }),\n user: joi.string(),\n }),\n bin: joi.array().items(\n joi.object().keys({\n key: joi.string(),\n scriptPath: joi.string(),\n }),\n ),\n collections: joi.array(),\n cookiePrefix: joi.string(),\n cors: [joi.string().valid('*'), joi.array().items(joi.string())],\n csrf: joi.array().items(joi.string().allow('')).sparse(),\n custom: joi.object().pattern(joi.string(), joi.any()),\n db: joi.any(),\n debug: joi.boolean(),\n defaultDepth: joi.number().min(0).max(30),\n defaultMaxTextLength: joi.number(),\n editor: joi\n .object()\n .required()\n .keys({\n CellComponent: componentSchema.optional(),\n FieldComponent: componentSchema.optional(),\n afterReadPromise: joi.func().optional(),\n outputSchema: joi.func().optional(),\n populationPromise: joi.func().optional(),\n validate: joi.func().required(),\n })\n .unknown(),\n email: joi.object(),\n endpoints: endpointsSchema,\n globals: joi.array(),\n graphQL: joi.object().keys({\n disable: joi.boolean(),\n disablePlaygroundInProduction: joi.boolean(),\n maxComplexity: joi.number(),\n mutations: joi.function(),\n queries: joi.function(),\n }),\n hooks: joi.object().keys({\n afterError: joi.func(),\n }),\n i18n: joi.object(),\n indexSortableFields: joi.boolean(),\n local: joi.boolean(),\n localization: joi.alternatives().try(\n joi.object().keys({\n defaultLocale: joi.string(),\n fallback: joi.boolean(),\n localeCodes: joi.array().items(joi.string()),\n locales: joi.alternatives().try(\n joi.array().items(\n joi.object().keys({\n code: joi.string(),\n fallbackLocale: joi.string(),\n label: joi\n .alternatives()\n .try(\n joi.object().pattern(joi.string(), [joi.string()]),\n joi.string(),\n joi.valid(false),\n ),\n rtl: joi.boolean(),\n toString: joi.func(),\n }),\n ),\n joi.array().items(joi.string()),\n ),\n }),\n joi.boolean(),\n ),\n maxDepth: joi.number().min(0).max(100),\n onInit: joi.func(),\n plugins: joi.array().items(joi.func()),\n routes: joi.object({\n admin: joi.string(),\n api: joi.string(),\n graphQL: joi.string(),\n graphQLPlayground: joi.string(),\n }),\n secret: joi.string(),\n serverURL: joi\n .string()\n .uri()\n .allow('')\n .custom((value, helper) => {\n const urlWithoutProtocol = value.split('//')[1]\n\n if (!urlWithoutProtocol) {\n return helper.message({\n custom: 'You need to include either \"https://\" or \"http://\" in your serverURL.',\n })\n }\n\n if (urlWithoutProtocol.indexOf('/') > -1) {\n return helper.message({\n custom:\n 'Your serverURL cannot have a path. It can only contain a protocol, a domain, and an optional port.',\n })\n }\n\n return value\n }),\n sharp: joi.any(),\n telemetry: joi.boolean(),\n typescript: joi.object({\n declare: joi.boolean(),\n outputFile: joi.string(),\n }),\n upload: joi.object(),\n})\n"],"names":["joi","adminViewSchema","componentSchema","livePreviewSchema","component","alternatives","try","object","unknown","func","endpointsSchema","array","items","custom","pattern","string","any","handler","method","valid","path","root","bool","boolean","admin","autoLogin","keys","email","password","prefillOnly","avatar","buildPath","components","Nav","actions","afterDashboard","afterLogin","afterNavLinks","beforeDashboard","beforeLogin","beforeNavLinks","graphics","Icon","Logo","logout","Button","providers","views","Account","Dashboard","dateFormat","disable","inactivityRoute","livePreview","collections","globals","logoutRoute","meta","favicon","ogImage","titleSuffix","user","bin","key","scriptPath","cookiePrefix","cors","csrf","allow","sparse","db","debug","defaultDepth","number","min","max","defaultMaxTextLength","editor","required","CellComponent","optional","FieldComponent","afterReadPromise","outputSchema","populationPromise","validate","endpoints","graphQL","disablePlaygroundInProduction","maxComplexity","mutations","function","queries","hooks","afterError","i18n","indexSortableFields","local","localization","defaultLocale","fallback","localeCodes","locales","code","fallbackLocale","label","rtl","toString","maxDepth","onInit","plugins","routes","api","graphQLPlayground","secret","serverURL","uri","value","helper","urlWithoutProtocol","split","message","indexOf","sharp","telemetry","typescript","declare","outputFile","upload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../src/config/schema.ts"],"sourcesContent":["import joi from 'joi'\n\nimport { adminViewSchema } from './shared/adminViewSchema.js'\nimport { componentSchema, livePreviewSchema } from './shared/componentSchema.js'\n\nconst component = joi.alternatives().try(joi.object().unknown(), joi.func())\n\nexport const endpointsSchema = joi.alternatives().try(\n joi.array().items(\n joi.object({\n custom: joi.object().pattern(joi.string(), joi.any()),\n handler: joi.alternatives().try(joi.array().items(joi.func()), joi.func()),\n method: joi\n .string()\n .valid('get', 'head', 'post', 'put', 'patch', 'delete', 'connect', 'options'),\n path: joi.string(),\n root: joi.bool(),\n }),\n ),\n joi.boolean(),\n)\n\nexport default joi.object({\n admin: joi.object({\n autoLogin: joi.alternatives().try(\n joi.object().keys({\n email: joi.string(),\n password: joi.string(),\n prefillOnly: joi.boolean(),\n }),\n joi.boolean(),\n ),\n avatar: joi.alternatives().try(joi.string(), component),\n buildPath: joi.string(),\n components: joi.object().keys({\n Nav: component,\n actions: joi.array().items(component),\n afterDashboard: joi.array().items(component),\n afterLogin: joi.array().items(component),\n afterNavLinks: joi.array().items(component),\n beforeDashboard: joi.array().items(component),\n beforeLogin: joi.array().items(component),\n beforeNavLinks: joi.array().items(component),\n graphics: joi.object({\n Icon: component,\n Logo: component,\n }),\n logout: joi.object({\n Button: component,\n }),\n providers: joi.array().items(component),\n views: joi.alternatives().try(\n joi.object({\n Account: joi.alternatives().try(component, adminViewSchema),\n Dashboard: joi.alternatives().try(component, adminViewSchema),\n }),\n joi.object().pattern(joi.string(), component),\n ),\n }),\n custom: joi.object().pattern(joi.string(), joi.any()),\n dateFormat: joi.string(),\n disable: joi.bool(),\n inactivityRoute: joi.string(),\n livePreview: joi.object({\n ...livePreviewSchema,\n collections: joi.array().items(joi.string()),\n globals: joi.array().items(joi.string()),\n }),\n logoutRoute: joi.string(),\n meta: joi.object().keys({\n favicon: joi.string(),\n ogImage: joi.string(),\n titleSuffix: joi.string(),\n }),\n user: joi.string(),\n }),\n bin: joi.array().items(\n joi.object().keys({\n key: joi.string(),\n scriptPath: joi.string(),\n }),\n ),\n collections: joi.array(),\n cookiePrefix: joi.string(),\n cors: [joi.string().valid('*'), joi.array().items(joi.string())],\n csrf: joi.array().items(joi.string().allow('')).sparse(),\n custom: joi.object().pattern(joi.string(), joi.any()),\n db: joi.any(),\n debug: joi.boolean(),\n defaultDepth: joi.number().min(0).max(30),\n defaultMaxTextLength: joi.number(),\n editor: joi\n .object()\n .required()\n .keys({\n CellComponent: componentSchema.optional(),\n FieldComponent: componentSchema.optional(),\n afterReadPromise: joi.func().optional(),\n outputSchema: joi.func().optional(),\n populationPromise: joi.func().optional(),\n validate: joi.func().required(),\n })\n .unknown(),\n email: joi.alternatives().try(joi.object(), joi.func()),\n endpoints: endpointsSchema,\n globals: joi.array(),\n graphQL: joi.object().keys({\n disable: joi.boolean(),\n disablePlaygroundInProduction: joi.boolean(),\n maxComplexity: joi.number(),\n mutations: joi.function(),\n queries: joi.function(),\n }),\n hooks: joi.object().keys({\n afterError: joi.func(),\n }),\n i18n: joi.object(),\n indexSortableFields: joi.boolean(),\n local: joi.boolean(),\n localization: joi.alternatives().try(\n joi.object().keys({\n defaultLocale: joi.string(),\n fallback: joi.boolean(),\n localeCodes: joi.array().items(joi.string()),\n locales: joi.alternatives().try(\n joi.array().items(\n joi.object().keys({\n code: joi.string(),\n fallbackLocale: joi.string(),\n label: joi\n .alternatives()\n .try(\n joi.object().pattern(joi.string(), [joi.string()]),\n joi.string(),\n joi.valid(false),\n ),\n rtl: joi.boolean(),\n toString: joi.func(),\n }),\n ),\n joi.array().items(joi.string()),\n ),\n }),\n joi.boolean(),\n ),\n maxDepth: joi.number().min(0).max(100),\n onInit: joi.func(),\n plugins: joi.array().items(joi.func()),\n routes: joi.object({\n admin: joi.string(),\n api: joi.string(),\n graphQL: joi.string(),\n graphQLPlayground: joi.string(),\n }),\n secret: joi.string(),\n serverURL: joi\n .string()\n .uri()\n .allow('')\n .custom((value, helper) => {\n const urlWithoutProtocol = value.split('//')[1]\n\n if (!urlWithoutProtocol) {\n return helper.message({\n custom: 'You need to include either \"https://\" or \"http://\" in your serverURL.',\n })\n }\n\n if (urlWithoutProtocol.indexOf('/') > -1) {\n return helper.message({\n custom:\n 'Your serverURL cannot have a path. It can only contain a protocol, a domain, and an optional port.',\n })\n }\n\n return value\n }),\n sharp: joi.any(),\n telemetry: joi.boolean(),\n typescript: joi.object({\n declare: joi.boolean(),\n outputFile: joi.string(),\n }),\n upload: joi.object(),\n})\n"],"names":["joi","adminViewSchema","componentSchema","livePreviewSchema","component","alternatives","try","object","unknown","func","endpointsSchema","array","items","custom","pattern","string","any","handler","method","valid","path","root","bool","boolean","admin","autoLogin","keys","email","password","prefillOnly","avatar","buildPath","components","Nav","actions","afterDashboard","afterLogin","afterNavLinks","beforeDashboard","beforeLogin","beforeNavLinks","graphics","Icon","Logo","logout","Button","providers","views","Account","Dashboard","dateFormat","disable","inactivityRoute","livePreview","collections","globals","logoutRoute","meta","favicon","ogImage","titleSuffix","user","bin","key","scriptPath","cookiePrefix","cors","csrf","allow","sparse","db","debug","defaultDepth","number","min","max","defaultMaxTextLength","editor","required","CellComponent","optional","FieldComponent","afterReadPromise","outputSchema","populationPromise","validate","endpoints","graphQL","disablePlaygroundInProduction","maxComplexity","mutations","function","queries","hooks","afterError","i18n","indexSortableFields","local","localization","defaultLocale","fallback","localeCodes","locales","code","fallbackLocale","label","rtl","toString","maxDepth","onInit","plugins","routes","api","graphQLPlayground","secret","serverURL","uri","value","helper","urlWithoutProtocol","split","message","indexOf","sharp","telemetry","typescript","declare","outputFile","upload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,SAAS,MAAK;AAErB,SAASC,eAAe,QAAQ,8BAA6B;AAC7D,SAASC,eAAe,EAAEC,iBAAiB,QAAQ,8BAA6B;AAEhF,MAAMC,YAAYJ,IAAIK,YAAY,GAAGC,GAAG,CAACN,IAAIO,MAAM,GAAGC,OAAO,IAAIR,IAAIS,IAAI;AAEzE,OAAO,MAAMC,kBAAkBV,IAAIK,YAAY,GAAGC,GAAG,CACnDN,IAAIW,KAAK,GAAGC,KAAK,CACfZ,IAAIO,MAAM,CAAC;IACTM,QAAQb,IAAIO,MAAM,GAAGO,OAAO,CAACd,IAAIe,MAAM,IAAIf,IAAIgB,GAAG;IAClDC,SAASjB,IAAIK,YAAY,GAAGC,GAAG,CAACN,IAAIW,KAAK,GAAGC,KAAK,CAACZ,IAAIS,IAAI,KAAKT,IAAIS,IAAI;IACvES,QAAQlB,IACLe,MAAM,GACNI,KAAK,CAAC,OAAO,QAAQ,QAAQ,OAAO,SAAS,UAAU,WAAW;IACrEC,MAAMpB,IAAIe,MAAM;IAChBM,MAAMrB,IAAIsB,IAAI;AAChB,KAEFtB,IAAIuB,OAAO,IACZ;AAED,eAAevB,IAAIO,MAAM,CAAC;IACxBiB,OAAOxB,IAAIO,MAAM,CAAC;QAChBkB,WAAWzB,IAAIK,YAAY,GAAGC,GAAG,CAC/BN,IAAIO,MAAM,GAAGmB,IAAI,CAAC;YAChBC,OAAO3B,IAAIe,MAAM;YACjBa,UAAU5B,IAAIe,MAAM;YACpBc,aAAa7B,IAAIuB,OAAO;QAC1B,IACAvB,IAAIuB,OAAO;QAEbO,QAAQ9B,IAAIK,YAAY,GAAGC,GAAG,CAACN,IAAIe,MAAM,IAAIX;QAC7C2B,WAAW/B,IAAIe,MAAM;QACrBiB,YAAYhC,IAAIO,MAAM,GAAGmB,IAAI,CAAC;YAC5BO,KAAK7B;YACL8B,SAASlC,IAAIW,KAAK,GAAGC,KAAK,CAACR;YAC3B+B,gBAAgBnC,IAAIW,KAAK,GAAGC,KAAK,CAACR;YAClCgC,YAAYpC,IAAIW,KAAK,GAAGC,KAAK,CAACR;YAC9BiC,eAAerC,IAAIW,KAAK,GAAGC,KAAK,CAACR;YACjCkC,iBAAiBtC,IAAIW,KAAK,GAAGC,KAAK,CAACR;YACnCmC,aAAavC,IAAIW,KAAK,GAAGC,KAAK,CAACR;YAC/BoC,gBAAgBxC,IAAIW,KAAK,GAAGC,KAAK,CAACR;YAClCqC,UAAUzC,IAAIO,MAAM,CAAC;gBACnBmC,MAAMtC;gBACNuC,MAAMvC;YACR;YACAwC,QAAQ5C,IAAIO,MAAM,CAAC;gBACjBsC,QAAQzC;YACV;YACA0C,WAAW9C,IAAIW,KAAK,GAAGC,KAAK,CAACR;YAC7B2C,OAAO/C,IAAIK,YAAY,GAAGC,GAAG,CAC3BN,IAAIO,MAAM,CAAC;gBACTyC,SAAShD,IAAIK,YAAY,GAAGC,GAAG,CAACF,WAAWH;gBAC3CgD,WAAWjD,IAAIK,YAAY,GAAGC,GAAG,CAACF,WAAWH;YAC/C,IACAD,IAAIO,MAAM,GAAGO,OAAO,CAACd,IAAIe,MAAM,IAAIX;QAEvC;QACAS,QAAQb,IAAIO,MAAM,GAAGO,OAAO,CAACd,IAAIe,MAAM,IAAIf,IAAIgB,GAAG;QAClDkC,YAAYlD,IAAIe,MAAM;QACtBoC,SAASnD,IAAIsB,IAAI;QACjB8B,iBAAiBpD,IAAIe,MAAM;QAC3BsC,aAAarD,IAAIO,MAAM,CAAC;YACtB,GAAGJ,iBAAiB;YACpBmD,aAAatD,IAAIW,KAAK,GAAGC,KAAK,CAACZ,IAAIe,MAAM;YACzCwC,SAASvD,IAAIW,KAAK,GAAGC,KAAK,CAACZ,IAAIe,MAAM;QACvC;QACAyC,aAAaxD,IAAIe,MAAM;QACvB0C,MAAMzD,IAAIO,MAAM,GAAGmB,IAAI,CAAC;YACtBgC,SAAS1D,IAAIe,MAAM;YACnB4C,SAAS3D,IAAIe,MAAM;YACnB6C,aAAa5D,IAAIe,MAAM;QACzB;QACA8C,MAAM7D,IAAIe,MAAM;IAClB;IACA+C,KAAK9D,IAAIW,KAAK,GAAGC,KAAK,CACpBZ,IAAIO,MAAM,GAAGmB,IAAI,CAAC;QAChBqC,KAAK/D,IAAIe,MAAM;QACfiD,YAAYhE,IAAIe,MAAM;IACxB;IAEFuC,aAAatD,IAAIW,KAAK;IACtBsD,cAAcjE,IAAIe,MAAM;IACxBmD,MAAM;QAAClE,IAAIe,MAAM,GAAGI,KAAK,CAAC;QAAMnB,IAAIW,KAAK,GAAGC,KAAK,CAACZ,IAAIe,MAAM;KAAI;IAChEoD,MAAMnE,IAAIW,KAAK,GAAGC,KAAK,CAACZ,IAAIe,MAAM,GAAGqD,KAAK,CAAC,KAAKC,MAAM;IACtDxD,QAAQb,IAAIO,MAAM,GAAGO,OAAO,CAACd,IAAIe,MAAM,IAAIf,IAAIgB,GAAG;IAClDsD,IAAItE,IAAIgB,GAAG;IACXuD,OAAOvE,IAAIuB,OAAO;IAClBiD,cAAcxE,IAAIyE,MAAM,GAAGC,GAAG,CAAC,GAAGC,GAAG,CAAC;IACtCC,sBAAsB5E,IAAIyE,MAAM;IAChCI,QAAQ7E,IACLO,MAAM,GACNuE,QAAQ,GACRpD,IAAI,CAAC;QACJqD,eAAe7E,gBAAgB8E,QAAQ;QACvCC,gBAAgB/E,gBAAgB8E,QAAQ;QACxCE,kBAAkBlF,IAAIS,IAAI,GAAGuE,QAAQ;QACrCG,cAAcnF,IAAIS,IAAI,GAAGuE,QAAQ;QACjCI,mBAAmBpF,IAAIS,IAAI,GAAGuE,QAAQ;QACtCK,UAAUrF,IAAIS,IAAI,GAAGqE,QAAQ;IAC/B,GACCtE,OAAO;IACVmB,OAAO3B,IAAIK,YAAY,GAAGC,GAAG,CAACN,IAAIO,MAAM,IAAIP,IAAIS,IAAI;IACpD6E,WAAW5E;IACX6C,SAASvD,IAAIW,KAAK;IAClB4E,SAASvF,IAAIO,MAAM,GAAGmB,IAAI,CAAC;QACzByB,SAASnD,IAAIuB,OAAO;QACpBiE,+BAA+BxF,IAAIuB,OAAO;QAC1CkE,eAAezF,IAAIyE,MAAM;QACzBiB,WAAW1F,IAAI2F,QAAQ;QACvBC,SAAS5F,IAAI2F,QAAQ;IACvB;IACAE,OAAO7F,IAAIO,MAAM,GAAGmB,IAAI,CAAC;QACvBoE,YAAY9F,IAAIS,IAAI;IACtB;IACAsF,MAAM/F,IAAIO,MAAM;IAChByF,qBAAqBhG,IAAIuB,OAAO;IAChC0E,OAAOjG,IAAIuB,OAAO;IAClB2E,cAAclG,IAAIK,YAAY,GAAGC,GAAG,CAClCN,IAAIO,MAAM,GAAGmB,IAAI,CAAC;QAChByE,eAAenG,IAAIe,MAAM;QACzBqF,UAAUpG,IAAIuB,OAAO;QACrB8E,aAAarG,IAAIW,KAAK,GAAGC,KAAK,CAACZ,IAAIe,MAAM;QACzCuF,SAAStG,IAAIK,YAAY,GAAGC,GAAG,CAC7BN,IAAIW,KAAK,GAAGC,KAAK,CACfZ,IAAIO,MAAM,GAAGmB,IAAI,CAAC;YAChB6E,MAAMvG,IAAIe,MAAM;YAChByF,gBAAgBxG,IAAIe,MAAM;YAC1B0F,OAAOzG,IACJK,YAAY,GACZC,GAAG,CACFN,IAAIO,MAAM,GAAGO,OAAO,CAACd,IAAIe,MAAM,IAAI;gBAACf,IAAIe,MAAM;aAAG,GACjDf,IAAIe,MAAM,IACVf,IAAImB,KAAK,CAAC;YAEduF,KAAK1G,IAAIuB,OAAO;YAChBoF,UAAU3G,IAAIS,IAAI;QACpB,KAEFT,IAAIW,KAAK,GAAGC,KAAK,CAACZ,IAAIe,MAAM;IAEhC,IACAf,IAAIuB,OAAO;IAEbqF,UAAU5G,IAAIyE,MAAM,GAAGC,GAAG,CAAC,GAAGC,GAAG,CAAC;IAClCkC,QAAQ7G,IAAIS,IAAI;IAChBqG,SAAS9G,IAAIW,KAAK,GAAGC,KAAK,CAACZ,IAAIS,IAAI;IACnCsG,QAAQ/G,IAAIO,MAAM,CAAC;QACjBiB,OAAOxB,IAAIe,MAAM;QACjBiG,KAAKhH,IAAIe,MAAM;QACfwE,SAASvF,IAAIe,MAAM;QACnBkG,mBAAmBjH,IAAIe,MAAM;IAC/B;IACAmG,QAAQlH,IAAIe,MAAM;IAClBoG,WAAWnH,IACRe,MAAM,GACNqG,GAAG,GACHhD,KAAK,CAAC,IACNvD,MAAM,CAAC,CAACwG,OAAOC;QACd,MAAMC,qBAAqBF,MAAMG,KAAK,CAAC,KAAK,CAAC,EAAE;QAE/C,IAAI,CAACD,oBAAoB;YACvB,OAAOD,OAAOG,OAAO,CAAC;gBACpB5G,QAAQ;YACV;QACF;QAEA,IAAI0G,mBAAmBG,OAAO,CAAC,OAAO,CAAC,GAAG;YACxC,OAAOJ,OAAOG,OAAO,CAAC;gBACpB5G,QACE;YACJ;QACF;QAEA,OAAOwG;IACT;IACFM,OAAO3H,IAAIgB,GAAG;IACd4G,WAAW5H,IAAIuB,OAAO;IACtBsG,YAAY7H,IAAIO,MAAM,CAAC;QACrBuH,SAAS9H,IAAIuB,OAAO;QACpBwG,YAAY/H,IAAIe,MAAM;IACxB;IACAiH,QAAQhI,IAAIO,MAAM;AACpB,GAAE"}
@@ -6,6 +6,7 @@ import type { DestinationStream, LoggerOptions } from 'pino';
6
6
  import type React from 'react';
7
7
  import type { default as sharp } from 'sharp';
8
8
  import type { DeepRequired } from 'ts-essentials';
9
+ import type { RichTextAdapterProvider } from '../admin/RichText.js';
9
10
  import type { DocumentTab, RichTextAdapter } from '../admin/types.js';
10
11
  import type { AdminView, ServerSideEditViewProps } from '../admin/views/types.js';
11
12
  import type { User } from '../auth/types.js';
@@ -451,7 +452,7 @@ export type Config = {
451
452
  */
452
453
  defaultMaxTextLength?: number;
453
454
  /** Default richtext editor to use for richText fields */
454
- editor: RichTextAdapter<any, any, any>;
455
+ editor: RichTextAdapterProvider<any, any, any>;
455
456
  /**
456
457
  * Email Adapter
457
458
  *
@@ -561,8 +562,10 @@ export type Config = {
561
562
  */
562
563
  upload?: ExpressFileUploadOptions;
563
564
  };
564
- export type SanitizedConfig = Omit<DeepRequired<Config>, 'collections' | 'endpoint' | 'globals' | 'i18n' | 'localization'> & {
565
+ export type SanitizedConfig = Omit<DeepRequired<Config>, 'collections' | 'editor' | 'endpoint' | 'globals' | 'i18n' | 'localization' | 'upload'> & {
565
566
  collections: SanitizedCollectionConfig[];
567
+ /** Default richtext editor to use for richText fields */
568
+ editor: RichTextAdapter<any, any, any>;
566
569
  endpoints: Endpoint[];
567
570
  globals: SanitizedGlobalConfig[];
568
571
  i18n: Required<I18nOptions>;
@@ -572,6 +575,12 @@ export type SanitizedConfig = Omit<DeepRequired<Config>, 'collections' | 'endpoi
572
575
  configDir: string;
573
576
  rawConfig: string;
574
577
  };
578
+ upload: ExpressFileUploadOptions & {
579
+ /**
580
+ * Deduped list of adapters used in the project
581
+ */
582
+ adapters: string[];
583
+ };
575
584
  };
576
585
  export type EditConfig = ({
577
586
  /**
@@ -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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"}