payload 4.0.0-internal.d28e9fb → 4.0.0-internal.fa345ef

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 (751) hide show
  1. package/LICENSE.md +1 -1
  2. package/bin.js +11 -0
  3. package/dist/admin/RichText.d.ts +4 -17
  4. package/dist/admin/RichText.d.ts.map +1 -1
  5. package/dist/admin/RichText.js.map +1 -1
  6. package/dist/admin/adapters/cookies.d.ts +21 -0
  7. package/dist/admin/adapters/cookies.d.ts.map +1 -0
  8. package/dist/admin/adapters/cookies.js +3 -0
  9. package/dist/admin/adapters/cookies.js.map +1 -0
  10. package/dist/admin/adapters/devReload.d.ts +9 -0
  11. package/dist/admin/adapters/devReload.d.ts.map +1 -0
  12. package/dist/admin/adapters/devReload.js +6 -0
  13. package/dist/admin/adapters/devReload.js.map +1 -0
  14. package/dist/admin/adapters/index.d.ts +7 -0
  15. package/dist/admin/adapters/index.d.ts.map +1 -0
  16. package/dist/admin/adapters/index.js +3 -0
  17. package/dist/admin/adapters/index.js.map +1 -0
  18. package/dist/admin/adapters/render.d.ts +16 -0
  19. package/dist/admin/adapters/render.d.ts.map +1 -0
  20. package/dist/admin/adapters/render.js +7 -0
  21. package/dist/admin/adapters/render.js.map +1 -0
  22. package/dist/admin/adapters/router.d.ts +56 -0
  23. package/dist/admin/adapters/router.d.ts.map +1 -0
  24. package/dist/admin/adapters/router.js +3 -0
  25. package/dist/admin/adapters/router.js.map +1 -0
  26. package/dist/admin/adapters/server.d.ts +23 -0
  27. package/dist/admin/adapters/server.d.ts.map +1 -0
  28. package/dist/admin/adapters/server.js +6 -0
  29. package/dist/admin/adapters/server.js.map +1 -0
  30. package/dist/admin/adapters/views.d.ts +36 -0
  31. package/dist/admin/adapters/views.d.ts.map +1 -0
  32. package/dist/admin/adapters/views.js +7 -0
  33. package/dist/admin/adapters/views.js.map +1 -0
  34. package/dist/admin/elements/Table.d.ts +1 -0
  35. package/dist/admin/elements/Table.d.ts.map +1 -1
  36. package/dist/admin/elements/Table.js.map +1 -1
  37. package/dist/admin/fields/Row.d.ts +2 -2
  38. package/dist/admin/fields/Row.d.ts.map +1 -1
  39. package/dist/admin/fields/Row.js.map +1 -1
  40. package/dist/admin/forms/Description.d.ts +2 -2
  41. package/dist/admin/forms/Description.d.ts.map +1 -1
  42. package/dist/admin/forms/Description.js.map +1 -1
  43. package/dist/admin/forms/Field.d.ts +10 -5
  44. package/dist/admin/forms/Field.d.ts.map +1 -1
  45. package/dist/admin/forms/Field.js.map +1 -1
  46. package/dist/admin/functions/index.d.ts +9 -0
  47. package/dist/admin/functions/index.d.ts.map +1 -1
  48. package/dist/admin/functions/index.js.map +1 -1
  49. package/dist/admin/types.d.ts +3 -2
  50. package/dist/admin/types.d.ts.map +1 -1
  51. package/dist/admin/types.js.map +1 -1
  52. package/dist/admin/views/dashboard.d.ts +7 -0
  53. package/dist/admin/views/dashboard.d.ts.map +1 -1
  54. package/dist/admin/views/dashboard.js.map +1 -1
  55. package/dist/admin/views/document.d.ts +5 -3
  56. package/dist/admin/views/document.d.ts.map +1 -1
  57. package/dist/admin/views/document.js.map +1 -1
  58. package/dist/admin/views/hierarchyList.d.ts +1 -0
  59. package/dist/admin/views/hierarchyList.d.ts.map +1 -1
  60. package/dist/admin/views/hierarchyList.js.map +1 -1
  61. package/dist/admin/views/list.d.ts +10 -1
  62. package/dist/admin/views/list.d.ts.map +1 -1
  63. package/dist/admin/views/list.js.map +1 -1
  64. package/dist/auth/baseFields/apiKey.d.ts +10 -2
  65. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  66. package/dist/auth/baseFields/apiKey.js +35 -24
  67. package/dist/auth/baseFields/apiKey.js.map +1 -1
  68. package/dist/auth/cookies.d.ts.map +1 -1
  69. package/dist/auth/defaultAccess.d.ts +1 -1
  70. package/dist/auth/defaultAccess.d.ts.map +1 -1
  71. package/dist/auth/defaultAccess.js +1 -1
  72. package/dist/auth/defaultAccess.js.map +1 -1
  73. package/dist/auth/defaultUser.d.ts.map +1 -1
  74. package/dist/auth/defaultUser.js +2 -1
  75. package/dist/auth/defaultUser.js.map +1 -1
  76. package/dist/auth/ensureUsernameOrEmail.d.ts.map +1 -1
  77. package/dist/auth/executeAccess.d.ts.map +1 -1
  78. package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
  79. package/dist/auth/extractAccessFromPermission.d.ts.map +1 -1
  80. package/dist/auth/extractJWT.d.ts.map +1 -1
  81. package/dist/auth/getAuthFields.d.ts.map +1 -1
  82. package/dist/auth/getAuthFields.js +2 -2
  83. package/dist/auth/getAuthFields.js.map +1 -1
  84. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  85. package/dist/auth/getLoginOptions.d.ts.map +1 -1
  86. package/dist/auth/isUserLocked.d.ts.map +1 -1
  87. package/dist/auth/jwt.d.ts.map +1 -1
  88. package/dist/auth/operations/access.d.ts.map +1 -1
  89. package/dist/auth/operations/auth.d.ts +2 -2
  90. package/dist/auth/operations/auth.d.ts.map +1 -1
  91. package/dist/auth/operations/auth.js.map +1 -1
  92. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  93. package/dist/auth/operations/init.d.ts.map +1 -1
  94. package/dist/auth/operations/local/auth.d.ts.map +1 -1
  95. package/dist/auth/operations/login.d.ts +2 -1
  96. package/dist/auth/operations/login.d.ts.map +1 -1
  97. package/dist/auth/operations/login.js.map +1 -1
  98. package/dist/auth/operations/logout.d.ts.map +1 -1
  99. package/dist/auth/operations/me.d.ts.map +1 -1
  100. package/dist/auth/operations/me.js.map +1 -1
  101. package/dist/auth/operations/refresh.d.ts.map +1 -1
  102. package/dist/auth/operations/refresh.js +9 -3
  103. package/dist/auth/operations/refresh.js.map +1 -1
  104. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  105. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  106. package/dist/auth/operations/resetPassword.js.map +1 -1
  107. package/dist/auth/operations/unlock.d.ts.map +1 -1
  108. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  109. package/dist/auth/sendVerificationEmail.d.ts +2 -2
  110. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  111. package/dist/auth/sendVerificationEmail.js +1 -1
  112. package/dist/auth/sendVerificationEmail.js.map +1 -1
  113. package/dist/auth/sessions.d.ts +4 -5
  114. package/dist/auth/sessions.d.ts.map +1 -1
  115. package/dist/auth/sessions.js +5 -3
  116. package/dist/auth/sessions.js.map +1 -1
  117. package/dist/auth/strategies/apiKey.d.ts.map +1 -1
  118. package/dist/auth/strategies/apiKey.js +6 -17
  119. package/dist/auth/strategies/apiKey.js.map +1 -1
  120. package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
  121. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts.map +1 -1
  122. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +2 -2
  123. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  124. package/dist/auth/strategies/local/incrementLoginAttempts.js +1 -1
  125. package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
  126. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  127. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  128. package/dist/auth/types.d.ts +28 -21
  129. package/dist/auth/types.d.ts.map +1 -1
  130. package/dist/auth/types.js.map +1 -1
  131. package/dist/bin/build.d.ts +25 -0
  132. package/dist/bin/build.d.ts.map +1 -0
  133. package/dist/bin/build.js +80 -0
  134. package/dist/bin/build.js.map +1 -0
  135. package/dist/bin/build.spec.js +170 -0
  136. package/dist/bin/build.spec.js.map +1 -0
  137. package/dist/bin/generateImportMap/index.d.ts.map +1 -1
  138. package/dist/bin/generateImportMap/index.js +8 -5
  139. package/dist/bin/generateImportMap/index.js.map +1 -1
  140. package/dist/bin/generateImportMap/iterateCollections.d.ts.map +1 -1
  141. package/dist/bin/generateImportMap/iterateCollections.js +11 -0
  142. package/dist/bin/generateImportMap/iterateCollections.js.map +1 -1
  143. package/dist/bin/generateImportMap/iterateConfig.d.ts.map +1 -1
  144. package/dist/bin/generateImportMap/iterateConfig.js +12 -0
  145. package/dist/bin/generateImportMap/iterateConfig.js.map +1 -1
  146. package/dist/bin/generateImportMap/iterateFields.d.ts.map +1 -1
  147. package/dist/bin/generateImportMap/iterateFields.js +4 -1
  148. package/dist/bin/generateImportMap/iterateFields.js.map +1 -1
  149. package/dist/bin/generateImportMap/utilities/getFromImportMap.d.ts.map +1 -1
  150. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.d.ts +5 -1
  151. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.d.ts.map +1 -1
  152. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.js +32 -18
  153. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.js.map +1 -1
  154. package/dist/bin/generateTypes.d.ts +3 -2
  155. package/dist/bin/generateTypes.d.ts.map +1 -1
  156. package/dist/bin/generateTypes.js +11 -1
  157. package/dist/bin/generateTypes.js.map +1 -1
  158. package/dist/bin/index.d.ts.map +1 -1
  159. package/dist/bin/index.js +9 -0
  160. package/dist/bin/index.js.map +1 -1
  161. package/dist/bin/loadEnv.d.ts +3 -1
  162. package/dist/bin/loadEnv.d.ts.map +1 -1
  163. package/dist/bin/loadEnv.js +40 -10
  164. package/dist/bin/loadEnv.js.map +1 -1
  165. package/dist/bin/migrate.d.ts.map +1 -1
  166. package/dist/collections/config/client.d.ts +1 -1
  167. package/dist/collections/config/client.d.ts.map +1 -1
  168. package/dist/collections/config/client.js +1 -0
  169. package/dist/collections/config/client.js.map +1 -1
  170. package/dist/collections/config/defaults.d.ts +0 -4
  171. package/dist/collections/config/defaults.d.ts.map +1 -1
  172. package/dist/collections/config/defaults.js +2 -17
  173. package/dist/collections/config/defaults.js.map +1 -1
  174. package/dist/collections/config/defaults.spec.js +47 -0
  175. package/dist/collections/config/defaults.spec.js.map +1 -0
  176. package/dist/collections/config/sanitize.d.ts +10 -1
  177. package/dist/collections/config/sanitize.d.ts.map +1 -1
  178. package/dist/collections/config/sanitize.js +214 -230
  179. package/dist/collections/config/sanitize.js.map +1 -1
  180. package/dist/collections/config/sanitizeCompoundIndexes.d.ts.map +1 -1
  181. package/dist/collections/config/types.d.ts +11 -7
  182. package/dist/collections/config/types.d.ts.map +1 -1
  183. package/dist/collections/config/types.js.map +1 -1
  184. package/dist/collections/config/useAsTitle.d.ts.map +1 -1
  185. package/dist/collections/dataloader.d.ts.map +1 -1
  186. package/dist/collections/endpoints/create.d.ts.map +1 -1
  187. package/dist/collections/endpoints/create.js +0 -2
  188. package/dist/collections/endpoints/create.js.map +1 -1
  189. package/dist/collections/endpoints/updateByID.d.ts.map +1 -1
  190. package/dist/collections/endpoints/updateByID.js +1 -2
  191. package/dist/collections/endpoints/updateByID.js.map +1 -1
  192. package/dist/collections/operations/count.d.ts.map +1 -1
  193. package/dist/collections/operations/count.js +1 -0
  194. package/dist/collections/operations/count.js.map +1 -1
  195. package/dist/collections/operations/countVersions.d.ts.map +1 -1
  196. package/dist/collections/operations/create.d.ts +0 -1
  197. package/dist/collections/operations/create.d.ts.map +1 -1
  198. package/dist/collections/operations/create.js +15 -6
  199. package/dist/collections/operations/create.js.map +1 -1
  200. package/dist/collections/operations/delete.d.ts.map +1 -1
  201. package/dist/collections/operations/delete.js +3 -0
  202. package/dist/collections/operations/delete.js.map +1 -1
  203. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  204. package/dist/collections/operations/duplicate.d.ts.map +1 -1
  205. package/dist/collections/operations/find.d.ts.map +1 -1
  206. package/dist/collections/operations/findByID.d.ts.map +1 -1
  207. package/dist/collections/operations/findDistinct.d.ts.map +1 -1
  208. package/dist/collections/operations/findDistinct.js +1 -0
  209. package/dist/collections/operations/findDistinct.js.map +1 -1
  210. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  211. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  212. package/dist/collections/operations/local/count.d.ts +3 -3
  213. package/dist/collections/operations/local/count.d.ts.map +1 -1
  214. package/dist/collections/operations/local/count.js.map +1 -1
  215. package/dist/collections/operations/local/countVersions.d.ts +3 -3
  216. package/dist/collections/operations/local/countVersions.d.ts.map +1 -1
  217. package/dist/collections/operations/local/countVersions.js.map +1 -1
  218. package/dist/collections/operations/local/create.d.ts +3 -3
  219. package/dist/collections/operations/local/create.d.ts.map +1 -1
  220. package/dist/collections/operations/local/create.js.map +1 -1
  221. package/dist/collections/operations/local/delete.d.ts +3 -3
  222. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  223. package/dist/collections/operations/local/delete.js.map +1 -1
  224. package/dist/collections/operations/local/duplicate.d.ts +3 -3
  225. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  226. package/dist/collections/operations/local/duplicate.js.map +1 -1
  227. package/dist/collections/operations/local/find.d.ts +3 -3
  228. package/dist/collections/operations/local/find.d.ts.map +1 -1
  229. package/dist/collections/operations/local/find.js.map +1 -1
  230. package/dist/collections/operations/local/findByID.d.ts +3 -3
  231. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  232. package/dist/collections/operations/local/findByID.js.map +1 -1
  233. package/dist/collections/operations/local/findDistinct.d.ts +2 -2
  234. package/dist/collections/operations/local/findDistinct.d.ts.map +1 -1
  235. package/dist/collections/operations/local/findDistinct.js.map +1 -1
  236. package/dist/collections/operations/local/findVersionByID.d.ts +3 -3
  237. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  238. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  239. package/dist/collections/operations/local/findVersions.d.ts +3 -3
  240. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  241. package/dist/collections/operations/local/findVersions.js.map +1 -1
  242. package/dist/collections/operations/local/restoreVersion.d.ts +3 -3
  243. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  244. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  245. package/dist/collections/operations/local/update.d.ts +7 -11
  246. package/dist/collections/operations/local/update.d.ts.map +1 -1
  247. package/dist/collections/operations/local/update.js +1 -2
  248. package/dist/collections/operations/local/update.js.map +1 -1
  249. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  250. package/dist/collections/operations/update.d.ts +0 -1
  251. package/dist/collections/operations/update.d.ts.map +1 -1
  252. package/dist/collections/operations/update.js +8 -4
  253. package/dist/collections/operations/update.js.map +1 -1
  254. package/dist/collections/operations/updateByID.d.ts +0 -1
  255. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  256. package/dist/collections/operations/updateByID.js +1 -5
  257. package/dist/collections/operations/updateByID.js.map +1 -1
  258. package/dist/collections/operations/utilities/buildAfterOperation.d.ts.map +1 -1
  259. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.d.ts +9 -0
  260. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.d.ts.map +1 -0
  261. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.js +170 -0
  262. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.js.map +1 -0
  263. package/dist/collections/operations/utilities/sanitizeSortQuery.d.ts.map +1 -1
  264. package/dist/collections/operations/utilities/types.d.ts +0 -9
  265. package/dist/collections/operations/utilities/types.d.ts.map +1 -1
  266. package/dist/collections/operations/utilities/types.js.map +1 -1
  267. package/dist/collections/operations/utilities/update.d.ts +1 -2
  268. package/dist/collections/operations/utilities/update.d.ts.map +1 -1
  269. package/dist/collections/operations/utilities/update.js +64 -65
  270. package/dist/collections/operations/utilities/update.js.map +1 -1
  271. package/dist/config/build.d.ts.map +1 -1
  272. package/dist/config/build.js +8 -0
  273. package/dist/config/build.js.map +1 -1
  274. package/dist/config/client.d.ts +3 -3
  275. package/dist/config/client.d.ts.map +1 -1
  276. package/dist/config/client.js +2 -1
  277. package/dist/config/client.js.map +1 -1
  278. package/dist/config/defaults.d.ts +0 -4
  279. package/dist/config/defaults.d.ts.map +1 -1
  280. package/dist/config/defaults.js +0 -78
  281. package/dist/config/defaults.js.map +1 -1
  282. package/dist/config/definePlugin.d.ts +10 -10
  283. package/dist/config/definePlugin.d.ts.map +1 -1
  284. package/dist/config/definePlugin.js +7 -11
  285. package/dist/config/definePlugin.js.map +1 -1
  286. package/dist/config/orderable/index.d.ts.map +1 -1
  287. package/dist/config/orderable/index.js +23 -0
  288. package/dist/config/orderable/index.js.map +1 -1
  289. package/dist/config/sanitize.d.ts.map +1 -1
  290. package/dist/config/sanitize.js +362 -271
  291. package/dist/config/sanitize.js.map +1 -1
  292. package/dist/config/types.d.ts +125 -38
  293. package/dist/config/types.d.ts.map +1 -1
  294. package/dist/config/types.js +2 -0
  295. package/dist/config/types.js.map +1 -1
  296. package/dist/database/combineQueries.d.ts.map +1 -1
  297. package/dist/database/getLocalizedPaths.d.ts.map +1 -1
  298. package/dist/database/getLocalizedPaths.js +1 -1
  299. package/dist/database/getLocalizedPaths.js.map +1 -1
  300. package/dist/database/migrations/findMigrationDir.d.ts.map +1 -1
  301. package/dist/database/migrations/getPredefinedMigration.d.ts.map +1 -1
  302. package/dist/database/migrations/migrationsCollection.d.ts.map +1 -1
  303. package/dist/database/migrations/migrationsCollection.js +2 -1
  304. package/dist/database/migrations/migrationsCollection.js.map +1 -1
  305. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  306. package/dist/database/migrations/writeMigrationIndex.d.ts.map +1 -1
  307. package/dist/database/sanitizeJoinQuery.d.ts.map +1 -1
  308. package/dist/database/sanitizeWhereQuery.d.ts.map +1 -1
  309. package/dist/duplicateDocument/index.d.ts.map +1 -1
  310. package/dist/email/getStringifiedToAddress.d.ts.map +1 -1
  311. package/dist/errors/ValidationError.d.ts +1 -0
  312. package/dist/errors/ValidationError.d.ts.map +1 -1
  313. package/dist/errors/ValidationError.js.map +1 -1
  314. package/dist/exports/internal.d.ts +0 -1
  315. package/dist/exports/internal.d.ts.map +1 -1
  316. package/dist/exports/internal.js +0 -1
  317. package/dist/exports/internal.js.map +1 -1
  318. package/dist/exports/migrations.d.ts +5 -13
  319. package/dist/exports/migrations.d.ts.map +1 -1
  320. package/dist/exports/migrations.js +5 -13
  321. package/dist/exports/migrations.js.map +1 -1
  322. package/dist/exports/shared.d.ts +23 -1
  323. package/dist/exports/shared.d.ts.map +1 -1
  324. package/dist/exports/shared.js +23 -1
  325. package/dist/exports/shared.js.map +1 -1
  326. package/dist/fields/baseFields/slug/countVersions.d.ts.map +1 -1
  327. package/dist/fields/baseFields/slug/generateSlug.d.ts.map +1 -1
  328. package/dist/fields/baseFields/slug/index.js +1 -1
  329. package/dist/fields/baseFields/slug/index.js.map +1 -1
  330. package/dist/fields/config/client.d.ts +3 -3
  331. package/dist/fields/config/client.d.ts.map +1 -1
  332. package/dist/fields/config/client.js +12 -13
  333. package/dist/fields/config/client.js.map +1 -1
  334. package/dist/fields/config/sanitize.d.ts.map +1 -1
  335. package/dist/fields/config/sanitize.js +315 -338
  336. package/dist/fields/config/sanitize.js.map +1 -1
  337. package/dist/fields/config/sanitizeJoinField.d.ts.map +1 -1
  338. package/dist/fields/config/types.d.ts +45 -66
  339. package/dist/fields/config/types.d.ts.map +1 -1
  340. package/dist/fields/config/types.js +1 -1
  341. package/dist/fields/config/types.js.map +1 -1
  342. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  343. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  344. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  345. package/dist/fields/hooks/afterChange/promise.js +1 -1
  346. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  347. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  348. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  349. package/dist/fields/hooks/afterRead/promise.js +12 -3
  350. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  351. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  352. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  353. package/dist/fields/hooks/afterRead/virtualFieldPopulationPromise.d.ts.map +1 -1
  354. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.d.ts.map +1 -1
  355. package/dist/fields/hooks/beforeChange/getExistingRowDoc.d.ts.map +1 -1
  356. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  357. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  358. package/dist/fields/hooks/beforeChange/promise.js +3 -3
  359. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  360. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  361. package/dist/fields/hooks/beforeDuplicate/index.d.ts.map +1 -1
  362. package/dist/fields/hooks/beforeDuplicate/promise.d.ts.map +1 -1
  363. package/dist/fields/hooks/beforeDuplicate/promise.js +2 -2
  364. package/dist/fields/hooks/beforeDuplicate/promise.js.map +1 -1
  365. package/dist/fields/hooks/beforeDuplicate/traverseFields.d.ts.map +1 -1
  366. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  367. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  368. package/dist/fields/hooks/beforeValidate/promise.js +11 -2
  369. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  370. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  371. package/dist/fields/isFieldDisabled.d.ts.map +1 -1
  372. package/dist/fields/mergeBaseFields.d.ts.map +1 -1
  373. package/dist/fields/setDefaultBeforeDuplicate.d.ts.map +1 -1
  374. package/dist/fields/validations.d.ts.map +1 -1
  375. package/dist/fields/validations.js +5 -4
  376. package/dist/fields/validations.js.map +1 -1
  377. package/dist/globals/config/client.d.ts.map +1 -1
  378. package/dist/globals/config/sanitize.d.ts +6 -1
  379. package/dist/globals/config/sanitize.d.ts.map +1 -1
  380. package/dist/globals/config/sanitize.js +122 -132
  381. package/dist/globals/config/sanitize.js.map +1 -1
  382. package/dist/globals/config/sanitize.spec.js +43 -0
  383. package/dist/globals/config/sanitize.spec.js.map +1 -0
  384. package/dist/globals/endpoints/update.d.ts.map +1 -1
  385. package/dist/globals/endpoints/update.js +0 -2
  386. package/dist/globals/endpoints/update.js.map +1 -1
  387. package/dist/globals/operations/countGlobalVersions.d.ts.map +1 -1
  388. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  389. package/dist/globals/operations/findOne.d.ts.map +1 -1
  390. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  391. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  392. package/dist/globals/operations/local/countVersions.d.ts +3 -3
  393. package/dist/globals/operations/local/countVersions.d.ts.map +1 -1
  394. package/dist/globals/operations/local/countVersions.js.map +1 -1
  395. package/dist/globals/operations/local/findOne.d.ts +3 -3
  396. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  397. package/dist/globals/operations/local/findOne.js.map +1 -1
  398. package/dist/globals/operations/local/findVersionByID.d.ts +3 -3
  399. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  400. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  401. package/dist/globals/operations/local/findVersions.d.ts +3 -3
  402. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  403. package/dist/globals/operations/local/findVersions.js.map +1 -1
  404. package/dist/globals/operations/local/restoreVersion.d.ts +3 -3
  405. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  406. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  407. package/dist/globals/operations/local/update.d.ts +7 -9
  408. package/dist/globals/operations/local/update.d.ts.map +1 -1
  409. package/dist/globals/operations/local/update.js +1 -2
  410. package/dist/globals/operations/local/update.js.map +1 -1
  411. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  412. package/dist/globals/operations/update.d.ts +0 -1
  413. package/dist/globals/operations/update.d.ts.map +1 -1
  414. package/dist/globals/operations/update.js +52 -58
  415. package/dist/globals/operations/update.js.map +1 -1
  416. package/dist/hierarchy/addHierarchyToCollection.d.ts.map +1 -1
  417. package/dist/hierarchy/buildParentField.d.ts.map +1 -1
  418. package/dist/hierarchy/constants.d.ts.map +1 -1
  419. package/dist/hierarchy/getInitialTreeData.d.ts.map +1 -1
  420. package/dist/hierarchy/hooks/collectionAfterDelete.d.ts.map +1 -1
  421. package/dist/hierarchy/hooks/collectionAfterRead.d.ts.map +1 -1
  422. package/dist/hierarchy/hooks/collectionBeforeChange.d.ts.map +1 -1
  423. package/dist/hierarchy/hooks/collectionBeforeDelete.d.ts.map +1 -1
  424. package/dist/hierarchy/hooks/collectionBeforeOperation.d.ts.map +1 -1
  425. package/dist/hierarchy/hooks/ensureSafeCollectionsChange.d.ts.map +1 -1
  426. package/dist/hierarchy/injectHierarchyButton.d.ts.map +1 -1
  427. package/dist/hierarchy/resolveHierarchyCollections.d.ts.map +1 -1
  428. package/dist/hierarchy/resolveHierarchyCollections.js +1 -1
  429. package/dist/hierarchy/resolveHierarchyCollections.js.map +1 -1
  430. package/dist/hierarchy/sanitizeHierarchyCollection.d.ts.map +1 -1
  431. package/dist/hierarchy/sanitizeHierarchyCollection.js +3 -1
  432. package/dist/hierarchy/sanitizeHierarchyCollection.js.map +1 -1
  433. package/dist/hierarchy/types.d.ts +8 -1
  434. package/dist/hierarchy/types.d.ts.map +1 -1
  435. package/dist/hierarchy/types.js.map +1 -1
  436. package/dist/index.bundled.d.ts +808 -366
  437. package/dist/index.d.ts +72 -24
  438. package/dist/index.d.ts.map +1 -1
  439. package/dist/index.js +55 -55
  440. package/dist/index.js.map +1 -1
  441. package/dist/kv/adapters/DatabaseKVAdapter.d.ts.map +1 -1
  442. package/dist/kv/adapters/DatabaseKVAdapter.js +1 -0
  443. package/dist/kv/adapters/DatabaseKVAdapter.js.map +1 -1
  444. package/dist/locked-documents/config.d.ts.map +1 -1
  445. package/dist/locked-documents/config.js +2 -1
  446. package/dist/locked-documents/config.js.map +1 -1
  447. package/dist/preferences/config.d.ts.map +1 -1
  448. package/dist/preferences/config.js +2 -1
  449. package/dist/preferences/config.js.map +1 -1
  450. package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
  451. package/dist/preferences/keys.d.ts +4 -0
  452. package/dist/preferences/keys.d.ts.map +1 -1
  453. package/dist/preferences/keys.js +4 -1
  454. package/dist/preferences/keys.js.map +1 -1
  455. package/dist/preferences/types.d.ts +15 -0
  456. package/dist/preferences/types.d.ts.map +1 -1
  457. package/dist/preferences/types.js +3 -1
  458. package/dist/preferences/types.js.map +1 -1
  459. package/dist/query-presets/access.d.ts.map +1 -1
  460. package/dist/query-presets/config.d.ts.map +1 -1
  461. package/dist/query-presets/config.js +77 -37
  462. package/dist/query-presets/config.js.map +1 -1
  463. package/dist/query-presets/constraints.d.ts.map +1 -1
  464. package/dist/query-presets/constraints.js +3 -2
  465. package/dist/query-presets/constraints.js.map +1 -1
  466. package/dist/queues/config/collection.d.ts.map +1 -1
  467. package/dist/queues/config/collection.js +2 -1
  468. package/dist/queues/config/collection.js.map +1 -1
  469. package/dist/queues/config/generateJobsJSONSchemas.d.ts +1 -1
  470. package/dist/queues/config/generateJobsJSONSchemas.d.ts.map +1 -1
  471. package/dist/queues/config/generateJobsJSONSchemas.js +33 -12
  472. package/dist/queues/config/generateJobsJSONSchemas.js.map +1 -1
  473. package/dist/queues/config/global.d.ts.map +1 -1
  474. package/dist/queues/config/global.js +2 -1
  475. package/dist/queues/config/global.js.map +1 -1
  476. package/dist/queues/endpoints/run.d.ts.map +1 -1
  477. package/dist/queues/localAPI.d.ts.map +1 -1
  478. package/dist/queues/operations/handleSchedules/getQueuesWithSchedules.d.ts.map +1 -1
  479. package/dist/queues/operations/runJobs/index.d.ts.map +1 -1
  480. package/dist/queues/operations/runJobs/runJSONJob/index.d.ts.map +1 -1
  481. package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.d.ts.map +1 -1
  482. package/dist/queues/operations/runJobs/runJob/index.d.ts.map +1 -1
  483. package/dist/queues/utilities/getJobTaskStatus.d.ts.map +1 -1
  484. package/dist/translations/getLocalI18n.d.ts.map +1 -1
  485. package/dist/types/index.d.ts +18 -8
  486. package/dist/types/index.d.ts.map +1 -1
  487. package/dist/types/index.js.map +1 -1
  488. package/dist/uploads/checkFileAccess.d.ts.map +1 -1
  489. package/dist/uploads/checkFileRestrictions.d.ts.map +1 -1
  490. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  491. package/dist/uploads/endpoints/getFileFromURL.d.ts.map +1 -1
  492. package/dist/uploads/endpoints/getFileFromURL.js +9 -5
  493. package/dist/uploads/endpoints/getFileFromURL.js.map +1 -1
  494. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.d.ts.map +1 -1
  495. package/dist/uploads/fetchAPI-multipart/processNested.d.ts.map +1 -1
  496. package/dist/uploads/fetchAPI-multipart/utilities.d.ts.map +1 -1
  497. package/dist/uploads/fileExists.d.ts.map +1 -1
  498. package/dist/uploads/generateFileData.d.ts +2 -1
  499. package/dist/uploads/generateFileData.d.ts.map +1 -1
  500. package/dist/uploads/generateFileData.js +5 -2
  501. package/dist/uploads/generateFileData.js.map +1 -1
  502. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  503. package/dist/uploads/getBaseFields.js +7 -19
  504. package/dist/uploads/getBaseFields.js.map +1 -1
  505. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  506. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  507. package/dist/uploads/getFileTypeFallback.d.ts.map +1 -1
  508. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  509. package/dist/uploads/image-resizing/createImageSize.d.ts.map +1 -1
  510. package/dist/uploads/image-resizing/generateImageSizeFilename.d.ts.map +1 -1
  511. package/dist/uploads/image-resizing/getImageResizeAction.d.ts.map +1 -1
  512. package/dist/uploads/image-resizing/parseFilename.d.ts.map +1 -1
  513. package/dist/uploads/image-resizing/sanitizeResizeConfig.d.ts.map +1 -1
  514. package/dist/uploads/matchMimeType.d.ts +8 -0
  515. package/dist/uploads/matchMimeType.d.ts.map +1 -0
  516. package/dist/uploads/matchMimeType.js +19 -0
  517. package/dist/uploads/matchMimeType.js.map +1 -0
  518. package/dist/uploads/matchMimeType.spec.js +66 -0
  519. package/dist/uploads/matchMimeType.spec.js.map +1 -0
  520. package/dist/uploads/mimeTypeValidator.d.ts.map +1 -1
  521. package/dist/uploads/safeFetch.d.ts +1 -1
  522. package/dist/uploads/safeFetch.d.ts.map +1 -1
  523. package/dist/uploads/safeFetch.js +11 -5
  524. package/dist/uploads/safeFetch.js.map +1 -1
  525. package/dist/uploads/saveBufferToFile.d.ts.map +1 -1
  526. package/dist/uploads/tempFile.d.ts.map +1 -1
  527. package/dist/uploads/types.d.ts +33 -29
  528. package/dist/uploads/types.d.ts.map +1 -1
  529. package/dist/uploads/types.js.map +1 -1
  530. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  531. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  532. package/dist/utilities/addDataAndFileToRequest.js +6 -0
  533. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  534. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  535. package/dist/utilities/addSelectGenericsToGeneretedTypes.d.ts.map +1 -1
  536. package/dist/utilities/appendDateTimezoneSelectFields.d.ts.map +1 -1
  537. package/dist/utilities/appendDateTimezoneSelectFields.js +2 -2
  538. package/dist/utilities/appendDateTimezoneSelectFields.js.map +1 -1
  539. package/dist/utilities/appendNonTrashedFilter.d.ts.map +1 -1
  540. package/dist/utilities/appendUploadSelectFields.d.ts.map +1 -1
  541. package/dist/utilities/canAccessAdmin.d.ts.map +1 -1
  542. package/dist/utilities/checkDocumentLockStatus.d.ts.map +1 -1
  543. package/dist/utilities/configToJSONSchema.d.ts +68 -16
  544. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  545. package/dist/utilities/configToJSONSchema.js +311 -117
  546. package/dist/utilities/configToJSONSchema.js.map +1 -1
  547. package/dist/utilities/configToJSONSchema.spec.js +619 -85
  548. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  549. package/dist/utilities/createLocalReq.d.ts +2 -2
  550. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  551. package/dist/utilities/createLocalReq.js.map +1 -1
  552. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  553. package/dist/utilities/createPayloadRequest.js +1 -0
  554. package/dist/utilities/createPayloadRequest.js.map +1 -1
  555. package/dist/utilities/deepCopyObject.d.ts.map +1 -1
  556. package/dist/utilities/deepCopyObject.js +8 -0
  557. package/dist/utilities/deepCopyObject.js.map +1 -1
  558. package/dist/utilities/dependencies/dependencyChecker.js +1 -1
  559. package/dist/utilities/dependencies/dependencyChecker.js.map +1 -1
  560. package/dist/utilities/dependencies/getDependencies.d.ts.map +1 -1
  561. package/dist/utilities/dependencies/getDependencies.js +5 -5
  562. package/dist/utilities/dependencies/getDependencies.js.map +1 -1
  563. package/dist/utilities/dependencies/resolveFrom.d.ts.map +1 -1
  564. package/dist/utilities/dynamicImport.js +1 -1
  565. package/dist/utilities/dynamicImport.js.map +1 -1
  566. package/dist/utilities/escapeRegExp.d.ts.map +1 -1
  567. package/dist/utilities/extractID.d.ts.map +1 -1
  568. package/dist/utilities/filterDataToSelectedLocales.d.ts.map +1 -1
  569. package/dist/utilities/filterDataToSelectedLocales.js +5 -12
  570. package/dist/utilities/filterDataToSelectedLocales.js.map +1 -1
  571. package/dist/utilities/filterDataToSelectedLocales.spec.js +1 -2
  572. package/dist/utilities/filterDataToSelectedLocales.spec.js.map +1 -1
  573. package/dist/utilities/flattenAllFields.d.ts.map +1 -1
  574. package/dist/utilities/flattenAllFields.js +78 -102
  575. package/dist/utilities/flattenAllFields.js.map +1 -1
  576. package/dist/utilities/formatAdminURL.d.ts.map +1 -1
  577. package/dist/utilities/formatErrors.d.ts.map +1 -1
  578. package/dist/utilities/formatErrors.js +3 -1
  579. package/dist/utilities/formatErrors.js.map +1 -1
  580. package/dist/utilities/formatLabels.d.ts.map +1 -1
  581. package/dist/utilities/getBestFitFromSizes.d.ts.map +1 -1
  582. package/dist/utilities/getBlockSelect.d.ts.map +1 -1
  583. package/dist/utilities/getDataByPath.d.ts.map +1 -1
  584. package/dist/utilities/getEntityPermissions/getEntityPermissions.d.ts.map +1 -1
  585. package/dist/utilities/getEntityPermissions/getEntityPermissions.js +2 -0
  586. package/dist/utilities/getEntityPermissions/getEntityPermissions.js.map +1 -1
  587. package/dist/utilities/getEntityPermissions/populateFieldPermissions.d.ts +7 -1
  588. package/dist/utilities/getEntityPermissions/populateFieldPermissions.d.ts.map +1 -1
  589. package/dist/utilities/getEntityPermissions/populateFieldPermissions.js +24 -7
  590. package/dist/utilities/getEntityPermissions/populateFieldPermissions.js.map +1 -1
  591. package/dist/utilities/getFieldByPath.d.ts.map +1 -1
  592. package/dist/utilities/getFieldByPath.js +1 -1
  593. package/dist/utilities/getFieldByPath.js.map +1 -1
  594. package/dist/utilities/getFieldPermissions.d.ts.map +1 -1
  595. package/dist/utilities/getObjectDotNotation.d.ts.map +1 -1
  596. package/dist/utilities/getRequestEntity.d.ts.map +1 -1
  597. package/dist/utilities/getRequestLanguage.d.ts +2 -2
  598. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  599. package/dist/utilities/getRequestLanguage.js.map +1 -1
  600. package/dist/utilities/getRequestOrigin.d.ts.map +1 -1
  601. package/dist/utilities/getSafeRedirect.d.ts.map +1 -1
  602. package/dist/utilities/getSelectMode.d.ts.map +1 -1
  603. package/dist/utilities/getSiblingData.d.ts.map +1 -1
  604. package/dist/utilities/getTranslatedLabel.d.ts.map +1 -1
  605. package/dist/utilities/getVersionsConfig.d.ts.map +1 -1
  606. package/dist/utilities/getVersionsConfig.js.map +1 -1
  607. package/dist/utilities/handleEndpoints.d.ts.map +1 -1
  608. package/dist/utilities/handleEndpoints.js +7 -4
  609. package/dist/utilities/handleEndpoints.js.map +1 -1
  610. package/dist/utilities/headersWithCors.d.ts.map +1 -1
  611. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  612. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  613. package/dist/utilities/isValidID.d.ts.map +1 -1
  614. package/dist/utilities/logError.d.ts.map +1 -1
  615. package/dist/utilities/logger.d.ts.map +1 -1
  616. package/dist/utilities/mergeHeaders.d.ts.map +1 -1
  617. package/dist/utilities/mergeListSearchAndWhere.d.ts.map +1 -1
  618. package/dist/utilities/mergeLocalizedData.d.ts +14 -4
  619. package/dist/utilities/mergeLocalizedData.d.ts.map +1 -1
  620. package/dist/utilities/mergeLocalizedData.js +54 -46
  621. package/dist/utilities/mergeLocalizedData.js.map +1 -1
  622. package/dist/utilities/mergeLocalizedData.spec.js +23 -23
  623. package/dist/utilities/mergeLocalizedData.spec.js.map +1 -1
  624. package/dist/utilities/optionsAreEqual.d.ts.map +1 -1
  625. package/dist/utilities/parseBooleanString.d.ts.map +1 -1
  626. package/dist/utilities/parseCookies.d.ts.map +1 -1
  627. package/dist/utilities/parseParams/index.d.ts +2 -5
  628. package/dist/utilities/parseParams/index.d.ts.map +1 -1
  629. package/dist/utilities/parseParams/index.js.map +1 -1
  630. package/dist/utilities/parseParams/index.spec.js +0 -9
  631. package/dist/utilities/parseParams/index.spec.js.map +1 -1
  632. package/dist/utilities/profiling.d.ts.map +1 -1
  633. package/dist/utilities/reduceFieldsToValues.d.ts.map +1 -1
  634. package/dist/utilities/resolveSelect.d.ts.map +1 -1
  635. package/dist/utilities/routeError.d.ts.map +1 -1
  636. package/dist/utilities/sanitizeFallbackLocale.d.ts.map +1 -1
  637. package/dist/utilities/sanitizeInternalFields.d.ts.map +1 -1
  638. package/dist/utilities/sanitizeJoinParams.d.ts.map +1 -1
  639. package/dist/utilities/sanitizePopulateParam.d.ts.map +1 -1
  640. package/dist/utilities/sanitizeSelect.d.ts.map +1 -1
  641. package/dist/utilities/sanitizeSelectParam.d.ts.map +1 -1
  642. package/dist/utilities/sanitizeSortParams.d.ts.map +1 -1
  643. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  644. package/dist/utilities/slugify.d.ts.map +1 -1
  645. package/dist/utilities/stripUnselectedFields.d.ts.map +1 -1
  646. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  647. package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
  648. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  649. package/dist/utilities/telemetry/oneWayHash.d.ts.map +1 -1
  650. package/dist/utilities/timestamp.d.ts.map +1 -1
  651. package/dist/utilities/toKebabCase.d.ts.map +1 -1
  652. package/dist/utilities/transformColumnPreferences.d.ts.map +1 -1
  653. package/dist/utilities/transformColumnPreferences.js +4 -2
  654. package/dist/utilities/transformColumnPreferences.js.map +1 -1
  655. package/dist/utilities/transformWhereQuery.d.ts.map +1 -1
  656. package/dist/utilities/traverseFields.d.ts.map +1 -1
  657. package/dist/utilities/traverseFields.js +2 -4
  658. package/dist/utilities/traverseFields.js.map +1 -1
  659. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  660. package/dist/utilities/traverseForLocalizedFields.js +3 -0
  661. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  662. package/dist/utilities/unflatten.d.ts.map +1 -1
  663. package/dist/utilities/validateMimeType.d.ts.map +1 -1
  664. package/dist/utilities/validateTimezones.d.ts.map +1 -1
  665. package/dist/utilities/validateWhereQuery.d.ts.map +1 -1
  666. package/dist/utilities/wordBoundariesRegex.d.ts.map +1 -1
  667. package/dist/utilities/wrapInternalEndpoints.d.ts.map +1 -1
  668. package/dist/versions/baseFields.d.ts +1 -2
  669. package/dist/versions/baseFields.d.ts.map +1 -1
  670. package/dist/versions/baseFields.js +0 -13
  671. package/dist/versions/baseFields.js.map +1 -1
  672. package/dist/versions/buildCollectionFields.d.ts.map +1 -1
  673. package/dist/versions/buildCollectionFields.js +0 -2
  674. package/dist/versions/buildCollectionFields.js.map +1 -1
  675. package/dist/versions/buildGlobalFields.d.ts.map +1 -1
  676. package/dist/versions/buildGlobalFields.js +0 -2
  677. package/dist/versions/buildGlobalFields.js.map +1 -1
  678. package/dist/versions/buildSingleLocalePublishData.d.ts +32 -0
  679. package/dist/versions/buildSingleLocalePublishData.d.ts.map +1 -0
  680. package/dist/versions/buildSingleLocalePublishData.js +37 -0
  681. package/dist/versions/buildSingleLocalePublishData.js.map +1 -0
  682. package/dist/versions/buildVersionCompoundIndexes.d.ts.map +1 -1
  683. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  684. package/dist/versions/deleteScheduledPublishJobs.d.ts.map +1 -1
  685. package/dist/versions/drafts/appendVersionToQueryKey.d.ts.map +1 -1
  686. package/dist/versions/drafts/getQueryDraftsSelect.d.ts.map +1 -1
  687. package/dist/versions/drafts/getQueryDraftsSort.d.ts.map +1 -1
  688. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  689. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  690. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  691. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  692. package/dist/versions/migrations/localizeStatus/shared.d.ts.map +1 -1
  693. package/dist/versions/saveVersion.d.ts +0 -2
  694. package/dist/versions/saveVersion.d.ts.map +1 -1
  695. package/dist/versions/saveVersion.js +12 -17
  696. package/dist/versions/saveVersion.js.map +1 -1
  697. package/dist/versions/schedule/job.d.ts.map +1 -1
  698. package/dist/versions/schedule/job.js +2 -9
  699. package/dist/versions/schedule/job.js.map +1 -1
  700. package/dist/versions/types.d.ts +2 -15
  701. package/dist/versions/types.d.ts.map +1 -1
  702. package/dist/versions/types.js.map +1 -1
  703. package/package.json +23 -20
  704. package/dist/database/migrations/templates/localizeStatus.d.ts +0 -10
  705. package/dist/database/migrations/templates/localizeStatus.d.ts.map +0 -1
  706. package/dist/database/migrations/templates/localizeStatus.js +0 -54
  707. package/dist/database/migrations/templates/localizeStatus.js.map +0 -1
  708. package/dist/utilities/sanitizeProfiler.d.ts +0 -38
  709. package/dist/utilities/sanitizeProfiler.d.ts.map +0 -1
  710. package/dist/utilities/sanitizeProfiler.js +0 -101
  711. package/dist/utilities/sanitizeProfiler.js.map +0 -1
  712. package/dist/versions/migrations/localizeStatus/index.d.ts +0 -12
  713. package/dist/versions/migrations/localizeStatus/index.d.ts.map +0 -1
  714. package/dist/versions/migrations/localizeStatus/index.js +0 -33
  715. package/dist/versions/migrations/localizeStatus/index.js.map +0 -1
  716. package/dist/versions/migrations/localizeStatus/mongo/down.d.ts +0 -9
  717. package/dist/versions/migrations/localizeStatus/mongo/down.d.ts.map +0 -1
  718. package/dist/versions/migrations/localizeStatus/mongo/down.js +0 -112
  719. package/dist/versions/migrations/localizeStatus/mongo/down.js.map +0 -1
  720. package/dist/versions/migrations/localizeStatus/mongo/index.d.ts +0 -8
  721. package/dist/versions/migrations/localizeStatus/mongo/index.d.ts.map +0 -1
  722. package/dist/versions/migrations/localizeStatus/mongo/index.js +0 -8
  723. package/dist/versions/migrations/localizeStatus/mongo/index.js.map +0 -1
  724. package/dist/versions/migrations/localizeStatus/mongo/up.d.ts +0 -9
  725. package/dist/versions/migrations/localizeStatus/mongo/up.d.ts.map +0 -1
  726. package/dist/versions/migrations/localizeStatus/mongo/up.js +0 -220
  727. package/dist/versions/migrations/localizeStatus/mongo/up.js.map +0 -1
  728. package/dist/versions/migrations/localizeStatus/sql/down.d.ts +0 -11
  729. package/dist/versions/migrations/localizeStatus/sql/down.d.ts.map +0 -1
  730. package/dist/versions/migrations/localizeStatus/sql/down.js +0 -213
  731. package/dist/versions/migrations/localizeStatus/sql/down.js.map +0 -1
  732. package/dist/versions/migrations/localizeStatus/sql/index.d.ts +0 -8
  733. package/dist/versions/migrations/localizeStatus/sql/index.d.ts.map +0 -1
  734. package/dist/versions/migrations/localizeStatus/sql/index.js +0 -8
  735. package/dist/versions/migrations/localizeStatus/sql/index.js.map +0 -1
  736. package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.d.ts +0 -13
  737. package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.d.ts.map +0 -1
  738. package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.js +0 -51
  739. package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.js.map +0 -1
  740. package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.d.ts +0 -13
  741. package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.d.ts.map +0 -1
  742. package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.js +0 -54
  743. package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.js.map +0 -1
  744. package/dist/versions/migrations/localizeStatus/sql/up.d.ts +0 -11
  745. package/dist/versions/migrations/localizeStatus/sql/up.d.ts.map +0 -1
  746. package/dist/versions/migrations/localizeStatus/sql/up.js +0 -277
  747. package/dist/versions/migrations/localizeStatus/sql/up.js.map +0 -1
  748. package/dist/versions/saveSnapshot.d.ts +0 -18
  749. package/dist/versions/saveSnapshot.d.ts.map +0 -1
  750. package/dist/versions/saveSnapshot.js +0 -38
  751. package/dist/versions/saveSnapshot.js.map +0 -1
