payload 3.0.0-alpha.60 → 3.0.0-alpha.62

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 (706) hide show
  1. package/dist/admin/RichText.d.ts +5 -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/Cell.js.map +1 -1
  5. package/dist/admin/elements/DatePicker.js.map +1 -1
  6. package/dist/admin/elements/PreviewButton.d.ts +2 -1
  7. package/dist/admin/elements/PreviewButton.d.ts.map +1 -1
  8. package/dist/admin/elements/PreviewButton.js.map +1 -1
  9. package/dist/admin/elements/PublishButton.d.ts +2 -1
  10. package/dist/admin/elements/PublishButton.d.ts.map +1 -1
  11. package/dist/admin/elements/PublishButton.js.map +1 -1
  12. package/dist/admin/elements/SaveButton.d.ts +2 -1
  13. package/dist/admin/elements/SaveButton.d.ts.map +1 -1
  14. package/dist/admin/elements/SaveButton.js.map +1 -1
  15. package/dist/admin/elements/SaveDraftButton.d.ts +2 -1
  16. package/dist/admin/elements/SaveDraftButton.d.ts.map +1 -1
  17. package/dist/admin/elements/SaveDraftButton.js.map +1 -1
  18. package/dist/admin/elements/Tab.js.map +1 -1
  19. package/dist/admin/elements/WithServerSideProps.d.ts +5 -0
  20. package/dist/admin/elements/WithServerSideProps.d.ts.map +1 -0
  21. package/dist/admin/elements/WithServerSideProps.js +3 -0
  22. package/dist/admin/elements/WithServerSideProps.js.map +1 -0
  23. package/dist/admin/forms/Error.js.map +1 -1
  24. package/dist/admin/forms/FieldDescription.d.ts +5 -2
  25. package/dist/admin/forms/FieldDescription.d.ts.map +1 -1
  26. package/dist/admin/forms/FieldDescription.js.map +1 -1
  27. package/dist/admin/forms/FieldTypes.js.map +1 -1
  28. package/dist/admin/forms/Form.js.map +1 -1
  29. package/dist/admin/forms/Label.d.ts +2 -1
  30. package/dist/admin/forms/Label.d.ts.map +1 -1
  31. package/dist/admin/forms/Label.js.map +1 -1
  32. package/dist/admin/forms/RowLabel.d.ts +2 -1
  33. package/dist/admin/forms/RowLabel.d.ts.map +1 -1
  34. package/dist/admin/forms/RowLabel.js.map +1 -1
  35. package/dist/admin/types.d.ts +1 -0
  36. package/dist/admin/types.d.ts.map +1 -1
  37. package/dist/admin/types.js.map +1 -1
  38. package/dist/admin/views/types.d.ts +2 -2
  39. package/dist/admin/views/types.d.ts.map +1 -1
  40. package/dist/admin/views/types.js.map +1 -1
  41. package/dist/assets/assets.d.js.map +1 -1
  42. package/dist/auth/baseFields/accountLock.js.map +1 -1
  43. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  44. package/dist/auth/baseFields/apiKey.js +3 -7
  45. package/dist/auth/baseFields/apiKey.js.map +1 -1
  46. package/dist/auth/baseFields/auth.d.ts.map +1 -1
  47. package/dist/auth/baseFields/auth.js +1 -5
  48. package/dist/auth/baseFields/auth.js.map +1 -1
  49. package/dist/auth/baseFields/verification.d.ts.map +1 -1
  50. package/dist/auth/baseFields/verification.js +1 -5
  51. package/dist/auth/baseFields/verification.js.map +1 -1
  52. package/dist/auth/cookies.d.ts +16 -4
  53. package/dist/auth/cookies.d.ts.map +1 -1
  54. package/dist/auth/cookies.js +45 -14
  55. package/dist/auth/cookies.js.map +1 -1
  56. package/dist/auth/crypto.js.map +1 -1
  57. package/dist/auth/defaultAccess.js.map +1 -1
  58. package/dist/auth/defaultUser.d.ts.map +1 -1
  59. package/dist/auth/defaultUser.js +2 -7
  60. package/dist/auth/defaultUser.js.map +1 -1
  61. package/dist/auth/executeAccess.js.map +1 -1
  62. package/dist/auth/executeAuthStrategies.d.ts +3 -2
  63. package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
  64. package/dist/auth/executeAuthStrategies.js.map +1 -1
  65. package/dist/auth/extractJWT.js.map +1 -1
  66. package/dist/auth/getAccessResults.js.map +1 -1
  67. package/dist/auth/getFieldsToSign.d.ts +2 -2
  68. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  69. package/dist/auth/getFieldsToSign.js.map +1 -1
  70. package/dist/auth/index.js.map +1 -1
  71. package/dist/auth/isLocked.js.map +1 -1
  72. package/dist/auth/operations/access.js.map +1 -1
  73. package/dist/auth/operations/auth.d.ts +5 -4
  74. package/dist/auth/operations/auth.d.ts.map +1 -1
  75. package/dist/auth/operations/auth.js.map +1 -1
  76. package/dist/auth/operations/forgotPassword.js +3 -3
  77. package/dist/auth/operations/forgotPassword.js.map +1 -1
  78. package/dist/auth/operations/init.js.map +1 -1
  79. package/dist/auth/operations/local/auth.js +1 -1
  80. package/dist/auth/operations/local/auth.js.map +1 -1
  81. package/dist/auth/operations/local/forgotPassword.js.map +1 -1
  82. package/dist/auth/operations/local/index.js.map +1 -1
  83. package/dist/auth/operations/local/login.js.map +1 -1
  84. package/dist/auth/operations/local/resetPassword.js.map +1 -1
  85. package/dist/auth/operations/local/unlock.js.map +1 -1
  86. package/dist/auth/operations/local/verifyEmail.js.map +1 -1
  87. package/dist/auth/operations/login.d.ts.map +1 -1
  88. package/dist/auth/operations/login.js +17 -1
  89. package/dist/auth/operations/login.js.map +1 -1
  90. package/dist/auth/operations/logout.js.map +1 -1
  91. package/dist/auth/operations/me.js.map +1 -1
  92. package/dist/auth/operations/refresh.js.map +1 -1
  93. package/dist/auth/operations/registerFirstUser.js.map +1 -1
  94. package/dist/auth/operations/resetPassword.js.map +1 -1
  95. package/dist/auth/operations/unlock.js.map +1 -1
  96. package/dist/auth/operations/verifyEmail.js.map +1 -1
  97. package/dist/auth/sendVerificationEmail.d.ts +5 -6
  98. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  99. package/dist/auth/sendVerificationEmail.js +4 -5
  100. package/dist/auth/sendVerificationEmail.js.map +1 -1
  101. package/dist/auth/strategies/apiKey.js.map +1 -1
  102. package/dist/auth/strategies/jwt.js.map +1 -1
  103. package/dist/auth/strategies/local/authenticate.js.map +1 -1
  104. package/dist/auth/strategies/local/generatePasswordSaltHash.js.map +1 -1
  105. package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
  106. package/dist/auth/strategies/local/register.js.map +1 -1
  107. package/dist/auth/strategies/local/resetLoginAttempts.js.map +1 -1
  108. package/dist/auth/types.js.map +1 -1
  109. package/dist/bin/generateTypes.js.map +1 -1
  110. package/dist/bin/index.js.map +1 -1
  111. package/dist/bin/loadEnv.js.map +1 -1
  112. package/dist/bin/loader/clientExtensions.js.map +1 -1
  113. package/dist/bin/loader/compile.js.map +1 -1
  114. package/dist/bin/loader/index.d.ts.map +1 -1
  115. package/dist/bin/loader/index.js +4 -1
  116. package/dist/bin/loader/index.js.map +1 -1
  117. package/dist/bin/loader/read-default-tsconfig.js.map +1 -1
  118. package/dist/bin/migrate.js.map +1 -1
  119. package/dist/collections/config/build.js.map +1 -1
  120. package/dist/collections/config/client.d.ts +26 -16
  121. package/dist/collections/config/client.d.ts.map +1 -1
  122. package/dist/collections/config/client.js +21 -4
  123. package/dist/collections/config/client.js.map +1 -1
  124. package/dist/collections/config/defaults.d.ts +1 -0
  125. package/dist/collections/config/defaults.d.ts.map +1 -1
  126. package/dist/collections/config/defaults.js +1 -0
  127. package/dist/collections/config/defaults.js.map +1 -1
  128. package/dist/collections/config/sanitize.d.ts.map +1 -1
  129. package/dist/collections/config/sanitize.js +2 -7
  130. package/dist/collections/config/sanitize.js.map +1 -1
  131. package/dist/collections/config/schema.d.ts.map +1 -1
  132. package/dist/collections/config/schema.js +4 -2
  133. package/dist/collections/config/schema.js.map +1 -1
  134. package/dist/collections/config/types.d.ts +14 -10
  135. package/dist/collections/config/types.d.ts.map +1 -1
  136. package/dist/collections/config/types.js.map +1 -1
  137. package/dist/collections/dataloader.d.ts.map +1 -1
  138. package/dist/collections/dataloader.js +3 -5
  139. package/dist/collections/dataloader.js.map +1 -1
  140. package/dist/collections/operations/count.d.ts +13 -0
  141. package/dist/collections/operations/count.d.ts.map +1 -0
  142. package/dist/collections/operations/count.js +75 -0
  143. package/dist/collections/operations/count.js.map +1 -0
  144. package/dist/collections/operations/create.d.ts.map +1 -1
  145. package/dist/collections/operations/create.js +4 -8
  146. package/dist/collections/operations/create.js.map +1 -1
  147. package/dist/collections/operations/delete.js.map +1 -1
  148. package/dist/collections/operations/deleteByID.js.map +1 -1
  149. package/dist/collections/operations/docAccess.js.map +1 -1
  150. package/dist/collections/operations/duplicate.js.map +1 -1
  151. package/dist/collections/operations/find.js.map +1 -1
  152. package/dist/collections/operations/findByID.js.map +1 -1
  153. package/dist/collections/operations/findVersionByID.js.map +1 -1
  154. package/dist/collections/operations/findVersions.js.map +1 -1
  155. package/dist/collections/operations/local/count.d.ts +20 -0
  156. package/dist/collections/operations/local/count.d.ts.map +1 -0
  157. package/dist/collections/operations/local/count.js +19 -0
  158. package/dist/collections/operations/local/count.js.map +1 -0
  159. package/dist/collections/operations/local/create.d.ts +2 -2
  160. package/dist/collections/operations/local/create.d.ts.map +1 -1
  161. package/dist/collections/operations/local/create.js +2 -1
  162. package/dist/collections/operations/local/create.js.map +1 -1
  163. package/dist/collections/operations/local/delete.d.ts +2 -2
  164. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  165. package/dist/collections/operations/local/delete.js.map +1 -1
  166. package/dist/collections/operations/local/duplicate.d.ts +2 -2
  167. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  168. package/dist/collections/operations/local/duplicate.js +1 -1
  169. package/dist/collections/operations/local/duplicate.js.map +1 -1
  170. package/dist/collections/operations/local/find.d.ts +2 -2
  171. package/dist/collections/operations/local/find.d.ts.map +1 -1
  172. package/dist/collections/operations/local/find.js.map +1 -1
  173. package/dist/collections/operations/local/findByID.d.ts +2 -2
  174. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  175. package/dist/collections/operations/local/findByID.js.map +1 -1
  176. package/dist/collections/operations/local/findVersionByID.d.ts +2 -2
  177. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  178. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  179. package/dist/collections/operations/local/findVersions.d.ts +2 -2
  180. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  181. package/dist/collections/operations/local/findVersions.js.map +1 -1
  182. package/dist/collections/operations/local/index.d.ts +2 -0
  183. package/dist/collections/operations/local/index.d.ts.map +1 -1
  184. package/dist/collections/operations/local/index.js +2 -0
  185. package/dist/collections/operations/local/index.js.map +1 -1
  186. package/dist/collections/operations/local/restoreVersion.d.ts +2 -2
  187. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  188. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  189. package/dist/collections/operations/local/update.d.ts +2 -2
  190. package/dist/collections/operations/local/update.d.ts.map +1 -1
  191. package/dist/collections/operations/local/update.js.map +1 -1
  192. package/dist/collections/operations/restoreVersion.js.map +1 -1
  193. package/dist/collections/operations/update.d.ts.map +1 -1
  194. package/dist/collections/operations/update.js +2 -2
  195. package/dist/collections/operations/update.js.map +1 -1
  196. package/dist/collections/operations/updateByID.js +1 -1
  197. package/dist/collections/operations/updateByID.js.map +1 -1
  198. package/dist/collections/operations/utils.d.ts +6 -0
  199. package/dist/collections/operations/utils.d.ts.map +1 -1
  200. package/dist/collections/operations/utils.js.map +1 -1
  201. package/dist/config/build.js.map +1 -1
  202. package/dist/config/client.d.ts +7 -2
  203. package/dist/config/client.d.ts.map +1 -1
  204. package/dist/config/client.js +11 -5
  205. package/dist/config/client.js.map +1 -1
  206. package/dist/config/defaults.d.ts.map +1 -1
  207. package/dist/config/defaults.js +1 -0
  208. package/dist/config/defaults.js.map +1 -1
  209. package/dist/config/find.d.ts.map +1 -1
  210. package/dist/config/find.js +20 -9
  211. package/dist/config/find.js.map +1 -1
  212. package/dist/config/sanitize.d.ts.map +1 -1
  213. package/dist/config/sanitize.js +5 -3
  214. package/dist/config/sanitize.js.map +1 -1
  215. package/dist/config/schema.d.ts.map +1 -1
  216. package/dist/config/schema.js +1 -0
  217. package/dist/config/schema.js.map +1 -1
  218. package/dist/config/shared/adminViewSchema.js.map +1 -1
  219. package/dist/config/shared/componentSchema.js.map +1 -1
  220. package/dist/config/types.d.ts +33 -52
  221. package/dist/config/types.d.ts.map +1 -1
  222. package/dist/config/types.js +3 -12
  223. package/dist/config/types.js.map +1 -1
  224. package/dist/config/validate.js.map +1 -1
  225. package/dist/database/combineQueries.js.map +1 -1
  226. package/dist/database/createDatabaseAdapter.js.map +1 -1
  227. package/dist/database/flattenWhereToOperators.js.map +1 -1
  228. package/dist/database/getLocalizedPaths.js.map +1 -1
  229. package/dist/database/migrations/createMigration.js.map +1 -1
  230. package/dist/database/migrations/getMigrations.js.map +1 -1
  231. package/dist/database/migrations/migrate.js.map +1 -1
  232. package/dist/database/migrations/migrateDown.js.map +1 -1
  233. package/dist/database/migrations/migrateRefresh.js.map +1 -1
  234. package/dist/database/migrations/migrateReset.js.map +1 -1
  235. package/dist/database/migrations/migrateStatus.js.map +1 -1
  236. package/dist/database/migrations/migrationTemplate.js.map +1 -1
  237. package/dist/database/migrations/migrationsCollection.js.map +1 -1
  238. package/dist/database/migrations/readMigrationFiles.js.map +1 -1
  239. package/dist/database/queryValidation/types.js.map +1 -1
  240. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
  241. package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
  242. package/dist/database/types.d.ts +10 -0
  243. package/dist/database/types.d.ts.map +1 -1
  244. package/dist/database/types.js.map +1 -1
  245. package/dist/email/consoleEmailAdapter.d.ts +3 -0
  246. package/dist/email/consoleEmailAdapter.d.ts.map +1 -0
  247. package/dist/email/consoleEmailAdapter.js +16 -0
  248. package/dist/email/consoleEmailAdapter.js.map +1 -0
  249. package/dist/email/defaults.d.ts +2 -2
  250. package/dist/email/defaults.d.ts.map +1 -1
  251. package/dist/email/defaults.js +3 -3
  252. package/dist/email/defaults.js.map +1 -1
  253. package/dist/email/getStringifiedToAddress.d.ts +3 -0
  254. package/dist/email/getStringifiedToAddress.d.ts.map +1 -0
  255. package/dist/email/getStringifiedToAddress.js +20 -0
  256. package/dist/email/getStringifiedToAddress.js.map +1 -0
  257. package/dist/email/sendEmail.d.ts +3 -2
  258. package/dist/email/sendEmail.d.ts.map +1 -1
  259. package/dist/email/sendEmail.js +8 -4
  260. package/dist/email/sendEmail.js.map +1 -1
  261. package/dist/email/types.d.ts +25 -18
  262. package/dist/email/types.d.ts.map +1 -1
  263. package/dist/email/types.js +5 -1
  264. package/dist/email/types.js.map +1 -1
  265. package/dist/errors/APIError.js.map +1 -1
  266. package/dist/errors/AuthenticationError.js +2 -2
  267. package/dist/errors/AuthenticationError.js.map +1 -1
  268. package/dist/errors/DuplicateCollection.js.map +1 -1
  269. package/dist/errors/DuplicateFieldName.js.map +1 -1
  270. package/dist/errors/DuplicateGlobal.js.map +1 -1
  271. package/dist/errors/ErrorDeletingFile.js +2 -2
  272. package/dist/errors/ErrorDeletingFile.js.map +1 -1
  273. package/dist/errors/FileUploadError.js +2 -2
  274. package/dist/errors/FileUploadError.js.map +1 -1
  275. package/dist/errors/Forbidden.js +2 -2
  276. package/dist/errors/Forbidden.js.map +1 -1
  277. package/dist/errors/InvalidConfiguration.js.map +1 -1
  278. package/dist/errors/InvalidFieldName.js.map +1 -1
  279. package/dist/errors/InvalidFieldRelationship.js.map +1 -1
  280. package/dist/errors/InvalidSchema.js.map +1 -1
  281. package/dist/errors/LockedAuth.js +2 -2
  282. package/dist/errors/LockedAuth.js.map +1 -1
  283. package/dist/errors/MissingCollectionLabel.js.map +1 -1
  284. package/dist/errors/MissingEditorProp.js.map +1 -1
  285. package/dist/errors/MissingFieldInputOptions.js.map +1 -1
  286. package/dist/errors/MissingFieldType.js.map +1 -1
  287. package/dist/errors/MissingFile.js +2 -2
  288. package/dist/errors/MissingFile.js.map +1 -1
  289. package/dist/errors/NotFound.js +2 -2
  290. package/dist/errors/NotFound.js.map +1 -1
  291. package/dist/errors/QueryError.js.map +1 -1
  292. package/dist/errors/TimestampsRequired.js.map +1 -1
  293. package/dist/errors/UnathorizedError.js +2 -2
  294. package/dist/errors/UnathorizedError.js.map +1 -1
  295. package/dist/errors/ValidationError.js +2 -2
  296. package/dist/errors/ValidationError.js.map +1 -1
  297. package/dist/errors/index.js.map +1 -1
  298. package/dist/errors/types.js.map +1 -1
  299. package/dist/exports/auth.d.ts +1 -0
  300. package/dist/exports/auth.d.ts.map +1 -1
  301. package/dist/exports/auth.js +1 -0
  302. package/dist/exports/auth.js.map +1 -1
  303. package/dist/exports/components/utilities.js.map +1 -1
  304. package/dist/exports/config.js.map +1 -1
  305. package/dist/exports/database.d.ts +1 -1
  306. package/dist/exports/database.d.ts.map +1 -1
  307. package/dist/exports/database.js.map +1 -1
  308. package/dist/exports/errors.js.map +1 -1
  309. package/dist/exports/fields/index.js.map +1 -1
  310. package/dist/exports/fields/validations.js.map +1 -1
  311. package/dist/exports/i18n/ar.d.ts +2 -0
  312. package/dist/exports/i18n/ar.d.ts.map +1 -0
  313. package/dist/exports/i18n/ar.js +3 -0
  314. package/dist/exports/i18n/ar.js.map +1 -0
  315. package/dist/exports/i18n/az.d.ts +2 -0
  316. package/dist/exports/i18n/az.d.ts.map +1 -0
  317. package/dist/exports/i18n/az.js +3 -0
  318. package/dist/exports/i18n/az.js.map +1 -0
  319. package/dist/exports/i18n/bg.d.ts +2 -0
  320. package/dist/exports/i18n/bg.d.ts.map +1 -0
  321. package/dist/exports/i18n/bg.js +3 -0
  322. package/dist/exports/i18n/bg.js.map +1 -0
  323. package/dist/exports/i18n/cs.d.ts +2 -0
  324. package/dist/exports/i18n/cs.d.ts.map +1 -0
  325. package/dist/exports/i18n/cs.js +3 -0
  326. package/dist/exports/i18n/cs.js.map +1 -0
  327. package/dist/exports/i18n/de.d.ts +2 -0
  328. package/dist/exports/i18n/de.d.ts.map +1 -0
  329. package/dist/exports/i18n/de.js +3 -0
  330. package/dist/exports/i18n/de.js.map +1 -0
  331. package/dist/exports/i18n/en.d.ts +2 -0
  332. package/dist/exports/i18n/en.d.ts.map +1 -0
  333. package/dist/exports/i18n/en.js +3 -0
  334. package/dist/exports/i18n/en.js.map +1 -0
  335. package/dist/exports/i18n/es.d.ts +2 -0
  336. package/dist/exports/i18n/es.d.ts.map +1 -0
  337. package/dist/exports/i18n/es.js +3 -0
  338. package/dist/exports/i18n/es.js.map +1 -0
  339. package/dist/exports/i18n/fa.d.ts +2 -0
  340. package/dist/exports/i18n/fa.d.ts.map +1 -0
  341. package/dist/exports/i18n/fa.js +3 -0
  342. package/dist/exports/i18n/fa.js.map +1 -0
  343. package/dist/exports/i18n/fr.d.ts +2 -0
  344. package/dist/exports/i18n/fr.d.ts.map +1 -0
  345. package/dist/exports/i18n/fr.js +3 -0
  346. package/dist/exports/i18n/fr.js.map +1 -0
  347. package/dist/exports/i18n/hr.d.ts +2 -0
  348. package/dist/exports/i18n/hr.d.ts.map +1 -0
  349. package/dist/exports/i18n/hr.js +3 -0
  350. package/dist/exports/i18n/hr.js.map +1 -0
  351. package/dist/exports/i18n/hu.d.ts +2 -0
  352. package/dist/exports/i18n/hu.d.ts.map +1 -0
  353. package/dist/exports/i18n/hu.js +3 -0
  354. package/dist/exports/i18n/hu.js.map +1 -0
  355. package/dist/exports/i18n/it.d.ts +2 -0
  356. package/dist/exports/i18n/it.d.ts.map +1 -0
  357. package/dist/exports/i18n/it.js +3 -0
  358. package/dist/exports/i18n/it.js.map +1 -0
  359. package/dist/exports/i18n/ja.d.ts +2 -0
  360. package/dist/exports/i18n/ja.d.ts.map +1 -0
  361. package/dist/exports/i18n/ja.js +3 -0
  362. package/dist/exports/i18n/ja.js.map +1 -0
  363. package/dist/exports/i18n/ko.d.ts +2 -0
  364. package/dist/exports/i18n/ko.d.ts.map +1 -0
  365. package/dist/exports/i18n/ko.js +3 -0
  366. package/dist/exports/i18n/ko.js.map +1 -0
  367. package/dist/exports/i18n/my.d.ts +2 -0
  368. package/dist/exports/i18n/my.d.ts.map +1 -0
  369. package/dist/exports/i18n/my.js +3 -0
  370. package/dist/exports/i18n/my.js.map +1 -0
  371. package/dist/exports/i18n/nb.d.ts +2 -0
  372. package/dist/exports/i18n/nb.d.ts.map +1 -0
  373. package/dist/exports/i18n/nb.js +3 -0
  374. package/dist/exports/i18n/nb.js.map +1 -0
  375. package/dist/exports/i18n/nl.d.ts +2 -0
  376. package/dist/exports/i18n/nl.d.ts.map +1 -0
  377. package/dist/exports/i18n/nl.js +3 -0
  378. package/dist/exports/i18n/nl.js.map +1 -0
  379. package/dist/exports/i18n/pl.d.ts +2 -0
  380. package/dist/exports/i18n/pl.d.ts.map +1 -0
  381. package/dist/exports/i18n/pl.js +3 -0
  382. package/dist/exports/i18n/pl.js.map +1 -0
  383. package/dist/exports/i18n/pt.d.ts +2 -0
  384. package/dist/exports/i18n/pt.d.ts.map +1 -0
  385. package/dist/exports/i18n/pt.js +3 -0
  386. package/dist/exports/i18n/pt.js.map +1 -0
  387. package/dist/exports/i18n/ro.d.ts +2 -0
  388. package/dist/exports/i18n/ro.d.ts.map +1 -0
  389. package/dist/exports/i18n/ro.js +3 -0
  390. package/dist/exports/i18n/ro.js.map +1 -0
  391. package/dist/exports/i18n/rs.d.ts +2 -0
  392. package/dist/exports/i18n/rs.d.ts.map +1 -0
  393. package/dist/exports/i18n/rs.js +3 -0
  394. package/dist/exports/i18n/rs.js.map +1 -0
  395. package/dist/exports/i18n/rsLatin.d.ts +2 -0
  396. package/dist/exports/i18n/rsLatin.d.ts.map +1 -0
  397. package/dist/exports/i18n/rsLatin.js +3 -0
  398. package/dist/exports/i18n/rsLatin.js.map +1 -0
  399. package/dist/exports/i18n/ru.d.ts +2 -0
  400. package/dist/exports/i18n/ru.d.ts.map +1 -0
  401. package/dist/exports/i18n/ru.js +3 -0
  402. package/dist/exports/i18n/ru.js.map +1 -0
  403. package/dist/exports/i18n/sv.d.ts +2 -0
  404. package/dist/exports/i18n/sv.d.ts.map +1 -0
  405. package/dist/exports/i18n/sv.js +3 -0
  406. package/dist/exports/i18n/sv.js.map +1 -0
  407. package/dist/exports/i18n/th.d.ts +2 -0
  408. package/dist/exports/i18n/th.d.ts.map +1 -0
  409. package/dist/exports/i18n/th.js +3 -0
  410. package/dist/exports/i18n/th.js.map +1 -0
  411. package/dist/exports/i18n/tr.d.ts +2 -0
  412. package/dist/exports/i18n/tr.d.ts.map +1 -0
  413. package/dist/exports/i18n/tr.js +3 -0
  414. package/dist/exports/i18n/tr.js.map +1 -0
  415. package/dist/exports/i18n/uk.d.ts +2 -0
  416. package/dist/exports/i18n/uk.d.ts.map +1 -0
  417. package/dist/exports/i18n/uk.js +3 -0
  418. package/dist/exports/i18n/uk.js.map +1 -0
  419. package/dist/exports/i18n/vi.d.ts +2 -0
  420. package/dist/exports/i18n/vi.d.ts.map +1 -0
  421. package/dist/exports/i18n/vi.js +3 -0
  422. package/dist/exports/i18n/vi.js.map +1 -0
  423. package/dist/exports/i18n/zh.d.ts +2 -0
  424. package/dist/exports/i18n/zh.d.ts.map +1 -0
  425. package/dist/exports/i18n/zh.js +3 -0
  426. package/dist/exports/i18n/zh.js.map +1 -0
  427. package/dist/exports/i18n/zhTw.d.ts +2 -0
  428. package/dist/exports/i18n/zhTw.d.ts.map +1 -0
  429. package/dist/exports/i18n/zhTw.js +3 -0
  430. package/dist/exports/i18n/zhTw.js.map +1 -0
  431. package/dist/exports/node.d.ts +4 -0
  432. package/dist/exports/node.d.ts.map +1 -1
  433. package/dist/exports/node.js +3 -0
  434. package/dist/exports/node.js.map +1 -1
  435. package/dist/exports/operations.d.ts +1 -0
  436. package/dist/exports/operations.d.ts.map +1 -1
  437. package/dist/exports/operations.js +1 -0
  438. package/dist/exports/operations.js.map +1 -1
  439. package/dist/exports/types.d.ts +1 -0
  440. package/dist/exports/types.d.ts.map +1 -1
  441. package/dist/exports/types.js.map +1 -1
  442. package/dist/exports/uploads.js.map +1 -1
  443. package/dist/exports/utilities.d.ts +4 -3
  444. package/dist/exports/utilities.d.ts.map +1 -1
  445. package/dist/exports/utilities.js +4 -4
  446. package/dist/exports/utilities.js.map +1 -1
  447. package/dist/exports/versions.js.map +1 -1
  448. package/dist/fields/baseFields/baseBlockFields.d.ts +2 -2
  449. package/dist/fields/baseFields/baseBlockFields.d.ts.map +1 -1
  450. package/dist/fields/baseFields/baseBlockFields.js.map +1 -1
  451. package/dist/fields/baseFields/baseIDField.js.map +1 -1
  452. package/dist/fields/config/client.d.ts +160 -128
  453. package/dist/fields/config/client.d.ts.map +1 -1
  454. package/dist/fields/config/client.js +33 -7
  455. package/dist/fields/config/client.js.map +1 -1
  456. package/dist/fields/config/sanitize.js.map +1 -1
  457. package/dist/fields/config/sanitize.spec.js +4 -1
  458. package/dist/fields/config/sanitize.spec.js.map +1 -1
  459. package/dist/fields/config/schema.d.ts.map +1 -1
  460. package/dist/fields/config/schema.js +10 -4
  461. package/dist/fields/config/schema.js.map +1 -1
  462. package/dist/fields/config/types.d.ts +62 -53
  463. package/dist/fields/config/types.d.ts.map +1 -1
  464. package/dist/fields/config/types.js.map +1 -1
  465. package/dist/fields/getDefaultValue.d.ts +2 -2
  466. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  467. package/dist/fields/getDefaultValue.js.map +1 -1
  468. package/dist/fields/hooks/afterChange/index.js.map +1 -1
  469. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  470. package/dist/fields/hooks/afterChange/traverseFields.js.map +1 -1
  471. package/dist/fields/hooks/afterRead/index.js.map +1 -1
  472. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  473. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -1
  474. package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
  475. package/dist/fields/hooks/beforeChange/beforeDuplicate.js.map +1 -1
  476. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js.map +1 -1
  477. package/dist/fields/hooks/beforeChange/getExistingRowDoc.js.map +1 -1
  478. package/dist/fields/hooks/beforeChange/index.js.map +1 -1
  479. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  480. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
  481. package/dist/fields/hooks/beforeValidate/index.js.map +1 -1
  482. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  483. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  484. package/dist/fields/mergeBaseFields.js.map +1 -1
  485. package/dist/fields/setDefaultBeforeDuplicate.d.ts.map +1 -1
  486. package/dist/fields/setDefaultBeforeDuplicate.js +2 -6
  487. package/dist/fields/setDefaultBeforeDuplicate.js.map +1 -1
  488. package/dist/fields/sortableFieldTypes.js.map +1 -1
  489. package/dist/fields/validations.d.ts +6 -4
  490. package/dist/fields/validations.d.ts.map +1 -1
  491. package/dist/fields/validations.js +49 -10
  492. package/dist/fields/validations.js.map +1 -1
  493. package/dist/fields/validations.spec.js +6 -1
  494. package/dist/fields/validations.spec.js.map +1 -1
  495. package/dist/globals/config/client.d.ts +10 -3
  496. package/dist/globals/config/client.d.ts.map +1 -1
  497. package/dist/globals/config/client.js +11 -4
  498. package/dist/globals/config/client.js.map +1 -1
  499. package/dist/globals/config/sanitize.d.ts.map +1 -1
  500. package/dist/globals/config/sanitize.js +2 -7
  501. package/dist/globals/config/sanitize.js.map +1 -1
  502. package/dist/globals/config/schema.d.ts.map +1 -1
  503. package/dist/globals/config/schema.js +2 -1
  504. package/dist/globals/config/schema.js.map +1 -1
  505. package/dist/globals/config/types.d.ts +4 -3
  506. package/dist/globals/config/types.d.ts.map +1 -1
  507. package/dist/globals/config/types.js.map +1 -1
  508. package/dist/globals/operations/docAccess.js.map +1 -1
  509. package/dist/globals/operations/findOne.d.ts +0 -1
  510. package/dist/globals/operations/findOne.d.ts.map +1 -1
  511. package/dist/globals/operations/findOne.js.map +1 -1
  512. package/dist/globals/operations/findVersionByID.js.map +1 -1
  513. package/dist/globals/operations/findVersions.js.map +1 -1
  514. package/dist/globals/operations/local/findOne.d.ts +2 -2
  515. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  516. package/dist/globals/operations/local/findOne.js.map +1 -1
  517. package/dist/globals/operations/local/findVersionByID.d.ts +2 -2
  518. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  519. package/dist/globals/operations/local/findVersionByID.js +1 -0
  520. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  521. package/dist/globals/operations/local/findVersions.d.ts +2 -2
  522. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  523. package/dist/globals/operations/local/findVersions.js.map +1 -1
  524. package/dist/globals/operations/local/index.js.map +1 -1
  525. package/dist/globals/operations/local/restoreVersion.d.ts +2 -2
  526. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  527. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  528. package/dist/globals/operations/local/update.d.ts +2 -2
  529. package/dist/globals/operations/local/update.d.ts.map +1 -1
  530. package/dist/globals/operations/local/update.js.map +1 -1
  531. package/dist/globals/operations/restoreVersion.js.map +1 -1
  532. package/dist/globals/operations/update.js.map +1 -1
  533. package/dist/index.d.ts +17 -6
  534. package/dist/index.d.ts.map +1 -1
  535. package/dist/index.js +32 -14
  536. package/dist/index.js.map +1 -1
  537. package/dist/preferences/deleteUserPreferences.js.map +1 -1
  538. package/dist/preferences/operations/delete.js.map +1 -1
  539. package/dist/preferences/operations/findOne.js.map +1 -1
  540. package/dist/preferences/operations/update.d.ts +1 -1
  541. package/dist/preferences/operations/update.js.map +1 -1
  542. package/dist/preferences/preferencesCollection.js.map +1 -1
  543. package/dist/preferences/requestHandlers/delete.js.map +1 -1
  544. package/dist/preferences/requestHandlers/findOne.js.map +1 -1
  545. package/dist/preferences/requestHandlers/update.js.map +1 -1
  546. package/dist/preferences/types.d.ts +1 -2
  547. package/dist/preferences/types.d.ts.map +1 -1
  548. package/dist/preferences/types.js.map +1 -1
  549. package/dist/translations/getLocalI18n.d.ts +3 -2
  550. package/dist/translations/getLocalI18n.d.ts.map +1 -1
  551. package/dist/translations/getLocalI18n.js +2 -4
  552. package/dist/translations/getLocalI18n.js.map +1 -1
  553. package/dist/types/constants.js.map +1 -1
  554. package/dist/types/index.d.ts +5 -5
  555. package/dist/types/index.d.ts.map +1 -1
  556. package/dist/types/index.js.map +1 -1
  557. package/dist/uploads/canResizeImage.js.map +1 -1
  558. package/dist/uploads/cropImage.js.map +1 -1
  559. package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
  560. package/dist/uploads/docWithFilenameExists.js.map +1 -1
  561. package/dist/uploads/fileExists.js.map +1 -1
  562. package/dist/uploads/formatFilesize.js.map +1 -1
  563. package/dist/uploads/generateFileData.d.ts.map +1 -1
  564. package/dist/uploads/generateFileData.js +3 -2
  565. package/dist/uploads/generateFileData.js.map +1 -1
  566. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  567. package/dist/uploads/getBaseFields.js +5 -13
  568. package/dist/uploads/getBaseFields.js.map +1 -1
  569. package/dist/uploads/getExternalFile.d.ts +3 -2
  570. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  571. package/dist/uploads/getExternalFile.js +5 -4
  572. package/dist/uploads/getExternalFile.js.map +1 -1
  573. package/dist/uploads/getFileByPath.js.map +1 -1
  574. package/dist/uploads/getImageSize.d.ts +1 -1
  575. package/dist/uploads/getImageSize.d.ts.map +1 -1
  576. package/dist/uploads/getImageSize.js +19 -5
  577. package/dist/uploads/getImageSize.js.map +1 -1
  578. package/dist/uploads/getSafeFilename.js.map +1 -1
  579. package/dist/uploads/imageResizer.js.map +1 -1
  580. package/dist/uploads/isImage.js.map +1 -1
  581. package/dist/uploads/mimeTypeValidator.js.map +1 -1
  582. package/dist/uploads/mimeTypeValidator.spec.js.map +1 -1
  583. package/dist/uploads/saveBufferToFile.js.map +1 -1
  584. package/dist/uploads/tempFile.d.ts +7 -0
  585. package/dist/uploads/tempFile.d.ts.map +1 -0
  586. package/dist/uploads/tempFile.js +39 -0
  587. package/dist/uploads/tempFile.js.map +1 -0
  588. package/dist/uploads/types.d.ts +6 -0
  589. package/dist/uploads/types.d.ts.map +1 -1
  590. package/dist/uploads/types.js.map +1 -1
  591. package/dist/uploads/unlinkTempFiles.js.map +1 -1
  592. package/dist/uploads/uploadFiles.js.map +1 -1
  593. package/dist/utilities/checkDuplicateCollections.js.map +1 -1
  594. package/dist/utilities/combineMerge.js.map +1 -1
  595. package/dist/utilities/commitTransaction.js.map +1 -1
  596. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  597. package/dist/utilities/configToJSONSchema.js +53 -1
  598. package/dist/utilities/configToJSONSchema.js.map +1 -1
  599. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  600. package/dist/utilities/convertData.js.map +1 -1
  601. package/dist/utilities/createArrayFromCommaDelineated.js.map +1 -1
  602. package/dist/utilities/createLocalReq.d.ts +1 -1
  603. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  604. package/dist/utilities/createLocalReq.js +2 -2
  605. package/dist/utilities/createLocalReq.js.map +1 -1
  606. package/dist/utilities/deepCopyObject.js.map +1 -1
  607. package/dist/utilities/deepMerge.js.map +1 -1
  608. package/dist/utilities/fieldSchemaToJSON.js.map +1 -1
  609. package/dist/utilities/flattenTopLevelFields.js.map +1 -1
  610. package/dist/utilities/formatLabels.js.map +1 -1
  611. package/dist/utilities/formatLabels.spec.js.map +1 -1
  612. package/dist/utilities/getCSSVariable.js.map +1 -1
  613. package/dist/utilities/getCollectionIDFieldTypes.js.map +1 -1
  614. package/dist/utilities/getEntityPolicies.js.map +1 -1
  615. package/dist/utilities/getObjectDotNotation.js.map +1 -1
  616. package/dist/utilities/getUniqueListBy.js.map +1 -1
  617. package/dist/utilities/importWithoutClientFiles.d.ts.map +1 -1
  618. package/dist/utilities/importWithoutClientFiles.js +8 -5
  619. package/dist/utilities/importWithoutClientFiles.js.map +1 -1
  620. package/dist/utilities/initTransaction.js.map +1 -1
  621. package/dist/utilities/isEntityHidden.d.ts +2 -2
  622. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  623. package/dist/utilities/isEntityHidden.js.map +1 -1
  624. package/dist/utilities/isNumber.js.map +1 -1
  625. package/dist/utilities/isPlainObject.js.map +1 -1
  626. package/dist/utilities/isReactComponent.d.ts +2 -0
  627. package/dist/utilities/isReactComponent.d.ts.map +1 -1
  628. package/dist/utilities/isReactComponent.js +8 -2
  629. package/dist/utilities/isReactComponent.js.map +1 -1
  630. package/dist/utilities/isValidID.js.map +1 -1
  631. package/dist/utilities/isolateObjectProperty.js.map +1 -1
  632. package/dist/utilities/killTransaction.js.map +1 -1
  633. package/dist/utilities/logger.js.map +1 -1
  634. package/dist/utilities/mapAsync.js.map +1 -1
  635. package/dist/utilities/mergeListSearchAndWhere.js.map +1 -1
  636. package/dist/utilities/overwriteMerge.js.map +1 -1
  637. package/dist/utilities/parseCookies.js.map +1 -1
  638. package/dist/utilities/sanitizeInternalFields.js.map +1 -1
  639. package/dist/utilities/setsAreEqual.js.map +1 -1
  640. package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
  641. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  642. package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
  643. package/dist/utilities/telemetry/events/serverInit.js.map +1 -1
  644. package/dist/utilities/telemetry/index.d.ts +3 -0
  645. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  646. package/dist/utilities/telemetry/index.js +32 -6
  647. package/dist/utilities/telemetry/index.js.map +1 -1
  648. package/dist/utilities/telemetry/oneWayHash.js.map +1 -1
  649. package/dist/utilities/timestamp.js.map +1 -1
  650. package/dist/utilities/toKebabCase.js.map +1 -1
  651. package/dist/utilities/wait.js.map +1 -1
  652. package/dist/utilities/wordBoundariesRegex.js.map +1 -1
  653. package/dist/versions/baseFields.d.ts +3 -1
  654. package/dist/versions/baseFields.d.ts.map +1 -1
  655. package/dist/versions/baseFields.js +3 -9
  656. package/dist/versions/baseFields.js.map +1 -1
  657. package/dist/versions/buildCollectionFields.js.map +1 -1
  658. package/dist/versions/buildGlobalFields.js.map +1 -1
  659. package/dist/versions/deleteCollectionVersions.js.map +1 -1
  660. package/dist/versions/drafts/appendVersionToQueryKey.js.map +1 -1
  661. package/dist/versions/drafts/getQueryDraftsSort.js.map +1 -1
  662. package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
  663. package/dist/versions/enforceMaxVersions.js.map +1 -1
  664. package/dist/versions/getLatestCollectionVersion.js.map +1 -1
  665. package/dist/versions/getLatestGlobalVersion.js.map +1 -1
  666. package/dist/versions/saveVersion.js +1 -1
  667. package/dist/versions/saveVersion.js.map +1 -1
  668. package/dist/versions/types.js.map +1 -1
  669. package/package.json +15 -6
  670. package/src/index.ts +42 -18
  671. package/auth.d.ts +0 -6
  672. package/auth.js +0 -6
  673. package/config.d.ts +0 -14
  674. package/config.js +0 -14
  675. package/database.d.ts +0 -23
  676. package/database.js +0 -22
  677. package/dist/email/build.d.ts +0 -5
  678. package/dist/email/build.d.ts.map +0 -1
  679. package/dist/email/build.js +0 -63
  680. package/dist/email/build.js.map +0 -1
  681. package/dist/email/mockHandler.d.ts +0 -5
  682. package/dist/email/mockHandler.d.ts.map +0 -1
  683. package/dist/email/mockHandler.js +0 -24
  684. package/dist/email/mockHandler.js.map +0 -1
  685. package/dist/translations/extractTranslations.d.ts +0 -2
  686. package/dist/translations/extractTranslations.d.ts.map +0 -1
  687. package/dist/translations/extractTranslations.js +0 -20
  688. package/dist/translations/extractTranslations.js.map +0 -1
  689. package/dist/utilities/getIDType.d.ts +0 -4
  690. package/dist/utilities/getIDType.d.ts.map +0 -1
  691. package/dist/utilities/getIDType.js +0 -8
  692. package/dist/utilities/getIDType.js.map +0 -1
  693. package/errors.d.ts +0 -2
  694. package/errors.js +0 -3
  695. package/node.d.ts +0 -2
  696. package/node.js +0 -3
  697. package/operations.d.ts +0 -30
  698. package/operations.js +0 -31
  699. package/types.d.ts +0 -17
  700. package/types.js +0 -5
  701. package/uploads.d.ts +0 -2
  702. package/uploads.js +0 -3
  703. package/utilities.d.ts +0 -33
  704. package/utilities.js +0 -34
  705. package/versions.d.ts +0 -9
  706. package/versions.js +0 -9
