payload 3.0.0-beta.3 → 3.0.0-beta.30

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 (727) hide show
  1. package/dist/admin/RichText.d.ts +25 -10
  2. package/dist/admin/RichText.d.ts.map +1 -1
  3. package/dist/admin/RichText.js.map +1 -1
  4. package/dist/admin/elements/PreviewButton.d.ts +2 -1
  5. package/dist/admin/elements/PreviewButton.d.ts.map +1 -1
  6. package/dist/admin/elements/PreviewButton.js.map +1 -1
  7. package/dist/admin/elements/PublishButton.d.ts +2 -1
  8. package/dist/admin/elements/PublishButton.d.ts.map +1 -1
  9. package/dist/admin/elements/PublishButton.js.map +1 -1
  10. package/dist/admin/elements/SaveButton.d.ts +2 -1
  11. package/dist/admin/elements/SaveButton.d.ts.map +1 -1
  12. package/dist/admin/elements/SaveButton.js.map +1 -1
  13. package/dist/admin/elements/SaveDraftButton.d.ts +2 -1
  14. package/dist/admin/elements/SaveDraftButton.d.ts.map +1 -1
  15. package/dist/admin/elements/SaveDraftButton.js.map +1 -1
  16. package/dist/admin/elements/Tab.d.ts +3 -0
  17. package/dist/admin/elements/Tab.d.ts.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/FieldDescription.d.ts +5 -3
  24. package/dist/admin/forms/FieldDescription.d.ts.map +1 -1
  25. package/dist/admin/forms/FieldDescription.js.map +1 -1
  26. package/dist/admin/forms/Label.d.ts +2 -2
  27. package/dist/admin/forms/Label.d.ts.map +1 -1
  28. package/dist/admin/forms/Label.js.map +1 -1
  29. package/dist/admin/forms/RowLabel.d.ts +3 -2
  30. package/dist/admin/forms/RowLabel.d.ts.map +1 -1
  31. package/dist/admin/forms/RowLabel.js.map +1 -1
  32. package/dist/admin/types.d.ts +3 -2
  33. package/dist/admin/types.d.ts.map +1 -1
  34. package/dist/admin/types.js.map +1 -1
  35. package/dist/admin/views/types.d.ts +2 -2
  36. package/dist/admin/views/types.d.ts.map +1 -1
  37. package/dist/admin/views/types.js.map +1 -1
  38. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  39. package/dist/auth/baseFields/apiKey.js +6 -4
  40. package/dist/auth/baseFields/apiKey.js.map +1 -1
  41. package/dist/auth/cookies.d.ts +16 -4
  42. package/dist/auth/cookies.d.ts.map +1 -1
  43. package/dist/auth/cookies.js +45 -14
  44. package/dist/auth/cookies.js.map +1 -1
  45. package/dist/auth/defaultAccess.d.ts +2 -2
  46. package/dist/auth/defaultAccess.d.ts.map +1 -1
  47. package/dist/auth/defaultAccess.js.map +1 -1
  48. package/dist/auth/executeAccess.d.ts +2 -2
  49. package/dist/auth/executeAccess.d.ts.map +1 -1
  50. package/dist/auth/executeAccess.js.map +1 -1
  51. package/dist/auth/executeAuthStrategies.d.ts +3 -2
  52. package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
  53. package/dist/auth/executeAuthStrategies.js.map +1 -1
  54. package/dist/auth/getAccessResults.d.ts +2 -2
  55. package/dist/auth/getAccessResults.d.ts.map +1 -1
  56. package/dist/auth/getAccessResults.js +1 -1
  57. package/dist/auth/getAccessResults.js.map +1 -1
  58. package/dist/auth/getFieldsToSign.d.ts +2 -2
  59. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  60. package/dist/auth/getFieldsToSign.js.map +1 -1
  61. package/dist/auth/operations/access.d.ts +2 -2
  62. package/dist/auth/operations/access.d.ts.map +1 -1
  63. package/dist/auth/operations/access.js.map +1 -1
  64. package/dist/auth/operations/auth.d.ts +5 -4
  65. package/dist/auth/operations/auth.d.ts.map +1 -1
  66. package/dist/auth/operations/auth.js.map +1 -1
  67. package/dist/auth/operations/forgotPassword.d.ts +2 -2
  68. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  69. package/dist/auth/operations/forgotPassword.js +7 -8
  70. package/dist/auth/operations/forgotPassword.js.map +1 -1
  71. package/dist/auth/operations/init.d.ts +2 -2
  72. package/dist/auth/operations/init.d.ts.map +1 -1
  73. package/dist/auth/operations/init.js.map +1 -1
  74. package/dist/auth/operations/local/auth.js.map +1 -1
  75. package/dist/auth/operations/local/forgotPassword.d.ts +2 -2
  76. package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
  77. package/dist/auth/operations/local/forgotPassword.js.map +1 -1
  78. package/dist/auth/operations/local/login.d.ts +2 -2
  79. package/dist/auth/operations/local/login.d.ts.map +1 -1
  80. package/dist/auth/operations/local/login.js.map +1 -1
  81. package/dist/auth/operations/local/resetPassword.d.ts +2 -2
  82. package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
  83. package/dist/auth/operations/local/resetPassword.js.map +1 -1
  84. package/dist/auth/operations/local/unlock.d.ts +2 -2
  85. package/dist/auth/operations/local/unlock.d.ts.map +1 -1
  86. package/dist/auth/operations/local/unlock.js.map +1 -1
  87. package/dist/auth/operations/local/verifyEmail.d.ts +2 -2
  88. package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
  89. package/dist/auth/operations/local/verifyEmail.js.map +1 -1
  90. package/dist/auth/operations/login.d.ts +2 -2
  91. package/dist/auth/operations/login.d.ts.map +1 -1
  92. package/dist/auth/operations/login.js +21 -1
  93. package/dist/auth/operations/login.js.map +1 -1
  94. package/dist/auth/operations/logout.d.ts +2 -2
  95. package/dist/auth/operations/logout.d.ts.map +1 -1
  96. package/dist/auth/operations/logout.js.map +1 -1
  97. package/dist/auth/operations/me.d.ts +2 -2
  98. package/dist/auth/operations/me.d.ts.map +1 -1
  99. package/dist/auth/operations/me.js.map +1 -1
  100. package/dist/auth/operations/refresh.d.ts +2 -2
  101. package/dist/auth/operations/refresh.d.ts.map +1 -1
  102. package/dist/auth/operations/refresh.js.map +1 -1
  103. package/dist/auth/operations/registerFirstUser.d.ts +2 -2
  104. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  105. package/dist/auth/operations/registerFirstUser.js.map +1 -1
  106. package/dist/auth/operations/resetPassword.d.ts +2 -2
  107. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  108. package/dist/auth/operations/resetPassword.js.map +1 -1
  109. package/dist/auth/operations/unlock.d.ts +2 -2
  110. package/dist/auth/operations/unlock.d.ts.map +1 -1
  111. package/dist/auth/operations/unlock.js.map +1 -1
  112. package/dist/auth/operations/verifyEmail.d.ts +2 -2
  113. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  114. package/dist/auth/operations/verifyEmail.js.map +1 -1
  115. package/dist/auth/sendVerificationEmail.d.ts +7 -8
  116. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  117. package/dist/auth/sendVerificationEmail.js +7 -7
  118. package/dist/auth/sendVerificationEmail.js.map +1 -1
  119. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +2 -2
  120. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  121. package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
  122. package/dist/auth/strategies/local/register.d.ts +2 -2
  123. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  124. package/dist/auth/strategies/local/register.js.map +1 -1
  125. package/dist/auth/strategies/local/resetLoginAttempts.d.ts +2 -2
  126. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  127. package/dist/auth/strategies/local/resetLoginAttempts.js.map +1 -1
  128. package/dist/auth/types.d.ts +5 -5
  129. package/dist/auth/types.d.ts.map +1 -1
  130. package/dist/auth/types.js.map +1 -1
  131. package/dist/bin/generateTypes.d.ts +1 -1
  132. package/dist/bin/generateTypes.d.ts.map +1 -1
  133. package/dist/bin/generateTypes.js +12 -8
  134. package/dist/bin/generateTypes.js.map +1 -1
  135. package/dist/bin/loader/index.d.ts.map +1 -1
  136. package/dist/bin/loader/index.js +6 -1
  137. package/dist/bin/loader/index.js.map +1 -1
  138. package/dist/bin/loader/resolveOriginalPath.d.ts +10 -0
  139. package/dist/bin/loader/resolveOriginalPath.d.ts.map +1 -0
  140. package/dist/bin/loader/resolveOriginalPath.js +32 -0
  141. package/dist/bin/loader/resolveOriginalPath.js.map +1 -0
  142. package/dist/collections/config/client.d.ts +19 -14
  143. package/dist/collections/config/client.d.ts.map +1 -1
  144. package/dist/collections/config/client.js +3 -1
  145. package/dist/collections/config/client.js.map +1 -1
  146. package/dist/collections/config/defaults.d.ts +6 -5
  147. package/dist/collections/config/defaults.d.ts.map +1 -1
  148. package/dist/collections/config/defaults.js +1 -0
  149. package/dist/collections/config/defaults.js.map +1 -1
  150. package/dist/collections/config/sanitize.d.ts +2 -3
  151. package/dist/collections/config/sanitize.d.ts.map +1 -1
  152. package/dist/collections/config/sanitize.js +7 -4
  153. package/dist/collections/config/sanitize.js.map +1 -1
  154. package/dist/collections/config/schema.d.ts.map +1 -1
  155. package/dist/collections/config/schema.js +7 -1
  156. package/dist/collections/config/schema.js.map +1 -1
  157. package/dist/collections/config/types.d.ts +34 -23
  158. package/dist/collections/config/types.d.ts.map +1 -1
  159. package/dist/collections/config/types.js.map +1 -1
  160. package/dist/collections/dataloader.d.ts +14 -0
  161. package/dist/collections/dataloader.d.ts.map +1 -1
  162. package/dist/collections/dataloader.js +31 -18
  163. package/dist/collections/dataloader.js.map +1 -1
  164. package/dist/collections/operations/count.d.ts +13 -0
  165. package/dist/collections/operations/count.d.ts.map +1 -0
  166. package/dist/collections/operations/count.js +75 -0
  167. package/dist/collections/operations/count.js.map +1 -0
  168. package/dist/collections/operations/create.d.ts +2 -2
  169. package/dist/collections/operations/create.d.ts.map +1 -1
  170. package/dist/collections/operations/create.js +5 -8
  171. package/dist/collections/operations/create.js.map +1 -1
  172. package/dist/collections/operations/delete.d.ts +2 -2
  173. package/dist/collections/operations/delete.d.ts.map +1 -1
  174. package/dist/collections/operations/delete.js +1 -0
  175. package/dist/collections/operations/delete.js.map +1 -1
  176. package/dist/collections/operations/deleteByID.d.ts +2 -2
  177. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  178. package/dist/collections/operations/deleteByID.js +1 -0
  179. package/dist/collections/operations/deleteByID.js.map +1 -1
  180. package/dist/collections/operations/docAccess.d.ts +2 -2
  181. package/dist/collections/operations/docAccess.d.ts.map +1 -1
  182. package/dist/collections/operations/docAccess.js.map +1 -1
  183. package/dist/collections/operations/duplicate.d.ts +2 -2
  184. package/dist/collections/operations/duplicate.d.ts.map +1 -1
  185. package/dist/collections/operations/duplicate.js +2 -0
  186. package/dist/collections/operations/duplicate.js.map +1 -1
  187. package/dist/collections/operations/find.d.ts +2 -2
  188. package/dist/collections/operations/find.d.ts.map +1 -1
  189. package/dist/collections/operations/find.js +1 -0
  190. package/dist/collections/operations/find.js.map +1 -1
  191. package/dist/collections/operations/findByID.d.ts +2 -2
  192. package/dist/collections/operations/findByID.d.ts.map +1 -1
  193. package/dist/collections/operations/findByID.js +1 -0
  194. package/dist/collections/operations/findByID.js.map +1 -1
  195. package/dist/collections/operations/findVersionByID.d.ts +2 -2
  196. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  197. package/dist/collections/operations/findVersionByID.js +1 -0
  198. package/dist/collections/operations/findVersionByID.js.map +1 -1
  199. package/dist/collections/operations/findVersions.d.ts +2 -2
  200. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  201. package/dist/collections/operations/findVersions.js +1 -0
  202. package/dist/collections/operations/findVersions.js.map +1 -1
  203. package/dist/collections/operations/local/count.d.ts +20 -0
  204. package/dist/collections/operations/local/count.d.ts.map +1 -0
  205. package/dist/collections/operations/local/count.js +19 -0
  206. package/dist/collections/operations/local/count.js.map +1 -0
  207. package/dist/collections/operations/local/create.d.ts +4 -4
  208. package/dist/collections/operations/local/create.d.ts.map +1 -1
  209. package/dist/collections/operations/local/create.js.map +1 -1
  210. package/dist/collections/operations/local/delete.d.ts +4 -4
  211. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  212. package/dist/collections/operations/local/delete.js.map +1 -1
  213. package/dist/collections/operations/local/duplicate.d.ts +4 -4
  214. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  215. package/dist/collections/operations/local/duplicate.js.map +1 -1
  216. package/dist/collections/operations/local/find.d.ts +4 -4
  217. package/dist/collections/operations/local/find.d.ts.map +1 -1
  218. package/dist/collections/operations/local/find.js.map +1 -1
  219. package/dist/collections/operations/local/findByID.d.ts +4 -4
  220. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  221. package/dist/collections/operations/local/findByID.js.map +1 -1
  222. package/dist/collections/operations/local/findVersionByID.d.ts +4 -4
  223. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  224. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  225. package/dist/collections/operations/local/findVersions.d.ts +4 -4
  226. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  227. package/dist/collections/operations/local/findVersions.js.map +1 -1
  228. package/dist/collections/operations/local/index.d.ts +2 -0
  229. package/dist/collections/operations/local/index.d.ts.map +1 -1
  230. package/dist/collections/operations/local/index.js +2 -0
  231. package/dist/collections/operations/local/index.js.map +1 -1
  232. package/dist/collections/operations/local/restoreVersion.d.ts +4 -4
  233. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  234. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  235. package/dist/collections/operations/local/update.d.ts +4 -4
  236. package/dist/collections/operations/local/update.d.ts.map +1 -1
  237. package/dist/collections/operations/local/update.js.map +1 -1
  238. package/dist/collections/operations/restoreVersion.d.ts +2 -2
  239. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  240. package/dist/collections/operations/restoreVersion.js +1 -0
  241. package/dist/collections/operations/restoreVersion.js.map +1 -1
  242. package/dist/collections/operations/update.d.ts +2 -2
  243. package/dist/collections/operations/update.d.ts.map +1 -1
  244. package/dist/collections/operations/update.js +5 -3
  245. package/dist/collections/operations/update.js.map +1 -1
  246. package/dist/collections/operations/updateByID.d.ts +2 -2
  247. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  248. package/dist/collections/operations/updateByID.js +4 -2
  249. package/dist/collections/operations/updateByID.js.map +1 -1
  250. package/dist/collections/operations/utils.d.ts +8 -2
  251. package/dist/collections/operations/utils.d.ts.map +1 -1
  252. package/dist/collections/operations/utils.js.map +1 -1
  253. package/dist/config/build.d.ts.map +1 -1
  254. package/dist/config/build.js +3 -4
  255. package/dist/config/build.js.map +1 -1
  256. package/dist/config/client.d.ts +2 -1
  257. package/dist/config/client.d.ts.map +1 -1
  258. package/dist/config/client.js +3 -1
  259. package/dist/config/client.js.map +1 -1
  260. package/dist/config/defaults.d.ts.map +1 -1
  261. package/dist/config/defaults.js +2 -0
  262. package/dist/config/defaults.js.map +1 -1
  263. package/dist/config/find.d.ts.map +1 -1
  264. package/dist/config/find.js +20 -9
  265. package/dist/config/find.js.map +1 -1
  266. package/dist/config/sanitize.d.ts +1 -1
  267. package/dist/config/sanitize.d.ts.map +1 -1
  268. package/dist/config/sanitize.js +39 -10
  269. package/dist/config/sanitize.js.map +1 -1
  270. package/dist/config/schema.d.ts.map +1 -1
  271. package/dist/config/schema.js +5 -2
  272. package/dist/config/schema.js.map +1 -1
  273. package/dist/config/types.d.ts +54 -57
  274. package/dist/config/types.d.ts.map +1 -1
  275. package/dist/config/types.js +3 -12
  276. package/dist/config/types.js.map +1 -1
  277. package/dist/database/migrations/migrate.js.map +1 -1
  278. package/dist/database/migrations/migrateDown.js.map +1 -1
  279. package/dist/database/migrations/migrateRefresh.js.map +1 -1
  280. package/dist/database/migrations/migrateReset.js.map +1 -1
  281. package/dist/database/queryValidation/validateQueryPaths.d.ts +2 -2
  282. package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
  283. package/dist/database/queryValidation/validateQueryPaths.js +1 -1
  284. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
  285. package/dist/database/queryValidation/validateSearchParams.d.ts +2 -2
  286. package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
  287. package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
  288. package/dist/database/types.d.ts +29 -19
  289. package/dist/database/types.d.ts.map +1 -1
  290. package/dist/database/types.js.map +1 -1
  291. package/dist/email/consoleEmailAdapter.d.ts +3 -0
  292. package/dist/email/consoleEmailAdapter.d.ts.map +1 -0
  293. package/dist/email/consoleEmailAdapter.js +17 -0
  294. package/dist/email/consoleEmailAdapter.js.map +1 -0
  295. package/dist/email/defaults.d.ts +2 -2
  296. package/dist/email/defaults.d.ts.map +1 -1
  297. package/dist/email/defaults.js +3 -3
  298. package/dist/email/defaults.js.map +1 -1
  299. package/dist/email/getStringifiedToAddress.d.ts +3 -0
  300. package/dist/email/getStringifiedToAddress.d.ts.map +1 -0
  301. package/dist/email/getStringifiedToAddress.js +20 -0
  302. package/dist/email/getStringifiedToAddress.js.map +1 -0
  303. package/dist/email/sendEmail.d.ts +3 -2
  304. package/dist/email/sendEmail.d.ts.map +1 -1
  305. package/dist/email/sendEmail.js +8 -4
  306. package/dist/email/sendEmail.js.map +1 -1
  307. package/dist/email/types.d.ts +26 -18
  308. package/dist/email/types.d.ts.map +1 -1
  309. package/dist/email/types.js +5 -1
  310. package/dist/email/types.js.map +1 -1
  311. package/dist/errors/APIError.d.ts +2 -2
  312. package/dist/errors/APIError.d.ts.map +1 -1
  313. package/dist/errors/APIError.js +1 -2
  314. package/dist/errors/APIError.js.map +1 -1
  315. package/dist/errors/AuthenticationError.d.ts +2 -3
  316. package/dist/errors/AuthenticationError.d.ts.map +1 -1
  317. package/dist/errors/AuthenticationError.js +2 -3
  318. package/dist/errors/AuthenticationError.js.map +1 -1
  319. package/dist/errors/DuplicateCollection.d.ts +2 -3
  320. package/dist/errors/DuplicateCollection.d.ts.map +1 -1
  321. package/dist/errors/DuplicateCollection.js +2 -3
  322. package/dist/errors/DuplicateCollection.js.map +1 -1
  323. package/dist/errors/DuplicateFieldName.d.ts +2 -3
  324. package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
  325. package/dist/errors/DuplicateFieldName.js +2 -3
  326. package/dist/errors/DuplicateFieldName.js.map +1 -1
  327. package/dist/errors/DuplicateGlobal.d.ts +2 -3
  328. package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
  329. package/dist/errors/DuplicateGlobal.js +2 -3
  330. package/dist/errors/DuplicateGlobal.js.map +1 -1
  331. package/dist/errors/ErrorDeletingFile.d.ts +2 -3
  332. package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
  333. package/dist/errors/ErrorDeletingFile.js +2 -3
  334. package/dist/errors/ErrorDeletingFile.js.map +1 -1
  335. package/dist/errors/FileRetrievalError.d.ts +6 -0
  336. package/dist/errors/FileRetrievalError.d.ts.map +1 -0
  337. package/dist/errors/FileRetrievalError.js +13 -0
  338. package/dist/errors/FileRetrievalError.js.map +1 -0
  339. package/dist/errors/FileUploadError.d.ts +2 -3
  340. package/dist/errors/FileUploadError.d.ts.map +1 -1
  341. package/dist/errors/FileUploadError.js +2 -3
  342. package/dist/errors/FileUploadError.js.map +1 -1
  343. package/dist/errors/Forbidden.d.ts +2 -3
  344. package/dist/errors/Forbidden.d.ts.map +1 -1
  345. package/dist/errors/Forbidden.js +2 -3
  346. package/dist/errors/Forbidden.js.map +1 -1
  347. package/dist/errors/InvalidConfiguration.d.ts +2 -3
  348. package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
  349. package/dist/errors/InvalidConfiguration.js +2 -3
  350. package/dist/errors/InvalidConfiguration.js.map +1 -1
  351. package/dist/errors/InvalidFieldName.d.ts +2 -3
  352. package/dist/errors/InvalidFieldName.d.ts.map +1 -1
  353. package/dist/errors/InvalidFieldName.js +2 -3
  354. package/dist/errors/InvalidFieldName.js.map +1 -1
  355. package/dist/errors/InvalidFieldRelationship.d.ts +2 -3
  356. package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
  357. package/dist/errors/InvalidFieldRelationship.js +2 -3
  358. package/dist/errors/InvalidFieldRelationship.js.map +1 -1
  359. package/dist/errors/InvalidSchema.d.ts +2 -3
  360. package/dist/errors/InvalidSchema.d.ts.map +1 -1
  361. package/dist/errors/InvalidSchema.js +2 -3
  362. package/dist/errors/InvalidSchema.js.map +1 -1
  363. package/dist/errors/LockedAuth.d.ts +2 -3
  364. package/dist/errors/LockedAuth.d.ts.map +1 -1
  365. package/dist/errors/LockedAuth.js +2 -3
  366. package/dist/errors/LockedAuth.js.map +1 -1
  367. package/dist/errors/MissingCollectionLabel.d.ts +2 -3
  368. package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
  369. package/dist/errors/MissingCollectionLabel.js +2 -3
  370. package/dist/errors/MissingCollectionLabel.js.map +1 -1
  371. package/dist/errors/MissingEditorProp.d.ts +2 -3
  372. package/dist/errors/MissingEditorProp.d.ts.map +1 -1
  373. package/dist/errors/MissingEditorProp.js +3 -4
  374. package/dist/errors/MissingEditorProp.js.map +1 -1
  375. package/dist/errors/MissingFieldInputOptions.d.ts +2 -3
  376. package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
  377. package/dist/errors/MissingFieldInputOptions.js +2 -3
  378. package/dist/errors/MissingFieldInputOptions.js.map +1 -1
  379. package/dist/errors/MissingFieldType.d.ts +2 -3
  380. package/dist/errors/MissingFieldType.d.ts.map +1 -1
  381. package/dist/errors/MissingFieldType.js +2 -3
  382. package/dist/errors/MissingFieldType.js.map +1 -1
  383. package/dist/errors/MissingFile.d.ts +2 -3
  384. package/dist/errors/MissingFile.d.ts.map +1 -1
  385. package/dist/errors/MissingFile.js +2 -3
  386. package/dist/errors/MissingFile.js.map +1 -1
  387. package/dist/errors/NotFound.d.ts +2 -3
  388. package/dist/errors/NotFound.d.ts.map +1 -1
  389. package/dist/errors/NotFound.js +2 -3
  390. package/dist/errors/NotFound.js.map +1 -1
  391. package/dist/errors/QueryError.d.ts +2 -3
  392. package/dist/errors/QueryError.d.ts.map +1 -1
  393. package/dist/errors/QueryError.js +2 -3
  394. package/dist/errors/QueryError.js.map +1 -1
  395. package/dist/errors/TimestampsRequired.d.ts +2 -3
  396. package/dist/errors/TimestampsRequired.d.ts.map +1 -1
  397. package/dist/errors/TimestampsRequired.js +2 -3
  398. package/dist/errors/TimestampsRequired.js.map +1 -1
  399. package/dist/errors/UnathorizedError.d.ts +2 -3
  400. package/dist/errors/UnathorizedError.d.ts.map +1 -1
  401. package/dist/errors/UnathorizedError.js +2 -3
  402. package/dist/errors/UnathorizedError.js.map +1 -1
  403. package/dist/errors/ValidationError.d.ts +2 -3
  404. package/dist/errors/ValidationError.d.ts.map +1 -1
  405. package/dist/errors/ValidationError.js +2 -3
  406. package/dist/errors/ValidationError.js.map +1 -1
  407. package/dist/errors/index.d.ts +20 -19
  408. package/dist/errors/index.d.ts.map +1 -1
  409. package/dist/errors/index.js +20 -19
  410. package/dist/errors/index.js.map +1 -1
  411. package/dist/exports/auth.d.ts +1 -0
  412. package/dist/exports/auth.d.ts.map +1 -1
  413. package/dist/exports/auth.js +1 -0
  414. package/dist/exports/auth.js.map +1 -1
  415. package/dist/exports/database.d.ts +1 -1
  416. package/dist/exports/database.d.ts.map +1 -1
  417. package/dist/exports/database.js.map +1 -1
  418. package/dist/exports/i18n.d.ts +2 -0
  419. package/dist/exports/i18n.d.ts.map +1 -0
  420. package/dist/exports/i18n.js +3 -0
  421. package/dist/exports/i18n.js.map +1 -0
  422. package/dist/exports/node.d.ts +3 -0
  423. package/dist/exports/node.d.ts.map +1 -1
  424. package/dist/exports/node.js +3 -1
  425. package/dist/exports/node.js.map +1 -1
  426. package/dist/exports/operations.d.ts +1 -0
  427. package/dist/exports/operations.d.ts.map +1 -1
  428. package/dist/exports/operations.js +1 -0
  429. package/dist/exports/operations.js.map +1 -1
  430. package/dist/exports/types.d.ts +2 -1
  431. package/dist/exports/types.d.ts.map +1 -1
  432. package/dist/exports/types.js.map +1 -1
  433. package/dist/exports/utilities.d.ts +8 -3
  434. package/dist/exports/utilities.d.ts.map +1 -1
  435. package/dist/exports/utilities.js +7 -3
  436. package/dist/exports/utilities.js.map +1 -1
  437. package/dist/fields/config/client.d.ts +262 -106
  438. package/dist/fields/config/client.d.ts.map +1 -1
  439. package/dist/fields/config/client.js +2 -1
  440. package/dist/fields/config/client.js.map +1 -1
  441. package/dist/fields/config/sanitize.d.ts +7 -2
  442. package/dist/fields/config/sanitize.d.ts.map +1 -1
  443. package/dist/fields/config/sanitize.js +63 -34
  444. package/dist/fields/config/sanitize.js.map +1 -1
  445. package/dist/fields/config/sanitize.spec.js +76 -82
  446. package/dist/fields/config/sanitize.spec.js.map +1 -1
  447. package/dist/fields/config/schema.d.ts.map +1 -1
  448. package/dist/fields/config/schema.js +32 -6
  449. package/dist/fields/config/schema.js.map +1 -1
  450. package/dist/fields/config/types.d.ts +127 -65
  451. package/dist/fields/config/types.d.ts.map +1 -1
  452. package/dist/fields/config/types.js.map +1 -1
  453. package/dist/fields/getDefaultValue.d.ts +2 -2
  454. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  455. package/dist/fields/getDefaultValue.js.map +1 -1
  456. package/dist/fields/hooks/afterChange/index.d.ts +2 -2
  457. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  458. package/dist/fields/hooks/afterChange/index.js.map +1 -1
  459. package/dist/fields/hooks/afterChange/promise.d.ts +2 -2
  460. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  461. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  462. package/dist/fields/hooks/afterChange/traverseFields.d.ts +2 -2
  463. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  464. package/dist/fields/hooks/afterChange/traverseFields.js.map +1 -1
  465. package/dist/fields/hooks/afterRead/index.d.ts +3 -2
  466. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  467. package/dist/fields/hooks/afterRead/index.js +2 -1
  468. package/dist/fields/hooks/afterRead/index.js.map +1 -1
  469. package/dist/fields/hooks/afterRead/promise.d.ts +7 -3
  470. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  471. package/dist/fields/hooks/afterRead/promise.js +20 -18
  472. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  473. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +4 -3
  474. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  475. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +16 -10
  476. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -1
  477. package/dist/fields/hooks/afterRead/traverseFields.d.ts +7 -3
  478. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  479. package/dist/fields/hooks/afterRead/traverseFields.js +2 -1
  480. package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
  481. package/dist/fields/hooks/beforeChange/index.d.ts +2 -2
  482. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  483. package/dist/fields/hooks/beforeChange/index.js.map +1 -1
  484. package/dist/fields/hooks/beforeChange/promise.d.ts +2 -2
  485. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  486. package/dist/fields/hooks/beforeChange/promise.js +3 -1
  487. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  488. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +14 -2
  489. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  490. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
  491. package/dist/fields/hooks/beforeValidate/index.d.ts +2 -2
  492. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  493. package/dist/fields/hooks/beforeValidate/index.js.map +1 -1
  494. package/dist/fields/hooks/beforeValidate/promise.d.ts +8 -2
  495. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  496. package/dist/fields/hooks/beforeValidate/promise.js +2 -0
  497. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  498. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +8 -2
  499. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  500. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  501. package/dist/fields/validations.d.ts +9 -4
  502. package/dist/fields/validations.d.ts.map +1 -1
  503. package/dist/fields/validations.js +63 -12
  504. package/dist/fields/validations.js.map +1 -1
  505. package/dist/fields/validations.spec.js +6 -1
  506. package/dist/fields/validations.spec.js.map +1 -1
  507. package/dist/globals/config/client.d.ts +1 -1
  508. package/dist/globals/config/client.d.ts.map +1 -1
  509. package/dist/globals/config/client.js +2 -1
  510. package/dist/globals/config/client.js.map +1 -1
  511. package/dist/globals/config/sanitize.d.ts +2 -3
  512. package/dist/globals/config/sanitize.d.ts.map +1 -1
  513. package/dist/globals/config/sanitize.js +36 -35
  514. package/dist/globals/config/sanitize.js.map +1 -1
  515. package/dist/globals/config/schema.d.ts.map +1 -1
  516. package/dist/globals/config/schema.js +5 -1
  517. package/dist/globals/config/schema.js.map +1 -1
  518. package/dist/globals/config/types.d.ts +12 -10
  519. package/dist/globals/config/types.d.ts.map +1 -1
  520. package/dist/globals/config/types.js.map +1 -1
  521. package/dist/globals/operations/docAccess.d.ts +2 -2
  522. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  523. package/dist/globals/operations/docAccess.js.map +1 -1
  524. package/dist/globals/operations/findOne.d.ts +2 -3
  525. package/dist/globals/operations/findOne.d.ts.map +1 -1
  526. package/dist/globals/operations/findOne.js +1 -0
  527. package/dist/globals/operations/findOne.js.map +1 -1
  528. package/dist/globals/operations/findVersionByID.d.ts +2 -2
  529. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  530. package/dist/globals/operations/findVersionByID.js +1 -0
  531. package/dist/globals/operations/findVersionByID.js.map +1 -1
  532. package/dist/globals/operations/findVersions.d.ts +2 -2
  533. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  534. package/dist/globals/operations/findVersions.js +1 -0
  535. package/dist/globals/operations/findVersions.js.map +1 -1
  536. package/dist/globals/operations/local/findOne.d.ts +4 -4
  537. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  538. package/dist/globals/operations/local/findOne.js.map +1 -1
  539. package/dist/globals/operations/local/findVersionByID.d.ts +4 -4
  540. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  541. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  542. package/dist/globals/operations/local/findVersions.d.ts +4 -4
  543. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  544. package/dist/globals/operations/local/findVersions.js.map +1 -1
  545. package/dist/globals/operations/local/restoreVersion.d.ts +4 -4
  546. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  547. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  548. package/dist/globals/operations/local/update.d.ts +4 -4
  549. package/dist/globals/operations/local/update.d.ts.map +1 -1
  550. package/dist/globals/operations/local/update.js.map +1 -1
  551. package/dist/globals/operations/restoreVersion.d.ts +2 -2
  552. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  553. package/dist/globals/operations/restoreVersion.js +1 -0
  554. package/dist/globals/operations/restoreVersion.js.map +1 -1
  555. package/dist/globals/operations/update.d.ts +2 -2
  556. package/dist/globals/operations/update.d.ts.map +1 -1
  557. package/dist/globals/operations/update.js +2 -0
  558. package/dist/globals/operations/update.js.map +1 -1
  559. package/dist/index.d.ts +17 -6
  560. package/dist/index.d.ts.map +1 -1
  561. package/dist/index.js +32 -14
  562. package/dist/index.js.map +1 -1
  563. package/dist/preferences/deleteUserPreferences.d.ts +2 -2
  564. package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
  565. package/dist/preferences/deleteUserPreferences.js.map +1 -1
  566. package/dist/preferences/operations/delete.js +2 -2
  567. package/dist/preferences/operations/delete.js.map +1 -1
  568. package/dist/preferences/operations/update.d.ts +1 -1
  569. package/dist/preferences/operations/update.js +1 -1
  570. package/dist/preferences/operations/update.js.map +1 -1
  571. package/dist/preferences/requestHandlers/delete.d.ts.map +1 -1
  572. package/dist/preferences/requestHandlers/delete.js +18 -5
  573. package/dist/preferences/requestHandlers/delete.js.map +1 -1
  574. package/dist/preferences/requestHandlers/findOne.d.ts.map +1 -1
  575. package/dist/preferences/requestHandlers/findOne.js +18 -5
  576. package/dist/preferences/requestHandlers/findOne.js.map +1 -1
  577. package/dist/preferences/requestHandlers/update.d.ts.map +1 -1
  578. package/dist/preferences/requestHandlers/update.js +19 -7
  579. package/dist/preferences/requestHandlers/update.js.map +1 -1
  580. package/dist/preferences/types.d.ts +3 -4
  581. package/dist/preferences/types.d.ts.map +1 -1
  582. package/dist/preferences/types.js.map +1 -1
  583. package/dist/translations/getLocalI18n.d.ts +1 -1
  584. package/dist/translations/getLocalI18n.d.ts.map +1 -1
  585. package/dist/translations/getLocalI18n.js +1 -1
  586. package/dist/translations/getLocalI18n.js.map +1 -1
  587. package/dist/types/index.d.ts +21 -17
  588. package/dist/types/index.d.ts.map +1 -1
  589. package/dist/types/index.js.map +1 -1
  590. package/dist/uploads/deleteAssociatedFiles.d.ts +2 -2
  591. package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
  592. package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
  593. package/dist/uploads/docWithFilenameExists.d.ts +2 -2
  594. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  595. package/dist/uploads/docWithFilenameExists.js.map +1 -1
  596. package/dist/uploads/generateFileData.d.ts +2 -2
  597. package/dist/uploads/generateFileData.d.ts.map +1 -1
  598. package/dist/uploads/generateFileData.js +5 -4
  599. package/dist/uploads/generateFileData.js.map +1 -1
  600. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  601. package/dist/uploads/getBaseFields.js +7 -3
  602. package/dist/uploads/getBaseFields.js.map +1 -1
  603. package/dist/uploads/getExternalFile.d.ts +5 -4
  604. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  605. package/dist/uploads/getExternalFile.js +10 -6
  606. package/dist/uploads/getExternalFile.js.map +1 -1
  607. package/dist/uploads/getFileByPath.d.ts +2 -2
  608. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  609. package/dist/uploads/getFileByPath.js.map +1 -1
  610. package/dist/uploads/getImageSize.d.ts +2 -2
  611. package/dist/uploads/getImageSize.d.ts.map +1 -1
  612. package/dist/uploads/getImageSize.js +19 -5
  613. package/dist/uploads/getImageSize.js.map +1 -1
  614. package/dist/uploads/getSafeFilename.d.ts +2 -2
  615. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  616. package/dist/uploads/getSafeFilename.js.map +1 -1
  617. package/dist/uploads/imageResizer.d.ts +3 -3
  618. package/dist/uploads/imageResizer.d.ts.map +1 -1
  619. package/dist/uploads/imageResizer.js.map +1 -1
  620. package/dist/uploads/tempFile.d.ts +7 -0
  621. package/dist/uploads/tempFile.d.ts.map +1 -0
  622. package/dist/uploads/tempFile.js +39 -0
  623. package/dist/uploads/tempFile.js.map +1 -0
  624. package/dist/uploads/types.d.ts +14 -2
  625. package/dist/uploads/types.d.ts.map +1 -1
  626. package/dist/uploads/types.js.map +1 -1
  627. package/dist/uploads/unlinkTempFiles.d.ts +2 -2
  628. package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
  629. package/dist/uploads/unlinkTempFiles.js.map +1 -1
  630. package/dist/uploads/uploadFiles.d.ts +2 -2
  631. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  632. package/dist/uploads/uploadFiles.js.map +1 -1
  633. package/dist/utilities/checkDuplicateCollections.js +1 -1
  634. package/dist/utilities/checkDuplicateCollections.js.map +1 -1
  635. package/dist/utilities/commitTransaction.d.ts +2 -2
  636. package/dist/utilities/commitTransaction.d.ts.map +1 -1
  637. package/dist/utilities/commitTransaction.js.map +1 -1
  638. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  639. package/dist/utilities/configToJSONSchema.js +56 -1
  640. package/dist/utilities/configToJSONSchema.js.map +1 -1
  641. package/dist/utilities/configToJSONSchema.spec.js +2 -2
  642. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  643. package/dist/utilities/createLocalReq.d.ts +3 -3
  644. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  645. package/dist/utilities/createLocalReq.js +8 -5
  646. package/dist/utilities/createLocalReq.js.map +1 -1
  647. package/dist/utilities/getEntityPolicies.d.ts +2 -2
  648. package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
  649. package/dist/utilities/getEntityPolicies.js.map +1 -1
  650. package/dist/utilities/importWithoutClientFiles.d.ts.map +1 -1
  651. package/dist/utilities/importWithoutClientFiles.js +7 -4
  652. package/dist/utilities/importWithoutClientFiles.js.map +1 -1
  653. package/dist/utilities/initTransaction.d.ts +2 -2
  654. package/dist/utilities/initTransaction.d.ts.map +1 -1
  655. package/dist/utilities/initTransaction.js.map +1 -1
  656. package/dist/utilities/isEntityHidden.d.ts +2 -2
  657. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  658. package/dist/utilities/isEntityHidden.js.map +1 -1
  659. package/dist/utilities/isReactComponent.d.ts +3 -2
  660. package/dist/utilities/isReactComponent.d.ts.map +1 -1
  661. package/dist/utilities/isReactComponent.js +10 -6
  662. package/dist/utilities/isReactComponent.js.map +1 -1
  663. package/dist/utilities/killTransaction.d.ts +2 -2
  664. package/dist/utilities/killTransaction.d.ts.map +1 -1
  665. package/dist/utilities/killTransaction.js.map +1 -1
  666. package/dist/utilities/parseCookies.js +1 -1
  667. package/dist/utilities/parseCookies.js.map +1 -1
  668. package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
  669. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  670. package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
  671. package/dist/utilities/telemetry/index.d.ts +9 -0
  672. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  673. package/dist/utilities/telemetry/index.js +62 -14
  674. package/dist/utilities/telemetry/index.js.map +1 -1
  675. package/dist/versions/deleteCollectionVersions.d.ts +2 -2
  676. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  677. package/dist/versions/deleteCollectionVersions.js.map +1 -1
  678. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +2 -2
  679. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  680. package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
  681. package/dist/versions/enforceMaxVersions.d.ts +2 -2
  682. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  683. package/dist/versions/enforceMaxVersions.js.map +1 -1
  684. package/dist/versions/getLatestCollectionVersion.d.ts +2 -2
  685. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  686. package/dist/versions/getLatestCollectionVersion.js.map +1 -1
  687. package/dist/versions/getLatestGlobalVersion.d.ts +2 -2
  688. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  689. package/dist/versions/getLatestGlobalVersion.js.map +1 -1
  690. package/dist/versions/saveVersion.d.ts +2 -2
  691. package/dist/versions/saveVersion.d.ts.map +1 -1
  692. package/dist/versions/saveVersion.js +1 -1
  693. package/dist/versions/saveVersion.js.map +1 -1
  694. package/package.json +68 -67
  695. package/auth.d.ts +0 -6
  696. package/auth.js +0 -6
  697. package/config.d.ts +0 -14
  698. package/config.js +0 -14
  699. package/database.d.ts +0 -23
  700. package/database.js +0 -22
  701. package/dist/email/build.d.ts +0 -5
  702. package/dist/email/build.d.ts.map +0 -1
  703. package/dist/email/build.js +0 -63
  704. package/dist/email/build.js.map +0 -1
  705. package/dist/email/mockHandler.d.ts +0 -5
  706. package/dist/email/mockHandler.d.ts.map +0 -1
  707. package/dist/email/mockHandler.js +0 -24
  708. package/dist/email/mockHandler.js.map +0 -1
  709. package/dist/utilities/getIDType.d.ts +0 -4
  710. package/dist/utilities/getIDType.d.ts.map +0 -1
  711. package/dist/utilities/getIDType.js +0 -8
  712. package/dist/utilities/getIDType.js.map +0 -1
  713. package/errors.d.ts +0 -2
  714. package/errors.js +0 -3
  715. package/node.d.ts +0 -3
  716. package/node.js +0 -4
  717. package/operations.d.ts +0 -30
  718. package/operations.js +0 -31
  719. package/src/index.ts +0 -486
  720. package/types.d.ts +0 -17
  721. package/types.js +0 -5
  722. package/uploads.d.ts +0 -2
  723. package/uploads.js +0 -3
  724. package/utilities.d.ts +0 -32
  725. package/utilities.js +0 -33
  726. package/versions.d.ts +0 -9
  727. package/versions.js +0 -9
