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,112 +0,0 @@
1
- import { hasLocalizeStatusEnabled } from '../../../../utilities/getVersionsConfig.js';
2
- export async function down(args) {
3
- const { collectionSlug, globalSlug, payload } = args;
4
- if (!collectionSlug && !globalSlug) {
5
- throw new Error('Either collectionSlug or globalSlug must be provided');
6
- }
7
- if (collectionSlug && globalSlug) {
8
- throw new Error('Cannot provide both collectionSlug and globalSlug');
9
- }
10
- const entitySlug = collectionSlug || globalSlug;
11
- // MongoDB collection names are case-insensitive and stored as lowercase
12
- const versionsCollection = `_${entitySlug}_versions`.toLowerCase();
13
- if (!payload.config.localization) {
14
- throw new Error('Localization is not enabled in payload config');
15
- }
16
- const entityConfig = collectionSlug ? payload.config.collections.find((c)=>c.slug === collectionSlug) : payload.config.globals.find((g)=>g.slug === globalSlug);
17
- if (!entityConfig) {
18
- throw new Error(`${collectionSlug ? 'Collection' : 'Global'} not found: ${collectionSlug || globalSlug}`);
19
- }
20
- if (hasLocalizeStatusEnabled(entityConfig)) {
21
- throw new Error(`${entitySlug} has localizeStatus enabled, cannot run down migration. ` + `Please disable localizeStatus in your config before rolling back this migration.`);
22
- }
23
- const defaultLocale = payload.config.localization.defaultLocale;
24
- payload.logger.info({
25
- msg: `Rolling back _status localization migration for ${collectionSlug ? 'collection' : 'global'}: ${entitySlug}`
26
- });
27
- // Get MongoDB connection
28
- const connection = payload.db.connection;
29
- payload.logger.info({
30
- msg: 'Fetching all version documents...'
31
- });
32
- // Get all versions
33
- const allVersions = await connection.collection(versionsCollection).find({}).toArray();
34
- payload.logger.info({
35
- msg: `Found ${allVersions.length} version documents`
36
- });
37
- // Update each version document: convert version._status from object to string
38
- let updateCount = 0;
39
- for (const doc of allVersions){
40
- const currentStatus = doc.version?._status;
41
- if (!currentStatus || typeof currentStatus === 'string') {
42
- continue;
43
- }
44
- // Convert from { en: 'published', es: 'draft' } to 'published' (using default locale)
45
- const statusValue = typeof currentStatus === 'object' ? currentStatus[defaultLocale] || 'draft' : 'draft';
46
- await connection.collection(versionsCollection).updateOne({
47
- _id: doc._id
48
- }, {
49
- $set: {
50
- 'version._status': statusValue
51
- }
52
- });
53
- updateCount++;
54
- }
55
- payload.logger.info({
56
- msg: `Updated ${updateCount} version documents`
57
- });
58
- // Rollback main collection/global document status
59
- if (collectionSlug) {
60
- const mainCollection = collectionSlug;
61
- const mainDoc = await connection.collection(mainCollection).findOne({});
62
- if (mainDoc && '_status' in mainDoc && typeof mainDoc._status === 'object') {
63
- payload.logger.info({
64
- msg: `Rolling back main collection documents for: ${mainCollection}`
65
- });
66
- const allDocs = await connection.collection(mainCollection).find({}).toArray();
67
- for (const doc of allDocs){
68
- if (typeof doc._status === 'object' && !Array.isArray(doc._status)) {
69
- // Convert from { en: 'published', es: 'draft' } to 'published' (using default locale)
70
- const statusValue = doc._status[defaultLocale] || 'draft';
71
- await connection.collection(mainCollection).updateOne({
72
- _id: doc._id
73
- }, {
74
- $set: {
75
- _status: statusValue
76
- }
77
- });
78
- }
79
- }
80
- payload.logger.info({
81
- msg: `Rolled back ${allDocs.length} collection documents`
82
- });
83
- }
84
- } else if (globalSlug) {
85
- const globalDoc = await connection.collection('globals').findOne({
86
- globalType: globalSlug
87
- });
88
- if (globalDoc && '_status' in globalDoc && typeof globalDoc.status === 'object') {
89
- payload.logger.info({
90
- msg: `Rolling back main global document for: ${globalSlug}`
91
- });
92
- // Convert from { en: 'published', es: 'draft' } to 'published' (using default locale)
93
- const statusValue = typeof globalDoc._status === 'object' && !Array.isArray(globalDoc._status) ? globalDoc._status[defaultLocale] || 'draft' : 'draft';
94
- await connection.collection('globals').updateOne({
95
- _id: globalDoc._id,
96
- globalType: globalSlug
97
- }, {
98
- $set: {
99
- _status: statusValue
100
- }
101
- });
102
- payload.logger.info({
103
- msg: 'Rolled back global document'
104
- });
105
- }
106
- }
107
- payload.logger.info({
108
- msg: 'Rollback completed successfully'
109
- });
110
- }
111
-
112
- //# sourceMappingURL=down.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/versions/migrations/localizeStatus/mongo/down.ts"],"sourcesContent":["import type { Payload } from '../../../../types/index.js'\n\nimport { hasLocalizeStatusEnabled } from '../../../../utilities/getVersionsConfig.js'\n\nexport type LocalizeStatusArgs = {\n collectionSlug?: string\n globalSlug?: string\n payload: Payload\n req?: any\n}\n\nexport async function down(args: LocalizeStatusArgs): Promise<void> {\n const { collectionSlug, globalSlug, payload } = args\n\n if (!collectionSlug && !globalSlug) {\n throw new Error('Either collectionSlug or globalSlug must be provided')\n }\n\n if (collectionSlug && globalSlug) {\n throw new Error('Cannot provide both collectionSlug and globalSlug')\n }\n\n const entitySlug = collectionSlug || globalSlug\n // MongoDB collection names are case-insensitive and stored as lowercase\n const versionsCollection = `_${entitySlug}_versions`.toLowerCase()\n\n if (!payload.config.localization) {\n throw new Error('Localization is not enabled in payload config')\n }\n\n const entityConfig = collectionSlug\n ? payload.config.collections.find((c) => c.slug === collectionSlug)\n : payload.config.globals.find((g) => g.slug === globalSlug!)\n\n if (!entityConfig) {\n throw new Error(\n `${collectionSlug ? 'Collection' : 'Global'} not found: ${collectionSlug || globalSlug}`,\n )\n }\n\n if (hasLocalizeStatusEnabled(entityConfig)) {\n throw new Error(\n `${entitySlug} has localizeStatus enabled, cannot run down migration. ` +\n `Please disable localizeStatus in your config before rolling back this migration.`,\n )\n }\n\n const defaultLocale = payload.config.localization.defaultLocale\n\n payload.logger.info({\n msg: `Rolling back _status localization migration for ${collectionSlug ? 'collection' : 'global'}: ${entitySlug}`,\n })\n\n // Get MongoDB connection\n const connection = (payload.db as any).connection\n\n payload.logger.info({ msg: 'Fetching all version documents...' })\n\n // Get all versions\n const allVersions = await connection.collection(versionsCollection).find({}).toArray()\n\n payload.logger.info({ msg: `Found ${allVersions.length} version documents` })\n\n // Update each version document: convert version._status from object to string\n let updateCount = 0\n for (const doc of allVersions) {\n const currentStatus = doc.version?._status\n\n if (!currentStatus || typeof currentStatus === 'string') {\n // Already rolled back or never migrated\n continue\n }\n\n // Convert from { en: 'published', es: 'draft' } to 'published' (using default locale)\n const statusValue =\n typeof currentStatus === 'object' ? currentStatus[defaultLocale] || 'draft' : 'draft'\n\n await connection.collection(versionsCollection).updateOne(\n { _id: doc._id },\n {\n $set: {\n 'version._status': statusValue,\n },\n },\n )\n\n updateCount++\n }\n\n payload.logger.info({ msg: `Updated ${updateCount} version documents` })\n\n // Rollback main collection/global document status\n if (collectionSlug) {\n const mainCollection = collectionSlug\n const mainDoc = await connection.collection(mainCollection).findOne({})\n\n if (mainDoc && '_status' in mainDoc && typeof mainDoc._status === 'object') {\n payload.logger.info({ msg: `Rolling back main collection documents for: ${mainCollection}` })\n\n const allDocs = await connection.collection(mainCollection).find({}).toArray()\n\n for (const doc of allDocs) {\n if (typeof doc._status === 'object' && !Array.isArray(doc._status)) {\n // Convert from { en: 'published', es: 'draft' } to 'published' (using default locale)\n const statusValue = doc._status[defaultLocale] || 'draft'\n\n await connection.collection(mainCollection).updateOne(\n { _id: doc._id },\n {\n $set: {\n _status: statusValue,\n },\n },\n )\n }\n }\n\n payload.logger.info({ msg: `Rolled back ${allDocs.length} collection documents` })\n }\n } else if (globalSlug) {\n const globalDoc = await connection.collection('globals').findOne({ globalType: globalSlug })\n\n if (globalDoc && '_status' in globalDoc && typeof globalDoc.status === 'object') {\n payload.logger.info({ msg: `Rolling back main global document for: ${globalSlug}` })\n\n // Convert from { en: 'published', es: 'draft' } to 'published' (using default locale)\n const statusValue =\n typeof globalDoc._status === 'object' && !Array.isArray(globalDoc._status)\n ? globalDoc._status[defaultLocale] || 'draft'\n : 'draft'\n\n await connection.collection('globals').updateOne(\n { _id: globalDoc._id, globalType: globalSlug },\n {\n $set: {\n _status: statusValue,\n },\n },\n )\n\n payload.logger.info({ msg: 'Rolled back global document' })\n }\n }\n\n payload.logger.info({ msg: 'Rollback completed successfully' })\n}\n"],"names":["hasLocalizeStatusEnabled","down","args","collectionSlug","globalSlug","payload","Error","entitySlug","versionsCollection","toLowerCase","config","localization","entityConfig","collections","find","c","slug","globals","g","defaultLocale","logger","info","msg","connection","db","allVersions","collection","toArray","length","updateCount","doc","currentStatus","version","_status","statusValue","updateOne","_id","$set","mainCollection","mainDoc","findOne","allDocs","Array","isArray","globalDoc","globalType","status"],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { down } from './down.js';
2
- import { up } from './up.js';
3
- export declare const localizeStatus: {
4
- down: typeof down;
5
- up: typeof up;
6
- };
7
- export type { LocalizeStatusArgs } from './up.js';
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/versions/migrations/localizeStatus/mongo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAE5B,eAAO,MAAM,cAAc;;;CAG1B,CAAA;AAED,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA"}
@@ -1,8 +0,0 @@
1
- import { down } from './down.js';
2
- import { up } from './up.js';
3
- export const localizeStatus = {
4
- down,
5
- up
6
- };
7
-
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/versions/migrations/localizeStatus/mongo/index.ts"],"sourcesContent":["import { down } from './down.js'\nimport { up } from './up.js'\n\nexport const localizeStatus = {\n down,\n up,\n}\n\nexport type { LocalizeStatusArgs } from './up.js'\n"],"names":["down","up","localizeStatus"],"mappings":"AAAA,SAASA,IAAI,QAAQ,YAAW;AAChC,SAASC,EAAE,QAAQ,UAAS;AAE5B,OAAO,MAAMC,iBAAiB;IAC5BF;IACAC;AACF,EAAC"}
@@ -1,9 +0,0 @@
1
- import type { Payload } from '../../../../types/index.js';
2
- export type LocalizeStatusArgs = {
3
- collectionSlug?: string;
4
- globalSlug?: string;
5
- payload: Payload;
6
- req?: any;
7
- };
8
- export declare function up(args: LocalizeStatusArgs): Promise<void>;
9
- //# sourceMappingURL=up.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"up.d.ts","sourceRoot":"","sources":["../../../../../src/versions/migrations/localizeStatus/mongo/up.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAIzD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,GAAG,CAAA;CACV,CAAA;AAED,wBAAsB,EAAE,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2PhE"}
@@ -1,220 +0,0 @@
1
- import { calculateVersionLocaleStatuses } from '../shared.js';
2
- export async function up(args) {
3
- const { collectionSlug, globalSlug, payload, req } = args;
4
- if (!collectionSlug && !globalSlug) {
5
- throw new Error('Either collectionSlug or globalSlug must be provided');
6
- }
7
- if (collectionSlug && globalSlug) {
8
- throw new Error('Cannot provide both collectionSlug and globalSlug');
9
- }
10
- const entitySlug = collectionSlug || globalSlug;
11
- // MongoDB collection names are case-insensitive and stored as lowercase
12
- const versionsCollection = `_${entitySlug}_versions`.toLowerCase();
13
- if (!payload.config.localization) {
14
- throw new Error('Localization is not enabled in payload config');
15
- }
16
- // Check if versions are enabled on this collection/global
17
- let entityConfig;
18
- if (collectionSlug) {
19
- const collection = payload.config.collections.find((c)=>c.slug === collectionSlug);
20
- if (collection) {
21
- entityConfig = collection;
22
- }
23
- } else if (globalSlug) {
24
- const global = payload.config.globals.find((g)=>g.slug === globalSlug);
25
- if (global) {
26
- entityConfig = global;
27
- }
28
- }
29
- if (!entityConfig) {
30
- throw new Error(`${collectionSlug ? 'Collection' : 'Global'} not found: ${collectionSlug || globalSlug}`);
31
- }
32
- payload.logger.info({
33
- msg: `Starting _status localization migration for ${collectionSlug ? 'collection' : 'global'}: ${entitySlug}`
34
- });
35
- // Check if versions are enabled in config (skip if not)
36
- if (!entityConfig.versions) {
37
- payload.logger.info({
38
- msg: `Skipping migration for ${collectionSlug ? 'collection' : 'global'}: ${entitySlug} - versions not enabled`
39
- });
40
- return;
41
- }
42
- // Get MongoDB connection
43
- const connection = payload.db.connection;
44
- // Get filtered locales if filterAvailableLocales is defined
45
- let locales = payload.config.localization.localeCodes;
46
- if (typeof payload.config.localization.filterAvailableLocales === 'function') {
47
- const filteredLocaleObjects = await payload.config.localization.filterAvailableLocales({
48
- locales: payload.config.localization.locales,
49
- req
50
- });
51
- locales = filteredLocaleObjects.map((locale)=>locale.code);
52
- }
53
- payload.logger.info({
54
- msg: `Locales: ${locales.join(', ')}`
55
- });
56
- // Check if version._status exists and is NOT already localized
57
- const sampleDoc = await connection.collection(versionsCollection).findOne({});
58
- if (!sampleDoc) {
59
- payload.logger.info({
60
- msg: 'No version documents found, nothing to migrate'
61
- });
62
- return;
63
- }
64
- // Check if _status is already localized
65
- if (sampleDoc.version?._status && typeof sampleDoc.version._status === 'object' && !Array.isArray(sampleDoc.version._status)) {
66
- payload.logger.info({
67
- msg: 'version._status is already localized, migration already completed'
68
- });
69
- return;
70
- }
71
- // Validate that version._status exists and is a string
72
- if (!sampleDoc.version || typeof sampleDoc.version._status !== 'string' || Array.isArray(sampleDoc.version._status)) {
73
- throw new Error(`Migration aborted: version._status field not found or has unexpected format in ${versionsCollection}. ` + `This migration should only run on schemas that have NOT yet been migrated to per-locale status.`);
74
- }
75
- payload.logger.info({
76
- msg: 'Fetching all version documents...'
77
- });
78
- // Get all versions, sorted chronologically
79
- const allVersions = await connection.collection(versionsCollection).find({}).sort({
80
- createdAt: 1,
81
- parent: 1
82
- }).toArray();
83
- payload.logger.info({
84
- msg: `Found ${allVersions.length} version documents`
85
- });
86
- // Transform MongoDB documents to VersionRecord format
87
- const versionRecords = allVersions.map((doc)=>({
88
- id: doc._id.toString(),
89
- _status: doc.version._status,
90
- createdAt: doc.createdAt,
91
- parent: doc.parent?.toString(),
92
- publishedLocale: doc.publishedLocale,
93
- snapshot: doc.snapshot || false
94
- }));
95
- // Calculate status per locale using shared logic
96
- const versionLocaleStatus = calculateVersionLocaleStatuses(versionRecords, locales, payload);
97
- payload.logger.info({
98
- msg: 'Updating version documents with per-locale status...'
99
- });
100
- // Update each version document
101
- let updateCount = 0;
102
- for (const doc of allVersions){
103
- const versionId = doc._id.toString();
104
- const localeStatusMap = versionLocaleStatus.get(versionId);
105
- if (!localeStatusMap) {
106
- payload.logger.warn({
107
- msg: `No status map found for version ${versionId}, skipping`
108
- });
109
- continue;
110
- }
111
- // Build the new _status object: { en: 'published', es: 'draft', ... }
112
- const newStatus = {};
113
- for (const [locale, status] of localeStatusMap.entries()){
114
- newStatus[locale] = status;
115
- }
116
- // Update the document: change version._status from string to object
117
- await connection.collection(versionsCollection).updateOne({
118
- _id: doc._id
119
- }, {
120
- $set: {
121
- 'version._status': newStatus
122
- }
123
- });
124
- updateCount++;
125
- }
126
- payload.logger.info({
127
- msg: `Updated ${updateCount} version documents`
128
- });
129
- // Migrate main collection/global document _status to per-locale status object
130
- // Only if it has a status field
131
- if (collectionSlug) {
132
- const mainCollection = collectionSlug;
133
- const mainDoc = await connection.collection(mainCollection).findOne({});
134
- if (mainDoc && '_status' in mainDoc) {
135
- payload.logger.info({
136
- msg: `Migrating main collection documents for: ${mainCollection}`
137
- });
138
- const allDocs = await connection.collection(mainCollection).find({}).toArray();
139
- for (const doc of allDocs){
140
- if (!doc._id) {
141
- continue;
142
- }
143
- // Get the latest version for this document to determine status per locale
144
- const latestVersions = await connection.collection(versionsCollection).find({
145
- parent: doc._id
146
- }).sort({
147
- createdAt: -1
148
- }).limit(1).toArray();
149
- let statusObj = {};
150
- if (latestVersions.length > 0 && latestVersions[0]?.version?._status) {
151
- // Use the status from the latest version
152
- statusObj = latestVersions[0].version._status;
153
- } else {
154
- // Fallback: set all locales to draft
155
- for (const locale of locales){
156
- statusObj[locale] = 'draft';
157
- }
158
- }
159
- // Update main document
160
- await connection.collection(mainCollection).updateOne({
161
- _id: doc._id
162
- }, {
163
- $set: {
164
- _status: statusObj
165
- }
166
- });
167
- }
168
- payload.logger.info({
169
- msg: `Migrated ${allDocs.length} collection documents`
170
- });
171
- } else {
172
- payload.logger.info({
173
- msg: 'Skipping main document status migration (no status field found)'
174
- });
175
- }
176
- } else if (globalSlug) {
177
- // Globals are stored in a single 'globals' collection with globalType discriminator
178
- const globalDoc = await connection.collection('globals').findOne({
179
- globalType: globalSlug
180
- });
181
- if (globalDoc && '_status' in globalDoc && globalDoc._id) {
182
- payload.logger.info({
183
- msg: `Migrating main global document for: ${globalSlug}`
184
- });
185
- // Get the latest version for the global
186
- const latestVersions = await connection.collection(versionsCollection).find({}).sort({
187
- createdAt: -1
188
- }).limit(1).toArray();
189
- let statusObj = {};
190
- if (latestVersions.length > 0 && latestVersions[0]?.version?._status) {
191
- statusObj = latestVersions[0].version._status;
192
- } else {
193
- for (const locale of locales){
194
- statusObj[locale] = 'draft';
195
- }
196
- }
197
- // Update global document
198
- await connection.collection('globals').updateOne({
199
- _id: globalDoc._id,
200
- globalType: globalSlug
201
- }, {
202
- $set: {
203
- _status: statusObj
204
- }
205
- });
206
- payload.logger.info({
207
- msg: 'Migrated global document'
208
- });
209
- } else {
210
- payload.logger.info({
211
- msg: 'Skipping main document status migration (no status field found)'
212
- });
213
- }
214
- }
215
- payload.logger.info({
216
- msg: 'Migration completed successfully'
217
- });
218
- }
219
-
220
- //# sourceMappingURL=up.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/versions/migrations/localizeStatus/mongo/up.ts"],"sourcesContent":["import type { Payload } from '../../../../types/index.js'\n\nimport { calculateVersionLocaleStatuses, type VersionRecord } from '../shared.js'\n\nexport type LocalizeStatusArgs = {\n collectionSlug?: string\n globalSlug?: string\n payload: Payload\n req?: any\n}\n\nexport async function up(args: LocalizeStatusArgs): Promise<void> {\n const { collectionSlug, globalSlug, payload, req } = args\n\n if (!collectionSlug && !globalSlug) {\n throw new Error('Either collectionSlug or globalSlug must be provided')\n }\n\n if (collectionSlug && globalSlug) {\n throw new Error('Cannot provide both collectionSlug and globalSlug')\n }\n\n const entitySlug = collectionSlug || globalSlug\n // MongoDB collection names are case-insensitive and stored as lowercase\n const versionsCollection = `_${entitySlug}_versions`.toLowerCase()\n\n if (!payload.config.localization) {\n throw new Error('Localization is not enabled in payload config')\n }\n\n // Check if versions are enabled on this collection/global\n let entityConfig\n if (collectionSlug) {\n const collection = payload.config.collections.find((c) => c.slug === collectionSlug)\n if (collection) {\n entityConfig = collection\n }\n } else if (globalSlug) {\n const global = payload.config.globals.find((g) => g.slug === globalSlug)\n if (global) {\n entityConfig = global\n }\n }\n\n if (!entityConfig) {\n throw new Error(\n `${collectionSlug ? 'Collection' : 'Global'} not found: ${collectionSlug || globalSlug}`,\n )\n }\n\n payload.logger.info({\n msg: `Starting _status localization migration for ${collectionSlug ? 'collection' : 'global'}: ${entitySlug}`,\n })\n\n // Check if versions are enabled in config (skip if not)\n if (!entityConfig.versions) {\n payload.logger.info({\n msg: `Skipping migration for ${collectionSlug ? 'collection' : 'global'}: ${entitySlug} - versions not enabled`,\n })\n return\n }\n\n // Get MongoDB connection\n const connection = (payload.db as any).connection\n\n // Get filtered locales if filterAvailableLocales is defined\n let locales = payload.config.localization.localeCodes\n if (typeof payload.config.localization.filterAvailableLocales === 'function') {\n const filteredLocaleObjects = await payload.config.localization.filterAvailableLocales({\n locales: payload.config.localization.locales,\n req,\n })\n locales = filteredLocaleObjects.map((locale) => locale.code)\n }\n payload.logger.info({ msg: `Locales: ${locales.join(', ')}` })\n\n // Check if version._status exists and is NOT already localized\n const sampleDoc = await connection.collection(versionsCollection).findOne({})\n\n if (!sampleDoc) {\n payload.logger.info({ msg: 'No version documents found, nothing to migrate' })\n return\n }\n\n // Check if _status is already localized\n if (\n sampleDoc.version?._status &&\n typeof sampleDoc.version._status === 'object' &&\n !Array.isArray(sampleDoc.version._status)\n ) {\n payload.logger.info({\n msg: 'version._status is already localized, migration already completed',\n })\n return\n }\n\n // Validate that version._status exists and is a string\n if (\n !sampleDoc.version ||\n typeof sampleDoc.version._status !== 'string' ||\n Array.isArray(sampleDoc.version._status)\n ) {\n throw new Error(\n `Migration aborted: version._status field not found or has unexpected format in ${versionsCollection}. ` +\n `This migration should only run on schemas that have NOT yet been migrated to per-locale status.`,\n )\n }\n\n payload.logger.info({ msg: 'Fetching all version documents...' })\n\n // Get all versions, sorted chronologically\n const allVersions = await connection\n .collection(versionsCollection)\n .find({})\n .sort({ createdAt: 1, parent: 1 })\n .toArray()\n\n payload.logger.info({ msg: `Found ${allVersions.length} version documents` })\n\n // Transform MongoDB documents to VersionRecord format\n const versionRecords: VersionRecord[] = allVersions.map((doc: any) => ({\n id: doc._id.toString(),\n _status: doc.version._status as 'draft' | 'published',\n createdAt: doc.createdAt,\n parent: doc.parent?.toString(),\n publishedLocale: doc.publishedLocale,\n snapshot: doc.snapshot || false,\n }))\n\n // Calculate status per locale using shared logic\n const versionLocaleStatus = calculateVersionLocaleStatuses(versionRecords, locales, payload)\n\n payload.logger.info({ msg: 'Updating version documents with per-locale status...' })\n\n // Update each version document\n let updateCount = 0\n for (const doc of allVersions) {\n const versionId = doc._id.toString()\n const localeStatusMap = versionLocaleStatus.get(versionId)\n\n if (!localeStatusMap) {\n payload.logger.warn({ msg: `No status map found for version ${versionId}, skipping` })\n continue\n }\n\n // Build the new _status object: { en: 'published', es: 'draft', ... }\n const newStatus: Record<string, string> = {}\n for (const [locale, status] of localeStatusMap.entries()) {\n newStatus[locale] = status\n }\n\n // Update the document: change version._status from string to object\n await connection.collection(versionsCollection).updateOne(\n { _id: doc._id },\n {\n $set: {\n 'version._status': newStatus,\n },\n },\n )\n\n updateCount++\n }\n\n payload.logger.info({ msg: `Updated ${updateCount} version documents` })\n\n // Migrate main collection/global document _status to per-locale status object\n // Only if it has a status field\n if (collectionSlug) {\n const mainCollection = collectionSlug\n const mainDoc = await connection.collection(mainCollection).findOne({})\n\n if (mainDoc && '_status' in mainDoc) {\n payload.logger.info({ msg: `Migrating main collection documents for: ${mainCollection}` })\n\n const allDocs = await connection.collection(mainCollection).find({}).toArray()\n\n for (const doc of allDocs) {\n if (!doc._id) {\n continue\n }\n\n // Get the latest version for this document to determine status per locale\n const latestVersions = await connection\n .collection(versionsCollection)\n .find({ parent: doc._id })\n .sort({ createdAt: -1 })\n .limit(1)\n .toArray()\n\n let statusObj: Record<string, string> = {}\n\n if (latestVersions.length > 0 && latestVersions[0]?.version?._status) {\n // Use the status from the latest version\n statusObj = latestVersions[0].version._status\n } else {\n // Fallback: set all locales to draft\n for (const locale of locales) {\n statusObj[locale] = 'draft'\n }\n }\n\n // Update main document\n await connection.collection(mainCollection).updateOne(\n { _id: doc._id },\n {\n $set: {\n _status: statusObj,\n },\n },\n )\n }\n\n payload.logger.info({ msg: `Migrated ${allDocs.length} collection documents` })\n } else {\n payload.logger.info({\n msg: 'Skipping main document status migration (no status field found)',\n })\n }\n } else if (globalSlug) {\n // Globals are stored in a single 'globals' collection with globalType discriminator\n const globalDoc = await connection.collection('globals').findOne({ globalType: globalSlug })\n if (globalDoc && '_status' in globalDoc && globalDoc._id) {\n payload.logger.info({ msg: `Migrating main global document for: ${globalSlug}` })\n\n // Get the latest version for the global\n const latestVersions = await connection\n .collection(versionsCollection)\n .find({})\n .sort({ createdAt: -1 })\n .limit(1)\n .toArray()\n\n let statusObj: Record<string, string> = {}\n\n if (latestVersions.length > 0 && latestVersions[0]?.version?._status) {\n statusObj = latestVersions[0].version._status\n } else {\n for (const locale of locales) {\n statusObj[locale] = 'draft'\n }\n }\n\n // Update global document\n await connection.collection('globals').updateOne(\n { _id: globalDoc._id, globalType: globalSlug },\n {\n $set: {\n _status: statusObj,\n },\n },\n )\n\n payload.logger.info({ msg: 'Migrated global document' })\n } else {\n payload.logger.info({\n msg: 'Skipping main document status migration (no status field found)',\n })\n }\n }\n\n payload.logger.info({ msg: 'Migration completed successfully' })\n}\n"],"names":["calculateVersionLocaleStatuses","up","args","collectionSlug","globalSlug","payload","req","Error","entitySlug","versionsCollection","toLowerCase","config","localization","entityConfig","collection","collections","find","c","slug","global","globals","g","logger","info","msg","versions","connection","db","locales","localeCodes","filterAvailableLocales","filteredLocaleObjects","map","locale","code","join","sampleDoc","findOne","version","_status","Array","isArray","allVersions","sort","createdAt","parent","toArray","length","versionRecords","doc","id","_id","toString","publishedLocale","snapshot","versionLocaleStatus","updateCount","versionId","localeStatusMap","get","warn","newStatus","status","entries","updateOne","$set","mainCollection","mainDoc","allDocs","latestVersions","limit","statusObj","globalDoc","globalType"],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import type { Payload } from '../../../../types/index.js';
2
- export type LocalizeStatusArgs = {
3
- collectionSlug?: string;
4
- db: any;
5
- globalSlug?: string;
6
- payload: Payload;
7
- req?: any;
8
- sql: any;
9
- };
10
- export declare function down(args: LocalizeStatusArgs): Promise<void>;
11
- //# sourceMappingURL=down.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"down.d.ts","sourceRoot":"","sources":["../../../../../src/versions/migrations/localizeStatus/sql/down.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAKzD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,EAAE,EAAE,GAAG,CAAA;IACP,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6OlE"}
@@ -1,213 +0,0 @@
1
- import { hasLocalizeStatusEnabled } from '../../../../utilities/getVersionsConfig.js';
2
- import { toSnakeCase } from '../shared.js';
3
- export async function down(args) {
4
- const { collectionSlug, db, globalSlug, payload, sql } = args;
5
- if (!collectionSlug && !globalSlug) {
6
- throw new Error('Either collectionSlug or globalSlug must be provided');
7
- }
8
- if (collectionSlug && globalSlug) {
9
- throw new Error('Cannot provide both collectionSlug and globalSlug');
10
- }
11
- const entitySlug = collectionSlug || globalSlug;
12
- // Convert camelCase slugs to snake_case and add version prefix/suffix
13
- const versionsTable = collectionSlug ? `_${toSnakeCase(collectionSlug)}_v` : `_${toSnakeCase(globalSlug)}_v`;
14
- const localesTable = `${versionsTable}_locales`;
15
- if (!payload.config.localization) {
16
- throw new Error('Localization is not enabled in payload config');
17
- }
18
- const entityConfig = collectionSlug ? payload.config.collections.find((c)=>c.slug === collectionSlug) : payload.config.globals.find((g)=>g.slug === globalSlug);
19
- if (!entityConfig) {
20
- throw new Error(`${collectionSlug ? 'Collection' : 'Global'} not found: ${collectionSlug || globalSlug}`);
21
- }
22
- if (hasLocalizeStatusEnabled(entityConfig)) {
23
- throw new Error(`${entitySlug} has localizeStatus enabled, cannot run down migration. ` + `Please disable localizeStatus in your config before rolling back this migration.`);
24
- }
25
- const defaultLocale = payload.config.localization.defaultLocale;
26
- payload.logger.info({
27
- msg: `Rolling back _status localization migration for ${collectionSlug ? 'collection' : 'global'}: ${entitySlug}`
28
- });
29
- // 1. Restore version__status column to main table
30
- payload.logger.info({
31
- msg: `Restoring version__status column to ${versionsTable}`
32
- });
33
- await db.execute({
34
- drizzle: db.drizzle,
35
- sql: sql`
36
- ALTER TABLE ${sql.identifier(versionsTable)} ADD COLUMN version__status VARCHAR
37
- `
38
- });
39
- // 2. Copy status from default locale back to main table
40
- payload.logger.info({
41
- msg: `Copying status from default locale (${defaultLocale}) back to main table`
42
- });
43
- await db.execute({
44
- drizzle: db.drizzle,
45
- sql: sql`
46
- UPDATE ${sql.identifier(versionsTable)} pv
47
- SET version__status = pl.version__status
48
- FROM ${sql.identifier(localesTable)} pl
49
- WHERE pv.id = pl._parent_id
50
- AND pl._locale = ${defaultLocale}
51
- `
52
- });
53
- // 3. Check if there are other localized fields besides version__status
54
- const columnCheckResult = await db.execute({
55
- drizzle: db.drizzle,
56
- sql: sql`
57
- SELECT COUNT(*) as count
58
- FROM information_schema.columns
59
- WHERE table_schema = 'public'
60
- AND table_name = ${localesTable}
61
- AND column_name NOT IN ('id', '_locale', '_parent_id', 'version__status')
62
- `
63
- });
64
- const hasOtherLocalizedFields = Number(columnCheckResult.rows[0]?.count) > 0;
65
- if (!hasOtherLocalizedFields) {
66
- // SCENARIO 1 ROLLBACK: No other localized fields, drop entire table
67
- payload.logger.info({
68
- msg: `Dropping entire locales table: ${localesTable}`
69
- });
70
- await db.execute({
71
- drizzle: db.drizzle,
72
- sql: sql`DROP TABLE ${sql.identifier(localesTable)} CASCADE`
73
- });
74
- } else {
75
- // SCENARIO 2 ROLLBACK: Other localized fields exist, just drop version__status column
76
- payload.logger.info({
77
- msg: `Dropping version__status column from ${localesTable}`
78
- });
79
- await db.execute({
80
- drizzle: db.drizzle,
81
- sql: sql`
82
- ALTER TABLE ${sql.identifier(localesTable)} DROP COLUMN version__status
83
- `
84
- });
85
- }
86
- // 4. Restore _status to main collection/global table if it was dropped
87
- const mainTable = collectionSlug ? toSnakeCase(collectionSlug) : toSnakeCase(globalSlug);
88
- const mainLocalesTable = `${mainTable}_locales`;
89
- // Check if _status exists in the main table
90
- const statusInMainTableCheck = await db.execute({
91
- drizzle: db.drizzle,
92
- sql: sql`
93
- SELECT EXISTS (
94
- SELECT FROM information_schema.columns
95
- WHERE table_schema = 'public'
96
- AND table_name = ${mainTable}
97
- AND column_name = '_status'
98
- ) as exists
99
- `
100
- });
101
- if (!statusInMainTableCheck.rows[0]?.exists) {
102
- // _status column doesn't exist in main table, need to restore it
103
- // Check if main collection/global has a locales table
104
- const mainLocalesTableCheck = await db.execute({
105
- drizzle: db.drizzle,
106
- sql: sql`
107
- SELECT EXISTS (
108
- SELECT FROM information_schema.tables
109
- WHERE table_schema = 'public'
110
- AND table_name = ${mainLocalesTable}
111
- ) as exists
112
- `
113
- });
114
- if (mainLocalesTableCheck.rows[0]?.exists) {
115
- // Locales table exists - check if _status is there
116
- const statusInLocalesCheck = await db.execute({
117
- drizzle: db.drizzle,
118
- sql: sql`
119
- SELECT EXISTS (
120
- SELECT FROM information_schema.columns
121
- WHERE table_schema = 'public'
122
- AND table_name = ${mainLocalesTable}
123
- AND column_name = '_status'
124
- ) as exists
125
- `
126
- });
127
- if (statusInLocalesCheck.rows[0]?.exists) {
128
- // Add _status back to main table
129
- payload.logger.info({
130
- msg: `Restoring _status column to ${mainTable}`
131
- });
132
- await db.execute({
133
- drizzle: db.drizzle,
134
- sql: sql`
135
- ALTER TABLE ${sql.identifier(mainTable)} ADD COLUMN _status VARCHAR
136
- `
137
- });
138
- // Copy status from default locale back to main table
139
- await db.execute({
140
- drizzle: db.drizzle,
141
- sql: sql`
142
- UPDATE ${sql.identifier(mainTable)} m
143
- SET _status = l._status
144
- FROM ${sql.identifier(mainLocalesTable)} l
145
- WHERE m.id = l._parent_id
146
- AND l._locale = ${defaultLocale}
147
- `
148
- });
149
- // Drop _status from locales table
150
- payload.logger.info({
151
- msg: `Dropping _status column from ${mainLocalesTable}`
152
- });
153
- await db.execute({
154
- drizzle: db.drizzle,
155
- sql: sql`
156
- ALTER TABLE ${sql.identifier(mainLocalesTable)} DROP COLUMN _status
157
- `
158
- });
159
- }
160
- } else {
161
- // No locales table exists - this means collection/global has no localized fields
162
- // Just add _status back to main table with default values
163
- payload.logger.info({
164
- msg: `Restoring _status column to ${mainTable} (no locales table exists)`
165
- });
166
- await db.execute({
167
- drizzle: db.drizzle,
168
- sql: sql`
169
- ALTER TABLE ${sql.identifier(mainTable)} ADD COLUMN _status VARCHAR
170
- `
171
- });
172
- // Set default status based on latest version status for each document
173
- // Get all documents in the collection
174
- const documents = await db.execute({
175
- drizzle: db.drizzle,
176
- sql: sql`
177
- SELECT DISTINCT id
178
- FROM ${sql.identifier(mainTable)}
179
- `
180
- });
181
- for (const doc of documents.rows){
182
- // Get latest version status for this document
183
- const latestVersionStatus = await db.execute({
184
- drizzle: db.drizzle,
185
- sql: sql`
186
- SELECT version__status
187
- FROM ${sql.identifier(versionsTable)}
188
- WHERE parent_id = ${doc.id}
189
- ORDER BY created_at DESC
190
- LIMIT 1
191
- `
192
- });
193
- const status = latestVersionStatus.rows[0]?.version__status || 'draft';
194
- await db.execute({
195
- drizzle: db.drizzle,
196
- sql: sql`
197
- UPDATE ${sql.identifier(mainTable)}
198
- SET _status = ${status}
199
- WHERE id = ${doc.id}
200
- `
201
- });
202
- }
203
- payload.logger.info({
204
- msg: `Restored _status for ${documents.rows.length} documents`
205
- });
206
- }
207
- }
208
- payload.logger.info({
209
- msg: 'Rollback completed successfully'
210
- });
211
- }
212
-
213
- //# sourceMappingURL=down.js.map