@@ -42,6 +42,7 @@ const collectionSchema = joi.object().keys({
42
42
  }))
43
43
  })
44
44
  }),
45
+ custom: joi.object().pattern(joi.string(), joi.any()),
45
46
  defaultColumns: joi.array().items(joi.string()),
46
47
  description: joi.alternatives().try(joi.string(), componentSchema),
47
48
  enableRichTextLink: joi.boolean(),
@@ -114,10 +115,10 @@ const collectionSchema = joi.object().keys({
114
115
  beforeValidate: joi.array().items(joi.func())
115
116
  }),
116
117
  labels: joi.object({
117
- plural: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [
118
+ plural: joi.alternatives().try(joi.func(), joi.string(), joi.object().pattern(joi.string(), [
118
119
  joi.string()
119
120
  ])),
120
- singular: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [
121
+ singular: joi.alternatives().try(joi.func(), joi.string(), joi.object().pattern(joi.string(), [
121
122
  joi.string()
122
123
  ]))
123
124
  }),
@@ -129,6 +130,7 @@ const collectionSchema = joi.object().keys({
129
130
  adminThumbnail: joi.alternatives().try(joi.string(), componentSchema),
130
131
  crop: joi.bool(),
131
132
  disableLocalStorage: joi.bool(),
133
+ externalFileHeaderFilter: joi.func(),
132
134
  filesRequiredOnCreate: joi.bool(),
133
135
  focalPoint: joi.bool(),
134
136
  formatOptions: 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'\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 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.string(), joi.object().pattern(joi.string(), [joi.string()])),\n singular: joi\n .alternatives()\n .try(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 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","defaultColumns","description","enableRichTextLink","enableRichTextRelationship","group","pattern","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","custom","any","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","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"],"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 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":"AAAA,OAAOA,SAAS,MAAK;AAErB,SAASC,eAAe,QAAQ,yBAAwB;AACxD,SACEC,eAAe,EACfC,gBAAgB,EAChBC,iBAAiB,QACZ,yCAAwC;AAE/C,MAAMC,qBAAqBL,IAAIM,MAAM,GAAGC,IAAI,CAAC;IAC3CC,QAAQR,IAAIS,OAAO;IACnBC,SAASV,IAAIS,OAAO;AACtB;AAEA,MAAME,mBAAmBX,IAAIM,MAAM,GAAGC,IAAI,CAAC;IACzCK,MAAMZ,IAAIa,MAAM,GAAGC,QAAQ;IAC3BC,QAAQf,IAAIM,MAAM,CAAC;QACjBU,OAAOhB,IAAIiB,IAAI;QACfC,QAAQlB,IAAIiB,IAAI;QAChBE,QAAQnB,IAAIiB,IAAI;QAChBG,MAAMpB,IAAIiB,IAAI;QACdI,cAAcrB,IAAIiB,IAAI;QACtBK,QAAQtB,IAAIiB,IAAI;QAChBM,QAAQvB,IAAIiB,IAAI;IAClB;IACAD,OAAOhB,IAAIM,MAAM,CAAC;QAChBkB,YAAYxB,IAAIM,MAAM,CAAC;YACrBmB,WAAWzB,IAAI0B,KAAK,GAAGC,KAAK,CAACzB;YAC7B0B,gBAAgB5B,IAAI0B,KAAK,GAAGC,KAAK,CAACzB;YAClC2B,YAAY7B,IAAI0B,KAAK,GAAGC,KAAK,CAACzB;YAC9B4B,iBAAiB9B,IAAI0B,KAAK,GAAGC,KAAK,CAACzB;YACnC6B,MAAM/B,IAAIM,MAAM,CAAC;gBACf0B,eAAe9B;gBACf+B,eAAe/B;gBACfgC,YAAYhC;gBACZiC,iBAAiBjC;YACnB;YACAkC,OAAOpC,IAAIM,MAAM,CAAC;gBAChB+B,MAAMrC,IAAIsC,YAAY,GAAGC,GAAG,CAC1BrC,iBACAF,IAAIM,MAAM,CAAC;oBACTkC,KAAKxC,IAAIsC,YAAY,GAAGC,GAAG,CAACrC,iBAAiBC;oBAC7CsC,SAASzC,IAAIsC,YAAY,GAAGC,GAAG,CAACrC,iBAAiBC;oBACjDuC,aAAa1C,IAAIsC,YAAY,GAAGC,GAAG,CAACrC,iBAAiBC;oBACrDwC,SAAS3C,IAAIsC,YAAY,GAAGC,GAAG,CAACrC,iBAAiBC;oBACjDyC,UAAU5C,IAAIsC,YAAY,GAAGC,GAAG,CAACrC,iBAAiBC;gBAGpD;gBAEF0C,MAAM7C,IAAIsC,YAAY,GAAGC,GAAG,CAC1BrC,iBACAF,IAAIM,MAAM,CAAC;oBACTwC,WAAW5C;oBACX6C,SAAS/C,IAAI0B,KAAK,GAAGC,KAAK,CAACzB;gBAC7B;YAEJ;QACF;QACA8C,QAAQhD,IAAIM,MAAM,GAAG2C,OAAO,CAACjD,IAAIa,MAAM,IAAIb,IAAIkD,GAAG;QAClDC,gBAAgBnD,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIa,MAAM;QAC5CuC,aAAapD,IAAIsC,YAAY,GAAGC,GAAG,CAACvC,IAAIa,MAAM,IAAIX;QAClDmD,oBAAoBrD,IAAIS,OAAO;QAC/B6C,4BAA4BtD,IAAIS,OAAO;QACvC8C,OAAOvD,IAAIsC,YAAY,GAAGC,GAAG,CAACvC,IAAIa,MAAM,IAAIb,IAAIM,MAAM,GAAG2C,OAAO,CAACjD,IAAIa,MAAM,IAAI;YAACb,IAAIa,MAAM;SAAG;QAC7F2C,QAAQxD,IAAIsC,YAAY,GAAGC,GAAG,CAACvC,IAAIS,OAAO,IAAIT,IAAIiB,IAAI;QACtDwC,YAAYzD,IAAI0D,IAAI;QACpBC,sBAAsB3D,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIa,MAAM;QAClD+C,aAAa5D,IAAIM,MAAM,CAACF;QACxByD,YAAY7D,IAAIM,MAAM,CAAC;YACrBwD,cAAc9D,IAAI+D,MAAM;YACxBC,QAAQhE,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAI+D,MAAM;QACtC;QACAE,SAASjE,IAAIiB,IAAI;QACjBiD,YAAYlE,IAAIa,MAAM;IACxB;IACAsD,MAAMnE,IAAIsC,YAAY,GAAGC,GAAG,CAC1BvC,IAAIM,MAAM,CAAC;QACT8D,SAASpE,IAAIM,MAAM,GAAGC,IAAI,CAAC;YACzB8D,QAAQrE,IAAIa,MAAM;YAClByD,UAAUtE,IAAIa,MAAM;YACpB0D,QAAQvE,IAAIS,OAAO;QACrB;QACA+D,OAAOxE,IAAI+D,MAAM;QACjBU,sBAAsBzE,IAAIS,OAAO,GAAGiE,KAAK,CAAC;QAC1CC,gBAAgB3E,IAAIM,MAAM,GAAGC,IAAI,CAAC;YAChCqE,mBAAmB5E,IAAIiB,IAAI;YAC3B4D,sBAAsB7E,IAAIiB,IAAI;QAChC;QACA6D,UAAU9E,IAAI+D,MAAM;QACpBgB,kBAAkB/E,IAAI+D,MAAM;QAC5BiB,0BAA0BhF,IAAIS,OAAO,GAAGiE,KAAK,CAAC;QAC9CO,YAAYjF,IAAI0B,KAAK,GAAGC,KAAK,CAC3B3B,IAAIM,MAAM,GAAGC,IAAI,CAAC;YAChB2E,MAAMlF,IAAIa,MAAM,GAAGC,QAAQ;YAC3BqE,cAAcnF,IAAIiB,IAAI,GAAGH,QAAQ;QACnC;QAEFsE,iBAAiBpF,IAAI+D,MAAM;QAC3BsB,WAAWrF,IAAIS,OAAO;QACtB6E,QAAQtF,IAAIsC,YAAY,GAAGC,GAAG,CAC5BvC,IAAIS,OAAO,IACXT,IAAIM,MAAM,GAAGC,IAAI,CAAC;YAChBqE,mBAAmB5E,IAAIiB,IAAI;YAC3B4D,sBAAsB7E,IAAIiB,IAAI;QAChC;IAEJ,IACAjB,IAAIS,OAAO;IAEbuC,QAAQhD,IAAIM,MAAM,GAAG2C,OAAO,CAACjD,IAAIa,MAAM,IAAIb,IAAIkD,GAAG;IAClDqC,QAAQvF,IAAIsC,YAAY,GAAGC,GAAG,CAACvC,IAAIa,MAAM,IAAIb,IAAIiB,IAAI;IACrDuE,aAAaxF,IAAIa,MAAM;IACvB4E,kBAAkBzF,IAAI0D,IAAI;IAC1BgC,WAAWzF;IACX0F,QAAQ3F,IAAI0B,KAAK;IACjBkE,SAAS5F,IAAIsC,YAAY,GAAGC,GAAG,CAC7BvC,IAAIM,MAAM,GAAGC,IAAI,CAAC;QAChBsF,YAAY7F,IAAIa,MAAM;QACtBiF,cAAc9F,IAAIa,MAAM;IAC1B,IACAb,IAAIS,OAAO;IAEbsF,OAAO/F,IAAIM,MAAM,CAAC;QAChB0F,aAAahG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACvCgF,aAAajG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACvCiF,qBAAqBlG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QAC/CkF,YAAYnG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACtCmF,aAAapG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACvCoF,SAASrG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACnCqF,gBAAgBtG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QAC1CsF,WAAWvG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACrCuF,cAAcxG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACxCwF,cAAczG,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACxCyF,cAAc1G,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACxC0F,aAAa3G,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACvC2F,iBAAiB5G,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QAC3C4F,YAAY7G,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACtC6F,gBAAgB9G,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;IAC5C;IACA8F,QAAQ/G,IAAIM,MAAM,CAAC;QACjB0G,QAAQhH,IACLsC,YAAY,GACZC,GAAG,CAACvC,IAAIiB,IAAI,IAAIjB,IAAIa,MAAM,IAAIb,IAAIM,MAAM,GAAG2C,OAAO,CAACjD,IAAIa,MAAM,IAAI;YAACb,IAAIa,MAAM;SAAG;QAClFoG,UAAUjH,IACPsC,YAAY,GACZC,GAAG,CAACvC,IAAIiB,IAAI,IAAIjB,IAAIa,MAAM,IAAIb,IAAIM,MAAM,GAAG2C,OAAO,CAACjD,IAAIa,MAAM,IAAI;YAACb,IAAIa,MAAM;SAAG;IACpF;IACAqG,YAAYlH,IAAIS,OAAO;IACvB0G,YAAYnH,IAAIM,MAAM,GAAGC,IAAI,CAAC;QAC5B6G,WAAWpH,IAAIa,MAAM;IACvB;IACAwG,QAAQrH,IAAIsC,YAAY,GAAGC,GAAG,CAC5BvC,IAAIM,MAAM,CAAC;QACTgH,gBAAgBtH,IAAIsC,YAAY,GAAGC,GAAG,CAACvC,IAAIa,MAAM,IAAIX;QACrDqH,MAAMvH,IAAI0D,IAAI;QACd8D,qBAAqBxH,IAAI0D,IAAI;QAC7B+D,0BAA0BzH,IAAIiB,IAAI;QAClCyG,uBAAuB1H,IAAI0D,IAAI;QAC/BiE,YAAY3H,IAAI0D,IAAI;QACpBkE,eAAe5H,IAAIM,MAAM,GAAGC,IAAI,CAAC;YAC/BsH,QAAQ7H,IAAIa,MAAM;YAClBiH,SAAS9H,IAAIM,MAAM;QACrB;QACAyH,UAAU/H,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIiB,IAAI;QACpC+G,YAAYhI,IAAI0B,KAAK,GAAGC,KAAK,CAC3B3B,IACGM,MAAM,GACNC,IAAI,CAAC;YACJ2E,MAAMlF,IAAIa,MAAM;YAChB0G,MAAMvH,IAAIa,MAAM;YAChBoH,QAAQjI,IAAI+D,MAAM,GAAGmE,OAAO,GAAGC,KAAK,CAAC;YACrCC,OAAOpI,IAAI+D,MAAM,GAAGmE,OAAO,GAAGC,KAAK,CAAC;QACtC,GACCE,OAAO;QAEZC,WAAWtI,IAAI0B,KAAK,GAAGC,KAAK,CAAC3B,IAAIa,MAAM;QACvC0H,eAAevI,IACZM,MAAM,GACNC,IAAI,CAAC;YACJiI,YAAYxI,IAAIa,MAAM;YACtB4H,kBAAkBzI,IAAI0D,IAAI;YAC1BgF,KAAK1I,IAAIa,MAAM;YACfoH,QAAQjI,IAAI+D,MAAM,GAAGoE,KAAK,CAAC;YAC3BQ,QAAQ3I,IAAIa,MAAM;YAClB+H,UAAU5I,IAAIsC,YAAY,GAAGC,GAAG,CAACvC,IAAIa,MAAM,IAAIb,IAAI+D,MAAM;YACzDqE,OAAOpI,IAAI+D,MAAM,GAAGoE,KAAK,CAAC;YAC1BU,oBAAoB7I,IAAI0D,IAAI;QAC9B,GACCyE,KAAK,CAAC;QACTW,WAAW9I,IAAIa,MAAM;QACrBkI,eAAe/I,IAAIM,MAAM;QACzB0I,aAAahJ,IAAIa,MAAM;QACvBoI,aAAajJ,IAAIsC,YAAY,GAAGC,GAAG,CACjCvC,IAAIM,MAAM,GAAGC,IAAI,CAAC;YAChBsH,QAAQ7H,IAAIa,MAAM;YAClBiH,SAAS9H,IAAIM,MAAM;QACrB,IACAN,IAAIa,MAAM,IACVb,IAAI+D,MAAM;QAEZmF,cAAclJ,IAAI0D,IAAI;IACxB,IACA1D,IAAIS,OAAO;IAEb0I,UAAUnJ,IAAIsC,YAAY,GAAGC,GAAG,CAC9BvC,IAAIM,MAAM,CAAC;QACT8I,QAAQpJ,IAAIsC,YAAY,GAAGC,GAAG,CAC5BvC,IAAIM,MAAM,CAAC;YACT+I,UAAUrJ,IAAIsC,YAAY,GAAGC,GAAG,CAC9BvC,IAAIS,OAAO,IACXT,IAAIM,MAAM,CAAC;gBACTgJ,UAAUtJ,IAAI+D,MAAM;YACtB;QAEJ,IACA/D,IAAIS,OAAO;QAEb8I,WAAWvJ,IAAI+D,MAAM;IACvB,IACA/D,IAAIS,OAAO;AAEf;AAEA,eAAeE,iBAAgB"}
@@ -2,14 +2,14 @@ import type { GraphQLInputObjectType, GraphQLNonNull, GraphQLObjectType } from '
2
2
  import type { DeepRequired } from 'ts-essentials';
3
3
  import type { CustomPreviewButton, CustomPublishButton, CustomSaveButton, CustomSaveDraftButton } from '../../admin/types.js';
4
4
  import type { Auth, ClientUser, IncomingAuthType } from '../../auth/types.js';
5
- import type { Access, EditConfig, Endpoint, EntityDescription, GeneratePreviewURL, LivePreviewConfig } from '../../config/types.js';
5
+ import type { Access, CustomComponent, EditConfig, Endpoint, EntityDescription, GeneratePreviewURL, LabelFunction, LivePreviewConfig } from '../../config/types.js';
6
6
  import type { Field } from '../../fields/config/types.js';
7
7
  import type { GeneratedTypes } from '../../index.js';
8
8
  import type { PayloadRequest, RequestContext } from '../../types/index.js';
9
9
  import type { SanitizedUploadConfig, UploadConfig } from '../../uploads/types.js';
10
10
  import type { IncomingCollectionVersions, SanitizedCollectionVersions } from '../../versions/types.js';
11
11
  import type { AfterOperationArg, AfterOperationMap } from '../operations/utils.js';
12
- export type HookOperationType = 'autosave' | 'create' | 'delete' | 'forgotPassword' | 'login' | 'read' | 'refresh' | 'update';
12
+ export type HookOperationType = 'autosave' | 'count' | 'create' | 'delete' | 'forgotPassword' | 'login' | 'read' | 'refresh' | 'update';
13
13
  type CreateOrUpdateOperation = Extract<HookOperationType, 'create' | 'update'>;
14
14
  export type BeforeOperationHook = (args: {
15
15
  args?: any;
@@ -158,10 +158,10 @@ export type CollectionAdminOptions = {
158
158
  * Custom admin components
159
159
  */
160
160
  components?: {
161
- AfterList?: React.ComponentType<any>[];
162
- AfterListTable?: React.ComponentType<any>[];
163
- BeforeList?: React.ComponentType<any>[];
164
- BeforeListTable?: React.ComponentType<any>[];
161
+ AfterList?: CustomComponent[];
162
+ AfterListTable?: CustomComponent[];
163
+ BeforeList?: CustomComponent[];
164
+ BeforeListTable?: CustomComponent[];
165
165
  /**
166
166
  * Components within the edit view
167
167
  */
@@ -195,10 +195,12 @@ export type CollectionAdminOptions = {
195
195
  Edit?: EditConfig;
196
196
  List?: {
197
197
  Component?: React.ComponentType<any>;
198
- actions?: React.ComponentType<any>[];
198
+ actions?: CustomComponent[];
199
199
  } | React.ComponentType<any>;
200
200
  };
201
201
  };
202
+ /** Extension point to add your custom data. Available in server and client. */
203
+ custom?: Record<string, any>;
202
204
  /**
203
205
  * Default columns to show in list view
204
206
  */
@@ -270,7 +272,7 @@ export type CollectionConfig = {
270
272
  * Use `true` to enable with default options
271
273
  */
272
274
  auth?: IncomingAuthType | boolean;
273
- /** Extension point to add your custom data. */
275
+ /** Extension point to add your custom data. Server only. */
274
276
  custom?: Record<string, any>;
275
277
  /**
276
278
  * Default field to sort by in collection list view
@@ -317,8 +319,8 @@ export type CollectionConfig = {
317
319
  * Label configuration
318
320
  */
319
321
  labels?: {
320
- plural?: Record<string, string> | string;
321
- singular?: Record<string, string> | string;
322
+ plural?: LabelFunction | Record<string, string> | string;
323
+ singular?: LabelFunction | Record<string, string> | string;
322
324
  };
323
325
  slug: string;
324
326
  /**
@@ -358,8 +360,10 @@ export interface SanitizedCollectionConfig extends Omit<DeepRequired<CollectionC
358
360
  }
359
361
  export type Collection = {
360
362
  config: SanitizedCollectionConfig;
363
+ customIDType?: 'number' | 'text';
361
364
  graphQL?: {
362
365
  JWT: GraphQLObjectType;
366
+ countType: GraphQLObjectType;
363
367
  mutationInputType: GraphQLNonNull<any>;
364
368
  paginatedType: GraphQLObjectType;
365
369
  type: GraphQLObjectType;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/collections/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/collections/config/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/types.ts"],"sourcesContent":["import type { GraphQLInputObjectType, GraphQLNonNull, GraphQLObjectType } from 'graphql'\nimport type { DeepRequired } from 'ts-essentials'\n\nimport type {\n CustomPreviewButton,\n CustomPublishButton,\n CustomSaveButton,\n CustomSaveDraftButton,\n} from '../../admin/types.js'\nimport type { Auth, ClientUser, IncomingAuthType } from '../../auth/types.js'\nimport type {\n Access,\n EditConfig,\n Endpoint,\n EntityDescription,\n GeneratePreviewURL,\n LivePreviewConfig,\n} from '../../config/types.js'\nimport type { Field } from '../../fields/config/types.js'\nimport type { GeneratedTypes } from '../../index.js'\nimport type { PayloadRequest, RequestContext } from '../../types/index.js'\nimport type { SanitizedUploadConfig, UploadConfig } from '../../uploads/types.js'\nimport type {\n IncomingCollectionVersions,\n SanitizedCollectionVersions,\n} from '../../versions/types.js'\nimport type { AfterOperationArg, AfterOperationMap } from '../operations/utils.js'\n\nexport type HookOperationType =\n | 'autosave'\n | 'create'\n | 'delete'\n | 'forgotPassword'\n | 'login'\n | 'read'\n | 'refresh'\n | 'update'\n\ntype CreateOrUpdateOperation = Extract<HookOperationType, 'create' | 'update'>\n\nexport type BeforeOperationHook = (args: {\n args?: any\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n /**\n * Hook operation being performed\n */\n operation: HookOperationType\n req: PayloadRequest\n}) => any\n\nexport type BeforeValidateHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n data?: Partial<T>\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n /**\n * Original document before change\n *\n * `undefined` on 'create' operation\n */\n originalDoc?: T\n req: PayloadRequest\n}) => any\n\nexport type BeforeChangeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n data: Partial<T>\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n /**\n * Original document before change\n *\n * `undefined` on 'create' operation\n */\n originalDoc?: T\n req: PayloadRequest\n}) => any\n\nexport type AfterChangeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n previousDoc: T\n req: PayloadRequest\n}) => any\n\nexport type BeforeReadHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n query: { [key: string]: any }\n req: PayloadRequest\n}) => any\n\nexport type AfterReadHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n findMany?: boolean\n query?: { [key: string]: any }\n req: PayloadRequest\n}) => any\n\nexport type BeforeDeleteHook = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n id: number | string\n req: PayloadRequest\n}) => any\n\nexport type AfterDeleteHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n id: number | string\n req: PayloadRequest\n}) => any\n\nexport type AfterOperationHook<T extends TypeWithID = any> = (\n arg: AfterOperationArg<T>,\n) => Promise<ReturnType<AfterOperationMap<T>[keyof AfterOperationMap<T>]>>\n\nexport type AfterErrorHook = (\n err: Error,\n res: unknown,\n context: RequestContext,\n /** The collection which this hook is being run on. This is null if the AfterError hook was be added to the payload-wide config */\n collection: SanitizedCollectionConfig | null,\n) => { response: any; status: number } | void\n\nexport type BeforeLoginHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n user: T\n}) => any\n\nexport type AfterLoginHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n token: string\n user: T\n}) => any\n\nexport type AfterLogoutHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n}) => any\n\nexport type AfterMeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n response: unknown\n}) => any\n\nexport type AfterRefreshHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n exp: number\n req: PayloadRequest\n token: string\n}) => any\n\nexport type AfterForgotPasswordHook = (args: {\n args?: any\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n}) => any\n\nexport type CollectionAdminOptions = {\n /**\n * Custom admin components\n */\n components?: {\n AfterList?: React.ComponentType<any>[]\n AfterListTable?: React.ComponentType<any>[]\n BeforeList?: React.ComponentType<any>[]\n BeforeListTable?: React.ComponentType<any>[]\n /**\n * Components within the edit view\n */\n edit?: {\n /**\n * Replaces the \"Preview\" button\n */\n PreviewButton?: CustomPreviewButton\n /**\n * Replaces the \"Publish\" button\n * + drafts must be enabled\n */\n PublishButton?: CustomPublishButton\n /**\n * Replaces the \"Save\" button\n * + drafts must be disabled\n */\n SaveButton?: CustomSaveButton\n /**\n * Replaces the \"Save Draft\" button\n * + drafts must be enabled\n * + autosave must be disabled\n */\n SaveDraftButton?: CustomSaveDraftButton\n }\n views?: {\n /**\n * Set to a React component to replace the entire \"Edit\" view, including all nested routes.\n * Set to an object to replace or modify individual nested routes, or to add new ones.\n */\n Edit?: EditConfig\n List?:\n | {\n Component?: React.ComponentType<any>\n actions?: React.ComponentType<any>[]\n }\n | React.ComponentType<any>\n }\n }\n /**\n * Default columns to show in list view\n */\n defaultColumns?: string[]\n /**\n * Custom description for collection\n */\n description?: EntityDescription\n enableRichTextLink?: boolean\n enableRichTextRelationship?: boolean\n /**\n * Place collections into a navigational group\n * */\n group?: Record<string, string> | string\n /**\n * Exclude the collection from the admin nav and routes\n */\n hidden?: ((args: { user: ClientUser }) => boolean) | boolean\n /**\n * Hide the API URL within the Edit view\n */\n hideAPIURL?: boolean\n /**\n * Additional fields to be searched via the full text search\n */\n listSearchableFields?: string[]\n /**\n * Live preview options\n */\n livePreview?: LivePreviewConfig\n pagination?: {\n defaultLimit?: number\n limits?: number[]\n }\n /**\n * Function to generate custom preview URL\n */\n preview?: GeneratePreviewURL\n /**\n * Field to use as title in Edit view and first column in List view\n */\n useAsTitle?: string\n}\n\n/** Manage all aspects of a data collection */\nexport type CollectionConfig = {\n /**\n * Access control\n */\n access?: {\n admin?: ({ req }: { req: PayloadRequest }) => Promise<boolean> | boolean\n create?: Access\n delete?: Access\n read?: Access\n readVersions?: Access\n unlock?: Access\n update?: Access\n }\n /**\n * Collection admin options\n */\n admin?: CollectionAdminOptions\n /**\n * Collection login options\n *\n * Use `true` to enable with default options\n */\n auth?: IncomingAuthType | boolean\n /** Extension point to add your custom data. */\n custom?: Record<string, any>\n /**\n * Default field to sort by in collection list view\n */\n defaultSort?: string\n /**\n * When true, do not show the \"Duplicate\" button while editing documents within this collection and prevent `duplicate` from all APIs\n */\n disableDuplicate?: boolean\n /**\n * Custom rest api endpoints, set false to disable all rest endpoints for this collection.\n */\n endpoints?: Omit<Endpoint, 'root'>[] | false\n fields: Field[]\n /**\n * GraphQL configuration\n */\n graphQL?:\n | {\n pluralName?: string\n singularName?: string\n }\n | false\n /**\n * Hooks to modify Payload functionality\n */\n hooks?: {\n afterChange?: AfterChangeHook[]\n afterDelete?: AfterDeleteHook[]\n afterError?: AfterErrorHook\n afterForgotPassword?: AfterForgotPasswordHook[]\n afterLogin?: AfterLoginHook[]\n afterLogout?: AfterLogoutHook[]\n afterMe?: AfterMeHook[]\n afterOperation?: AfterOperationHook[]\n afterRead?: AfterReadHook[]\n afterRefresh?: AfterRefreshHook[]\n beforeChange?: BeforeChangeHook[]\n beforeDelete?: BeforeDeleteHook[]\n beforeLogin?: BeforeLoginHook[]\n beforeOperation?: BeforeOperationHook[]\n beforeRead?: BeforeReadHook[]\n beforeValidate?: BeforeValidateHook[]\n }\n /**\n * Label configuration\n */\n labels?: {\n plural?: Record<string, string> | string\n singular?: Record<string, string> | string\n }\n slug: string\n /**\n * Add `createdAt` and `updatedAt` fields\n *\n * @default true\n */\n timestamps?: boolean\n /**\n * Options used in typescript generation\n */\n typescript?: {\n /**\n * Typescript generation name given to the interface type\n */\n interface?: string\n }\n /**\n * Customize the handling of incoming file uploads\n *\n * @default false // disable uploads\n */\n upload?: UploadConfig | boolean\n /**\n * Customize the handling of incoming file uploads\n *\n * @default false // disable versioning\n */\n versions?: IncomingCollectionVersions | boolean\n}\n\nexport interface SanitizedCollectionConfig\n extends Omit<\n DeepRequired<CollectionConfig>,\n 'auth' | 'endpoints' | 'fields' | 'upload' | 'versions'\n > {\n auth: Auth\n endpoints: Endpoint[] | false\n fields: Field[]\n upload: SanitizedUploadConfig\n versions: SanitizedCollectionVersions\n}\n\nexport type Collection = {\n config: SanitizedCollectionConfig\n graphQL?: {\n JWT: GraphQLObjectType\n mutationInputType: GraphQLNonNull<any>\n paginatedType: GraphQLObjectType\n type: GraphQLObjectType\n updateMutationInputType: GraphQLNonNull<any>\n versionType: GraphQLObjectType\n whereInputType: GraphQLInputObjectType\n }\n}\n\nexport type BulkOperationResult<TSlug extends keyof GeneratedTypes['collections']> = {\n docs: GeneratedTypes['collections'][TSlug][]\n errors: {\n id: GeneratedTypes['collections'][TSlug]['id']\n message: string\n }[]\n}\n\nexport type AuthCollection = {\n config: SanitizedCollectionConfig\n}\n\nexport type TypeWithID = {\n id: number | string\n}\n\nexport type TypeWithTimestamps = {\n [key: string]: unknown\n createdAt: string\n id: number | string\n updatedAt: string\n}\n"],"names":[],"mappings":"AAobA,WAKC"}