@@ -0,0 +1,32 @@
1
+ import fs from 'fs/promises';
2
+ import path from 'path';
3
+ /**
4
+ * In case any directory in the path contains symlinks, this function attempts to detect that resolves the original path.
5
+ *
6
+ * Example Input: /Users/alessio/Documents/GitHub/payload-3.0-alpha-demo/node_modules/tailwindcss/resolveConfig.js
7
+ * The "tailwindcss" in this example is a symlinked directory.
8
+ *
9
+ * Example Output: /Users/alessio/Documents/GitHub/payload-3.0-alpha-demo/node_modules/.pnpm/tailwindcss@3.4.3/node_modules/tailwindcss/resolveConfig.js
10
+ */ export async function resolveOriginalPath(filePath) {
11
+ try {
12
+ // Normalize and split the path
13
+ const parts = path.resolve(filePath).split(path.sep);
14
+ let currentPath = '/';
15
+ // skip the first slash
16
+ for (const part of parts.slice(1)){
17
+ currentPath = path.join(currentPath, part);
18
+ // Check if the current path component is a symlink
19
+ const stats = await fs.lstat(currentPath);
20
+ if (stats.isSymbolicLink()) {
21
+ // Resolve the symlink
22
+ const resolvedLink = await fs.readlink(currentPath);
23
+ currentPath = path.join(path.dirname(currentPath), resolvedLink);
24
+ }
25
+ }
26
+ return currentPath;
27
+ } catch (error) {
28
+ console.error('Error resolving path:', error);
29
+ }
30
+ }
31
+
32
+ //# sourceMappingURL=resolveOriginalPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/bin/loader/resolveOriginalPath.ts"],"sourcesContent":["import fs from 'fs/promises'\nimport path from 'path'\n\n/**\n * In case any directory in the path contains symlinks, this function attempts to detect that resolves the original path.\n *\n * Example Input: /Users/alessio/Documents/GitHub/payload-3.0-alpha-demo/node_modules/tailwindcss/resolveConfig.js\n * The \"tailwindcss\" in this example is a symlinked directory.\n *\n * Example Output: /Users/alessio/Documents/GitHub/payload-3.0-alpha-demo/node_modules/.pnpm/tailwindcss@3.4.3/node_modules/tailwindcss/resolveConfig.js\n */\nexport async function resolveOriginalPath(filePath: string) {\n try {\n // Normalize and split the path\n const parts = path.resolve(filePath).split(path.sep)\n\n let currentPath = '/'\n // skip the first slash\n for (const part of parts.slice(1)) {\n currentPath = path.join(currentPath, part)\n\n // Check if the current path component is a symlink\n const stats = await fs.lstat(currentPath)\n if (stats.isSymbolicLink()) {\n // Resolve the symlink\n const resolvedLink = await fs.readlink(currentPath)\n currentPath = path.join(path.dirname(currentPath), resolvedLink)\n }\n }\n\n return currentPath\n } catch (error) {\n console.error('Error resolving path:', error)\n }\n}\n"],"names":["fs","path","resolveOriginalPath","filePath","parts","resolve","split","sep","currentPath","part","slice","join","stats","lstat","isSymbolicLink","resolvedLink","readlink","dirname","error","console"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,QAAQ,cAAa;AAC5B,OAAOC,UAAU,OAAM;AAEvB;;;;;;;CAOC,GACD,OAAO,eAAeC,oBAAoBC,QAAgB;IACxD,IAAI;QACF,+BAA+B;QAC/B,MAAMC,QAAQH,KAAKI,OAAO,CAACF,UAAUG,KAAK,CAACL,KAAKM,GAAG;QAEnD,IAAIC,cAAc;QAClB,uBAAuB;QACvB,KAAK,MAAMC,QAAQL,MAAMM,KAAK,CAAC,GAAI;YACjCF,cAAcP,KAAKU,IAAI,CAACH,aAAaC;YAErC,mDAAmD;YACnD,MAAMG,QAAQ,MAAMZ,GAAGa,KAAK,CAACL;YAC7B,IAAII,MAAME,cAAc,IAAI;gBAC1B,sBAAsB;gBACtB,MAAMC,eAAe,MAAMf,GAAGgB,QAAQ,CAACR;gBACvCA,cAAcP,KAAKU,IAAI,CAACV,KAAKgB,OAAO,CAACT,cAAcO;YACrD;QACF;QAEA,OAAOP;IACT,EAAE,OAAOU,OAAO;QACdC,QAAQD,KAAK,CAAC,yBAAyBA;IACzC;AACF"}
@@ -1,5 +1,5 @@
1
1
  import type { LivePreviewConfig, ServerOnlyLivePreviewProperties } from '../../config/types.js';