@@ -1,5 +1,4 @@
1
1
  import { en } from '@payloadcms/translations/languages/en';
2
- import { deepMergeSimple } from '@payloadcms/translations/utilities';
3
2
  import { defaultUserCollection } from '../auth/defaultUser.js';
4
3
  import { authRootEndpoints } from '../auth/endpoints/index.js';
5
4
  import { sanitizeCollection } from '../collections/config/sanitize.js';
@@ -16,7 +15,6 @@ import { getDefaultJobsCollection, jobsCollectionSlug } from '../queues/config/c
16
15
  import { getJobStatsGlobal } from '../queues/config/global.js';
17
16
  import { flattenAllFields, flattenBlock } from '../utilities/flattenAllFields.js';
18
17
  import { hasScheduledPublishEnabled } from '../utilities/getVersionsConfig.js';
19
- import { endSpan, startSpan } from '../utilities/sanitizeProfiler.js';
20
18
  import { validateTimezones } from '../utilities/validateTimezones.js';
21
19
  import { getSchedulePublishTask } from '../versions/schedule/job.js';
22
20
  import { addDefaultsToConfig } from './defaults.js';
@@ -25,9 +23,6 @@ const sanitizeAdminConfig = (configToSanitize)=>{
25
23
  const sanitizedConfig = {
26
24
  ...configToSanitize
27
25
  };
28
- if (configToSanitize?.compatibility?.allowLocalizedWithinLocalized) {
29
- process.env.NEXT_PUBLIC_PAYLOAD_COMPATIBILITY_allowLocalizedWithinLocalized = 'true';
30
- }
31
26
  // default logging level will be 'error' if not provided
32
27
  sanitizedConfig.loggingLevels = {
33
28
  Forbidden: 'info',
@@ -37,19 +32,6 @@ const sanitizeAdminConfig = (configToSanitize)=>{
37
32
  ValidationError: 'info',
38
33
  ...sanitizedConfig.loggingLevels || {}
39
34
  };
40
- (sanitizedConfig.admin.dashboard ??= {
41
- widgets: []
42
- }).widgets.push({
43
- slug: 'collections',
44
- Component: '@payloadcms/next/rsc#CollectionCards',
45
- minWidth: 'full'
46
- });
47
- sanitizedConfig.admin.dashboard.defaultLayout ??= [
48
- {
49
- widgetSlug: 'collections',
50
- width: 'full'
51
- }
52
- ];
53
35
  // add default user collection if none provided
54
36
  if (!sanitizedConfig?.admin?.user) {
55
37
  const firstCollectionWithAuth = sanitizedConfig.collections.find(({ auth })=>Boolean(auth));
@@ -84,284 +66,393 @@ const sanitizeAdminConfig = (configToSanitize)=>{
84
66
  });
85
67
  return sanitizedConfig;
86
68
  };
87
- export const sanitizeConfig = async (incomingConfig)=>{
88
- const __profSpan = startSpan('sanitizeConfig');
89
- try {
90
- const configWithDefaults = addDefaultsToConfig(incomingConfig);
91
- const config = sanitizeAdminConfig(configWithDefaults);
92
- if (!config.endpoints) {
93
- config.endpoints = [];
69
+ const addDefaultDashboardWidgets = async ({ config, richTextSanitizationPromises, validRelationships })=>{
70
+ const collectionQueryFields = [
71
+ {
72
+ name: 'title',
73
+ type: 'text',
74
+ label: ({ t })=>t('dashboard:widgetTitleLabel')
75
+ },
76
+ {
77
+ name: 'relatedCollection',
78
+ type: 'select',
79
+ label: ({ t })=>t('general:collection'),
80
+ // Only offer collections that are visible in the admin UI. Collections hidden via a function
81
+ // are kept since they may still be visible for some users.
82
+ options: (config.collections ?? []).filter((collection)=>collection.admin?.hidden !== true).map((collection)=>({
83
+ label: collection.labels?.plural || collection.slug,
84
+ value: collection.slug
85
+ })),
86
+ required: true
87
+ },
88
+ {
89
+ name: 'where',
90
+ type: 'json',
91
+ admin: {
92
+ components: {
93
+ Field: '@payloadcms/ui#QueryPresetsWhereField'
94
+ }
95
+ },
96
+ label: ({ t })=>t('general:filters')
97
+ },
98
+ {
99
+ name: 'sortField',
100
+ type: 'text',
101
+ admin: {
102
+ components: {
103
+ Field: '@payloadcms/ui#CollectionQuerySortField'
104
+ }
105
+ },
106
+ label: ({ t })=>t('dashboard:widgetSortFieldLabel')
107
+ },
108
+ {
109
+ name: 'sortDirection',
110
+ type: 'select',
111
+ defaultValue: 'desc',
112
+ label: ({ t })=>t('dashboard:widgetSortDirectionLabel'),
113
+ options: [
114
+ {
115
+ label: ({ t })=>t('general:ascending'),
116
+ value: 'asc'
117
+ },
118
+ {
119
+ label: ({ t })=>t('general:descending'),
120
+ value: 'desc'
121
+ }
122
+ ]
123
+ },
124
+ {
125
+ name: 'limit',
126
+ type: 'number',
127
+ defaultValue: 5,
128
+ label: ({ t })=>t('dashboard:widgetLimitLabel'),
129
+ max: 25,
130
+ min: 1
131
+ }
132
+ ];
133
+ const recentlyViewedFields = [
134
+ {
135
+ name: 'excludedCollections',
136
+ type: 'select',
137
+ admin: {
138
+ components: {
139
+ // Presents an inclusion filter (all collections checked by default) while persisting the
140
+ // inverse as an exclusion list, so collections added later stay visible by default.
141
+ Field: '@payloadcms/ui#RecentlyViewedCollectionsField'
142
+ }
143
+ },
144
+ hasMany: true,
145
+ label: ({ t })=>t('general:collections'),
146
+ // Exclusion list, so an empty value shows every collection and newly added collections are
147
+ // included by default. Hidden collections are never offered as options.
148
+ options: (config.collections ?? []).filter((collection)=>collection.admin?.hidden !== true).map((collection)=>({
149
+ label: collection.labels?.plural || collection.slug,
150
+ value: collection.slug
151
+ }))
94
152
  }
95
- for (const endpoint of authRootEndpoints){
96
- config.endpoints.push(endpoint);
153
+ ];
154
+ const adminConfig = config.admin ?? {
155
+ dashboard: {
156
+ widgets: []
97
157
  }
98
- if (config.localization && config.localization.locales?.length > 0) {
99
- // clone localization config so to not break everything
100
- const firstLocale = config.localization.locales[0];
101
- if (typeof firstLocale === 'string') {
102
- config.localization.localeCodes = [
103
- ...config.localization.locales
104
- ];
105
- // is string[], so convert to Locale[]
106
- config.localization.locales = config.localization.locales.map((locale)=>({
107
- code: locale,
108
- label: locale,
109
- rtl: false,
110
- toString: ()=>locale
111
- }));
112
- } else {
113
- // is Locale[], so convert to string[] for localeCodes
114
- config.localization.localeCodes = config.localization.locales.map((locale)=>locale.code);
115
- config.localization.locales = config.localization.locales.map((locale)=>({
116
- ...locale,
117
- toString: ()=>locale.code
118
- }));
119
- }
120
- // Default fallback to true if not provided
121
- config.localization.fallback = config.localization?.fallback ?? true;
158
+ };
159
+ const dashboard = adminConfig.dashboard ??= {
160
+ widgets: []
161
+ };
162
+ dashboard.widgets.push({
163
+ slug: 'collections',
164
+ Component: '@payloadcms/ui/rsc#CollectionCards',
165
+ minWidth: 'full'
166
+ });
167
+ dashboard.widgets.push({
168
+ slug: 'collection-query',
169
+ Component: '@payloadcms/ui/rsc#CollectionQueryWidget',
170
+ fields: await sanitizeFields({
171
+ config: config,
172
+ existingFieldNames: new Set(),
173
+ fields: collectionQueryFields,
174
+ parentIsLocalized: false,
175
+ richTextSanitizationPromises,
176
+ validRelationships
177
+ }),
178
+ minWidth: 'x-small'
179
+ });
180
+ dashboard.widgets.push({
181
+ slug: 'activity',
182
+ Component: '@payloadcms/ui/rsc#RecentlyViewedWidget',
183
+ fields: await sanitizeFields({
184
+ config: config,
185
+ existingFieldNames: new Set(),
186
+ fields: recentlyViewedFields,
187
+ parentIsLocalized: false,
188
+ richTextSanitizationPromises,
189
+ validRelationships
190
+ }),
191
+ label: ({ t })=>t('dashboard:widgetRecentlyViewedTitle'),
192
+ minWidth: 'x-small'
193
+ });
194
+ dashboard.defaultLayout ??= [
195
+ {
196
+ widgetSlug: 'collections',
197
+ width: 'full'
122
198
  }
123
- const i18nConfig = {
124
- fallbackLanguage: 'en',
125
- supportedLanguages: {
126
- en
127
- },
128
- translations: {}
129
- };
130
- if (incomingConfig?.i18n) {
131
- i18nConfig.supportedLanguages = incomingConfig.i18n?.supportedLanguages || i18nConfig.supportedLanguages;
132
- const supportedLangKeys = Object.keys(i18nConfig.supportedLanguages);
133
- const fallbackLang = incomingConfig.i18n?.fallbackLanguage || i18nConfig.fallbackLanguage;
134
- i18nConfig.fallbackLanguage = supportedLangKeys.includes(fallbackLang) ? fallbackLang : supportedLangKeys[0];
135
- i18nConfig.translations = incomingConfig.i18n?.translations || i18nConfig.translations;
199
+ ];
200
+ };
201
+ export const sanitizeConfig = async (incomingConfig)=>{
202
+ const configWithDefaults = addDefaultsToConfig(incomingConfig);
203
+ const config = sanitizeAdminConfig(configWithDefaults);
204
+ if (!config.endpoints) {
205
+ config.endpoints = [];
206
+ }
207
+ for (const endpoint of authRootEndpoints){
208
+ config.endpoints.push(endpoint);
209
+ }
210
+ if (config.localization && config.localization.locales?.length > 0) {
211
+ // clone localization config so to not break everything
212
+ const firstLocale = config.localization.locales[0];
213
+ if (typeof firstLocale === 'string') {
214
+ config.localization.localeCodes = [
215
+ ...config.localization.locales
216
+ ];
217
+ // is string[], so convert to Locale[]
218
+ config.localization.locales = config.localization.locales.map((locale)=>({
219
+ code: locale,
220
+ label: locale,
221
+ rtl: false,
222
+ toString: ()=>locale
223
+ }));
224
+ } else {
225
+ // is Locale[], so convert to string[] for localeCodes
226
+ config.localization.localeCodes = config.localization.locales.map((locale)=>locale.code);
227
+ config.localization.locales = config.localization.locales.map((locale)=>({
228
+ ...locale,
229
+ toString: ()=>locale.code
230
+ }));
136
231
  }
137
- config.i18n = i18nConfig;
138
- const richTextSanitizationPromises = [];
139
- const schedulePublishCollections = [];
140
- const queryPresetsCollections = [];
141
- const schedulePublishGlobals = [];
142
- const collectionSlugs = new Set();
143
- const validRelationships = [
144
- ...config.collections?.map((c)=>c.slug) ?? [],
145
- jobsCollectionSlug,
146
- lockedDocumentsCollectionSlug,
147
- preferencesCollectionSlug
148
- ];
149
- const dashboardWidgets = config.admin?.dashboard?.widgets ?? [];
150
- for (const widget of dashboardWidgets){
151
- if (widget.fields?.length) {
152
- widget.fields = await sanitizeFields({
153
- config: config,
154
- existingFieldNames: new Set(),
155
- fields: widget.fields,
156
- parentIsLocalized: false,
157
- richTextSanitizationPromises,
158
- validRelationships
159
- });
160
- }
232
+ // Default fallback to true if not provided
233
+ config.localization.fallback = config.localization?.fallback ?? true;
234
+ }
235
+ const i18nConfig = {
236
+ fallbackLanguage: 'en',
237
+ supportedLanguages: {
238
+ en
239
+ },
240
+ translations: {}
241
+ };
242
+ if (incomingConfig?.i18n) {
243
+ i18nConfig.supportedLanguages = incomingConfig.i18n?.supportedLanguages || i18nConfig.supportedLanguages;
244
+ const supportedLangKeys = Object.keys(i18nConfig.supportedLanguages);
245
+ const fallbackLang = incomingConfig.i18n?.fallbackLanguage || i18nConfig.fallbackLanguage;
246
+ i18nConfig.fallbackLanguage = supportedLangKeys.includes(fallbackLang) ? fallbackLang : supportedLangKeys[0];
247
+ i18nConfig.translations = incomingConfig.i18n?.translations || i18nConfig.translations;
248
+ }
249
+ config.i18n = i18nConfig;
250
+ const richTextSanitizationPromises = [];
251
+ const schedulePublishCollections = [];
252
+ const queryPresetsCollections = [];
253
+ const schedulePublishGlobals = [];
254
+ const collectionSlugs = new Set();
255
+ const validRelationships = [
256
+ ...config.collections?.map((c)=>c.slug) ?? [],
257
+ jobsCollectionSlug,
258
+ lockedDocumentsCollectionSlug,
259
+ preferencesCollectionSlug
260
+ ];
261
+ const dashboardWidgets = config.admin?.dashboard?.widgets ?? [];
262
+ for (const widget of dashboardWidgets){
263
+ if (widget.fields?.length) {
264
+ widget.fields = await sanitizeFields({
265
+ config: config,
266
+ existingFieldNames: new Set(),
267
+ fields: widget.fields,
268
+ parentIsLocalized: false,
269
+ richTextSanitizationPromises,
270
+ validRelationships
271
+ });
161
272
  }
162
- /**
273
+ }
274
+ /**
163
275
  * Blocks sanitization needs to happen before collections, as collection/global join field sanitization needs config.blocks
164
276
  * to be populated with the sanitized blocks
165
277
  */ config.blocks = [];
166
- if (incomingConfig.blocks?.length) {
167
- for (const block of incomingConfig.blocks){
168
- const sanitizedBlock = block;
169
- if (sanitizedBlock._sanitized === true) {
170
- continue;
171
- }
172
- sanitizedBlock._sanitized = true;
173
- sanitizedBlock.fields = sanitizedBlock.fields.concat(baseBlockFields);
174
- sanitizedBlock.labels = !sanitizedBlock.labels ? formatLabels(sanitizedBlock.slug) : sanitizedBlock.labels;
175
- sanitizedBlock.fields = await sanitizeFields({
176
- config: config,
177
- existingFieldNames: new Set(),
178
- fields: sanitizedBlock.fields,
179
- parentIsLocalized: false,
180
- richTextSanitizationPromises,
181
- validRelationships
182
- });
183
- const flattenedSanitizedBlock = flattenBlock({
184
- block
185
- });
186
- config.blocks.push(flattenedSanitizedBlock);
278
+ if (incomingConfig.blocks?.length) {
279
+ for (const block of incomingConfig.blocks){
280
+ const sanitizedBlock = block;
281
+ if (sanitizedBlock._sanitized === true) {
282
+ continue;
187
283
  }
284
+ sanitizedBlock._sanitized = true;
285
+ sanitizedBlock.fields = sanitizedBlock.fields.concat(baseBlockFields);
286
+ sanitizedBlock.labels = !sanitizedBlock.labels ? formatLabels(sanitizedBlock.slug) : sanitizedBlock.labels;
287
+ sanitizedBlock.fields = await sanitizeFields({
288
+ config: config,
289
+ existingFieldNames: new Set(),
290
+ fields: sanitizedBlock.fields,
291
+ parentIsLocalized: false,
292
+ richTextSanitizationPromises,
293
+ validRelationships
294
+ });
295
+ const flattenedSanitizedBlock = flattenBlock({
296
+ block
297
+ });
298
+ config.blocks.push(flattenedSanitizedBlock);
188
299
  }
189
- // Track orderable join fields during sanitization
190
- const orderableJoins = [];
191
- for(let i = 0; i < config.collections.length; i++){
192
- if (collectionSlugs.has(config.collections[i].slug)) {
193
- throw new DuplicateCollection('slug', config.collections[i].slug);
194
- }
195
- collectionSlugs.add(config.collections[i].slug);
196
- const draftsConfig = config.collections[i]?.versions?.drafts;
197
- if (typeof draftsConfig === 'object' && draftsConfig.schedulePublish) {
198
- schedulePublishCollections.push(config.collections[i].slug);
199
- }
200
- if (config.collections[i].enableQueryPresets) {
201
- queryPresetsCollections.push(config.collections[i].slug);
202
- if (!validRelationships.includes(queryPresetsCollectionSlug)) {
203
- validRelationships.push(queryPresetsCollectionSlug);
204
- }
205
- }
206
- config.collections[i] = await sanitizeCollection(config, config.collections[i], richTextSanitizationPromises, validRelationships, orderableJoins);
300
+ }
301
+ // Track orderable join fields during sanitization
302
+ const orderableJoins = [];
303
+ for(let i = 0; i < config.collections.length; i++){
304
+ if (collectionSlugs.has(config.collections[i].slug)) {
305
+ throw new DuplicateCollection('slug', config.collections[i].slug);
207
306
  }
208
- // Process orderable features after all collections are sanitized
209
- const fieldsToAdd = new Map();
210
- const joinFieldPathsByCollection = new Map();
211
- // Handle collection.orderable
212
- for (const collection of config.collections){
213
- if (collection.orderable) {
214
- const currentFields = fieldsToAdd.get(collection) || [];
215
- fieldsToAdd.set(collection, [
216
- ...currentFields,
217
- '_order'
218
- ]);
219
- collection.defaultSort = collection.defaultSort ?? '_order';
220
- }
307
+ collectionSlugs.add(config.collections[i].slug);
308
+ const draftsConfig = config.collections[i]?.versions?.drafts;
309
+ if (typeof draftsConfig === 'object' && draftsConfig.schedulePublish) {
310
+ schedulePublishCollections.push(config.collections[i].slug);
221
311
  }
222
- // Handle orderable join fields (tracked during sanitization)
223
- for (const joinInfo of orderableJoins){
224
- const targetCollection = config.collections.find((c)=>c.slug === joinInfo.targetCollectionSlug);
225
- if (targetCollection) {
226
- const currentFields = fieldsToAdd.get(targetCollection) || [];
227
- fieldsToAdd.set(targetCollection, [
228
- ...currentFields,
229
- joinInfo.orderFieldName
230
- ]);
231
- const currentJoinFieldPaths = joinFieldPathsByCollection.get(targetCollection.slug) || new Map();
232
- currentJoinFieldPaths.set(joinInfo.orderFieldName, joinInfo.joinFieldOn);
233
- joinFieldPathsByCollection.set(targetCollection.slug, currentJoinFieldPaths);
312
+ if (config.collections[i].enableQueryPresets) {
313
+ queryPresetsCollections.push(config.collections[i].slug);
314
+ if (!validRelationships.includes(queryPresetsCollectionSlug)) {
315
+ validRelationships.push(queryPresetsCollectionSlug);
234
316
  }
235
317
  }
236
- // Add fields, hooks, and update flattenedFields
237
- for (const [collection, orderableFields] of fieldsToAdd){
238
- await addOrderableFieldsAndHook(collection, config, orderableFields, joinFieldPathsByCollection);
239
- // Regenerate flattenedFields since we added new fields
240
- collection.flattenedFields = flattenAllFields({
241
- fields: collection.fields
242
- });
318
+ config.collections[i] = await sanitizeCollection(config, config.collections[i], richTextSanitizationPromises, validRelationships, orderableJoins);
319
+ }
320
+ // Process orderable features after all collections are sanitized
321
+ const fieldsToAdd = new Map();
322
+ const joinFieldPathsByCollection = new Map();
323
+ // Handle collection.orderable
324
+ for (const collection of config.collections){
325
+ if (collection.orderable) {
326
+ const currentFields = fieldsToAdd.get(collection) || [];
327
+ fieldsToAdd.set(collection, [
328
+ ...currentFields,
329
+ '_order'
330
+ ]);
331
+ collection.defaultSort = collection.defaultSort ?? '_order';
243
332
  }
244
- // Add endpoint if any orderable features exist
245
- if (fieldsToAdd.size > 0) {
246
- addOrderableEndpoint(config, joinFieldPathsByCollection);
333
+ }
334
+ // Handle orderable join fields (tracked during sanitization)
335
+ for (const joinInfo of orderableJoins){
336
+ const targetCollection = config.collections.find((c)=>c.slug === joinInfo.targetCollectionSlug);
337
+ if (targetCollection) {
338
+ const currentFields = fieldsToAdd.get(targetCollection) || [];
339
+ fieldsToAdd.set(targetCollection, [
340
+ ...currentFields,
341
+ joinInfo.orderFieldName
342
+ ]);
343
+ const currentJoinFieldPaths = joinFieldPathsByCollection.get(targetCollection.slug) || new Map();
344
+ currentJoinFieldPaths.set(joinInfo.orderFieldName, joinInfo.joinFieldOn);
345
+ joinFieldPathsByCollection.set(targetCollection.slug, currentJoinFieldPaths);
247
346
  }
248
- if (config.globals.length > 0) {
249
- for(let i = 0; i < config.globals.length; i++){
250
- if (hasScheduledPublishEnabled(config.globals[i])) {
251
- schedulePublishGlobals.push(config.globals[i].slug);
252
- }
253
- config.globals[i] = await sanitizeGlobal(config, config.globals[i], richTextSanitizationPromises, validRelationships);
347
+ }
348
+ // Add fields, hooks, and update flattenedFields
349
+ for (const [collection, orderableFields] of fieldsToAdd){
350
+ await addOrderableFieldsAndHook(collection, config, orderableFields, joinFieldPathsByCollection);
351
+ // Regenerate flattenedFields since we added new fields
352
+ collection.flattenedFields = flattenAllFields({
353
+ fields: collection.fields
354
+ });
355
+ }
356
+ // Add endpoint if any orderable features exist
357
+ if (fieldsToAdd.size > 0) {
358
+ addOrderableEndpoint(config, joinFieldPathsByCollection);
359
+ }
360
+ if (config.globals.length > 0) {
361
+ for(let i = 0; i < config.globals.length; i++){
362
+ if (hasScheduledPublishEnabled(config.globals[i])) {
363
+ schedulePublishGlobals.push(config.globals[i].slug);
254
364
  }
365
+ config.globals[i] = await sanitizeGlobal(config, config.globals[i], richTextSanitizationPromises, validRelationships);
255
366
  }
256
- // Resolve hierarchy relationships across collections (also adds sidebar tabs)
257
- const __hierSpan = startSpan('resolveHierarchyCollections');
258
- try {
259
- resolveHierarchyCollections(config);
260
- } finally{
261
- endSpan(__hierSpan);
262
- }
263
- if (schedulePublishCollections.length || schedulePublishGlobals.length) {
264
- ;
265
- ((config.jobs ??= {}).tasks ??= []).push(getSchedulePublishTask({
266
- adminUserSlug: config.admin.user,
267
- collections: schedulePublishCollections,
268
- globals: schedulePublishGlobals
269
- }));
270
- }
367
+ }
368
+ // Resolve hierarchy relationships across collections (also adds sidebar tabs)
369
+ resolveHierarchyCollections(config);
370
+ if (schedulePublishCollections.length || schedulePublishGlobals.length) {
271
371
  ;
272
- (config.jobs ??= {}).enabled = Boolean(Array.isArray(configWithDefaults.jobs?.tasks) && configWithDefaults.jobs?.tasks?.length || Array.isArray(configWithDefaults.jobs?.workflows) && configWithDefaults.jobs?.workflows?.length);
273
- // Need to add default jobs collection before locked documents collections
274
- if (config.jobs.enabled) {
275
- // Check for schedule property in both tasks and workflows
276
- const hasScheduleProperty = config?.jobs?.tasks?.length && config.jobs.tasks.some((task)=>task.schedule) || config?.jobs?.workflows?.length && config.jobs.workflows.some((workflow)=>workflow.schedule);
277
- if (hasScheduleProperty) {
278
- config.jobs.scheduling = true;
279
- (config.globals ??= []).push(await sanitizeGlobal(config, getJobStatsGlobal(config), richTextSanitizationPromises, validRelationships));
280
- config.jobs.stats = true;
281
- }
282
- let defaultJobsCollection = getDefaultJobsCollection(config.jobs);
283
- if (typeof config.jobs.jobsCollectionOverrides === 'function') {
284
- defaultJobsCollection = config.jobs.jobsCollectionOverrides({
285
- defaultJobsCollection
286
- });
287
- }
288
- const sanitizedJobsCollection = await sanitizeCollection(config, defaultJobsCollection, richTextSanitizationPromises, validRelationships);
289
- (config.collections ??= []).push(sanitizedJobsCollection);
290
- }
291
- const lockedDocumentsCollection = getLockedDocumentsCollection(config);
292
- if (lockedDocumentsCollection) {
293
- configWithDefaults.collections.push(await sanitizeCollection(config, lockedDocumentsCollection, richTextSanitizationPromises, validRelationships));
294
- }
295
- configWithDefaults.collections.push(await sanitizeCollection(config, getPreferencesCollection(config), richTextSanitizationPromises, validRelationships));
296
- const migrations = await sanitizeCollection(config, migrationsCollection, richTextSanitizationPromises, validRelationships);
297
- // @ts-expect-error indexSortableFields is only valid for @payloadcms/db-mongodb
298
- if (config?.db?.indexSortableFields) {
299
- migrations.indexes = [
300
- {
301
- fields: [
302
- 'batch',
303
- 'name'
304
- ],
305
- unique: false
306
- }
307
- ];
308
- }
309
- configWithDefaults.collections.push(migrations);
310
- if (queryPresetsCollections.length > 0) {
311
- configWithDefaults.collections.push(await sanitizeCollection(config, getQueryPresetsConfig(config), richTextSanitizationPromises, validRelationships));
372
+ ((config.jobs ??= {}).tasks ??= []).push(getSchedulePublishTask({
373
+ adminUserSlug: config.admin.user,
374
+ collections: schedulePublishCollections,
375
+ globals: schedulePublishGlobals
376
+ }));
377
+ }
378
+ ;
379
+ (config.jobs ??= {}).enabled = Boolean(Array.isArray(configWithDefaults.jobs?.tasks) && configWithDefaults.jobs?.tasks?.length || Array.isArray(configWithDefaults.jobs?.workflows) && configWithDefaults.jobs?.workflows?.length);
380
+ // Need to add default jobs collection before locked documents collections
381
+ if (config.jobs.enabled) {
382
+ // Check for schedule property in both tasks and workflows
383
+ const hasScheduleProperty = config?.jobs?.tasks?.length && config.jobs.tasks.some((task)=>task.schedule) || config?.jobs?.workflows?.length && config.jobs.workflows.some((workflow)=>workflow.schedule);
384
+ if (hasScheduleProperty) {
385
+ config.jobs.scheduling = true;
386
+ (config.globals ??= []).push(await sanitizeGlobal(config, getJobStatsGlobal(config), richTextSanitizationPromises, validRelationships));
387
+ config.jobs.stats = true;
312
388
  }
313
- if (config.serverURL !== '') {
314
- config.csrf.push(config.serverURL);
389
+ let defaultJobsCollection = getDefaultJobsCollection(config.jobs);
390
+ if (typeof config.jobs.jobsCollectionOverrides === 'function') {
391
+ defaultJobsCollection = config.jobs.jobsCollectionOverrides({
392
+ defaultJobsCollection
393
+ });
315
394
  }
316
- const uploadAdapters = new Set();
317
- // interact with all collections
318
- for (const collection of config.collections){
319
- // deduped upload adapters
320
- if (collection.upload?.adapter) {
321
- uploadAdapters.add(collection.upload.adapter);
395
+ const sanitizedJobsCollection = await sanitizeCollection(config, defaultJobsCollection, richTextSanitizationPromises, validRelationships);
396
+ (config.collections ??= []).push(sanitizedJobsCollection);
397
+ }
398
+ const lockedDocumentsCollection = getLockedDocumentsCollection(config);
399
+ if (lockedDocumentsCollection) {
400
+ configWithDefaults.collections.push(await sanitizeCollection(config, lockedDocumentsCollection, richTextSanitizationPromises, validRelationships));
401
+ }
402
+ configWithDefaults.collections.push(await sanitizeCollection(config, getPreferencesCollection(config), richTextSanitizationPromises, validRelationships));
403
+ const migrations = await sanitizeCollection(config, migrationsCollection, richTextSanitizationPromises, validRelationships);
404
+ // @ts-expect-error indexSortableFields is only valid for @payloadcms/db-mongodb
405
+ if (config?.db?.indexSortableFields) {
406
+ migrations.indexes = [
407
+ {
408
+ fields: [
409
+ 'batch',
410
+ 'name'
411
+ ],
412
+ unique: false
322
413
  }
323
- }
324
- if (!config.upload) {
325
- config.upload = {
326
- adapters: []
327
- };
328
- }
329
- config.upload.adapters = Array.from(new Set(config.collections.map((c)=>c.upload?.adapter).filter(Boolean)));
330
- // Pass through the email config as is so adapters don't break
331
- if (incomingConfig.email) {
332
- config.email = incomingConfig.email;
333
- }
334
- /*
414
+ ];
415
+ }
416
+ configWithDefaults.collections.push(migrations);
417
+ if (queryPresetsCollections.length > 0) {
418
+ configWithDefaults.collections.push(await sanitizeCollection(config, getQueryPresetsConfig(config), richTextSanitizationPromises, validRelationships));
419
+ }
420
+ await addDefaultDashboardWidgets({
421
+ config,
422
+ richTextSanitizationPromises,
423
+ validRelationships
424
+ });
425
+ if (config.serverURL !== '') {
426
+ config.csrf.push(config.serverURL);
427
+ }
428
+ if (!config.storage) {
429
+ config.storage = [];
430
+ }
431
+ if (!config.upload) {
432
+ config.upload = {
433
+ adapters: []
434
+ };
435
+ }
436
+ config.upload.adapters = Array.from(new Set(config.collections.map((c)=>c.upload?.adapter).filter(Boolean)));
437
+ // Pass through the email config as is so adapters don't break
438
+ if (incomingConfig.email) {
439
+ config.email = incomingConfig.email;
440
+ }
441
+ /*
335
442
  Execute richText sanitization
336
443
  */ if (typeof incomingConfig.editor === 'function') {
337
- const __editorSpan = startSpan('rootEditorFunction');
338
- try {
339
- config.editor = await incomingConfig.editor({
340
- config: config,
341
- isRoot: true,
342
- parentIsLocalized: false
343
- });
344
- if (config.editor.i18n && Object.keys(config.editor.i18n).length >= 0) {
345
- config.i18n.translations = deepMergeSimple(config.i18n.translations, config.editor.i18n);
346
- }
347
- } finally{
348
- endSpan(__editorSpan);
349
- }
350
- }
351
- const promises = [];
352
- for (const sanitizeFunction of richTextSanitizationPromises){
353
- promises.push(sanitizeFunction(config));
354
- }
355
- const __richtextSpan = startSpan('richTextDeferredBatch', String(promises.length));
356
- try {
357
- await Promise.all(promises);
358
- } finally{
359
- endSpan(__richtextSpan);
360
- }
361
- return config;
362
- } finally{
363
- endSpan(__profSpan);
444
+ config.editor = await incomingConfig.editor({
445
+ config: config,
446
+ isRoot: true,
447
+ parentIsLocalized: false
448
+ });
449
+ }
450
+ const promises = [];
451
+ for (const sanitizeFunction of richTextSanitizationPromises){
452
+ promises.push(sanitizeFunction(config));
364
453
  }
454
+ await Promise.all(promises);
455
+ return config;
365
456
  };
366
457
 
367
458
  //# sourceMappingURL=sanitize.js.map