1
+ {"version":3,"sources":["../../../src/collections/config/types.ts"],"sourcesContent":["import type { GraphQLInputObjectType, GraphQLNonNull, GraphQLObjectType } from 'graphql'\nimport type { DeepRequired } from 'ts-essentials'\n\nimport type {\n CustomPreviewButton,\n CustomPublishButton,\n CustomSaveButton,\n CustomSaveDraftButton,\n} from '../../admin/types.js'\nimport type { Auth, ClientUser, IncomingAuthType } from '../../auth/types.js'\nimport type {\n Access,\n CustomComponent,\n EditConfig,\n Endpoint,\n EntityDescription,\n GeneratePreviewURL,\n LabelFunction,\n LivePreviewConfig,\n} from '../../config/types.js'\nimport type { Field } from '../../fields/config/types.js'\nimport type { GeneratedTypes } from '../../index.js'\nimport type { PayloadRequest, RequestContext } from '../../types/index.js'\nimport type { SanitizedUploadConfig, UploadConfig } from '../../uploads/types.js'\nimport type {\n IncomingCollectionVersions,\n SanitizedCollectionVersions,\n} from '../../versions/types.js'\nimport type { AfterOperationArg, AfterOperationMap } from '../operations/utils.js'\n\nexport type HookOperationType =\n | 'autosave'\n | 'count'\n | 'create'\n | 'delete'\n | 'forgotPassword'\n | 'login'\n | 'read'\n | 'refresh'\n | 'update'\n\ntype CreateOrUpdateOperation = Extract<HookOperationType, 'create' | 'update'>\n\nexport type BeforeOperationHook = (args: {\n args?: any\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n /**\n * Hook operation being performed\n */\n operation: HookOperationType\n req: PayloadRequest\n}) => any\n\nexport type BeforeValidateHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n data?: Partial<T>\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n /**\n * Original document before change\n *\n * `undefined` on 'create' operation\n */\n originalDoc?: T\n req: PayloadRequest\n}) => any\n\nexport type BeforeChangeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n data: Partial<T>\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n /**\n * Original document before change\n *\n * `undefined` on 'create' operation\n */\n originalDoc?: T\n req: PayloadRequest\n}) => any\n\nexport type AfterChangeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n /**\n * Hook operation being performed\n */\n operation: CreateOrUpdateOperation\n previousDoc: T\n req: PayloadRequest\n}) => any\n\nexport type BeforeReadHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n query: { [key: string]: any }\n req: PayloadRequest\n}) => any\n\nexport type AfterReadHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n findMany?: boolean\n query?: { [key: string]: any }\n req: PayloadRequest\n}) => any\n\nexport type BeforeDeleteHook = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n id: number | string\n req: PayloadRequest\n}) => any\n\nexport type AfterDeleteHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n doc: T\n id: number | string\n req: PayloadRequest\n}) => any\n\nexport type AfterOperationHook<T extends TypeWithID = any> = (\n arg: AfterOperationArg<T>,\n) => Promise<ReturnType<AfterOperationMap<T>[keyof AfterOperationMap<T>]>>\n\nexport type AfterErrorHook = (\n err: Error,\n res: unknown,\n context: RequestContext,\n /** The collection which this hook is being run on. This is null if the AfterError hook was be added to the payload-wide config */\n collection: SanitizedCollectionConfig | null,\n) => { response: any; status: number } | void\n\nexport type BeforeLoginHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n user: T\n}) => any\n\nexport type AfterLoginHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n token: string\n user: T\n}) => any\n\nexport type AfterLogoutHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n}) => any\n\nexport type AfterMeHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n req: PayloadRequest\n response: unknown\n}) => any\n\nexport type AfterRefreshHook<T extends TypeWithID = any> = (args: {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n exp: number\n req: PayloadRequest\n token: string\n}) => any\n\nexport type AfterForgotPasswordHook = (args: {\n args?: any\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n context: RequestContext\n}) => any\n\nexport type CollectionAdminOptions = {\n /**\n * Custom admin components\n */\n components?: {\n AfterList?: CustomComponent[]\n AfterListTable?: CustomComponent[]\n BeforeList?: CustomComponent[]\n BeforeListTable?: CustomComponent[]\n /**\n * Components within the edit view\n */\n edit?: {\n /**\n * Replaces the \"Preview\" button\n */\n PreviewButton?: CustomPreviewButton\n /**\n * Replaces the \"Publish\" button\n * + drafts must be enabled\n */\n PublishButton?: CustomPublishButton\n /**\n * Replaces the \"Save\" button\n * + drafts must be disabled\n */\n SaveButton?: CustomSaveButton\n /**\n * Replaces the \"Save Draft\" button\n * + drafts must be enabled\n * + autosave must be disabled\n */\n SaveDraftButton?: CustomSaveDraftButton\n }\n views?: {\n /**\n * Set to a React component to replace the entire \"Edit\" view, including all nested routes.\n * Set to an object to replace or modify individual nested routes, or to add new ones.\n */\n Edit?: EditConfig\n List?:\n | {\n Component?: React.ComponentType<any>\n actions?: CustomComponent[]\n }\n | React.ComponentType<any>\n }\n }\n /** Extension point to add your custom data. Available in server and client. */\n custom?: Record<string, any>\n /**\n * Default columns to show in list view\n */\n defaultColumns?: string[]\n /**\n * Custom description for collection\n */\n description?: EntityDescription\n enableRichTextLink?: boolean\n enableRichTextRelationship?: boolean\n /**\n * Place collections into a navigational group\n * */\n group?: Record<string, string> | string\n /**\n * Exclude the collection from the admin nav and routes\n */\n hidden?: ((args: { user: ClientUser }) => boolean) | boolean\n /**\n * Hide the API URL within the Edit view\n */\n hideAPIURL?: boolean\n /**\n * Additional fields to be searched via the full text search\n */\n listSearchableFields?: string[]\n /**\n * Live preview options\n */\n livePreview?: LivePreviewConfig\n pagination?: {\n defaultLimit?: number\n limits?: number[]\n }\n /**\n * Function to generate custom preview URL\n */\n preview?: GeneratePreviewURL\n /**\n * Field to use as title in Edit view and first column in List view\n */\n useAsTitle?: string\n}\n\n/** Manage all aspects of a data collection */\nexport type CollectionConfig = {\n /**\n * Access control\n */\n access?: {\n admin?: ({ req }: { req: PayloadRequest }) => Promise<boolean> | boolean\n create?: Access\n delete?: Access\n read?: Access\n readVersions?: Access\n unlock?: Access\n update?: Access\n }\n /**\n * Collection admin options\n */\n admin?: CollectionAdminOptions\n /**\n * Collection login options\n *\n * Use `true` to enable with default options\n */\n auth?: IncomingAuthType | boolean\n /** Extension point to add your custom data. Server only. */\n custom?: Record<string, any>\n /**\n * Default field to sort by in collection list view\n */\n defaultSort?: string\n /**\n * When true, do not show the \"Duplicate\" button while editing documents within this collection and prevent `duplicate` from all APIs\n */\n disableDuplicate?: boolean\n /**\n * Custom rest api endpoints, set false to disable all rest endpoints for this collection.\n */\n endpoints?: Omit<Endpoint, 'root'>[] | false\n fields: Field[]\n /**\n * GraphQL configuration\n */\n graphQL?:\n | {\n pluralName?: string\n singularName?: string\n }\n | false\n /**\n * Hooks to modify Payload functionality\n */\n hooks?: {\n afterChange?: AfterChangeHook[]\n afterDelete?: AfterDeleteHook[]\n afterError?: AfterErrorHook\n afterForgotPassword?: AfterForgotPasswordHook[]\n afterLogin?: AfterLoginHook[]\n afterLogout?: AfterLogoutHook[]\n afterMe?: AfterMeHook[]\n afterOperation?: AfterOperationHook[]\n afterRead?: AfterReadHook[]\n afterRefresh?: AfterRefreshHook[]\n beforeChange?: BeforeChangeHook[]\n beforeDelete?: BeforeDeleteHook[]\n beforeLogin?: BeforeLoginHook[]\n beforeOperation?: BeforeOperationHook[]\n beforeRead?: BeforeReadHook[]\n beforeValidate?: BeforeValidateHook[]\n }\n /**\n * Label configuration\n */\n labels?: {\n plural?: LabelFunction | Record<string, string> | string\n singular?: LabelFunction | Record<string, string> | string\n }\n slug: string\n /**\n * Add `createdAt` and `updatedAt` fields\n *\n * @default true\n */\n timestamps?: boolean\n /**\n * Options used in typescript generation\n */\n typescript?: {\n /**\n * Typescript generation name given to the interface type\n */\n interface?: string\n }\n /**\n * Customize the handling of incoming file uploads\n *\n * @default false // disable uploads\n */\n upload?: UploadConfig | boolean\n /**\n * Customize the handling of incoming file uploads\n *\n * @default false // disable versioning\n */\n versions?: IncomingCollectionVersions | boolean\n}\n\nexport interface SanitizedCollectionConfig\n extends Omit<\n DeepRequired<CollectionConfig>,\n 'auth' | 'endpoints' | 'fields' | 'upload' | 'versions'\n > {\n auth: Auth\n endpoints: Endpoint[] | false\n fields: Field[]\n upload: SanitizedUploadConfig\n versions: SanitizedCollectionVersions\n}\n\nexport type Collection = {\n config: SanitizedCollectionConfig\n customIDType?: 'number' | 'text'\n graphQL?: {\n JWT: GraphQLObjectType\n countType: GraphQLObjectType\n mutationInputType: GraphQLNonNull<any>\n paginatedType: GraphQLObjectType\n type: GraphQLObjectType\n updateMutationInputType: GraphQLNonNull<any>\n versionType: GraphQLObjectType\n whereInputType: GraphQLInputObjectType\n }\n}\n\nexport type BulkOperationResult<TSlug extends keyof GeneratedTypes['collections']> = {\n docs: GeneratedTypes['collections'][TSlug][]\n errors: {\n id: GeneratedTypes['collections'][TSlug]['id']\n message: string\n }[]\n}\n\nexport type AuthCollection = {\n config: SanitizedCollectionConfig\n}\n\nexport type TypeWithID = {\n id: number | string\n}\n\nexport type TypeWithTimestamps = {\n [key: string]: unknown\n createdAt: string\n id: number | string\n updatedAt: string\n}\n"],"names":[],"rangeMappings":"","mappings":"AA2bA,WAKC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dataloader.d.ts","sourceRoot":"","sources":["../../src/collections/dataloader.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAsJnD,eAAO,MAAM,aAAa,QAAS,cAAc,2CAA0C,CAAA"}
1
+ {"version":3,"file":"dataloader.d.ts","sourceRoot":"","sources":["../../src/collections/dataloader.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAkJnD,eAAO,MAAM,aAAa,QAAS,cAAc,2CAA0C,CAAA"}
@@ -1,6 +1,4 @@
1
1
  import DataLoader from 'dataloader';
2
- import { fieldAffectsData } from '../fields/config/types.js';
3
- import { getIDType } from '../utilities/getIDType.js';
4
2
  import { isValidID } from '../utilities/isValidID.js';
5
3
  // Payload uses `dataloader` to solve the classic GraphQL N+1 problem.
6
4
  // We keep a list of all documents requested to be populated for any given request
@@ -42,10 +40,10 @@ const batchAndLoadDocs = (req)=>async (keys)=>{
42
40
  showHiddenFields
43
41
  ];
44
42
  const batchKey = JSON.stringify(batchKeyArray);
45
- const idField = payload.collections?.[collection].config.fields.find((field)=>fieldAffectsData(field) && field.name === 'id');
43
+ const idType = payload.collections?.[collection].customIDType || payload.db.defaultIDType;
46
44
  let sanitizedID = id;
47
- if (idField?.type === 'number') sanitizedID = parseFloat(id);
48
- if (isValidID(sanitizedID, getIDType(idField, payload?.db?.defaultIDType))) {
45
+ if (idType === 'number') sanitizedID = parseFloat(id);
46
+ if (isValidID(sanitizedID, idType)) {
49
47
  return {
50
48
  ...batches,
51
49
  [batchKey]: [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/collections/dataloader.ts"],"sourcesContent":["import type { BatchLoadFn } from 'dataloader'\n\nimport DataLoader from 'dataloader'\n\nimport type { PayloadRequest } from '../types/index.js'\nimport type { TypeWithID } from './config/types.js'\n\nimport { fieldAffectsData } from '../fields/config/types.js'\nimport { getIDType } from '../utilities/getIDType.js'\nimport { isValidID } from '../utilities/isValidID.js'\n\n// Payload uses `dataloader` to solve the classic GraphQL N+1 problem.\n\n// We keep a list of all documents requested to be populated for any given request\n// and then batch together documents within the same collection,\n// making only 1 find per each collection, rather than `findByID` per each requested doc.\n\n// This dramatically improves performance for REST and Local API `depth` populations,\n// and also ensures complex GraphQL queries perform lightning-fast.\n\nconst batchAndLoadDocs =\n (req: PayloadRequest): BatchLoadFn<string, TypeWithID> =>\n async (keys: string[]): Promise<TypeWithID[]> => {\n const { payload } = req\n\n // Create docs array of same length as keys, using null as value\n // We will replace nulls with injected docs as they are retrieved\n const docs: (TypeWithID | null)[] = keys.map(() => null)\n\n /**\n * Batch IDs by their `find` args\n * so we can make one find query per combination of collection, depth, locale, and fallbackLocale.\n *\n * Resulting shape will be as follows:\n {\n // key is stringified set of find args\n '[null,\"pages\",2,0,\"es\",\"en\",false,false]': [\n // value is array of IDs to find with these args\n 'q34tl23462346234524',\n '435523540194324280',\n '2346245j35l3j5234532li',\n ],\n // etc\n };\n *\n **/\n\n const batchByFindArgs = keys.reduce((batches, key) => {\n const [\n transactionID,\n collection,\n id,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ] = JSON.parse(key)\n\n const batchKeyArray = [\n transactionID,\n collection,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ]\n\n const batchKey = JSON.stringify(batchKeyArray)\n\n const idField = payload.collections?.[collection].config.fields.find(\n (field) => fieldAffectsData(field) && field.name === 'id',\n )\n\n let sanitizedID: number | string = id\n\n if (idField?.type === 'number') sanitizedID = parseFloat(id)\n\n if (isValidID(sanitizedID, getIDType(idField, payload?.db?.defaultIDType))) {\n return {\n ...batches,\n [batchKey]: [...(batches[batchKey] || []), sanitizedID],\n }\n }\n return batches\n }, {})\n\n // Run find requests one after another, so as to not hang transactions\n\n await Object.entries(batchByFindArgs).reduce(async (priorFind, [batchKey, ids]) => {\n await priorFind\n\n const [\n transactionID,\n collection,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ] = JSON.parse(batchKey)\n\n req.transactionID = transactionID\n\n const result = await payload.find({\n collection,\n currentDepth,\n depth,\n disableErrors: true,\n fallbackLocale,\n locale,\n overrideAccess: Boolean(overrideAccess),\n pagination: false,\n req,\n showHiddenFields: Boolean(showHiddenFields),\n where: {\n id: {\n in: ids,\n },\n },\n })\n\n // For each returned doc, find index in original keys\n // Inject doc within docs array if index exists\n\n result.docs.forEach((doc) => {\n const docKey = JSON.stringify([\n req.transactionID,\n collection,\n doc.id,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ])\n const docsIndex = keys.findIndex((key) => key === docKey)\n\n if (docsIndex > -1) {\n docs[docsIndex] = doc\n }\n })\n }, Promise.resolve())\n\n // Return docs array,\n // which has now been injected with all fetched docs\n // and should match the length of the incoming keys arg\n return docs\n }\n\nexport const getDataLoader = (req: PayloadRequest) => new DataLoader(batchAndLoadDocs(req))\n"],"names":["DataLoader","fieldAffectsData","getIDType","isValidID","batchAndLoadDocs","req","keys","payload","docs","map","batchByFindArgs","reduce","batches","key","transactionID","collection","id","depth","currentDepth","locale","fallbackLocale","overrideAccess","showHiddenFields","JSON","parse","batchKeyArray","batchKey","stringify","idField","collections","config","fields","find","field","name","sanitizedID","type","parseFloat","db","defaultIDType","Object","entries","priorFind","ids","result","disableErrors","Boolean","pagination","where","in","forEach","doc","docKey","docsIndex","findIndex","Promise","resolve","getDataLoader"],"mappings":"AAEA,OAAOA,gBAAgB,aAAY;AAKnC,SAASC,gBAAgB,QAAQ,4BAA2B;AAC5D,SAASC,SAAS,QAAQ,4BAA2B;AACrD,SAASC,SAAS,QAAQ,4BAA2B;AAErD,sEAAsE;AAEtE,kFAAkF;AAClF,gEAAgE;AAChE,yFAAyF;AAEzF,qFAAqF;AACrF,mEAAmE;AAEnE,MAAMC,mBACJ,CAACC,MACD,OAAOC;QACL,MAAM,EAAEC,OAAO,EAAE,GAAGF;QAEpB,gEAAgE;QAChE,iEAAiE;QACjE,MAAMG,OAA8BF,KAAKG,GAAG,CAAC,IAAM;QAEnD;;;;;;;;;;;;;;;;KAgBC,GAED,MAAMC,kBAAkBJ,KAAKK,MAAM,CAAC,CAACC,SAASC;YAC5C,MAAM,CACJC,eACAC,YACAC,IACAC,OACAC,cACAC,QACAC,gBACAC,gBACAC,iBACD,GAAGC,KAAKC,KAAK,CAACX;YAEf,MAAMY,gBAAgB;gBACpBX;gBACAC;gBACAE;gBACAC;gBACAC;gBACAC;gBACAC;gBACAC;aACD;YAED,MAAMI,WAAWH,KAAKI,SAAS,CAACF;YAEhC,MAAMG,UAAUrB,QAAQsB,WAAW,EAAE,CAACd,WAAW,CAACe,OAAOC,OAAOC,KAC9D,CAACC,QAAUhC,iBAAiBgC,UAAUA,MAAMC,IAAI,KAAK;YAGvD,IAAIC,cAA+BnB;YAEnC,IAAIY,SAASQ,SAAS,UAAUD,cAAcE,WAAWrB;YAEzD,IAAIb,UAAUgC,aAAajC,UAAU0B,SAASrB,SAAS+B,IAAIC,iBAAiB;gBAC1E,OAAO;oBACL,GAAG3B,OAAO;oBACV,CAACc,SAAS,EAAE;2BAAKd,OAAO,CAACc,SAAS,IAAI,EAAE;wBAAGS;qBAAY;gBACzD;YACF;YACA,OAAOvB;QACT,GAAG,CAAC;QAEJ,sEAAsE;QAEtE,MAAM4B,OAAOC,OAAO,CAAC/B,iBAAiBC,MAAM,CAAC,OAAO+B,WAAW,CAAChB,UAAUiB,IAAI;YAC5E,MAAMD;YAEN,MAAM,CACJ5B,eACAC,YACAE,OACAC,cACAC,QACAC,gBACAC,gBACAC,iBACD,GAAGC,KAAKC,KAAK,CAACE;YAEfrB,IAAIS,aAAa,GAAGA;YAEpB,MAAM8B,SAAS,MAAMrC,QAAQyB,IAAI,CAAC;gBAChCjB;gBACAG;gBACAD;gBACA4B,eAAe;gBACfzB;gBACAD;gBACAE,gBAAgByB,QAAQzB;gBACxB0B,YAAY;gBACZ1C;gBACAiB,kBAAkBwB,QAAQxB;gBAC1B0B,OAAO;oBACLhC,IAAI;wBACFiC,IAAIN;oBACN;gBACF;YACF;YAEA,qDAAqD;YACrD,+CAA+C;YAE/CC,OAAOpC,IAAI,CAAC0C,OAAO,CAAC,CAACC;gBACnB,MAAMC,SAAS7B,KAAKI,SAAS,CAAC;oBAC5BtB,IAAIS,aAAa;oBACjBC;oBACAoC,IAAInC,EAAE;oBACNC;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;iBACD;gBACD,MAAM+B,YAAY/C,KAAKgD,SAAS,CAAC,CAACzC,MAAQA,QAAQuC;gBAElD,IAAIC,YAAY,CAAC,GAAG;oBAClB7C,IAAI,CAAC6C,UAAU,GAAGF;gBACpB;YACF;QACF,GAAGI,QAAQC,OAAO;QAElB,qBAAqB;QACrB,oDAAoD;QACpD,uDAAuD;QACvD,OAAOhD;IACT;AAEF,OAAO,MAAMiD,gBAAgB,CAACpD,MAAwB,IAAIL,WAAWI,iBAAiBC,MAAK"}
1
+ {"version":3,"sources":["../../src/collections/dataloader.ts"],"sourcesContent":["import type { BatchLoadFn } from 'dataloader'\n\nimport DataLoader from 'dataloader'\n\nimport type { PayloadRequest } from '../types/index.js'\nimport type { TypeWithID } from './config/types.js'\n\nimport { isValidID } from '../utilities/isValidID.js'\n\n// Payload uses `dataloader` to solve the classic GraphQL N+1 problem.\n\n// We keep a list of all documents requested to be populated for any given request\n// and then batch together documents within the same collection,\n// making only 1 find per each collection, rather than `findByID` per each requested doc.\n\n// This dramatically improves performance for REST and Local API `depth` populations,\n// and also ensures complex GraphQL queries perform lightning-fast.\n\nconst batchAndLoadDocs =\n (req: PayloadRequest): BatchLoadFn<string, TypeWithID> =>\n async (keys: string[]): Promise<TypeWithID[]> => {\n const { payload } = req\n\n // Create docs array of same length as keys, using null as value\n // We will replace nulls with injected docs as they are retrieved\n const docs: (TypeWithID | null)[] = keys.map(() => null)\n\n /**\n * Batch IDs by their `find` args\n * so we can make one find query per combination of collection, depth, locale, and fallbackLocale.\n *\n * Resulting shape will be as follows:\n {\n // key is stringified set of find args\n '[null,\"pages\",2,0,\"es\",\"en\",false,false]': [\n // value is array of IDs to find with these args\n 'q34tl23462346234524',\n '435523540194324280',\n '2346245j35l3j5234532li',\n ],\n // etc\n };\n *\n **/\n\n const batchByFindArgs = keys.reduce((batches, key) => {\n const [\n transactionID,\n collection,\n id,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ] = JSON.parse(key)\n\n const batchKeyArray = [\n transactionID,\n collection,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ]\n\n const batchKey = JSON.stringify(batchKeyArray)\n\n const idType = payload.collections?.[collection].customIDType || payload.db.defaultIDType\n\n let sanitizedID: number | string = id\n\n if (idType === 'number') sanitizedID = parseFloat(id)\n\n if (isValidID(sanitizedID, idType)) {\n return {\n ...batches,\n [batchKey]: [...(batches[batchKey] || []), sanitizedID],\n }\n }\n return batches\n }, {})\n\n // Run find requests one after another, so as to not hang transactions\n\n await Object.entries(batchByFindArgs).reduce(async (priorFind, [batchKey, ids]) => {\n await priorFind\n\n const [\n transactionID,\n collection,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ] = JSON.parse(batchKey)\n\n req.transactionID = transactionID\n\n const result = await payload.find({\n collection,\n currentDepth,\n depth,\n disableErrors: true,\n fallbackLocale,\n locale,\n overrideAccess: Boolean(overrideAccess),\n pagination: false,\n req,\n showHiddenFields: Boolean(showHiddenFields),\n where: {\n id: {\n in: ids,\n },\n },\n })\n\n // For each returned doc, find index in original keys\n // Inject doc within docs array if index exists\n\n result.docs.forEach((doc) => {\n const docKey = JSON.stringify([\n req.transactionID,\n collection,\n doc.id,\n depth,\n currentDepth,\n locale,\n fallbackLocale,\n overrideAccess,\n showHiddenFields,\n ])\n const docsIndex = keys.findIndex((key) => key === docKey)\n\n if (docsIndex > -1) {\n docs[docsIndex] = doc\n }\n })\n }, Promise.resolve())\n\n // Return docs array,\n // which has now been injected with all fetched docs\n // and should match the length of the incoming keys arg\n return docs\n }\n\nexport const getDataLoader = (req: PayloadRequest) => new DataLoader(batchAndLoadDocs(req))\n"],"names":["DataLoader","isValidID","batchAndLoadDocs","req","keys","payload","docs","map","batchByFindArgs","reduce","batches","key","transactionID","collection","id","depth","currentDepth","locale","fallbackLocale","overrideAccess","showHiddenFields","JSON","parse","batchKeyArray","batchKey","stringify","idType","collections","customIDType","db","defaultIDType","sanitizedID","parseFloat","Object","entries","priorFind","ids","result","find","disableErrors","Boolean","pagination","where","in","forEach","doc","docKey","docsIndex","findIndex","Promise","resolve","getDataLoader"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,gBAAgB,aAAY;AAKnC,SAASC,SAAS,QAAQ,4BAA2B;AAErD,sEAAsE;AAEtE,kFAAkF;AAClF,gEAAgE;AAChE,yFAAyF;AAEzF,qFAAqF;AACrF,mEAAmE;AAEnE,MAAMC,mBACJ,CAACC,MACD,OAAOC;QACL,MAAM,EAAEC,OAAO,EAAE,GAAGF;QAEpB,gEAAgE;QAChE,iEAAiE;QACjE,MAAMG,OAA8BF,KAAKG,GAAG,CAAC,IAAM;QAEnD;;;;;;;;;;;;;;;;KAgBC,GAED,MAAMC,kBAAkBJ,KAAKK,MAAM,CAAC,CAACC,SAASC;YAC5C,MAAM,CACJC,eACAC,YACAC,IACAC,OACAC,cACAC,QACAC,gBACAC,gBACAC,iBACD,GAAGC,KAAKC,KAAK,CAACX;YAEf,MAAMY,gBAAgB;gBACpBX;gBACAC;gBACAE;gBACAC;gBACAC;gBACAC;gBACAC;gBACAC;aACD;YAED,MAAMI,WAAWH,KAAKI,SAAS,CAACF;YAEhC,MAAMG,SAASrB,QAAQsB,WAAW,EAAE,CAACd,WAAW,CAACe,gBAAgBvB,QAAQwB,EAAE,CAACC,aAAa;YAEzF,IAAIC,cAA+BjB;YAEnC,IAAIY,WAAW,UAAUK,cAAcC,WAAWlB;YAElD,IAAIb,UAAU8B,aAAaL,SAAS;gBAClC,OAAO;oBACL,GAAGhB,OAAO;oBACV,CAACc,SAAS,EAAE;2BAAKd,OAAO,CAACc,SAAS,IAAI,EAAE;wBAAGO;qBAAY;gBACzD;YACF;YACA,OAAOrB;QACT,GAAG,CAAC;QAEJ,sEAAsE;QAEtE,MAAMuB,OAAOC,OAAO,CAAC1B,iBAAiBC,MAAM,CAAC,OAAO0B,WAAW,CAACX,UAAUY,IAAI;YAC5E,MAAMD;YAEN,MAAM,CACJvB,eACAC,YACAE,OACAC,cACAC,QACAC,gBACAC,gBACAC,iBACD,GAAGC,KAAKC,KAAK,CAACE;YAEfrB,IAAIS,aAAa,GAAGA;YAEpB,MAAMyB,SAAS,MAAMhC,QAAQiC,IAAI,CAAC;gBAChCzB;gBACAG;gBACAD;gBACAwB,eAAe;gBACfrB;gBACAD;gBACAE,gBAAgBqB,QAAQrB;gBACxBsB,YAAY;gBACZtC;gBACAiB,kBAAkBoB,QAAQpB;gBAC1BsB,OAAO;oBACL5B,IAAI;wBACF6B,IAAIP;oBACN;gBACF;YACF;YAEA,qDAAqD;YACrD,+CAA+C;YAE/CC,OAAO/B,IAAI,CAACsC,OAAO,CAAC,CAACC;gBACnB,MAAMC,SAASzB,KAAKI,SAAS,CAAC;oBAC5BtB,IAAIS,aAAa;oBACjBC;oBACAgC,IAAI/B,EAAE;oBACNC;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;iBACD;gBACD,MAAM2B,YAAY3C,KAAK4C,SAAS,CAAC,CAACrC,MAAQA,QAAQmC;gBAElD,IAAIC,YAAY,CAAC,GAAG;oBAClBzC,IAAI,CAACyC,UAAU,GAAGF;gBACpB;YACF;QACF,GAAGI,QAAQC,OAAO;QAElB,qBAAqB;QACrB,oDAAoD;QACpD,uDAAuD;QACvD,OAAO5C;IACT;AAEF,OAAO,MAAM6C,gBAAgB,CAAChD,MAAwB,IAAIH,WAAWE,iBAAiBC,MAAK"}
@@ -0,0 +1,13 @@
1
+ import type { PayloadRequest, Where } from '../../types/index.js';
2
+ import type { Collection, TypeWithID } from '../config/types.js';
3
+ export type Arguments = {
4
+ collection: Collection;
5
+ disableErrors?: boolean;
6
+ overrideAccess?: boolean;
7
+ req?: PayloadRequest;
8
+ where?: Where;
9
+ };
10
+ export declare const countOperation: <T extends TypeWithID & Record<string, unknown>>(incomingArgs: Arguments) => Promise<{
11
+ totalDocs: number;
12
+ }>;
13
+ //# sourceMappingURL=count.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/count.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAUhE,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,eAAO,MAAM,cAAc,iEACX,SAAS,KACtB,QAAQ;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAwF/B,CAAA"}
@@ -0,0 +1,75 @@
1
+ import executeAccess from '../../auth/executeAccess.js';
2
+ import { combineQueries } from '../../database/combineQueries.js';
3
+ import { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js';
4
+ import { commitTransaction } from '../../utilities/commitTransaction.js';
5
+ import { initTransaction } from '../../utilities/initTransaction.js';
6
+ import { killTransaction } from '../../utilities/killTransaction.js';
7
+ import { buildAfterOperation } from './utils.js';
8
+ export const countOperation = async (incomingArgs)=>{
9
+ let args = incomingArgs;
10
+ try {
11
+ const shouldCommit = await initTransaction(args.req);
12
+ // /////////////////////////////////////
13
+ // beforeOperation - Collection
14
+ // /////////////////////////////////////
15
+ await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook)=>{
16
+ await priorHook;
17
+ args = await hook({
18
+ args,
19
+ collection: args.collection.config,
20
+ context: args.req.context,
21
+ operation: 'count',
22
+ req: args.req
23
+ }) || args;
24
+ }, Promise.resolve());
25
+ const { collection: { config: collectionConfig }, disableErrors, overrideAccess, req: { payload }, req, where } = args;
26
+ // /////////////////////////////////////
27
+ // Access
28
+ // /////////////////////////////////////
29
+ let accessResult;
30
+ if (!overrideAccess) {
31
+ accessResult = await executeAccess({
32
+ disableErrors,
33
+ req
34
+ }, collectionConfig.access.read);
35
+ // If errors are disabled, and access returns false, return empty results
36
+ if (accessResult === false) {
37
+ return {
38
+ totalDocs: 0
39
+ };
40
+ }
41
+ }
42
+ let result;
43
+ const fullWhere = combineQueries(where, accessResult);
44
+ await validateQueryPaths({
45
+ collectionConfig,
46
+ overrideAccess,
47
+ req,
48
+ where
49
+ });
50
+ result = await payload.db.count({
51
+ collection: collectionConfig.slug,
52
+ req,
53
+ where: fullWhere
54
+ });
55
+ // /////////////////////////////////////
56
+ // afterOperation - Collection
57
+ // /////////////////////////////////////
58
+ result = await buildAfterOperation({
59
+ args,
60
+ collection: collectionConfig,
61
+ operation: 'count',
62
+ result
63
+ });
64
+ // /////////////////////////////////////
65
+ // Return results
66
+ // /////////////////////////////////////
67
+ if (shouldCommit) await commitTransaction(req);
68
+ return result;
69
+ } catch (error) {
70
+ await killTransaction(args.req);
71
+ throw error;
72
+ }
73
+ };
74
+
75
+ //# sourceMappingURL=count.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/collections/operations/count.ts"],"sourcesContent":["import type { AccessResult } from '../../config/types.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { Collection, TypeWithID } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n disableErrors?: boolean\n overrideAccess?: boolean\n req?: PayloadRequest\n where?: Where\n}\n\nexport const countOperation = async <T extends TypeWithID & Record<string, unknown>>(\n incomingArgs: Arguments,\n): Promise<{ totalDocs: number }> => {\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(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'count',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n collection: { config: collectionConfig },\n disableErrors,\n overrideAccess,\n req: { payload },\n req,\n where,\n } = args\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n\n if (!overrideAccess) {\n accessResult = await executeAccess({ disableErrors, req }, collectionConfig.access.read)\n\n // If errors are disabled, and access returns false, return empty results\n if (accessResult === false) {\n return {\n totalDocs: 0,\n }\n }\n }\n\n let result: { totalDocs: number }\n\n const fullWhere = combineQueries(where, accessResult)\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n where,\n })\n\n result = await payload.db.count({\n collection: collectionConfig.slug,\n req,\n where: fullWhere,\n })\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<T>({\n args,\n collection: collectionConfig,\n operation: 'count',\n result,\n })\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":["executeAccess","combineQueries","validateQueryPaths","commitTransaction","initTransaction","killTransaction","buildAfterOperation","countOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","disableErrors","overrideAccess","payload","where","accessResult","access","read","totalDocs","result","fullWhere","db","count","slug","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,OAAOA,mBAAmB,8BAA6B;AACvD,SAASC,cAAc,QAAQ,mCAAkC;AACjE,SAASC,kBAAkB,QAAQ,uDAAsD;AACzF,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,mBAAmB,QAAQ,aAAY;AAUhD,OAAO,MAAMC,iBAAiB,OAC5BC;IAEA,IAAIC,OAAOD;IAEX,IAAI;QACF,MAAME,eAAe,MAAMN,gBAAgBK,KAAKE,GAAG;QAEnD,wCAAwC;QACxC,+BAA+B;QAC/B,wCAAwC;QAExC,MAAMF,KAAKG,UAAU,CAACC,MAAM,CAACC,KAAK,CAACC,eAAe,CAACC,MAAM,CAAC,OAAOC,WAAWC;YAC1E,MAAMD;YAENR,OACE,AAAC,MAAMS,KAAK;gBACVT;gBACAG,YAAYH,KAAKG,UAAU,CAACC,MAAM;gBAClCM,SAASV,KAAKE,GAAG,CAACQ,OAAO;gBACzBC,WAAW;gBACXT,KAAKF,KAAKE,GAAG;YACf,MAAOF;QACX,GAAGY,QAAQC,OAAO;QAElB,MAAM,EACJV,YAAY,EAAEC,QAAQU,gBAAgB,EAAE,EACxCC,aAAa,EACbC,cAAc,EACdd,KAAK,EAAEe,OAAO,EAAE,EAChBf,GAAG,EACHgB,KAAK,EACN,GAAGlB;QAEJ,wCAAwC;QACxC,SAAS;QACT,wCAAwC;QAExC,IAAImB;QAEJ,IAAI,CAACH,gBAAgB;YACnBG,eAAe,MAAM5B,cAAc;gBAAEwB;gBAAeb;YAAI,GAAGY,iBAAiBM,MAAM,CAACC,IAAI;YAEvF,yEAAyE;YACzE,IAAIF,iBAAiB,OAAO;gBAC1B,OAAO;oBACLG,WAAW;gBACb;YACF;QACF;QAEA,IAAIC;QAEJ,MAAMC,YAAYhC,eAAe0B,OAAOC;QAExC,MAAM1B,mBAAmB;YACvBqB;YACAE;YACAd;YACAgB;QACF;QAEAK,SAAS,MAAMN,QAAQQ,EAAE,CAACC,KAAK,CAAC;YAC9BvB,YAAYW,iBAAiBa,IAAI;YACjCzB;YACAgB,OAAOM;QACT;QAEA,wCAAwC;QACxC,8BAA8B;QAC9B,wCAAwC;QAExCD,SAAS,MAAM1B,oBAAuB;YACpCG;YACAG,YAAYW;YACZH,WAAW;YACXY;QACF;QAEA,wCAAwC;QACxC,iBAAiB;QACjB,wCAAwC;QAExC,IAAItB,cAAc,MAAMP,kBAAkBQ;QAE1C,OAAOqB;IACT,EAAE,OAAOK,OAAgB;QACvB,MAAMhC,gBAAgBI,KAAKE,GAAG;QAC9B,MAAM0B;IACR;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAIjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,KAAK,EAIV,UAAU,EACX,MAAM,oBAAoB,CAAA;AAoB3B,MAAM,MAAM,gBAAgB,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAE7E,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,gBAAgB,IAAI;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC,CAAA;IACjE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,eAAe,yDACZ,UAAU,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,KAC5D,QAAQ,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CA2U9C,CAAA"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAIjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,KAAK,EAIV,UAAU,EACX,MAAM,oBAAoB,CAAA;AAmB3B,MAAM,MAAM,gBAAgB,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAE7E,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,gBAAgB,IAAI;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC,CAAA;IACjE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,eAAe,yDACZ,UAAU,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,KAC5D,QAAQ,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAuU9C,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import crypto from 'crypto';
2
2
  import executeAccess from '../../auth/executeAccess.js';
3
- import sendVerificationEmail from '../../auth/sendVerificationEmail.js';
3
+ import { sendVerificationEmail } from '../../auth/sendVerificationEmail.js';
4
4
  import { registerLocalStrategy } from '../../auth/strategies/local/register.js';
5
5
  import { afterChange } from '../../fields/hooks/afterChange/index.js';
6
6
  import { afterRead } from '../../fields/hooks/afterRead/index.js';
@@ -10,7 +10,6 @@ import { generateFileData } from '../../uploads/generateFileData.js';
10
10
  import { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js';
11
11
  import { uploadFiles } from '../../uploads/uploadFiles.js';
12
12
  import { commitTransaction } from '../../utilities/commitTransaction.js';
13
- import flattenFields from '../../utilities/flattenTopLevelFields.js';
14
13
  import { initTransaction } from '../../utilities/initTransaction.js';
15
14
  import { killTransaction } from '../../utilities/killTransaction.js';
16
15
  import sanitizeInternalFields from '../../utilities/sanitizeInternalFields.js';
@@ -33,7 +32,7 @@ export const createOperation = async (incomingArgs)=>{
33
32
  req: args.req
34
33
  }) || args;
35
34
  }, Promise.resolve());
36
- const { autosave = false, collection: { config: collectionConfig }, collection, depth, disableVerificationEmail, draft = false, overrideAccess, overwriteExistingFiles = false, req: { fallbackLocale, locale, payload, payload: { config, emailOptions } }, req, showHiddenFields } = args;
35
+ const { autosave = false, collection: { config: collectionConfig }, collection, depth, disableVerificationEmail, draft = false, overrideAccess, overwriteExistingFiles = false, req: { fallbackLocale, locale, payload, payload: { config, email } }, req, showHiddenFields } = args;
37
36
  let { data } = args;
38
37
  const shouldSaveDraft = Boolean(draft && collectionConfig.versions.drafts);
39
38
  // /////////////////////////////////////
@@ -48,9 +47,7 @@ export const createOperation = async (incomingArgs)=>{
48
47
  // /////////////////////////////////////
49
48
  // Custom id
50
49
  // /////////////////////////////////////
51
- // @todo: Refactor code to store 'customId' on the collection configuration itself so we don't need to repeat flattenFields
52
- const hasIdField = flattenFields(collectionConfig.fields).findIndex((field)=>field.name === 'id') > -1;
53
- if (hasIdField) {
50
+ if (payload.collections[collectionConfig.slug].customIDType) {
54
51
  data = {
55
52
  _id: data.id,
56
53
  ...data
@@ -185,9 +182,8 @@ export const createOperation = async (incomingArgs)=>{
185
182
  },
186
183
  config: payload.config,
187
184
  disableEmail: disableVerificationEmail,
188
- emailOptions,
185
+ email: payload.email,
189
186
  req,
190
- sendEmail: payload.sendEmail,
191
187
  token: verificationToken,
192
188
  user: result
193
189
  });