2
- export type ServerOnlyCollectionProperties = keyof Pick<SanitizedCollectionConfig, 'access' | 'endpoints' | 'hooks'>;
2
+ export type ServerOnlyCollectionProperties = keyof Pick<SanitizedCollectionConfig, 'access' | 'custom' | 'endpoints' | 'hooks'>;
3
3
  export type ServerOnlyCollectionAdminProperties = keyof Pick<SanitizedCollectionConfig['admin'], 'components' | 'hidden' | 'preview'>;
4
4
  export type ClientCollectionConfig = Omit<SanitizedCollectionConfig, 'admin' | 'fields' | ServerOnlyCollectionProperties> & {
5
5
  admin: Omit<SanitizedCollectionConfig['admin'], 'fields' | 'livePreview' | ServerOnlyCollectionAdminProperties> & {
@@ -21,11 +21,12 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
21
21
  versions: import("../../versions/types.js").SanitizedCollectionVersions;
22
22
  admin: {
23
23
  components: {
24
- AfterList: import("react").ComponentType<any>[];
25
- AfterListTable: import("react").ComponentType<any>[];
26
- BeforeList: import("react").ComponentType<any>[];
27
- BeforeListTable: import("react").ComponentType<any>[];
24
+ AfterList: import("../../config/types.js").CustomComponent[];
25
+ AfterListTable: import("../../config/types.js").CustomComponent[];
26
+ BeforeList: import("../../config/types.js").CustomComponent[];
27
+ BeforeListTable: import("../../config/types.js").CustomComponent[];
28
28
  edit: {
29
+ Description: import("../../config/types.js").EntityDescriptionComponent;
29
30
  PreviewButton: import("../../admin/types.js").CustomPreviewButton;
30
31
  PublishButton: import("../../admin/types.js").CustomPublishButton;
31
32
  SaveButton: import("../../admin/types.js").CustomSaveButton;
@@ -62,7 +63,7 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
62
63
  Component: import("../../config/types.js").EditViewComponent;
63
64
  path: string;
64
65
  } | {
65
- actions: import("react").ComponentType<any>[];
66
+ actions: import("../../config/types.js").CustomComponent<any>[];
66
67
  };
67
68
  Default: import("../../config/types.js").EditViewComponent | {
68
69
  Tab: import("../../admin/types.js").DocumentTabComponent | {
@@ -93,7 +94,7 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
93
94
  Component: import("../../config/types.js").EditViewComponent;
94
95
  path: string;
95
96
  } | {
96
- actions: import("react").ComponentType<any>[];
97
+ actions: import("../../config/types.js").CustomComponent<any>[];
97
98
  };
98
99
  LivePreview: import("../../config/types.js").EditViewComponent | {
99
100
  Tab: import("../../admin/types.js").DocumentTabComponent | {
@@ -124,7 +125,7 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
124
125
  Component: import("../../config/types.js").EditViewComponent;
125
126
  path: string;
126
127
  } | {
127
- actions: import("react").ComponentType<any>[];
128
+ actions: import("../../config/types.js").CustomComponent<any>[];
128
129
  };
129
130
  Version: import("../../config/types.js").EditViewComponent | {
130
131
  Tab: import("../../admin/types.js").DocumentTabComponent | {
@@ -155,7 +156,7 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
155
156
  Component: import("../../config/types.js").EditViewComponent;
156
157
  path: string;
157
158
  } | {
158
- actions: import("react").ComponentType<any>[];
159
+ actions: import("../../config/types.js").CustomComponent<any>[];
159
160
  };
160
161
  Versions: import("../../config/types.js").EditViewComponent | {
161
162
  Tab: import("../../admin/types.js").DocumentTabComponent | {
@@ -186,7 +187,7 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
186
187
  Component: import("../../config/types.js").EditViewComponent;
187
188
  path: string;
188
189
  } | {
189
- actions: import("react").ComponentType<any>[];
190
+ actions: import("../../config/types.js").CustomComponent<any>[];
190
191
  };
191
192
  } | {
192
193
  [x: string]: {
@@ -218,17 +219,20 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
218
219
  Component: import("../../config/types.js").EditViewComponent;
219
220
  path: string;
220
221
  } | {
221
- actions: import("react").ComponentType<any>[];
222
+ actions: import("../../config/types.js").CustomComponent<any>[];
222
223
  };
223
224
  };
224
225
  List: import("react").ComponentType<any> | {
225
226
  Component: import("react").ComponentType<any>;
226
- actions: import("react").ComponentType<any>[];
227
+ actions: import("../../config/types.js").CustomComponent[];
227
228
  };
228
229
  };
229
230
  };
231
+ custom: {
232
+ [x: string]: any;
233
+ };
230
234
  defaultColumns: string[];
231
- description: string | import("../../config/types.js").EntityDescriptionComponent | import("../../config/types.js").EntityDescriptionFunction | {
235
+ description: string | import("../../config/types.js").EntityDescriptionFunction | {
232
236
  [x: string]: string;
233
237
  };
234
238
  enableRichTextLink: boolean;
@@ -293,7 +297,7 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
293
297
  };
294
298
  access: {
295
299
  admin: ({ req }: {
296
- req: import("../../types/index.js").PayloadRequest;
300
+ req: import("../../types/index.js").PayloadRequestWithData;
297
301
  }) => boolean | Promise<boolean>;
298
302
  create: import("../../config/types.js").Access;
299
303
  delete: import("../../config/types.js").Access;
@@ -302,6 +306,7 @@ export declare const createClientCollectionConfig: ({ collection, t, }: {
302
306
  unlock: import("../../config/types.js").Access;
303
307
  update: import("../../config/types.js").Access;
304
308
  };
309
+ dbName: import("../../database/types.js").DBIdentifierName;
305
310
  defaultSort: string;
306
311
  disableDuplicate: boolean;
307
312
  labels: {
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/collections/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAA;AAE/F,MAAM,MAAM,8BAA8B,GAAG,MAAM,IAAI,CACrD,yBAAyB,EACzB,QAAQ,GAAG,WAAW,GAAG,OAAO,CACjC,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAC1D,yBAAyB,CAAC,OAAO,CAAC,EAClC,YAAY,GAAG,QAAQ,GAAG,SAAS,CACpC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,yBAAyB,EACzB,OAAO,GAAG,QAAQ,GAAG,8BAA8B,CACpD,GAAG;IACF,KAAK,EAAE,IAAI,CACT,yBAAyB,CAAC,OAAO,CAAC,EAClC,QAAQ,GAAG,aAAa,GAAG,mCAAmC,CAC/D,GAAG;QACF,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAA;KACvE,CAAA;IACD,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B,CAAA;AAED,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAI3D,eAAO,MAAM,4BAA4B,uBAGtC;IACD,UAAU,EAAE,yBAAyB,CAAA;IACrC,CAAC,EAAE,SAAS,CAAA;CACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DA,CAAA;AAED,eAAO,MAAM,6BAA6B,wBAGvC;IACD,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,CAAC,EAAE,SAAS,CAAA;CACb,KAAG,sBAAsB,EACwD,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/collections/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAA;AAE/F,MAAM,MAAM,8BAA8B,GAAG,MAAM,IAAI,CACrD,yBAAyB,EACzB,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,CAC5C,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAC1D,yBAAyB,CAAC,OAAO,CAAC,EAClC,YAAY,GAAG,QAAQ,GAAG,SAAS,CACpC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,yBAAyB,EACzB,OAAO,GAAG,QAAQ,GAAG,8BAA8B,CACpD,GAAG;IACF,KAAK,EAAE,IAAI,CACT,yBAAyB,CAAC,OAAO,CAAC,EAClC,QAAQ,GAAG,aAAa,GAAG,mCAAmC,CAC/D,GAAG;QACF,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAA;KACvE,CAAA;IACD,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B,CAAA;AAED,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAI3D,eAAO,MAAM,4BAA4B,uBAGtC;IACD,UAAU,EAAE,yBAAyB,CAAA;IACrC,CAAC,EAAE,SAAS,CAAA;CACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiEA,CAAA;AAED,eAAO,MAAM,6BAA6B,wBAGvC;IACD,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,CAAC,EAAE,SAAS,CAAA;CACb,KAAG,sBAAsB,EACwD,CAAA"}
@@ -10,7 +10,8 @@ export const createClientCollectionConfig = ({ collection, t })=>{
10
10
  const serverOnlyCollectionProperties = [
11
11
  'hooks',
12
12
  'access',
13
- 'endpoints'
13
+ 'endpoints',
14
+ 'custom'
14
15
  ];
15
16
  serverOnlyCollectionProperties.forEach((key)=>{
16
17
  if (key in sanitized) {
@@ -23,6 +24,7 @@ export const createClientCollectionConfig = ({ collection, t })=>{
23
24
  };
24
25
  delete sanitized.upload.handlers;
25
26
  delete sanitized.upload.adminThumbnail;
27
+ delete sanitized.upload.externalFileHeaderFilter;
26
28
  }
27
29
  if ('auth' in sanitized && typeof sanitized.auth === 'object') {
28
30
  sanitized.auth = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/client.ts"],"sourcesContent":["import type { LivePreviewConfig, ServerOnlyLivePreviewProperties } from '../../config/types.js'\n\nexport type ServerOnlyCollectionProperties = keyof Pick<\n SanitizedCollectionConfig,\n 'access' | 'endpoints' | 'hooks'\n>\n\nexport type ServerOnlyCollectionAdminProperties = keyof Pick<\n SanitizedCollectionConfig['admin'],\n 'components' | 'hidden' | 'preview'\n>\n\nexport type ClientCollectionConfig = Omit<\n SanitizedCollectionConfig,\n 'admin' | 'fields' | ServerOnlyCollectionProperties\n> & {\n admin: Omit<\n SanitizedCollectionConfig['admin'],\n 'fields' | 'livePreview' | ServerOnlyCollectionAdminProperties\n > & {\n livePreview?: Omit<LivePreviewConfig, ServerOnlyLivePreviewProperties>\n }\n fields: ClientFieldConfig[]\n}\n\nimport type { TFunction } from '@payloadcms/translations'\n\nimport type { ClientFieldConfig } from '../../fields/config/client.js'\nimport type { SanitizedCollectionConfig } from './types.js'\n\nimport { createClientFieldConfigs } from '../../fields/config/client.js'\n\nexport const createClientCollectionConfig = ({\n collection,\n t,\n}: {\n collection: SanitizedCollectionConfig\n t: TFunction\n}) => {\n const sanitized = { ...collection }\n sanitized.fields = createClientFieldConfigs({ fields: sanitized.fields, t })\n\n const serverOnlyCollectionProperties: Partial<ServerOnlyCollectionProperties>[] = [\n 'hooks',\n 'access',\n 'endpoints',\n // `upload`\n // `admin`\n // are all handled separately\n ]\n\n serverOnlyCollectionProperties.forEach((key) => {\n if (key in sanitized) {\n delete sanitized[key]\n }\n })\n\n if ('upload' in sanitized && typeof sanitized.upload === 'object') {\n sanitized.upload = { ...sanitized.upload }\n delete sanitized.upload.handlers\n delete sanitized.upload.adminThumbnail\n }\n\n if ('auth' in sanitized && typeof sanitized.auth === 'object') {\n sanitized.auth = { ...sanitized.auth }\n delete sanitized.auth.strategies\n delete sanitized.auth.forgotPassword\n delete sanitized.auth.verify\n }\n\n if (sanitized.labels) {\n Object.entries(sanitized.labels).forEach(([labelType, collectionLabel]) => {\n if (typeof collectionLabel === 'function') {\n sanitized.labels[labelType] = collectionLabel({ t })\n }\n })\n }\n\n if ('admin' in sanitized) {\n sanitized.admin = { ...sanitized.admin }\n\n const serverOnlyCollectionAdminProperties: Partial<ServerOnlyCollectionAdminProperties>[] = [\n 'components',\n 'hidden',\n 'preview',\n // `livePreview` is handled separately\n ]\n\n serverOnlyCollectionAdminProperties.forEach((key) => {\n if (key in sanitized.admin) {\n delete sanitized.admin[key]\n }\n })\n\n if ('livePreview' in sanitized.admin) {\n sanitized.admin.livePreview = { ...sanitized.admin.livePreview }\n delete sanitized.admin.livePreview.url\n }\n }\n\n return sanitized\n}\n\nexport const createClientCollectionConfigs = ({\n collections,\n t,\n}: {\n collections: SanitizedCollectionConfig[]\n t: TFunction\n}): ClientCollectionConfig[] =>\n collections.map((collection) => createClientCollectionConfig({ collection, t }))\n"],"names":["createClientFieldConfigs","createClientCollectionConfig","collection","t","sanitized","fields","serverOnlyCollectionProperties","forEach","key","upload","handlers","adminThumbnail","auth","strategies","forgotPassword","verify","labels","Object","entries","labelType","collectionLabel","admin","serverOnlyCollectionAdminProperties","livePreview","url","createClientCollectionConfigs","collections","map"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AA8BA,SAASA,wBAAwB,QAAQ,gCAA+B;AAExE,OAAO,MAAMC,+BAA+B,CAAC,EAC3CC,UAAU,EACVC,CAAC,EAIF;IACC,MAAMC,YAAY;QAAE,GAAGF,UAAU;IAAC;IAClCE,UAAUC,MAAM,GAAGL,yBAAyB;QAAEK,QAAQD,UAAUC,MAAM;QAAEF;IAAE;IAE1E,MAAMG,iCAA4E;QAChF;QACA;QACA;KAID;IAEDA,+BAA+BC,OAAO,CAAC,CAACC;QACtC,IAAIA,OAAOJ,WAAW;YACpB,OAAOA,SAAS,CAACI,IAAI;QACvB;IACF;IAEA,IAAI,YAAYJ,aAAa,OAAOA,UAAUK,MAAM,KAAK,UAAU;QACjEL,UAAUK,MAAM,GAAG;YAAE,GAAGL,UAAUK,MAAM;QAAC;QACzC,OAAOL,UAAUK,MAAM,CAACC,QAAQ;QAChC,OAAON,UAAUK,MAAM,CAACE,cAAc;IACxC;IAEA,IAAI,UAAUP,aAAa,OAAOA,UAAUQ,IAAI,KAAK,UAAU;QAC7DR,UAAUQ,IAAI,GAAG;YAAE,GAAGR,UAAUQ,IAAI;QAAC;QACrC,OAAOR,UAAUQ,IAAI,CAACC,UAAU;QAChC,OAAOT,UAAUQ,IAAI,CAACE,cAAc;QACpC,OAAOV,UAAUQ,IAAI,CAACG,MAAM;IAC9B;IAEA,IAAIX,UAAUY,MAAM,EAAE;QACpBC,OAAOC,OAAO,CAACd,UAAUY,MAAM,EAAET,OAAO,CAAC,CAAC,CAACY,WAAWC,gBAAgB;YACpE,IAAI,OAAOA,oBAAoB,YAAY;gBACzChB,UAAUY,MAAM,CAACG,UAAU,GAAGC,gBAAgB;oBAAEjB;gBAAE;YACpD;QACF;IACF;IAEA,IAAI,WAAWC,WAAW;QACxBA,UAAUiB,KAAK,GAAG;YAAE,GAAGjB,UAAUiB,KAAK;QAAC;QAEvC,MAAMC,sCAAsF;YAC1F;YACA;YACA;SAED;QAEDA,oCAAoCf,OAAO,CAAC,CAACC;YAC3C,IAAIA,OAAOJ,UAAUiB,KAAK,EAAE;gBAC1B,OAAOjB,UAAUiB,KAAK,CAACb,IAAI;YAC7B;QACF;QAEA,IAAI,iBAAiBJ,UAAUiB,KAAK,EAAE;YACpCjB,UAAUiB,KAAK,CAACE,WAAW,GAAG;gBAAE,GAAGnB,UAAUiB,KAAK,CAACE,WAAW;YAAC;YAC/D,OAAOnB,UAAUiB,KAAK,CAACE,WAAW,CAACC,GAAG;QACxC;IACF;IAEA,OAAOpB;AACT,EAAC;AAED,OAAO,MAAMqB,gCAAgC,CAAC,EAC5CC,WAAW,EACXvB,CAAC,EAIF,GACCuB,YAAYC,GAAG,CAAC,CAACzB,aAAeD,6BAA6B;YAAEC;YAAYC;QAAE,IAAG"}
1
+ {"version":3,"sources":["../../../src/collections/config/client.ts"],"sourcesContent":["import type { LivePreviewConfig, ServerOnlyLivePreviewProperties } from '../../config/types.js'\n\nexport type ServerOnlyCollectionProperties = keyof Pick<\n SanitizedCollectionConfig,\n 'access' | 'custom' | 'endpoints' | 'hooks'\n>\n\nexport type ServerOnlyCollectionAdminProperties = keyof Pick<\n SanitizedCollectionConfig['admin'],\n 'components' | 'hidden' | 'preview'\n>\n\nexport type ClientCollectionConfig = Omit<\n SanitizedCollectionConfig,\n 'admin' | 'fields' | ServerOnlyCollectionProperties\n> & {\n admin: Omit<\n SanitizedCollectionConfig['admin'],\n 'fields' | 'livePreview' | ServerOnlyCollectionAdminProperties\n > & {\n livePreview?: Omit<LivePreviewConfig, ServerOnlyLivePreviewProperties>\n }\n fields: ClientFieldConfig[]\n}\n\nimport type { TFunction } from '@payloadcms/translations'\n\nimport type { ClientFieldConfig } from '../../fields/config/client.js'\nimport type { SanitizedCollectionConfig } from './types.js'\n\nimport { createClientFieldConfigs } from '../../fields/config/client.js'\n\nexport const createClientCollectionConfig = ({\n collection,\n t,\n}: {\n collection: SanitizedCollectionConfig\n t: TFunction\n}) => {\n const sanitized = { ...collection }\n sanitized.fields = createClientFieldConfigs({ fields: sanitized.fields, t })\n\n const serverOnlyCollectionProperties: Partial<ServerOnlyCollectionProperties>[] = [\n 'hooks',\n 'access',\n 'endpoints',\n 'custom',\n // `upload`\n // `admin`\n // are all handled separately\n ]\n\n serverOnlyCollectionProperties.forEach((key) => {\n if (key in sanitized) {\n delete sanitized[key]\n }\n })\n\n if ('upload' in sanitized && typeof sanitized.upload === 'object') {\n sanitized.upload = { ...sanitized.upload }\n delete sanitized.upload.handlers\n delete sanitized.upload.adminThumbnail\n delete sanitized.upload.externalFileHeaderFilter\n }\n\n if ('auth' in sanitized && typeof sanitized.auth === 'object') {\n sanitized.auth = { ...sanitized.auth }\n delete sanitized.auth.strategies\n delete sanitized.auth.forgotPassword\n delete sanitized.auth.verify\n }\n\n if (sanitized.labels) {\n Object.entries(sanitized.labels).forEach(([labelType, collectionLabel]) => {\n if (typeof collectionLabel === 'function') {\n sanitized.labels[labelType] = collectionLabel({ t })\n }\n })\n }\n\n if ('admin' in sanitized) {\n sanitized.admin = { ...sanitized.admin }\n\n const serverOnlyCollectionAdminProperties: Partial<ServerOnlyCollectionAdminProperties>[] = [\n 'components',\n 'hidden',\n 'preview',\n // `livePreview` is handled separately\n ]\n\n serverOnlyCollectionAdminProperties.forEach((key) => {\n if (key in sanitized.admin) {\n delete sanitized.admin[key]\n }\n })\n\n if ('livePreview' in sanitized.admin) {\n sanitized.admin.livePreview = { ...sanitized.admin.livePreview }\n delete sanitized.admin.livePreview.url\n }\n }\n\n return sanitized\n}\n\nexport const createClientCollectionConfigs = ({\n collections,\n t,\n}: {\n collections: SanitizedCollectionConfig[]\n t: TFunction\n}): ClientCollectionConfig[] =>\n collections.map((collection) => createClientCollectionConfig({ collection, t }))\n"],"names":["createClientFieldConfigs","createClientCollectionConfig","collection","t","sanitized","fields","serverOnlyCollectionProperties","forEach","key","upload","handlers","adminThumbnail","externalFileHeaderFilter","auth","strategies","forgotPassword","verify","labels","Object","entries","labelType","collectionLabel","admin","serverOnlyCollectionAdminProperties","livePreview","url","createClientCollectionConfigs","collections","map"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AA8BA,SAASA,wBAAwB,QAAQ,gCAA+B;AAExE,OAAO,MAAMC,+BAA+B,CAAC,EAC3CC,UAAU,EACVC,CAAC,EAIF;IACC,MAAMC,YAAY;QAAE,GAAGF,UAAU;IAAC;IAClCE,UAAUC,MAAM,GAAGL,yBAAyB;QAAEK,QAAQD,UAAUC,MAAM;QAAEF;IAAE;IAE1E,MAAMG,iCAA4E;QAChF;QACA;QACA;QACA;KAID;IAEDA,+BAA+BC,OAAO,CAAC,CAACC;QACtC,IAAIA,OAAOJ,WAAW;YACpB,OAAOA,SAAS,CAACI,IAAI;QACvB;IACF;IAEA,IAAI,YAAYJ,aAAa,OAAOA,UAAUK,MAAM,KAAK,UAAU;QACjEL,UAAUK,MAAM,GAAG;YAAE,GAAGL,UAAUK,MAAM;QAAC;QACzC,OAAOL,UAAUK,MAAM,CAACC,QAAQ;QAChC,OAAON,UAAUK,MAAM,CAACE,cAAc;QACtC,OAAOP,UAAUK,MAAM,CAACG,wBAAwB;IAClD;IAEA,IAAI,UAAUR,aAAa,OAAOA,UAAUS,IAAI,KAAK,UAAU;QAC7DT,UAAUS,IAAI,GAAG;YAAE,GAAGT,UAAUS,IAAI;QAAC;QACrC,OAAOT,UAAUS,IAAI,CAACC,UAAU;QAChC,OAAOV,UAAUS,IAAI,CAACE,cAAc;QACpC,OAAOX,UAAUS,IAAI,CAACG,MAAM;IAC9B;IAEA,IAAIZ,UAAUa,MAAM,EAAE;QACpBC,OAAOC,OAAO,CAACf,UAAUa,MAAM,EAAEV,OAAO,CAAC,CAAC,CAACa,WAAWC,gBAAgB;YACpE,IAAI,OAAOA,oBAAoB,YAAY;gBACzCjB,UAAUa,MAAM,CAACG,UAAU,GAAGC,gBAAgB;oBAAElB;gBAAE;YACpD;QACF;IACF;IAEA,IAAI,WAAWC,WAAW;QACxBA,UAAUkB,KAAK,GAAG;YAAE,GAAGlB,UAAUkB,KAAK;QAAC;QAEvC,MAAMC,sCAAsF;YAC1F;YACA;YACA;SAED;QAEDA,oCAAoChB,OAAO,CAAC,CAACC;YAC3C,IAAIA,OAAOJ,UAAUkB,KAAK,EAAE;gBAC1B,OAAOlB,UAAUkB,KAAK,CAACd,IAAI;YAC7B;QACF;QAEA,IAAI,iBAAiBJ,UAAUkB,KAAK,EAAE;YACpClB,UAAUkB,KAAK,CAACE,WAAW,GAAG;gBAAE,GAAGpB,UAAUkB,KAAK,CAACE,WAAW;YAAC;YAC/D,OAAOpB,UAAUkB,KAAK,CAACE,WAAW,CAACC,GAAG;QACxC;IACF;IAEA,OAAOrB;AACT,EAAC;AAED,OAAO,MAAMsB,gCAAgC,CAAC,EAC5CC,WAAW,EACXxB,CAAC,EAIF,GACCwB,YAAYC,GAAG,CAAC,CAAC1B,aAAeD,6BAA6B;YAAEC;YAAYC;QAAE,IAAG"}
@@ -1,23 +1,24 @@
1
1
  export declare const defaults: {
2
2
  access: {
3
3
  create: ({ req: { user } }: {
4
- req: import("../../types/index.js").PayloadRequest;
4
+ req: import("../../types/index.js").PayloadRequestWithData;
5
5
  }) => boolean;
6
6
  delete: ({ req: { user } }: {
7
- req: import("../../types/index.js").PayloadRequest;
7
+ req: import("../../types/index.js").PayloadRequestWithData;
8
8
  }) => boolean;
9
9
  read: ({ req: { user } }: {
10
- req: import("../../types/index.js").PayloadRequest;
10
+ req: import("../../types/index.js").PayloadRequestWithData;
11
11
  }) => boolean;
12
12
  unlock: ({ req: { user } }: {
13
- req: import("../../types/index.js").PayloadRequest;
13
+ req: import("../../types/index.js").PayloadRequestWithData;
14
14
  }) => boolean;
15
15
  update: ({ req: { user } }: {
16
- req: import("../../types/index.js").PayloadRequest;
16
+ req: import("../../types/index.js").PayloadRequestWithData;
17
17
  }) => boolean;
18
18
  };
19
19
  admin: {
20
20
  components: {};
21
+ custom: {};
21
22
  enableRichTextLink: boolean;
22
23
  enableRichTextRelationship: boolean;
23
24
  pagination: {
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/collections/config/defaults.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CpB,CAAA;AAED,eAAO,MAAM,YAAY;;;;;;;;;;CAUxB,CAAA"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/collections/config/defaults.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CpB,CAAA;AAED,eAAO,MAAM,YAAY;;;;;;;;;;CAUxB,CAAA"}
@@ -9,6 +9,7 @@ export const defaults = {
9
9
  },
10
10
  admin: {
11
11
  components: {},
12
+ custom: {},
12
13
  enableRichTextLink: true,
13
14
  enableRichTextRelationship: true,
14
15
  pagination: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/defaults.ts"],"sourcesContent":["import defaultAccess from '../../auth/defaultAccess.js'\n\nexport const defaults = {\n access: {\n create: defaultAccess,\n delete: defaultAccess,\n read: defaultAccess,\n unlock: defaultAccess,\n update: defaultAccess,\n },\n admin: {\n components: {},\n enableRichTextLink: true,\n enableRichTextRelationship: true,\n pagination: {\n defaultLimit: 10,\n limits: [5, 10, 25, 50, 100],\n },\n useAsTitle: 'id',\n },\n auth: false,\n custom: {},\n endpoints: [],\n fields: [],\n hooks: {\n afterChange: [],\n afterDelete: [],\n afterForgotPassword: [],\n afterLogin: [],\n afterLogout: [],\n afterMe: [],\n afterOperation: [],\n afterRead: [],\n afterRefresh: [],\n beforeChange: [],\n beforeDelete: [],\n beforeLogin: [],\n beforeOperation: [],\n beforeRead: [],\n beforeValidate: [],\n },\n timestamps: true,\n upload: false,\n versions: false,\n}\n\nexport const authDefaults = {\n cookies: {\n sameSite: 'Lax',\n secure: false,\n },\n forgotPassword: {},\n lockTime: 600000, // 10 minutes\n maxLoginAttempts: 5,\n tokenExpiration: 7200,\n verify: false,\n}\n"],"names":["defaultAccess","defaults","access","create","delete","read","unlock","update","admin","components","enableRichTextLink","enableRichTextRelationship","pagination","defaultLimit","limits","useAsTitle","auth","custom","endpoints","fields","hooks","afterChange","afterDelete","afterForgotPassword","afterLogin","afterLogout","afterMe","afterOperation","afterRead","afterRefresh","beforeChange","beforeDelete","beforeLogin","beforeOperation","beforeRead","beforeValidate","timestamps","upload","versions","authDefaults","cookies","sameSite","secure","forgotPassword","lockTime","maxLoginAttempts","tokenExpiration","verify"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,mBAAmB,8BAA6B;AAEvD,OAAO,MAAMC,WAAW;IACtBC,QAAQ;QACNC,QAAQH;QACRI,QAAQJ;QACRK,MAAML;QACNM,QAAQN;QACRO,QAAQP;IACV;IACAQ,OAAO;QACLC,YAAY,CAAC;QACbC,oBAAoB;QACpBC,4BAA4B;QAC5BC,YAAY;YACVC,cAAc;YACdC,QAAQ;gBAAC;gBAAG;gBAAI;gBAAI;gBAAI;aAAI;QAC9B;QACAC,YAAY;IACd;IACAC,MAAM;IACNC,QAAQ,CAAC;IACTC,WAAW,EAAE;IACbC,QAAQ,EAAE;IACVC,OAAO;QACLC,aAAa,EAAE;QACfC,aAAa,EAAE;QACfC,qBAAqB,EAAE;QACvBC,YAAY,EAAE;QACdC,aAAa,EAAE;QACfC,SAAS,EAAE;QACXC,gBAAgB,EAAE;QAClBC,WAAW,EAAE;QACbC,cAAc,EAAE;QAChBC,cAAc,EAAE;QAChBC,cAAc,EAAE;QAChBC,aAAa,EAAE;QACfC,iBAAiB,EAAE;QACnBC,YAAY,EAAE;QACdC,gBAAgB,EAAE;IACpB;IACAC,YAAY;IACZC,QAAQ;IACRC,UAAU;AACZ,EAAC;AAED,OAAO,MAAMC,eAAe;IAC1BC,SAAS;QACPC,UAAU;QACVC,QAAQ;IACV;IACAC,gBAAgB,CAAC;IACjBC,UAAU;IACVC,kBAAkB;IAClBC,iBAAiB;IACjBC,QAAQ;AACV,EAAC"}
1
+ {"version":3,"sources":["../../../src/collections/config/defaults.ts"],"sourcesContent":["import defaultAccess from '../../auth/defaultAccess.js'\n\nexport const defaults = {\n access: {\n create: defaultAccess,\n delete: defaultAccess,\n read: defaultAccess,\n unlock: defaultAccess,\n update: defaultAccess,\n },\n admin: {\n components: {},\n custom: {},\n enableRichTextLink: true,\n enableRichTextRelationship: true,\n pagination: {\n defaultLimit: 10,\n limits: [5, 10, 25, 50, 100],\n },\n useAsTitle: 'id',\n },\n auth: false,\n custom: {},\n endpoints: [],\n fields: [],\n hooks: {\n afterChange: [],\n afterDelete: [],\n afterForgotPassword: [],\n afterLogin: [],\n afterLogout: [],\n afterMe: [],\n afterOperation: [],\n afterRead: [],\n afterRefresh: [],\n beforeChange: [],\n beforeDelete: [],\n beforeLogin: [],\n beforeOperation: [],\n beforeRead: [],\n beforeValidate: [],\n },\n timestamps: true,\n upload: false,\n versions: false,\n}\n\nexport const authDefaults = {\n cookies: {\n sameSite: 'Lax',\n secure: false,\n },\n forgotPassword: {},\n lockTime: 600000, // 10 minutes\n maxLoginAttempts: 5,\n tokenExpiration: 7200,\n verify: false,\n}\n"],"names":["defaultAccess","defaults","access","create","delete","read","unlock","update","admin","components","custom","enableRichTextLink","enableRichTextRelationship","pagination","defaultLimit","limits","useAsTitle","auth","endpoints","fields","hooks","afterChange","afterDelete","afterForgotPassword","afterLogin","afterLogout","afterMe","afterOperation","afterRead","afterRefresh","beforeChange","beforeDelete","beforeLogin","beforeOperation","beforeRead","beforeValidate","timestamps","upload","versions","authDefaults","cookies","sameSite","secure","forgotPassword","lockTime","maxLoginAttempts","tokenExpiration","verify"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,mBAAmB,8BAA6B;AAEvD,OAAO,MAAMC,WAAW;IACtBC,QAAQ;QACNC,QAAQH;QACRI,QAAQJ;QACRK,MAAML;QACNM,QAAQN;QACRO,QAAQP;IACV;IACAQ,OAAO;QACLC,YAAY,CAAC;QACbC,QAAQ,CAAC;QACTC,oBAAoB;QACpBC,4BAA4B;QAC5BC,YAAY;YACVC,cAAc;YACdC,QAAQ;gBAAC;gBAAG;gBAAI;gBAAI;gBAAI;aAAI;QAC9B;QACAC,YAAY;IACd;IACAC,MAAM;IACNP,QAAQ,CAAC;IACTQ,WAAW,EAAE;IACbC,QAAQ,EAAE;IACVC,OAAO;QACLC,aAAa,EAAE;QACfC,aAAa,EAAE;QACfC,qBAAqB,EAAE;QACvBC,YAAY,EAAE;QACdC,aAAa,EAAE;QACfC,SAAS,EAAE;QACXC,gBAAgB,EAAE;QAClBC,WAAW,EAAE;QACbC,cAAc,EAAE;QAChBC,cAAc,EAAE;QAChBC,cAAc,EAAE;QAChBC,aAAa,EAAE;QACfC,iBAAiB,EAAE;QACnBC,YAAY,EAAE;QACdC,gBAAgB,EAAE;IACpB;IACAC,YAAY;IACZC,QAAQ;IACRC,UAAU;AACZ,EAAC;AAED,OAAO,MAAMC,eAAe;IAC1BC,SAAS;QACPC,UAAU;QACVC,QAAQ;IACV;IACAC,gBAAgB,CAAC;IACjBC,UAAU;IACVC,kBAAkB;IAClBC,iBAAiB;IACjBC,QAAQ;AACV,EAAC"}
@@ -1,5 +1,4 @@
1
- import type { Config } from '../../config/types.js';
1
+ import type { Config, SanitizedConfig } from '../../config/types.js';
2
2
  import type { CollectionConfig, SanitizedCollectionConfig } from './types.js';
3
- declare const sanitizeCollection: (config: Config, collection: CollectionConfig) => SanitizedCollectionConfig;
4
- export default sanitizeCollection;
3
+ export declare const sanitizeCollection: (config: Config, collection: CollectionConfig, richTextSanitizationPromises?: Array<(config: SanitizedConfig) => Promise<void>>) => Promise<SanitizedCollectionConfig>;
5
4
  //# sourceMappingURL=sanitize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/collections/config/sanitize.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAgB7E,QAAA,MAAM,kBAAkB,WACd,MAAM,cACF,gBAAgB,KAC3B,yBA0IF,CAAA;AAED,eAAe,kBAAkB,CAAA"}
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/collections/config/sanitize.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAgB7E,eAAO,MAAM,kBAAkB,WACrB,MAAM,cACF,gBAAgB,iCAKG,MAAM,CAAC,MAAM,EAAE,eAAe,KAAK,QAAQ,IAAI,CAAC,CAAC,KAC/E,QAAQ,yBAAyB,CA2InC,CAAA"}
@@ -3,7 +3,7 @@ import baseAccountLockFields from '../../auth/baseFields/accountLock.js';
3
3
  import baseAPIKeyFields from '../../auth/baseFields/apiKey.js';
4
4
  import baseAuthFields from '../../auth/baseFields/auth.js';
5
5
  import baseVerificationFields from '../../auth/baseFields/verification.js';
6
- import TimestampsRequired from '../../errors/TimestampsRequired.js';
6
+ import { TimestampsRequired } from '../../errors/TimestampsRequired.js';
7
7
  import { sanitizeFields } from '../../fields/config/sanitize.js';
8
8
  import { fieldAffectsData } from '../../fields/config/types.js';
9
9
  import mergeBaseFields from '../../fields/mergeBaseFields.js';
@@ -12,7 +12,10 @@ import { formatLabels } from '../../utilities/formatLabels.js';
12
12
  import { isPlainObject } from '../../utilities/isPlainObject.js';
13
13
  import baseVersionFields from '../../versions/baseFields.js';
14
14
  import { authDefaults, defaults } from './defaults.js';
15
- const sanitizeCollection = (config, collection)=>{
15
+ export const sanitizeCollection = async (config, collection, /**
16
+ * If this property is set, RichText fields won't be sanitized immediately. Instead, they will be added to this array as promises
17
+ * so that you can sanitize them together, after the config has been sanitized.
18
+ */ richTextSanitizationPromises)=>{
16
19
  // /////////////////////////////////
17
20
  // Make copy of collection config
18
21
  // /////////////////////////////////
@@ -118,13 +121,13 @@ const sanitizeCollection = (config, collection)=>{
118
121
  // Sanitize fields
119
122
  // /////////////////////////////////
120
123
  const validRelationships = config.collections.map((c)=>c.slug) || [];
121
- sanitized.fields = sanitizeFields({
124
+ sanitized.fields = await sanitizeFields({
122
125
  config,
123
126
  fields: sanitized.fields,
127
+ richTextSanitizationPromises,
124
128
  validRelationships
125
129
  });
126
130
  return sanitized;
127
131
  };
128
- export default sanitizeCollection;
129
132
 
130
133
  //# sourceMappingURL=sanitize.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/config/sanitize.ts"],"sourcesContent":["import merge from 'deepmerge'\n\nimport type { Config } from '../../config/types.js'\nimport type { CollectionConfig, SanitizedCollectionConfig } from './types.js'\n\nimport baseAccountLockFields from '../../auth/baseFields/accountLock.js'\nimport baseAPIKeyFields from '../../auth/baseFields/apiKey.js'\nimport baseAuthFields from '../../auth/baseFields/auth.js'\nimport baseVerificationFields from '../../auth/baseFields/verification.js'\nimport TimestampsRequired from '../../errors/TimestampsRequired.js'\nimport { sanitizeFields } from '../../fields/config/sanitize.js'\nimport { fieldAffectsData } from '../../fields/config/types.js'\nimport mergeBaseFields from '../../fields/mergeBaseFields.js'\nimport { getBaseUploadFields } from '../../uploads/getBaseFields.js'\nimport { formatLabels } from '../../utilities/formatLabels.js'\nimport { isPlainObject } from '../../utilities/isPlainObject.js'\nimport baseVersionFields from '../../versions/baseFields.js'\nimport { authDefaults, defaults } from './defaults.js'\n\nconst sanitizeCollection = (\n config: Config,\n collection: CollectionConfig,\n): SanitizedCollectionConfig => {\n // /////////////////////////////////\n // Make copy of collection config\n // /////////////////////////////////\n\n const sanitized: CollectionConfig = merge(defaults, collection, {\n isMergeableObject: isPlainObject,\n })\n\n if (sanitized.timestamps !== false) {\n // add default timestamps fields only as needed\n let hasUpdatedAt = null\n let hasCreatedAt = null\n sanitized.fields.some((field) => {\n if (fieldAffectsData(field)) {\n if (field.name === 'updatedAt') hasUpdatedAt = true\n if (field.name === 'createdAt') hasCreatedAt = true\n }\n return hasCreatedAt && hasUpdatedAt\n })\n if (!hasUpdatedAt) {\n sanitized.fields.push({\n name: 'updatedAt',\n type: 'date',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n label: ({ t }) => t('general:updatedAt'),\n })\n }\n if (!hasCreatedAt) {\n sanitized.fields.push({\n name: 'createdAt',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n // The default sort for list view is createdAt. Thus, enabling indexing by default, is a major performance improvement, especially for large or a large amount of collections.\n type: 'date',\n index: true,\n label: ({ t }) => t('general:createdAt'),\n })\n }\n }\n\n sanitized.labels = sanitized.labels || formatLabels(sanitized.slug)\n\n if (sanitized.versions) {\n if (sanitized.versions === true) sanitized.versions = { drafts: false }\n\n if (sanitized.timestamps === false) {\n throw new TimestampsRequired(collection)\n }\n\n if (sanitized.versions.drafts) {\n if (sanitized.versions.drafts === true) {\n sanitized.versions.drafts = {\n autosave: false,\n }\n }\n\n if (sanitized.versions.drafts.autosave === true) {\n sanitized.versions.drafts.autosave = {\n interval: 2000,\n }\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, baseVersionFields)\n }\n }\n\n if (sanitized.upload) {\n if (sanitized.upload === true) sanitized.upload = {}\n\n // disable duplicate for uploads by default\n sanitized.disableDuplicate = sanitized.disableDuplicate || true\n\n sanitized.upload.staticDir = sanitized.upload.staticDir || sanitized.slug\n sanitized.admin.useAsTitle =\n sanitized.admin.useAsTitle && sanitized.admin.useAsTitle !== 'id'\n ? sanitized.admin.useAsTitle\n : 'filename'\n\n const uploadFields = getBaseUploadFields({\n collection: sanitized,\n config,\n })\n\n sanitized.fields = mergeBaseFields(sanitized.fields, uploadFields)\n }\n\n if (sanitized.auth) {\n sanitized.auth = merge(authDefaults, typeof sanitized.auth === 'object' ? sanitized.auth : {}, {\n isMergeableObject: isPlainObject,\n })\n\n let authFields = []\n\n if (sanitized.auth.useAPIKey) {\n authFields = authFields.concat(baseAPIKeyFields)\n }\n\n if (!sanitized.auth.disableLocalStrategy) {\n authFields = authFields.concat(baseAuthFields)\n\n if (sanitized.auth.verify) {\n if (sanitized.auth.verify === true) sanitized.auth.verify = {}\n authFields = authFields.concat(baseVerificationFields)\n }\n\n if (sanitized.auth.maxLoginAttempts > 0) {\n authFields = authFields.concat(baseAccountLockFields)\n }\n }\n\n // disable duplicate for auth enabled collections by default\n sanitized.disableDuplicate = sanitized.disableDuplicate || true\n\n if (!sanitized.auth.strategies) {\n sanitized.auth.strategies = []\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, authFields)\n }\n\n // /////////////////////////////////\n // Sanitize fields\n // /////////////////////////////////\n\n const validRelationships = config.collections.map((c) => c.slug) || []\n sanitized.fields = sanitizeFields({\n config,\n fields: sanitized.fields,\n validRelationships,\n })\n\n return sanitized as SanitizedCollectionConfig\n}\n\nexport default sanitizeCollection\n"],"names":["merge","baseAccountLockFields","baseAPIKeyFields","baseAuthFields","baseVerificationFields","TimestampsRequired","sanitizeFields","fieldAffectsData","mergeBaseFields","getBaseUploadFields","formatLabels","isPlainObject","baseVersionFields","authDefaults","defaults","sanitizeCollection","config","collection","sanitized","isMergeableObject","timestamps","hasUpdatedAt","hasCreatedAt","fields","some","field","name","push","type","admin","disableBulkEdit","hidden","label","t","index","labels","slug","versions","drafts","autosave","interval","upload","disableDuplicate","staticDir","useAsTitle","uploadFields","auth","authFields","useAPIKey","concat","disableLocalStrategy","verify","maxLoginAttempts","strategies","validRelationships","collections","map","c"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/config/sanitize.ts"],"sourcesContent":["import merge from 'deepmerge'\n\nimport type { Config, SanitizedConfig } from '../../config/types.js'\nimport type { CollectionConfig, SanitizedCollectionConfig } from './types.js'\n\nimport baseAccountLockFields from '../../auth/baseFields/accountLock.js'\nimport baseAPIKeyFields from '../../auth/baseFields/apiKey.js'\nimport baseAuthFields from '../../auth/baseFields/auth.js'\nimport baseVerificationFields from '../../auth/baseFields/verification.js'\nimport { TimestampsRequired } from '../../errors/TimestampsRequired.js'\nimport { sanitizeFields } from '../../fields/config/sanitize.js'\nimport { fieldAffectsData } from '../../fields/config/types.js'\nimport mergeBaseFields from '../../fields/mergeBaseFields.js'\nimport { getBaseUploadFields } from '../../uploads/getBaseFields.js'\nimport { formatLabels } from '../../utilities/formatLabels.js'\nimport { isPlainObject } from '../../utilities/isPlainObject.js'\nimport baseVersionFields from '../../versions/baseFields.js'\nimport { authDefaults, defaults } from './defaults.js'\n\nexport const sanitizeCollection = async (\n config: Config,\n collection: CollectionConfig,\n /**\n * If this property is set, RichText fields won't be sanitized immediately. Instead, they will be added to this array as promises\n * so that you can sanitize them together, after the config has been sanitized.\n */\n richTextSanitizationPromises?: Array<(config: SanitizedConfig) => Promise<void>>,\n): Promise<SanitizedCollectionConfig> => {\n // /////////////////////////////////\n // Make copy of collection config\n // /////////////////////////////////\n\n const sanitized: CollectionConfig = merge(defaults, collection, {\n isMergeableObject: isPlainObject,\n })\n\n if (sanitized.timestamps !== false) {\n // add default timestamps fields only as needed\n let hasUpdatedAt = null\n let hasCreatedAt = null\n sanitized.fields.some((field) => {\n if (fieldAffectsData(field)) {\n if (field.name === 'updatedAt') hasUpdatedAt = true\n if (field.name === 'createdAt') hasCreatedAt = true\n }\n return hasCreatedAt && hasUpdatedAt\n })\n if (!hasUpdatedAt) {\n sanitized.fields.push({\n name: 'updatedAt',\n type: 'date',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n label: ({ t }) => t('general:updatedAt'),\n })\n }\n if (!hasCreatedAt) {\n sanitized.fields.push({\n name: 'createdAt',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n // The default sort for list view is createdAt. Thus, enabling indexing by default, is a major performance improvement, especially for large or a large amount of collections.\n type: 'date',\n index: true,\n label: ({ t }) => t('general:createdAt'),\n })\n }\n }\n\n sanitized.labels = sanitized.labels || formatLabels(sanitized.slug)\n\n if (sanitized.versions) {\n if (sanitized.versions === true) sanitized.versions = { drafts: false }\n\n if (sanitized.timestamps === false) {\n throw new TimestampsRequired(collection)\n }\n\n if (sanitized.versions.drafts) {\n if (sanitized.versions.drafts === true) {\n sanitized.versions.drafts = {\n autosave: false,\n }\n }\n\n if (sanitized.versions.drafts.autosave === true) {\n sanitized.versions.drafts.autosave = {\n interval: 2000,\n }\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, baseVersionFields)\n }\n }\n\n if (sanitized.upload) {\n if (sanitized.upload === true) sanitized.upload = {}\n\n // disable duplicate for uploads by default\n sanitized.disableDuplicate = sanitized.disableDuplicate || true\n\n sanitized.upload.staticDir = sanitized.upload.staticDir || sanitized.slug\n sanitized.admin.useAsTitle =\n sanitized.admin.useAsTitle && sanitized.admin.useAsTitle !== 'id'\n ? sanitized.admin.useAsTitle\n : 'filename'\n\n const uploadFields = getBaseUploadFields({\n collection: sanitized,\n config,\n })\n\n sanitized.fields = mergeBaseFields(sanitized.fields, uploadFields)\n }\n\n if (sanitized.auth) {\n sanitized.auth = merge(authDefaults, typeof sanitized.auth === 'object' ? sanitized.auth : {}, {\n isMergeableObject: isPlainObject,\n })\n\n let authFields = []\n\n if (sanitized.auth.useAPIKey) {\n authFields = authFields.concat(baseAPIKeyFields)\n }\n\n if (!sanitized.auth.disableLocalStrategy) {\n authFields = authFields.concat(baseAuthFields)\n\n if (sanitized.auth.verify) {\n if (sanitized.auth.verify === true) sanitized.auth.verify = {}\n authFields = authFields.concat(baseVerificationFields)\n }\n\n if (sanitized.auth.maxLoginAttempts > 0) {\n authFields = authFields.concat(baseAccountLockFields)\n }\n }\n\n // disable duplicate for auth enabled collections by default\n sanitized.disableDuplicate = sanitized.disableDuplicate || true\n\n if (!sanitized.auth.strategies) {\n sanitized.auth.strategies = []\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, authFields)\n }\n\n // /////////////////////////////////\n // Sanitize fields\n // /////////////////////////////////\n\n const validRelationships = config.collections.map((c) => c.slug) || []\n sanitized.fields = await sanitizeFields({\n config,\n fields: sanitized.fields,\n richTextSanitizationPromises,\n validRelationships,\n })\n\n return sanitized as SanitizedCollectionConfig\n}\n"],"names":["merge","baseAccountLockFields","baseAPIKeyFields","baseAuthFields","baseVerificationFields","TimestampsRequired","sanitizeFields","fieldAffectsData","mergeBaseFields","getBaseUploadFields","formatLabels","isPlainObject","baseVersionFields","authDefaults","defaults","sanitizeCollection","config","collection","richTextSanitizationPromises","sanitized","isMergeableObject","timestamps","hasUpdatedAt","hasCreatedAt","fields","some","field","name","push","type","admin","disableBulkEdit","hidden","label","t","index","labels","slug","versions","drafts","autosave","interval","upload","disableDuplicate","staticDir","useAsTitle","uploadFields","auth","authFields","useAPIKey","concat","disableLocalStrategy","verify","maxLoginAttempts","strategies","validRelationships","collections","map","c"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/collections/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAcrB,QAAA,MAAM,gBAAgB,uBA8MpB,CAAA;AAEF,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/collections/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAcrB,QAAA,MAAM,gBAAgB,uBAoNpB,CAAA;AAEF,eAAe,gBAAgB,CAAA"}
@@ -23,6 +23,7 @@ const collectionSchema = joi.object().keys({
23
23
  BeforeList: joi.array().items(componentSchema),
24
24
  BeforeListTable: joi.array().items(componentSchema),
25
25
  edit: joi.object({
26
+ Description: componentSchema,
26
27
  PreviewButton: componentSchema,
27
28
  PublishButton: componentSchema,
28
29
  SaveButton: componentSchema,
@@ -42,8 +43,11 @@ const collectionSchema = joi.object().keys({
42
43
  }))
43
44
  })
44
45
  }),
46
+ custom: joi.object().pattern(joi.string(), joi.any()),
45
47
  defaultColumns: joi.array().items(joi.string()),
46
- description: joi.alternatives().try(joi.string(), componentSchema),
48
+ description: joi.alternatives().try(joi.func(), joi.object().pattern(joi.string(), [
49
+ joi.string()
50
+ ]), joi.string()),
47
51
  enableRichTextLink: joi.boolean(),
48
52
  enableRichTextRelationship: joi.boolean(),
49
53
  group: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [
@@ -126,9 +130,11 @@ const collectionSchema = joi.object().keys({
126
130
  interface: joi.string()
127
131
  }),
128
132
  upload: joi.alternatives().try(joi.object({
133
+ adapter: joi.string(),
129
134
  adminThumbnail: joi.alternatives().try(joi.string(), componentSchema),
130
135
  crop: joi.bool(),
131
136
  disableLocalStorage: joi.bool(),
137
+ externalFileHeaderFilter: joi.func(),
132
138
  filesRequiredOnCreate: joi.bool(),
133
139
  focalPoint: joi.bool(),
134
140
  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.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 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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/config/schema.ts"],"sourcesContent":["import joi from 'joi'\n\nimport { endpointsSchema } from '../../config/schema.js'\nimport {\n componentSchema,\n customViewSchema,\n livePreviewSchema,\n} from '../../config/shared/componentSchema.js'\n\nconst strategyBaseSchema = joi.object().keys({\n logout: joi.boolean(),\n refresh: joi.boolean(),\n})\n\nconst collectionSchema = joi.object().keys({\n slug: joi.string().required(),\n access: joi.object({\n admin: joi.func(),\n create: joi.func(),\n delete: joi.func(),\n read: joi.func(),\n readVersions: joi.func(),\n unlock: joi.func(),\n update: joi.func(),\n }),\n admin: joi.object({\n components: joi.object({\n AfterList: joi.array().items(componentSchema),\n AfterListTable: joi.array().items(componentSchema),\n BeforeList: joi.array().items(componentSchema),\n BeforeListTable: joi.array().items(componentSchema),\n edit: joi.object({\n Description: componentSchema,\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\n .alternatives()\n .try(joi.func(), joi.object().pattern(joi.string(), [joi.string()]), joi.string()),\n enableRichTextLink: joi.boolean(),\n enableRichTextRelationship: joi.boolean(),\n group: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n hidden: joi.alternatives().try(joi.boolean(), joi.func()),\n hideAPIURL: joi.bool(),\n listSearchableFields: joi.array().items(joi.string()),\n livePreview: joi.object(livePreviewSchema),\n pagination: joi.object({\n defaultLimit: joi.number(),\n limits: joi.array().items(joi.number()),\n }),\n preview: joi.func(),\n useAsTitle: joi.string(),\n }),\n auth: joi.alternatives().try(\n joi.object({\n cookies: joi.object().keys({\n domain: joi.string(),\n sameSite: joi.string(), // TODO: add further specificity with joi.xor\n secure: joi.boolean(),\n }),\n depth: joi.number(),\n disableLocalStrategy: joi.boolean().valid(true),\n forgotPassword: joi.object().keys({\n generateEmailHTML: joi.func(),\n generateEmailSubject: joi.func(),\n }),\n lockTime: joi.number(),\n maxLoginAttempts: joi.number(),\n removeTokenFromResponses: joi.boolean().valid(true),\n strategies: joi.array().items(\n joi.object().keys({\n name: joi.string().required(),\n authenticate: joi.func().required(),\n }),\n ),\n tokenExpiration: joi.number(),\n useAPIKey: joi.boolean(),\n verify: joi.alternatives().try(\n joi.boolean(),\n joi.object().keys({\n generateEmailHTML: joi.func(),\n generateEmailSubject: joi.func(),\n }),\n ),\n }),\n joi.boolean(),\n ),\n custom: joi.object().pattern(joi.string(), joi.any()),\n dbName: joi.alternatives().try(joi.string(), joi.func()),\n defaultSort: joi.string(),\n disableDuplicate: joi.bool(),\n endpoints: endpointsSchema,\n fields: joi.array(),\n graphQL: joi.alternatives().try(\n joi.object().keys({\n pluralName: joi.string(),\n singularName: joi.string(),\n }),\n joi.boolean(),\n ),\n hooks: joi.object({\n afterChange: joi.array().items(joi.func()),\n afterDelete: joi.array().items(joi.func()),\n afterForgotPassword: joi.array().items(joi.func()),\n afterLogin: joi.array().items(joi.func()),\n afterLogout: joi.array().items(joi.func()),\n afterMe: joi.array().items(joi.func()),\n afterOperation: joi.array().items(joi.func()),\n afterRead: joi.array().items(joi.func()),\n afterRefresh: joi.array().items(joi.func()),\n beforeChange: joi.array().items(joi.func()),\n beforeDelete: joi.array().items(joi.func()),\n beforeLogin: joi.array().items(joi.func()),\n beforeOperation: joi.array().items(joi.func()),\n beforeRead: joi.array().items(joi.func()),\n beforeValidate: joi.array().items(joi.func()),\n }),\n labels: joi.object({\n plural: joi\n .alternatives()\n .try(joi.func(), joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n singular: joi\n .alternatives()\n .try(joi.func(), joi.string(), joi.object().pattern(joi.string(), [joi.string()])),\n }),\n timestamps: joi.boolean(),\n typescript: joi.object().keys({\n interface: joi.string(),\n }),\n upload: joi.alternatives().try(\n joi.object({\n adapter: joi.string(),\n adminThumbnail: joi.alternatives().try(joi.string(), componentSchema),\n crop: joi.bool(),\n disableLocalStorage: joi.bool(),\n externalFileHeaderFilter: joi.func(),\n filesRequiredOnCreate: joi.bool(),\n focalPoint: joi.bool(),\n formatOptions: joi.object().keys({\n format: joi.string(),\n options: joi.object(),\n }),\n handlers: joi.array().items(joi.func()),\n imageSizes: joi.array().items(\n joi\n .object()\n .keys({\n name: joi.string(),\n crop: joi.string(), // TODO: add further specificity with joi.xor\n height: joi.number().integer().allow(null),\n width: joi.number().integer().allow(null),\n })\n .unknown(),\n ),\n mimeTypes: joi.array().items(joi.string()),\n resizeOptions: joi\n .object()\n .keys({\n background: joi.string(),\n fastShrinkOnLoad: joi.bool(),\n fit: joi.string(),\n height: joi.number().allow(null),\n kernel: joi.string(),\n position: joi.alternatives().try(joi.string(), joi.number()),\n width: joi.number().allow(null),\n withoutEnlargement: joi.bool(),\n })\n .allow(null),\n staticDir: joi.string(),\n staticOptions: joi.object(),\n tempFileDir: joi.string(),\n trimOptions: joi.alternatives().try(\n joi.object().keys({\n format: joi.string(),\n options: joi.object(),\n }),\n joi.string(),\n joi.number(),\n ),\n useTempFiles: joi.bool(),\n }),\n joi.boolean(),\n ),\n versions: joi.alternatives().try(\n joi.object({\n drafts: joi.alternatives().try(\n joi.object({\n autosave: joi.alternatives().try(\n joi.boolean(),\n joi.object({\n interval: joi.number(),\n }),\n ),\n }),\n joi.boolean(),\n ),\n maxPerDoc: joi.number(),\n }),\n joi.boolean(),\n ),\n})\n\nexport default collectionSchema\n"],"names":["joi","endpointsSchema","componentSchema","customViewSchema","livePreviewSchema","strategyBaseSchema","object","keys","logout","boolean","refresh","collectionSchema","slug","string","required","access","admin","func","create","delete","read","readVersions","unlock","update","components","AfterList","array","items","AfterListTable","BeforeList","BeforeListTable","edit","Description","PreviewButton","PublishButton","SaveButton","SaveDraftButton","views","Edit","alternatives","try","API","Default","LivePreview","Version","Versions","List","Component","actions","custom","pattern","any","defaultColumns","description","enableRichTextLink","enableRichTextRelationship","group","hidden","hideAPIURL","bool","listSearchableFields","livePreview","pagination","defaultLimit","number","limits","preview","useAsTitle","auth","cookies","domain","sameSite","secure","depth","disableLocalStrategy","valid","forgotPassword","generateEmailHTML","generateEmailSubject","lockTime","maxLoginAttempts","removeTokenFromResponses","strategies","name","authenticate","tokenExpiration","useAPIKey","verify","dbName","defaultSort","disableDuplicate","endpoints","fields","graphQL","pluralName","singularName","hooks","afterChange","afterDelete","afterForgotPassword","afterLogin","afterLogout","afterMe","afterOperation","afterRead","afterRefresh","beforeChange","beforeDelete","beforeLogin","beforeOperation","beforeRead","beforeValidate","labels","plural","singular","timestamps","typescript","interface","upload","adapter","adminThumbnail","crop","disableLocalStorage","externalFileHeaderFilter","filesRequiredOnCreate","focalPoint","formatOptions","format","options","handlers","imageSizes","height","integer","allow","width","unknown","mimeTypes","resizeOptions","background","fastShrinkOnLoad","fit","kernel","position","withoutEnlargement","staticDir","staticOptions","tempFileDir","trimOptions","useTempFiles","versions","drafts","autosave","interval","maxPerDoc"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}