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,9 +1,7 @@
1
- import { deepMergeSimple } from '@payloadcms/translations/utilities';
2
1
  import { DuplicateFieldName, InvalidConfiguration, InvalidFieldName, InvalidFieldRelationship, MissingEditorProp, MissingFieldType } from '../../errors/index.js';
3
2
  import { ReservedFieldName } from '../../errors/ReservedFieldName.js';
4
3
  import { flattenAllFields } from '../../utilities/flattenAllFields.js';
5
4
  import { formatLabels, toWords } from '../../utilities/formatLabels.js';
6
- import { endSpan, startSpan } from '../../utilities/sanitizeProfiler.js';
7
5
  import { validateTimezones } from '../../utilities/validateTimezones.js';
8
6
  import { baseBlockFields } from '../baseFields/baseBlockFields.js';
9
7
  import { baseIDField } from '../baseFields/baseIDField.js';
@@ -28,394 +26,373 @@ import { fieldAffectsData as _fieldAffectsData, fieldIsLocalized, tabHasName } f
28
26
  if ('_sanitized' in field && field._sanitized === true) {
29
27
  return result;
30
28
  }
31
- const __profSpan = startSpan(`sanitizeField:${field.type}`);
32
- try {
33
- if ('_sanitized' in field) {
34
- field._sanitized = true;
35
- }
36
- if (!field.type) {
37
- throw new MissingFieldType(field);
29
+ if ('_sanitized' in field) {
30
+ field._sanitized = true;
31
+ }
32
+ if (!field.type) {
33
+ throw new MissingFieldType(field);
34
+ }
35
+ const fieldAffectsData = _fieldAffectsData(field);
36
+ const { indexPath, schemaPath } = getFieldPaths({
37
+ field,
38
+ index,
39
+ parentIndexPath,
40
+ parentSchemaPath
41
+ });
42
+ // Reserved field name checks
43
+ if (isTopLevelField && fieldAffectsData && field.name) {
44
+ if (collectionConfig && collectionConfig.upload) {
45
+ if (reservedBaseUploadFieldNames.includes(field.name)) {
46
+ throw new ReservedFieldName(field, field.name);
47
+ }
38
48
  }
39
- const fieldAffectsData = _fieldAffectsData(field);
40
- const { indexPath, schemaPath } = getFieldPaths({
41
- field,
42
- index,
43
- parentIndexPath,
44
- parentSchemaPath
45
- });
46
- // Reserved field name checks
47
- if (isTopLevelField && fieldAffectsData && field.name) {
48
- if (collectionConfig && collectionConfig.upload) {
49
- if (reservedBaseUploadFieldNames.includes(field.name)) {
50
- throw new ReservedFieldName(field, field.name);
51
- }
49
+ if (collectionConfig && collectionConfig.auth && typeof collectionConfig.auth === 'object' && !collectionConfig.auth.disableLocalStrategy) {
50
+ if (reservedBaseAuthFieldNames.includes(field.name)) {
51
+ throw new ReservedFieldName(field, field.name);
52
52
  }
53
- if (collectionConfig && collectionConfig.auth && typeof collectionConfig.auth === 'object' && !collectionConfig.auth.disableLocalStrategy) {
54
- if (reservedBaseAuthFieldNames.includes(field.name)) {
53
+ if (collectionConfig.auth.verify) {
54
+ // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
55
+ if (reservedAPIKeyFieldNames.includes(field.name)) {
55
56
  throw new ReservedFieldName(field, field.name);
56
57
  }
57
- if (collectionConfig.auth.verify) {
58
- // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
59
- if (reservedAPIKeyFieldNames.includes(field.name)) {
60
- throw new ReservedFieldName(field, field.name);
61
- }
62
- // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
63
- if (reservedVerifyFieldNames.includes(field.name)) {
64
- throw new ReservedFieldName(field, field.name);
65
- }
58
+ // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
59
+ if (reservedVerifyFieldNames.includes(field.name)) {
60
+ throw new ReservedFieldName(field, field.name);
66
61
  }
67
62
  }
68
63
  }
69
- // Invalid field name check
70
- if (fieldAffectsData && field.name.includes('.')) {
71
- throw new InvalidFieldName(field, field.name);
72
- }
73
- // Auto-label
74
- if ('name' in field && field.name && typeof field.label !== 'object' && typeof field.label !== 'string' && typeof field.label !== 'function' && field.label !== false) {
75
- field.label = toWords(field.name);
76
- }
77
- // Checkbox default
78
- if (field.type === 'checkbox' && typeof field.defaultValue === 'undefined' && field.required === true) {
79
- field.defaultValue = false;
64
+ }
65
+ // Invalid field name check
66
+ if (fieldAffectsData && field.name.includes('.')) {
67
+ throw new InvalidFieldName(field, field.name);
68
+ }
69
+ // Auto-label
70
+ if ('name' in field && field.name && typeof field.label !== 'object' && typeof field.label !== 'string' && typeof field.label !== 'function' && field.label !== false) {
71
+ field.label = toWords(field.name);
72
+ }
73
+ // Checkbox default
74
+ if (field.type === 'checkbox' && typeof field.defaultValue === 'undefined' && field.required === true) {
75
+ field.defaultValue = false;
76
+ }
77
+ // Join field sanitization
78
+ if (field.type === 'join') {
79
+ sanitizeJoinField({
80
+ config,
81
+ field,
82
+ joinPath,
83
+ joins,
84
+ orderableJoins,
85
+ parentIsLocalized,
86
+ polymorphicJoins
87
+ });
88
+ }
89
+ // Relationship/upload validation
90
+ if (field.type === 'relationship' || field.type === 'upload') {
91
+ if (Array.isArray(field.relationTo) && field.relationTo.length === 0) {
92
+ throw new Error(`Field "${field.name}" of type "${field.type}" has an empty relationTo array. At least one collection must be specified.`);
80
93
  }
81
- // Join field sanitization
82
- if (field.type === 'join') {
83
- sanitizeJoinField({
84
- config,
85
- field,
86
- joinPath,
87
- joins,
88
- orderableJoins,
89
- parentIsLocalized,
90
- polymorphicJoins
94
+ if (validRelationships) {
95
+ const relationships = Array.isArray(field.relationTo) ? field.relationTo : [
96
+ field.relationTo
97
+ ];
98
+ relationships.forEach((relationship)=>{
99
+ if (!validRelationships.includes(relationship)) {
100
+ throw new InvalidFieldRelationship(field, relationship);
101
+ }
91
102
  });
92
103
  }
93
- // Relationship/upload validation
94
- if (field.type === 'relationship' || field.type === 'upload') {
95
- if (Array.isArray(field.relationTo) && field.relationTo.length === 0) {
96
- throw new Error(`Field "${field.name}" of type "${field.type}" has an empty relationTo array. At least one collection must be specified.`);
97
- }
98
- if (validRelationships) {
99
- const relationships = Array.isArray(field.relationTo) ? field.relationTo : [
100
- field.relationTo
101
- ];
102
- relationships.forEach((relationship)=>{
103
- if (!validRelationships.includes(relationship)) {
104
- throw new InvalidFieldRelationship(field, relationship);
105
- }
106
- });
107
- }
108
- }
109
- // Upload isSortable default
110
- if (field.type === 'upload') {
111
- if (!field.admin || !('isSortable' in field.admin)) {
112
- field.admin = {
113
- isSortable: true,
114
- ...field.admin
115
- };
116
- }
104
+ }
105
+ // Upload isSortable default
106
+ if (field.type === 'upload') {
107
+ if (!field.admin || !('isSortable' in field.admin)) {
108
+ field.admin = {
109
+ isSortable: true,
110
+ ...field.admin
111
+ };
117
112
  }
118
- // Array ID field
119
- if (field.type === 'array' && field.fields) {
120
- const hasCustomID = field.fields.some((f)=>'name' in f && f.name === 'id');
121
- if (!hasCustomID) {
122
- field.fields.push(baseIDField);
123
- }
113
+ }
114
+ // Array ID field
115
+ if (field.type === 'array' && field.fields) {
116
+ const hasCustomID = field.fields.some((f)=>'name' in f && f.name === 'id');
117
+ if (!hasCustomID) {
118
+ field.fields.push(baseIDField);
124
119
  }
125
- // Blocks/array labels
126
- if ((field.type === 'blocks' || field.type === 'array') && field.label) {
127
- field.labels = field.labels || formatLabels(field.name);
120
+ }
121
+ // Blocks/array labels
122
+ if ((field.type === 'blocks' || field.type === 'array') && field.label) {
123
+ field.labels = field.labels || formatLabels(field.name);
124
+ }
125
+ if (fieldAffectsData) {
126
+ if (existingFieldNames.has(field.name)) {
127
+ throw new DuplicateFieldName(field.name);
128
+ } else if (![
129
+ 'blockName',
130
+ 'id'
131
+ ].includes(field.name)) {
132
+ existingFieldNames.add(field.name);
128
133
  }
129
- if (fieldAffectsData) {
130
- if (existingFieldNames.has(field.name)) {
131
- throw new DuplicateFieldName(field.name);
132
- } else if (![
133
- 'blockName',
134
- 'id'
135
- ].includes(field.name)) {
136
- existingFieldNames.add(field.name);
134
+ if (typeof field.localized !== 'undefined') {
135
+ if (!config.localization) {
136
+ delete field.localized;
137
137
  }
138
- if (typeof field.localized !== 'undefined') {
139
- let shouldDisableLocalized = !config.localization;
140
- if (process.env.NEXT_PUBLIC_PAYLOAD_COMPATIBILITY_allowLocalizedWithinLocalized !== 'true' && parentIsLocalized && // @todo PAYLOAD_DO_NOT_SANITIZE_LOCALIZED_PROPERTY=true will be the default in 4.0
141
- process.env.PAYLOAD_DO_NOT_SANITIZE_LOCALIZED_PROPERTY !== 'true') {
142
- shouldDisableLocalized = true;
143
- }
144
- if (shouldDisableLocalized) {
145
- delete field.localized;
146
- }
147
- }
148
- if (typeof field.validate === 'undefined') {
149
- if ('virtual' in field && field.virtual) {
150
- field.validate = ()=>true;
138
+ }
139
+ if (typeof field.validate === 'undefined') {
140
+ if ('virtual' in field && field.virtual) {
141
+ field.validate = ()=>true;
142
+ } else {
143
+ const defaultValidate = validations[field.type];
144
+ if (defaultValidate) {
145
+ field.validate = (val, options)=>defaultValidate(val, {
146
+ ...field,
147
+ ...options
148
+ });
151
149
  } else {
152
- const defaultValidate = validations[field.type];
153
- if (defaultValidate) {
154
- field.validate = (val, options)=>defaultValidate(val, {
155
- ...field,
156
- ...options
157
- });
158
- } else {
159
- field.validate = ()=>true;
160
- }
150
+ field.validate = ()=>true;
161
151
  }
162
152
  }
163
- if (!field.hooks) {
164
- field.hooks = {};
165
- }
166
- if (!field.access) {
167
- field.access = {};
168
- }
169
- setDefaultBeforeDuplicate(field, parentIsLocalized);
170
153
  }
171
- if (!field.admin) {
172
- field.admin = {};
154
+ if (!field.hooks) {
155
+ field.hooks = {};
173
156
  }
174
- if ('virtual' in field && field.virtual && field.admin.readOnly !== false && fieldAffectsData) {
175
- field.admin.readOnly = true;
157
+ if (!field.access) {
158
+ field.access = {};
176
159
  }
177
- // Make sure that the richText field has an editor
178
- if (field.type === 'richText') {
179
- const sanitizeRichText = async (_config)=>{
180
- if (!field.editor) {
181
- if (_config.editor && !requireFieldLevelRichTextEditor) {
182
- // config.editor should be sanitized at this point
183
- field.editor = _config.editor;
184
- } else {
185
- throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor
186
- ;
187
- }
188
- }
189
- if (typeof field.editor === 'function') {
190
- field.editor = await field.editor({
191
- config: _config,
192
- isRoot: requireFieldLevelRichTextEditor,
193
- parentIsLocalized: parentIsLocalized || field.localized
194
- });
195
- }
196
- if (field.editor.i18n && Object.keys(field.editor.i18n).length >= 0) {
197
- config.i18n.translations = deepMergeSimple(config.i18n.translations, field.editor.i18n);
160
+ setDefaultBeforeDuplicate(field, parentIsLocalized);
161
+ }
162
+ if (!field.admin) {
163
+ field.admin = {};
164
+ }
165
+ if ('virtual' in field && field.virtual && field.admin.readOnly !== false && fieldAffectsData) {
166
+ field.admin.readOnly = true;
167
+ }
168
+ // Make sure that the richText field has an editor
169
+ if (field.type === 'richText') {
170
+ const sanitizeRichText = async (_config)=>{
171
+ if (!field.editor) {
172
+ if (_config.editor && !requireFieldLevelRichTextEditor) {
173
+ // config.editor should be sanitized at this point
174
+ field.editor = _config.editor;
175
+ } else {
176
+ throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor
177
+ ;
198
178
  }
199
- };
200
- if (richTextSanitizationPromises) {
201
- richTextSanitizationPromises.push(sanitizeRichText);
202
- } else {
203
- await sanitizeRichText(config);
204
179
  }
180
+ if (typeof field.editor === 'function') {
181
+ field.editor = await field.editor({
182
+ config: _config,
183
+ isRoot: requireFieldLevelRichTextEditor,
184
+ parentIsLocalized: parentIsLocalized || field.localized
185
+ });
186
+ }
187
+ };
188
+ if (richTextSanitizationPromises) {
189
+ richTextSanitizationPromises.push(sanitizeRichText);
190
+ } else {
191
+ await sanitizeRichText(config);
205
192
  }
206
- if (field.type === 'blocks' && field.blocks) {
207
- if (field.blockReferences && field.blocks?.length) {
208
- throw new Error('You cannot have both blockReferences and blocks in the same blocks field');
193
+ }
194
+ if (field.type === 'blocks' && field.blocks) {
195
+ const blockSlugs = [];
196
+ for (const block of field.blocks){
197
+ const blockSlug = typeof block === 'string' ? block : block.slug;
198
+ if (blockSlugs.includes(blockSlug)) {
199
+ throw new DuplicateFieldName(blockSlug);
209
200
  }
210
- const blockSlugs = [];
211
- for (const block of field.blockReferences ?? field.blocks){
212
- const blockSlug = typeof block === 'string' ? block : block.slug;
213
- if (blockSlugs.includes(blockSlug)) {
214
- throw new DuplicateFieldName(blockSlug);
215
- }
216
- blockSlugs.push(blockSlug);
217
- if (typeof block === 'string') {
218
- continue;
219
- }
220
- if (block._sanitized === true) {
221
- continue;
222
- }
223
- block._sanitized = true;
224
- block.fields = block.fields.concat(baseBlockFields);
225
- block.labels = !block.labels ? formatLabels(block.slug) : block.labels;
226
- block.fields = await sanitizeFields({
227
- collectionConfig,
228
- config,
229
- existingFieldNames: new Set(),
230
- fields: block.fields,
231
- isTopLevelField: false,
232
- parentIndexPath: '',
233
- parentIsLocalized: parentIsLocalized || field.localized,
234
- parentSchemaPath: schemaPath + '.' + block.slug,
235
- requireFieldLevelRichTextEditor,
236
- richTextSanitizationPromises,
237
- validRelationships
238
- });
201
+ blockSlugs.push(blockSlug);
202
+ if (typeof block === 'string') {
203
+ continue;
239
204
  }
205
+ if (block._sanitized === true) {
206
+ continue;
207
+ }
208
+ block._sanitized = true;
209
+ block.fields = block.fields.concat(baseBlockFields);
210
+ block.labels = !block.labels ? formatLabels(block.slug) : block.labels;
211
+ block.fields = await sanitizeFields({
212
+ collectionConfig,
213
+ config,
214
+ existingFieldNames: new Set(),
215
+ fields: block.fields,
216
+ isTopLevelField: false,
217
+ parentIndexPath: '',
218
+ parentIsLocalized: parentIsLocalized || field.localized,
219
+ parentSchemaPath: schemaPath + '.' + block.slug,
220
+ requireFieldLevelRichTextEditor,
221
+ richTextSanitizationPromises,
222
+ validRelationships
223
+ });
240
224
  }
241
- if ('fields' in field && field.fields) {
242
- field.fields = await sanitizeFields({
225
+ }
226
+ if ('fields' in field && field.fields) {
227
+ field.fields = await sanitizeFields({
228
+ collectionConfig,
229
+ config,
230
+ existingFieldNames: fieldAffectsData ? new Set() : existingFieldNames,
231
+ fields: field.fields,
232
+ isTopLevelField: isTopLevelField && !fieldAffectsData,
233
+ joinPath: fieldAffectsData ? `${joinPath ? joinPath + '.' : ''}${field.name}` : joinPath,
234
+ joins,
235
+ orderableJoins,
236
+ parentIndexPath: fieldAffectsData ? '' : indexPath,
237
+ parentIsLocalized: parentIsLocalized || fieldIsLocalized(field),
238
+ parentSchemaPath: schemaPath,
239
+ polymorphicJoins,
240
+ requireFieldLevelRichTextEditor,
241
+ richTextSanitizationPromises,
242
+ validRelationships
243
+ });
244
+ }
245
+ if (field.type === 'tabs') {
246
+ for(let j = 0; j < field.tabs.length; j++){
247
+ const tab = field.tabs[j];
248
+ const isNamedTab = tabHasName(tab);
249
+ if (isNamedTab && typeof tab.label === 'undefined') {
250
+ tab.label = toWords(tab.name);
251
+ }
252
+ const { indexPath: tabIndexPath, schemaPath: tabSchemaPath } = getFieldPaths({
253
+ field: tab,
254
+ index: j,
255
+ parentIndexPath: indexPath,
256
+ parentSchemaPath: schemaPath
257
+ });
258
+ if ('admin' in tab && tab.admin?.condition && typeof tab.admin.condition === 'function' && !tab.id) {
259
+ tab.id = tabSchemaPath;
260
+ }
261
+ tab.fields = await sanitizeFields({
243
262
  collectionConfig,
244
263
  config,
245
- existingFieldNames: fieldAffectsData ? new Set() : existingFieldNames,
246
- fields: field.fields,
247
- isTopLevelField: isTopLevelField && !fieldAffectsData,
248
- joinPath: fieldAffectsData ? `${joinPath ? joinPath + '.' : ''}${field.name}` : joinPath,
264
+ existingFieldNames: isNamedTab ? new Set() : existingFieldNames,
265
+ fields: tab.fields,
266
+ isTopLevelField: isTopLevelField && !isNamedTab,
267
+ joinPath: isNamedTab ? `${joinPath ? joinPath + '.' : ''}${tab.name}` : joinPath,
249
268
  joins,
250
269
  orderableJoins,
251
- parentIndexPath: fieldAffectsData ? '' : indexPath,
252
- parentIsLocalized: parentIsLocalized || fieldIsLocalized(field),
253
- parentSchemaPath: schemaPath,
270
+ parentIndexPath: isNamedTab ? '' : tabIndexPath,
271
+ parentIsLocalized: parentIsLocalized || isNamedTab && tab.localized,
272
+ parentSchemaPath: tabSchemaPath,
254
273
  polymorphicJoins,
255
274
  requireFieldLevelRichTextEditor,
256
275
  richTextSanitizationPromises,
257
276
  validRelationships
258
277
  });
278
+ field.tabs[j] = tab;
259
279
  }
260
- if (field.type === 'tabs') {
261
- for(let j = 0; j < field.tabs.length; j++){
262
- const tab = field.tabs[j];
263
- const isNamedTab = tabHasName(tab);
264
- if (isNamedTab && typeof tab.label === 'undefined') {
265
- tab.label = toWords(tab.name);
266
- }
267
- const { indexPath: tabIndexPath, schemaPath: tabSchemaPath } = getFieldPaths({
268
- field: tab,
269
- index: j,
270
- parentIndexPath: indexPath,
271
- parentSchemaPath: schemaPath
272
- });
273
- if ('admin' in tab && tab.admin?.condition && typeof tab.admin.condition === 'function' && !tab.id) {
274
- tab.id = tabSchemaPath;
275
- }
276
- tab.fields = await sanitizeFields({
277
- collectionConfig,
278
- config,
279
- existingFieldNames: isNamedTab ? new Set() : existingFieldNames,
280
- fields: tab.fields,
281
- isTopLevelField: isTopLevelField && !isNamedTab,
282
- joinPath: isNamedTab ? `${joinPath ? joinPath + '.' : ''}${tab.name}` : joinPath,
283
- joins,
284
- orderableJoins,
285
- parentIndexPath: isNamedTab ? '' : tabIndexPath,
286
- parentIsLocalized: parentIsLocalized || isNamedTab && tab.localized,
287
- parentSchemaPath: tabSchemaPath,
288
- polymorphicJoins,
289
- requireFieldLevelRichTextEditor,
290
- richTextSanitizationPromises,
291
- validRelationships
292
- });
293
- field.tabs[j] = tab;
294
- }
280
+ }
281
+ if (field.type === 'ui') {
282
+ const existing = field.admin.disabled;
283
+ if (existing === undefined) {
284
+ field.admin.disabled = {
285
+ bulkEdit: true
286
+ };
287
+ } else if (existing !== true && typeof existing === 'object' && existing.bulkEdit === undefined) {
288
+ field.admin.disabled = {
289
+ ...existing,
290
+ bulkEdit: true
291
+ };
295
292
  }
296
- if (field.type === 'ui') {
297
- const existing = field.admin.disabled;
298
- if (existing === undefined) {
299
- field.admin.disabled = {
300
- bulkEdit: true
301
- };
302
- } else if (existing !== true && typeof existing === 'object' && existing.bulkEdit === undefined) {
303
- field.admin.disabled = {
304
- ...existing,
305
- bulkEdit: true
306
- };
307
- }
293
+ }
294
+ // Timezone field insertion
295
+ if (field.type === 'date' && field.timezone) {
296
+ const name = field.name + '_tz';
297
+ let defaultTimezone = field.timezone && typeof field.timezone === 'object' ? field.timezone.defaultTimezone : config.admin?.timezones?.defaultTimezone;
298
+ const required = field.required || field.timezone && typeof field.timezone === 'object' && field.timezone.required;
299
+ const supportedTimezones = field.timezone && typeof field.timezone === 'object' && field.timezone.supportedTimezones ? field.timezone.supportedTimezones : config.admin?.timezones?.supportedTimezones;
300
+ const options = typeof supportedTimezones === 'function' ? supportedTimezones({
301
+ defaultTimezones
302
+ }) : supportedTimezones;
303
+ validateTimezones({
304
+ source: `field "${field.name}" timezone.supportedTimezones`,
305
+ timezones: options
306
+ });
307
+ if (options && options.length === 1 && options[0]?.value) {
308
+ defaultTimezone = options[0].value;
308
309
  }
309
- // Timezone field insertion
310
- if (field.type === 'date' && field.timezone) {
311
- const name = field.name + '_tz';
312
- let defaultTimezone = field.timezone && typeof field.timezone === 'object' ? field.timezone.defaultTimezone : config.admin?.timezones?.defaultTimezone;
313
- const required = field.required || field.timezone && typeof field.timezone === 'object' && field.timezone.required;
314
- const supportedTimezones = field.timezone && typeof field.timezone === 'object' && field.timezone.supportedTimezones ? field.timezone.supportedTimezones : config.admin?.timezones?.supportedTimezones;
315
- const options = typeof supportedTimezones === 'function' ? supportedTimezones({
316
- defaultTimezones
317
- }) : supportedTimezones;
318
- validateTimezones({
319
- source: `field "${field.name}" timezone.supportedTimezones`,
320
- timezones: options
321
- });
322
- if (options && options.length === 1 && options[0]?.value) {
323
- defaultTimezone = options[0].value;
324
- }
325
- // Generate label for timezone field
326
- const timezoneLabel = typeof field.label === 'string' ? `${field.label} Tz` : toWords(name);
327
- const baseField = baseTimezoneField({
328
- name,
329
- defaultValue: defaultTimezone,
330
- label: timezoneLabel,
331
- options,
332
- required
310
+ // Generate label for timezone field
311
+ const timezoneLabel = typeof field.label === 'string' ? `${field.label} Tz` : toWords(name);
312
+ const baseField = baseTimezoneField({
313
+ name,
314
+ defaultValue: defaultTimezone,
315
+ label: timezoneLabel,
316
+ options,
317
+ required
318
+ });
319
+ // Apply override if provided
320
+ const timezoneField = typeof field.timezone === 'object' && typeof field.timezone.override === 'function' ? field.timezone.override({
321
+ baseField
322
+ }) : baseField;
323
+ result.fieldsToInsert = [
324
+ timezoneField
325
+ ];
326
+ }
327
+ // Virtual field handling
328
+ if ('virtual' in field && typeof field.virtual === 'string') {
329
+ const virtualField = field;
330
+ const configFields = (collectionConfig || globalConfig)?.fields;
331
+ if (configFields) {
332
+ let flattenFields = flattenAllFields({
333
+ fields: configFields
333
334
  });
334
- // Apply override if provided
335
- const timezoneField = typeof field.timezone === 'object' && typeof field.timezone.override === 'function' ? field.timezone.override({
336
- baseField
337
- }) : baseField;
338
- result.fieldsToInsert = [
339
- timezoneField
340
- ];
341
- }
342
- // Virtual field handling
343
- if ('virtual' in field && typeof field.virtual === 'string') {
344
- const virtualField = field;
345
- const configFields = (collectionConfig || globalConfig)?.fields;
346
- if (configFields) {
347
- let flattenFields = flattenAllFields({
348
- fields: configFields
349
- });
350
- const paths = field.virtual.split('.');
351
- let isHasMany = false;
352
- for (const [idx, segment] of paths.entries()){
353
- const foundField = flattenFields.find((e)=>e.name === segment);
354
- if (!foundField) {
355
- break;
356
- }
357
- if (foundField.type === 'group' || foundField.type === 'tab' || foundField.type === 'array') {
358
- flattenFields = foundField.flattenedFields;
359
- } else if ((foundField.type === 'relationship' || foundField.type === 'upload') && idx !== paths.length - 1 && typeof foundField.relationTo === 'string') {
360
- if (foundField.hasMany && (virtualField.type === 'text' || virtualField.type === 'number' || virtualField.type === 'select')) {
361
- if (isHasMany) {
362
- throw new InvalidConfiguration(`Virtual field ${virtualField.name} in ${globalConfig ? `global ${globalConfig.slug}` : `collection ${collectionConfig?.slug}`} references 2 or more hasMany relationships on the path ${virtualField.virtual} which is not allowed.`);
363
- }
364
- isHasMany = true;
365
- virtualField.hasMany = true;
366
- }
367
- const relatedCollection = config.collections?.find((e)=>e.slug === foundField.relationTo);
368
- if (relatedCollection) {
369
- flattenFields = flattenAllFields({
370
- fields: relatedCollection.fields
371
- });
335
+ const paths = field.virtual.split('.');
336
+ let isHasMany = false;
337
+ for (const [idx, segment] of paths.entries()){
338
+ const foundField = flattenFields.find((e)=>e.name === segment);
339
+ if (!foundField) {
340
+ break;
341
+ }
342
+ if (foundField.type === 'group' || foundField.type === 'tab' || foundField.type === 'array') {
343
+ flattenFields = foundField.flattenedFields;
344
+ } else if ((foundField.type === 'relationship' || foundField.type === 'upload') && idx !== paths.length - 1 && typeof foundField.relationTo === 'string') {
345
+ if (foundField.hasMany && (virtualField.type === 'text' || virtualField.type === 'number' || virtualField.type === 'select')) {
346
+ if (isHasMany) {
347
+ throw new InvalidConfiguration(`Virtual field ${virtualField.name} in ${globalConfig ? `global ${globalConfig.slug}` : `collection ${collectionConfig?.slug}`} references 2 or more hasMany relationships on the path ${virtualField.virtual} which is not allowed.`);
372
348
  }
349
+ isHasMany = true;
350
+ virtualField.hasMany = true;
351
+ }
352
+ const relatedCollection = config.collections?.find((e)=>e.slug === foundField.relationTo);
353
+ if (relatedCollection) {
354
+ flattenFields = flattenAllFields({
355
+ fields: relatedCollection.fields
356
+ });
373
357
  }
374
358
  }
375
359
  }
376
360
  }
377
- return result;
378
- } finally{
379
- endSpan(__profSpan);
380
361
  }
362
+ return result;
381
363
  };
382
364
  export const sanitizeFields = async ({ collectionConfig, config, existingFieldNames = new Set(), fields, globalConfig, isTopLevelField = true, joinPath = '', joins, orderableJoins, parentIndexPath = '', parentIsLocalized, parentSchemaPath = '', polymorphicJoins, requireFieldLevelRichTextEditor = false, richTextSanitizationPromises, validRelationships })=>{
383
365
  if (!fields) {
384
366
  return [];
385
367
  }
386
- const __profSpan = startSpan('sanitizeFields', String(fields.length));
387
- try {
388
- for(let i = 0; i < fields.length; i++){
389
- const field = fields[i];
390
- const result = await sanitizeField({
391
- collectionConfig,
392
- config,
393
- existingFieldNames,
394
- field,
395
- globalConfig,
396
- index: i,
397
- isTopLevelField,
398
- joinPath,
399
- joins,
400
- orderableJoins,
401
- parentIndexPath,
402
- parentIsLocalized,
403
- parentSchemaPath,
404
- polymorphicJoins,
405
- requireFieldLevelRichTextEditor,
406
- richTextSanitizationPromises,
407
- validRelationships
408
- });
409
- fields[i] = field;
410
- if (result.fieldsToInsert?.length) {
411
- fields.splice(i + 1, 0, ...result.fieldsToInsert);
412
- i += result.fieldsToInsert.length;
413
- }
368
+ for(let i = 0; i < fields.length; i++){
369
+ const field = fields[i];
370
+ const result = await sanitizeField({
371
+ collectionConfig,
372
+ config,
373
+ existingFieldNames,
374
+ field,
375
+ globalConfig,
376
+ index: i,
377
+ isTopLevelField,
378
+ joinPath,
379
+ joins,
380
+ orderableJoins,
381
+ parentIndexPath,
382
+ parentIsLocalized,
383
+ parentSchemaPath,
384
+ polymorphicJoins,
385
+ requireFieldLevelRichTextEditor,
386
+ richTextSanitizationPromises,
387
+ validRelationships
388
+ });
389
+ fields[i] = field;
390
+ if (result.fieldsToInsert?.length) {
391
+ fields.splice(i + 1, 0, ...result.fieldsToInsert);
392
+ i += result.fieldsToInsert.length;
414
393
  }
415
- return fields;
416
- } finally{
417
- endSpan(__profSpan);
418
394
  }
395
+ return fields;
419
396
  };
420
397
 
421
398
  //# sourceMappingURL=sanitize.js.map