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 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/versions/migrations/localizeStatus/sql/down.ts"],"sourcesContent":["import type { Payload } from '../../../../types/index.js'\n\nimport { hasLocalizeStatusEnabled } from '../../../../utilities/getVersionsConfig.js'\nimport { toSnakeCase } from '../shared.js'\n\nexport type LocalizeStatusArgs = {\n collectionSlug?: string\n db: any\n globalSlug?: string\n payload: Payload\n req?: any\n sql: any\n}\n\nexport async function down(args: LocalizeStatusArgs): Promise<void> {\n const { collectionSlug, db, globalSlug, payload, sql } = 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 // Convert camelCase slugs to snake_case and add version prefix/suffix\n const versionsTable = collectionSlug\n ? `_${toSnakeCase(collectionSlug)}_v`\n : `_${toSnakeCase(globalSlug!)}_v`\n const localesTable = `${versionsTable}_locales`\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 // 1. Restore version__status column to main table\n payload.logger.info({ msg: `Restoring version__status column to ${versionsTable}` })\n\n await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n ALTER TABLE ${sql.identifier(versionsTable)} ADD COLUMN version__status VARCHAR\n `,\n })\n\n // 2. Copy status from default locale back to main table\n payload.logger.info({\n msg: `Copying status from default locale (${defaultLocale}) back to main table`,\n })\n\n await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n UPDATE ${sql.identifier(versionsTable)} pv\n SET version__status = pl.version__status\n FROM ${sql.identifier(localesTable)} pl\n WHERE pv.id = pl._parent_id\n AND pl._locale = ${defaultLocale}\n `,\n })\n\n // 3. Check if there are other localized fields besides version__status\n const columnCheckResult = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n SELECT COUNT(*) as count\n FROM information_schema.columns\n WHERE table_schema = 'public'\n AND table_name = ${localesTable}\n AND column_name NOT IN ('id', '_locale', '_parent_id', 'version__status')\n `,\n })\n\n const hasOtherLocalizedFields = Number(columnCheckResult.rows[0]?.count) > 0\n\n if (!hasOtherLocalizedFields) {\n // SCENARIO 1 ROLLBACK: No other localized fields, drop entire table\n payload.logger.info({ msg: `Dropping entire locales table: ${localesTable}` })\n\n await db.execute({\n drizzle: db.drizzle,\n sql: sql`DROP TABLE ${sql.identifier(localesTable)} CASCADE`,\n })\n } else {\n // SCENARIO 2 ROLLBACK: Other localized fields exist, just drop version__status column\n payload.logger.info({ msg: `Dropping version__status column from ${localesTable}` })\n\n await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n ALTER TABLE ${sql.identifier(localesTable)} DROP COLUMN version__status\n `,\n })\n }\n\n // 4. Restore _status to main collection/global table if it was dropped\n const mainTable = collectionSlug ? toSnakeCase(collectionSlug) : toSnakeCase(globalSlug!)\n const mainLocalesTable = `${mainTable}_locales`\n\n // Check if _status exists in the main table\n const statusInMainTableCheck = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n SELECT EXISTS (\n SELECT FROM information_schema.columns\n WHERE table_schema = 'public'\n AND table_name = ${mainTable}\n AND column_name = '_status'\n ) as exists\n `,\n })\n\n if (!statusInMainTableCheck.rows[0]?.exists) {\n // _status column doesn't exist in main table, need to restore it\n // Check if main collection/global has a locales table\n const mainLocalesTableCheck = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n SELECT EXISTS (\n SELECT FROM information_schema.tables\n WHERE table_schema = 'public'\n AND table_name = ${mainLocalesTable}\n ) as exists\n `,\n })\n\n if (mainLocalesTableCheck.rows[0]?.exists) {\n // Locales table exists - check if _status is there\n const statusInLocalesCheck = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n SELECT EXISTS (\n SELECT FROM information_schema.columns\n WHERE table_schema = 'public'\n AND table_name = ${mainLocalesTable}\n AND column_name = '_status'\n ) as exists\n `,\n })\n\n if (statusInLocalesCheck.rows[0]?.exists) {\n // Add _status back to main table\n payload.logger.info({ msg: `Restoring _status column to ${mainTable}` })\n\n await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n ALTER TABLE ${sql.identifier(mainTable)} ADD COLUMN _status VARCHAR\n `,\n })\n\n // Copy status from default locale back to main table\n await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n UPDATE ${sql.identifier(mainTable)} m\n SET _status = l._status\n FROM ${sql.identifier(mainLocalesTable)} l\n WHERE m.id = l._parent_id\n AND l._locale = ${defaultLocale}\n `,\n })\n\n // Drop _status from locales table\n payload.logger.info({ msg: `Dropping _status column from ${mainLocalesTable}` })\n\n await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n ALTER TABLE ${sql.identifier(mainLocalesTable)} DROP COLUMN _status\n `,\n })\n }\n } else {\n // No locales table exists - this means collection/global has no localized fields\n // Just add _status back to main table with default values\n payload.logger.info({\n msg: `Restoring _status column to ${mainTable} (no locales table exists)`,\n })\n\n await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n ALTER TABLE ${sql.identifier(mainTable)} ADD COLUMN _status VARCHAR\n `,\n })\n\n // Set default status based on latest version status for each document\n // Get all documents in the collection\n const documents = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n SELECT DISTINCT id\n FROM ${sql.identifier(mainTable)}\n `,\n })\n\n for (const doc of documents.rows) {\n // Get latest version status for this document\n const latestVersionStatus = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n SELECT version__status\n FROM ${sql.identifier(versionsTable)}\n WHERE parent_id = ${doc.id}\n ORDER BY created_at DESC\n LIMIT 1\n `,\n })\n\n const status = latestVersionStatus.rows[0]?.version__status || 'draft'\n\n await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n UPDATE ${sql.identifier(mainTable)}\n SET _status = ${status}\n WHERE id = ${doc.id}\n `,\n })\n }\n\n payload.logger.info({ msg: `Restored _status for ${documents.rows.length} documents` })\n }\n }\n\n payload.logger.info({ msg: 'Rollback completed successfully' })\n}\n"],"names":["hasLocalizeStatusEnabled","toSnakeCase","down","args","collectionSlug","db","globalSlug","payload","sql","Error","entitySlug","versionsTable","localesTable","config","localization","entityConfig","collections","find","c","slug","globals","g","defaultLocale","logger","info","msg","execute","drizzle","identifier","columnCheckResult","hasOtherLocalizedFields","Number","rows","count","mainTable","mainLocalesTable","statusInMainTableCheck","exists","mainLocalesTableCheck","statusInLocalesCheck","documents","doc","latestVersionStatus","id","status","version__status","length"],"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/sql/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/sql/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,13 +0,0 @@
1
- import type { Payload } from '../../../../types/index.js';
2
- /**
3
- * Migrates main collection documents from _status to per-locale status object
4
- */
5
- export declare function migrateMainCollectionStatus({ collectionSlug, db, locales, payload, sql, versionsTable, }: {
6
- collectionSlug: string;
7
- db: any;
8
- locales: string[];
9
- payload: Payload;
10
- sql: any;
11
- versionsTable: string;
12
- }): Promise<void>;
13
- //# sourceMappingURL=migrateMainCollection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrateMainCollection.d.ts","sourceRoot":"","sources":["../../../../../src/versions/migrations/localizeStatus/sql/migrateMainCollection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAIzD;;GAEG;AACH,wBAAsB,2BAA2B,CAAC,EAChD,cAAc,EACd,EAAE,EACF,OAAO,EACP,OAAO,EACP,GAAG,EACH,aAAa,GACd,EAAE;IACD,cAAc,EAAE,MAAM,CAAA;IACtB,EAAE,EAAE,GAAG,CAAA;IACP,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,GAAG,CAAA;IACR,aAAa,EAAE,MAAM,CAAA;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+ChB"}
@@ -1,51 +0,0 @@
1
- import { toSnakeCase } from '../shared.js';
2
- /**
3
- * Migrates main collection documents from _status to per-locale status object
4
- */ export async function migrateMainCollectionStatus({ collectionSlug, db, locales, payload, sql, versionsTable }) {
5
- const mainTable = toSnakeCase(collectionSlug);
6
- const mainLocalesTable = `${mainTable}_locales`;
7
- payload.logger.info({
8
- msg: `Migrating main collection locales for: ${mainLocalesTable}`
9
- });
10
- // Get all documents
11
- const documents = await db.execute({
12
- drizzle: db.drizzle,
13
- sql: sql`
14
- SELECT DISTINCT id
15
- FROM ${sql.identifier(mainTable)}
16
- `
17
- });
18
- for (const doc of documents.rows){
19
- // For each locale, get the latest version status
20
- for (const locale of locales){
21
- const latestVersionStatus = await db.execute({
22
- drizzle: db.drizzle,
23
- sql: sql`
24
- SELECT l.version__status as _status
25
- FROM ${sql.identifier(versionsTable)} v
26
- JOIN ${sql.raw(`${versionsTable}_locales`)} l ON l._parent_id = v.id
27
- WHERE v.parent_id = ${doc.id}
28
- AND l._locale = ${locale}
29
- ORDER BY v.created_at DESC
30
- LIMIT 1
31
- `
32
- });
33
- const status = latestVersionStatus.rows[0]?._status || 'draft';
34
- // Update the main collection's locales table with this status
35
- await db.execute({
36
- drizzle: db.drizzle,
37
- sql: sql`
38
- UPDATE ${sql.identifier(mainLocalesTable)}
39
- SET _status = ${status}
40
- WHERE _parent_id = ${doc.id}
41
- AND _locale = ${locale}
42
- `
43
- });
44
- }
45
- }
46
- payload.logger.info({
47
- msg: `Migrated ${documents.rows.length} collection documents`
48
- });
49
- }
50
-
51
- //# sourceMappingURL=migrateMainCollection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/versions/migrations/localizeStatus/sql/migrateMainCollection.ts"],"sourcesContent":["import type { Payload } from '../../../../types/index.js'\n\nimport { toSnakeCase } from '../shared.js'\n\n/**\n * Migrates main collection documents from _status to per-locale status object\n */\nexport async function migrateMainCollectionStatus({\n collectionSlug,\n db,\n locales,\n payload,\n sql,\n versionsTable,\n}: {\n collectionSlug: string\n db: any\n locales: string[]\n payload: Payload\n sql: any\n versionsTable: string\n}): Promise<void> {\n const mainTable = toSnakeCase(collectionSlug)\n const mainLocalesTable = `${mainTable}_locales`\n\n payload.logger.info({ msg: `Migrating main collection locales for: ${mainLocalesTable}` })\n\n // Get all documents\n const documents = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n SELECT DISTINCT id\n FROM ${sql.identifier(mainTable)}\n `,\n })\n\n for (const doc of documents.rows) {\n // For each locale, get the latest version status\n for (const locale of locales) {\n const latestVersionStatus = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n SELECT l.version__status as _status\n FROM ${sql.identifier(versionsTable)} v\n JOIN ${sql.raw(`${versionsTable}_locales`)} l ON l._parent_id = v.id\n WHERE v.parent_id = ${doc.id}\n AND l._locale = ${locale}\n ORDER BY v.created_at DESC\n LIMIT 1\n `,\n })\n\n const status = latestVersionStatus.rows[0]?._status || 'draft'\n\n // Update the main collection's locales table with this status\n await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n UPDATE ${sql.identifier(mainLocalesTable)}\n SET _status = ${status}\n WHERE _parent_id = ${doc.id}\n AND _locale = ${locale}\n `,\n })\n }\n }\n\n payload.logger.info({ msg: `Migrated ${documents.rows.length} collection documents` })\n}\n"],"names":["toSnakeCase","migrateMainCollectionStatus","collectionSlug","db","locales","payload","sql","versionsTable","mainTable","mainLocalesTable","logger","info","msg","documents","execute","drizzle","identifier","doc","rows","locale","latestVersionStatus","raw","id","status","_status","length"],"mappings":"AAEA,SAASA,WAAW,QAAQ,eAAc;AAE1C;;CAEC,GACD,OAAO,eAAeC,4BAA4B,EAChDC,cAAc,EACdC,EAAE,EACFC,OAAO,EACPC,OAAO,EACPC,GAAG,EACHC,aAAa,EAQd;IACC,MAAMC,YAAYR,YAAYE;IAC9B,MAAMO,mBAAmB,GAAGD,UAAU,QAAQ,CAAC;IAE/CH,QAAQK,MAAM,CAACC,IAAI,CAAC;QAAEC,KAAK,CAAC,uCAAuC,EAAEH,kBAAkB;IAAC;IAExF,oBAAoB;IACpB,MAAMI,YAAY,MAAMV,GAAGW,OAAO,CAAC;QACjCC,SAASZ,GAAGY,OAAO;QACnBT,KAAKA,GAAG,CAAC;;WAEF,EAAEA,IAAIU,UAAU,CAACR,WAAW;IACnC,CAAC;IACH;IAEA,KAAK,MAAMS,OAAOJ,UAAUK,IAAI,CAAE;QAChC,iDAAiD;QACjD,KAAK,MAAMC,UAAUf,QAAS;YAC5B,MAAMgB,sBAAsB,MAAMjB,GAAGW,OAAO,CAAC;gBAC3CC,SAASZ,GAAGY,OAAO;gBACnBT,KAAKA,GAAG,CAAC;;eAEF,EAAEA,IAAIU,UAAU,CAACT,eAAe;eAChC,EAAED,IAAIe,GAAG,CAAC,GAAGd,cAAc,QAAQ,CAAC,EAAE;8BACvB,EAAEU,IAAIK,EAAE,CAAC;0BACb,EAAEH,OAAO;;;QAG3B,CAAC;YACH;YAEA,MAAMI,SAASH,oBAAoBF,IAAI,CAAC,EAAE,EAAEM,WAAW;YAEvD,8DAA8D;YAC9D,MAAMrB,GAAGW,OAAO,CAAC;gBACfC,SAASZ,GAAGY,OAAO;gBACnBT,KAAKA,GAAG,CAAC;iBACA,EAAEA,IAAIU,UAAU,CAACP,kBAAkB;wBAC5B,EAAEc,OAAO;6BACJ,EAAEN,IAAIK,EAAE,CAAC;wBACd,EAAEH,OAAO;QACzB,CAAC;YACH;QACF;IACF;IAEAd,QAAQK,MAAM,CAACC,IAAI,CAAC;QAAEC,KAAK,CAAC,SAAS,EAAEC,UAAUK,IAAI,CAACO,MAAM,CAAC,qBAAqB,CAAC;IAAC;AACtF"}
@@ -1,13 +0,0 @@
1
- import type { Payload } from '../../../../types/index.js';
2
- /**
3
- * Migrates main global document from _status to per-locale status object
4
- */
5
- export declare function migrateMainGlobalStatus({ db, globalSlug, locales, payload, sql, versionsTable, }: {
6
- db: any;
7
- globalSlug: string;
8
- locales: string[];
9
- payload: Payload;
10
- sql: any;
11
- versionsTable: string;
12
- }): Promise<void>;
13
- //# sourceMappingURL=migrateMainGlobal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrateMainGlobal.d.ts","sourceRoot":"","sources":["../../../../../src/versions/migrations/localizeStatus/sql/migrateMainGlobal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAIzD;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,EAC5C,EAAE,EACF,UAAU,EACV,OAAO,EACP,OAAO,EACP,GAAG,EACH,aAAa,GACd,EAAE;IACD,EAAE,EAAE,GAAG,CAAA;IACP,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,GAAG,CAAA;IACR,aAAa,EAAE,MAAM,CAAA;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDhB"}
@@ -1,54 +0,0 @@
1
- import { toSnakeCase } from '../shared.js';
2
- /**
3
- * Migrates main global document from _status to per-locale status object
4
- */ export async function migrateMainGlobalStatus({ db, globalSlug, locales, payload, sql, versionsTable }) {
5
- const globalTable = toSnakeCase(globalSlug);
6
- const globalLocalesTable = `${globalTable}_locales`;
7
- payload.logger.info({
8
- msg: `Migrating main global locales for: ${globalLocalesTable}`
9
- });
10
- // For each locale, get the latest version status
11
- for (const locale of locales){
12
- const latestVersionStatus = await db.execute({
13
- drizzle: db.drizzle,
14
- sql: sql`
15
- SELECT l.version__status as _status
16
- FROM ${sql.identifier(versionsTable)} v
17
- JOIN ${sql.raw(`${versionsTable}_locales`)} l ON l._parent_id = v.id
18
- WHERE l._locale = ${locale}
19
- ORDER BY v.created_at DESC
20
- LIMIT 1
21
- `
22
- });
23
- const status = latestVersionStatus.rows[0]?._status || 'draft';
24
- // Get the global document ID from the globals table
25
- const globalDoc = await db.execute({
26
- drizzle: db.drizzle,
27
- sql: sql`
28
- SELECT id FROM ${sql.identifier(globalTable)} LIMIT 1
29
- `
30
- });
31
- if (globalDoc.rows.length === 0) {
32
- payload.logger.warn({
33
- msg: `No global document found for ${globalSlug}, skipping`
34
- });
35
- continue;
36
- }
37
- const globalId = globalDoc.rows[0].id;
38
- // Update the global's locales table with this status
39
- await db.execute({
40
- drizzle: db.drizzle,
41
- sql: sql`
42
- UPDATE ${sql.identifier(globalLocalesTable)}
43
- SET _status = ${status}
44
- WHERE _parent_id = ${globalId}
45
- AND _locale = ${locale}
46
- `
47
- });
48
- }
49
- payload.logger.info({
50
- msg: 'Migrated global document'
51
- });
52
- }
53
-
54
- //# sourceMappingURL=migrateMainGlobal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/versions/migrations/localizeStatus/sql/migrateMainGlobal.ts"],"sourcesContent":["import type { Payload } from '../../../../types/index.js'\n\nimport { toSnakeCase } from '../shared.js'\n\n/**\n * Migrates main global document from _status to per-locale status object\n */\nexport async function migrateMainGlobalStatus({\n db,\n globalSlug,\n locales,\n payload,\n sql,\n versionsTable,\n}: {\n db: any\n globalSlug: string\n locales: string[]\n payload: Payload\n sql: any\n versionsTable: string\n}): Promise<void> {\n const globalTable = toSnakeCase(globalSlug)\n const globalLocalesTable = `${globalTable}_locales`\n\n payload.logger.info({ msg: `Migrating main global locales for: ${globalLocalesTable}` })\n\n // For each locale, get the latest version status\n for (const locale of locales) {\n const latestVersionStatus = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n SELECT l.version__status as _status\n FROM ${sql.identifier(versionsTable)} v\n JOIN ${sql.raw(`${versionsTable}_locales`)} l ON l._parent_id = v.id\n WHERE l._locale = ${locale}\n ORDER BY v.created_at DESC\n LIMIT 1\n `,\n })\n\n const status = latestVersionStatus.rows[0]?._status || 'draft'\n\n // Get the global document ID from the globals table\n const globalDoc = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n SELECT id FROM ${sql.identifier(globalTable)} LIMIT 1\n `,\n })\n\n if (globalDoc.rows.length === 0) {\n payload.logger.warn({ msg: `No global document found for ${globalSlug}, skipping` })\n continue\n }\n\n const globalId = globalDoc.rows[0].id\n\n // Update the global's locales table with this status\n await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n UPDATE ${sql.identifier(globalLocalesTable)}\n SET _status = ${status}\n WHERE _parent_id = ${globalId}\n AND _locale = ${locale}\n `,\n })\n }\n\n payload.logger.info({ msg: 'Migrated global document' })\n}\n"],"names":["toSnakeCase","migrateMainGlobalStatus","db","globalSlug","locales","payload","sql","versionsTable","globalTable","globalLocalesTable","logger","info","msg","locale","latestVersionStatus","execute","drizzle","identifier","raw","status","rows","_status","globalDoc","length","warn","globalId","id"],"mappings":"AAEA,SAASA,WAAW,QAAQ,eAAc;AAE1C;;CAEC,GACD,OAAO,eAAeC,wBAAwB,EAC5CC,EAAE,EACFC,UAAU,EACVC,OAAO,EACPC,OAAO,EACPC,GAAG,EACHC,aAAa,EAQd;IACC,MAAMC,cAAcR,YAAYG;IAChC,MAAMM,qBAAqB,GAAGD,YAAY,QAAQ,CAAC;IAEnDH,QAAQK,MAAM,CAACC,IAAI,CAAC;QAAEC,KAAK,CAAC,mCAAmC,EAAEH,oBAAoB;IAAC;IAEtF,iDAAiD;IACjD,KAAK,MAAMI,UAAUT,QAAS;QAC5B,MAAMU,sBAAsB,MAAMZ,GAAGa,OAAO,CAAC;YAC3CC,SAASd,GAAGc,OAAO;YACnBV,KAAKA,GAAG,CAAC;;aAEF,EAAEA,IAAIW,UAAU,CAACV,eAAe;aAChC,EAAED,IAAIY,GAAG,CAAC,GAAGX,cAAc,QAAQ,CAAC,EAAE;0BACzB,EAAEM,OAAO;;;MAG7B,CAAC;QACH;QAEA,MAAMM,SAASL,oBAAoBM,IAAI,CAAC,EAAE,EAAEC,WAAW;QAEvD,oDAAoD;QACpD,MAAMC,YAAY,MAAMpB,GAAGa,OAAO,CAAC;YACjCC,SAASd,GAAGc,OAAO;YACnBV,KAAKA,GAAG,CAAC;uBACQ,EAAEA,IAAIW,UAAU,CAACT,aAAa;MAC/C,CAAC;QACH;QAEA,IAAIc,UAAUF,IAAI,CAACG,MAAM,KAAK,GAAG;YAC/BlB,QAAQK,MAAM,CAACc,IAAI,CAAC;gBAAEZ,KAAK,CAAC,6BAA6B,EAAET,WAAW,UAAU,CAAC;YAAC;YAClF;QACF;QAEA,MAAMsB,WAAWH,UAAUF,IAAI,CAAC,EAAE,CAACM,EAAE;QAErC,qDAAqD;QACrD,MAAMxB,GAAGa,OAAO,CAAC;YACfC,SAASd,GAAGc,OAAO;YACnBV,KAAKA,GAAG,CAAC;eACA,EAAEA,IAAIW,UAAU,CAACR,oBAAoB;sBAC9B,EAAEU,OAAO;2BACJ,EAAEM,SAAS;sBAChB,EAAEZ,OAAO;MACzB,CAAC;QACH;IACF;IAEAR,QAAQK,MAAM,CAACC,IAAI,CAAC;QAAEC,KAAK;IAA2B;AACxD"}
@@ -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 up(args: LocalizeStatusArgs): Promise<void>;
11
- //# sourceMappingURL=up.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"up.d.ts","sourceRoot":"","sources":["../../../../../src/versions/migrations/localizeStatus/sql/up.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAMzD,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,EAAE,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuShE"}
@@ -1,277 +0,0 @@
1
- import { calculateVersionLocaleStatuses, toSnakeCase } from '../shared.js';
2
- import { migrateMainCollectionStatus } from './migrateMainCollection.js';
3
- import { migrateMainGlobalStatus } from './migrateMainGlobal.js';
4
- export async function up(args) {
5
- const { collectionSlug, db, globalSlug, payload, req, sql } = args;
6
- if (!collectionSlug && !globalSlug) {
7
- throw new Error('Either collectionSlug or globalSlug must be provided');
8
- }
9
- if (collectionSlug && globalSlug) {
10
- throw new Error('Cannot provide both collectionSlug and globalSlug');
11
- }
12
- const entitySlug = collectionSlug || globalSlug;
13
- // Convert camelCase slugs to snake_case and add version prefix/suffix
14
- const versionsTable = collectionSlug ? `_${toSnakeCase(collectionSlug)}_v` : `_${toSnakeCase(globalSlug)}_v`;
15
- const localesTable = `${versionsTable}_locales`;
16
- if (!payload.config.localization) {
17
- throw new Error('Localization is not enabled in payload config');
18
- }
19
- // Check if versions are enabled on this collection/global
20
- let entityConfig;
21
- if (collectionSlug) {
22
- const collection = payload.config.collections.find((c)=>c.slug === collectionSlug);
23
- if (collection) {
24
- entityConfig = collection;
25
- }
26
- } else if (globalSlug) {
27
- const global = payload.config.globals.find((g)=>g.slug === globalSlug);
28
- if (global) {
29
- entityConfig = global;
30
- }
31
- }
32
- if (!entityConfig) {
33
- throw new Error(`${collectionSlug ? 'Collection' : 'Global'} not found: ${collectionSlug || globalSlug}`);
34
- }
35
- payload.logger.info({
36
- msg: `Starting _status localization migration for ${collectionSlug ? 'collection' : 'global'}: ${entitySlug}`
37
- });
38
- // Get filtered locales if filterAvailableLocales is defined
39
- let locales = payload.config.localization.localeCodes;
40
- if (typeof payload.config.localization.filterAvailableLocales === 'function') {
41
- const filteredLocaleObjects = await payload.config.localization.filterAvailableLocales({
42
- locales: payload.config.localization.locales,
43
- req
44
- });
45
- locales = filteredLocaleObjects.map((locale)=>locale.code);
46
- }
47
- payload.logger.info({
48
- msg: `Locales: ${locales.join(', ')}`
49
- });
50
- // Check if versions are enabled in config (skip if not)
51
- if (!entityConfig.versions) {
52
- payload.logger.info({
53
- msg: `Skipping migration for ${collectionSlug ? 'collection' : 'global'}: ${entitySlug} - versions not enabled`
54
- });
55
- return;
56
- }
57
- // Validate that version__status column exists before proceeding
58
- const columnCheckResult = await db.execute({
59
- drizzle: db.drizzle,
60
- sql: sql`
61
- SELECT EXISTS (
62
- SELECT FROM information_schema.columns
63
- WHERE table_schema = 'public'
64
- AND table_name = ${versionsTable}
65
- AND column_name = 'version__status'
66
- ) as exists
67
- `
68
- });
69
- if (!columnCheckResult.rows[0]?.exists) {
70
- throw new Error(`Migration aborted: version__status column not found in ${versionsTable} table. ` + `This migration should only run on schemas that have NOT yet been migrated to per-locale status. ` + `If you've already run this migration, no action is needed.`);
71
- }
72
- // 1. Check if the locales table exists
73
- const localesTableCheckResult = await db.execute({
74
- drizzle: db.drizzle,
75
- sql: sql`
76
- SELECT EXISTS (
77
- SELECT FROM information_schema.tables
78
- WHERE table_schema = 'public'
79
- AND table_name = ${localesTable}
80
- ) as exists
81
- `
82
- });
83
- const localesTableExists = localesTableCheckResult.rows[0]?.exists;
84
- if (!localesTableExists) {
85
- // SCENARIO 1: Create the locales table (first localized field in versions)
86
- payload.logger.info({
87
- msg: `Creating new locales table: ${localesTable}`
88
- });
89
- await db.execute({
90
- drizzle: db.drizzle,
91
- sql: sql`
92
- CREATE TABLE ${sql.identifier(localesTable)} (
93
- id SERIAL PRIMARY KEY,
94
- _locale VARCHAR NOT NULL,
95
- _parent_id INTEGER NOT NULL,
96
- version__status VARCHAR,
97
- UNIQUE(_locale, _parent_id),
98
- FOREIGN KEY (_parent_id) REFERENCES ${sql.identifier(versionsTable)}(id) ON DELETE CASCADE
99
- )
100
- `
101
- });
102
- // Create one row per locale per version record
103
- // Simple approach: copy the same status to all locales
104
- for (const locale of locales){
105
- const inserted = await db.execute({
106
- drizzle: db.drizzle,
107
- sql: sql`
108
- INSERT INTO ${sql.identifier(localesTable)} (_locale, _parent_id, version__status)
109
- SELECT ${locale}, id, version__status
110
- FROM ${sql.identifier(versionsTable)}
111
- RETURNING id
112
- `
113
- });
114
- payload.logger.info({
115
- msg: `Inserted ${inserted.length} rows for locale: ${locale}`
116
- });
117
- }
118
- } else {
119
- // SCENARIO 2: Add version__status column to existing locales table
120
- payload.logger.info({
121
- msg: `Adding version__status column to existing table: ${localesTable}`
122
- });
123
- await db.execute({
124
- drizzle: db.drizzle,
125
- sql: sql`
126
- ALTER TABLE ${sql.identifier(localesTable)} ADD COLUMN version__status VARCHAR
127
- `
128
- });
129
- // INTELLIGENT DATA MIGRATION using historical publishedLocale data
130
- payload.logger.info({
131
- msg: 'Processing version history to determine status per locale...'
132
- });
133
- // First, get the list of locales that actually exist in the locales table
134
- // This is important because the config may have more locales defined than what's in the OLD schema
135
- const existingLocalesResult = await db.execute({
136
- drizzle: db.drizzle,
137
- sql: sql`
138
- SELECT DISTINCT _locale
139
- FROM ${sql.identifier(localesTable)}
140
- ORDER BY _locale
141
- `
142
- });
143
- const existingLocales = existingLocalesResult.rows.map((row)=>row._locale);
144
- payload.logger.info({
145
- msg: `Found existing locales in table: ${existingLocales.join(', ')}`
146
- });
147
- // Get all version records grouped by parent document, ordered chronologically
148
- const versionsResult = await db.execute({
149
- drizzle: db.drizzle,
150
- sql: sql`
151
- SELECT id, parent_id as parent, version__status as _status, published_locale, snapshot, created_at
152
- FROM ${sql.identifier(versionsTable)}
153
- ORDER BY parent_id, created_at ASC
154
- `
155
- });
156
- // Use shared function to calculate version locale statuses
157
- // Only process locales that actually exist in the locales table
158
- const versionLocaleStatus = calculateVersionLocaleStatuses(versionsResult.rows, existingLocales, payload);
159
- // Now update the locales table with the calculated status for each version
160
- payload.logger.info({
161
- msg: 'Updating locales table with calculated statuses...'
162
- });
163
- let updateCount = 0;
164
- for (const [versionId, localeMap] of versionLocaleStatus.entries()){
165
- for (const [locale, status] of localeMap.entries()){
166
- await db.execute({
167
- drizzle: db.drizzle,
168
- sql: sql`
169
- UPDATE ${sql.identifier(localesTable)}
170
- SET version__status = ${status}
171
- WHERE _parent_id = ${versionId}
172
- AND _locale = ${locale}
173
- `
174
- });
175
- updateCount++;
176
- }
177
- }
178
- payload.logger.info({
179
- msg: `Updated ${updateCount} locale rows with status`
180
- });
181
- }
182
- // 3. Drop the old version__status column from main versions table
183
- await db.execute({
184
- drizzle: db.drizzle,
185
- sql: sql`
186
- ALTER TABLE ${sql.identifier(versionsTable)} DROP COLUMN version__status
187
- `
188
- });
189
- // 4. Create and populate _status column in main collection/global locales table
190
- // With localizeStatus enabled, _status is a localized field stored in the collection's locales table
191
- // We need to create this column and populate it based on the latest version status per locale
192
- const mainTable = collectionSlug ? toSnakeCase(collectionSlug) : toSnakeCase(globalSlug);
193
- const mainLocalesTable = `${mainTable}_locales`;
194
- const localesTableCheck = await db.execute({
195
- drizzle: db.drizzle,
196
- sql: sql`
197
- SELECT EXISTS (
198
- SELECT FROM information_schema.tables
199
- WHERE table_schema = 'public'
200
- AND table_name = ${mainLocalesTable}
201
- ) as exists
202
- `
203
- });
204
- if (localesTableCheck.rows[0]?.exists) {
205
- // Check if _status column already exists in the locales table
206
- const statusColumnCheck = await db.execute({
207
- drizzle: db.drizzle,
208
- sql: sql`
209
- SELECT EXISTS (
210
- SELECT FROM information_schema.columns
211
- WHERE table_schema = 'public'
212
- AND table_name = ${mainLocalesTable}
213
- AND column_name = '_status'
214
- ) as exists
215
- `
216
- });
217
- if (!statusColumnCheck.rows[0]?.exists) {
218
- // Add _status column to locales table
219
- await db.execute({
220
- drizzle: db.drizzle,
221
- sql: sql`
222
- ALTER TABLE ${sql.identifier(mainLocalesTable)}
223
- ADD COLUMN _status VARCHAR DEFAULT 'draft'
224
- `
225
- });
226
- }
227
- // Now populate the _status values from the latest version
228
- if (collectionSlug) {
229
- await migrateMainCollectionStatus({
230
- collectionSlug,
231
- db,
232
- locales,
233
- payload,
234
- sql,
235
- versionsTable
236
- });
237
- } else if (globalSlug) {
238
- await migrateMainGlobalStatus({
239
- db,
240
- globalSlug,
241
- locales,
242
- payload,
243
- sql,
244
- versionsTable
245
- });
246
- }
247
- } else {
248
- payload.logger.info({
249
- msg: `No locales table found: ${mainLocalesTable} (collection/global not localized)`
250
- });
251
- }
252
- // 5. Drop _status from main table if it exists (it will be in locales table now)
253
- const mainTableStatusCheck = await db.execute({
254
- drizzle: db.drizzle,
255
- sql: sql`
256
- SELECT EXISTS (
257
- SELECT FROM information_schema.columns
258
- WHERE table_schema = 'public'
259
- AND table_name = ${mainTable}
260
- AND column_name = '_status'
261
- ) as exists
262
- `
263
- });
264
- if (mainTableStatusCheck.rows[0]?.exists) {
265
- await db.execute({
266
- drizzle: db.drizzle,
267
- sql: sql`
268
- ALTER TABLE ${sql.identifier(mainTable)} DROP COLUMN _status
269
- `
270
- });
271
- }
272
- payload.logger.info({
273
- msg: 'Migration completed successfully'
274
- });
275
- }
276
-
277
- //# sourceMappingURL=up.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/versions/migrations/localizeStatus/sql/up.ts"],"sourcesContent":["import type { Payload } from '../../../../types/index.js'\n\nimport { calculateVersionLocaleStatuses, toSnakeCase } from '../shared.js'\nimport { migrateMainCollectionStatus } from './migrateMainCollection.js'\nimport { migrateMainGlobalStatus } from './migrateMainGlobal.js'\n\nexport type LocalizeStatusArgs = {\n collectionSlug?: string\n db: any\n globalSlug?: string\n payload: Payload\n req?: any\n sql: any\n}\n\nexport async function up(args: LocalizeStatusArgs): Promise<void> {\n const { collectionSlug, db, globalSlug, payload, req, sql } = 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 // Convert camelCase slugs to snake_case and add version prefix/suffix\n const versionsTable = collectionSlug\n ? `_${toSnakeCase(collectionSlug)}_v`\n : `_${toSnakeCase(globalSlug!)}_v`\n const localesTable = `${versionsTable}_locales`\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 // 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 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 // Validate that version__status column exists before proceeding\n const columnCheckResult = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n SELECT EXISTS (\n SELECT FROM information_schema.columns\n WHERE table_schema = 'public'\n AND table_name = ${versionsTable}\n AND column_name = 'version__status'\n ) as exists\n `,\n })\n\n if (!columnCheckResult.rows[0]?.exists) {\n throw new Error(\n `Migration aborted: version__status column not found in ${versionsTable} table. ` +\n `This migration should only run on schemas that have NOT yet been migrated to per-locale status. ` +\n `If you've already run this migration, no action is needed.`,\n )\n }\n\n // 1. Check if the locales table exists\n const localesTableCheckResult = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n SELECT EXISTS (\n SELECT FROM information_schema.tables\n WHERE table_schema = 'public'\n AND table_name = ${localesTable}\n ) as exists\n `,\n })\n\n const localesTableExists = localesTableCheckResult.rows[0]?.exists\n\n if (!localesTableExists) {\n // SCENARIO 1: Create the locales table (first localized field in versions)\n payload.logger.info({ msg: `Creating new locales table: ${localesTable}` })\n\n await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n CREATE TABLE ${sql.identifier(localesTable)} (\n id SERIAL PRIMARY KEY,\n _locale VARCHAR NOT NULL,\n _parent_id INTEGER NOT NULL,\n version__status VARCHAR,\n UNIQUE(_locale, _parent_id),\n FOREIGN KEY (_parent_id) REFERENCES ${sql.identifier(versionsTable)}(id) ON DELETE CASCADE\n )\n `,\n })\n\n // Create one row per locale per version record\n // Simple approach: copy the same status to all locales\n for (const locale of locales) {\n const inserted = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n INSERT INTO ${sql.identifier(localesTable)} (_locale, _parent_id, version__status)\n SELECT ${locale}, id, version__status\n FROM ${sql.identifier(versionsTable)}\n RETURNING id\n `,\n })\n payload.logger.info({\n msg: `Inserted ${inserted.length} rows for locale: ${locale}`,\n })\n }\n } else {\n // SCENARIO 2: Add version__status column to existing locales table\n payload.logger.info({ msg: `Adding version__status column to existing table: ${localesTable}` })\n\n await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n ALTER TABLE ${sql.identifier(localesTable)} ADD COLUMN version__status VARCHAR\n `,\n })\n\n // INTELLIGENT DATA MIGRATION using historical publishedLocale data\n payload.logger.info({ msg: 'Processing version history to determine status per locale...' })\n\n // First, get the list of locales that actually exist in the locales table\n // This is important because the config may have more locales defined than what's in the OLD schema\n const existingLocalesResult = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n SELECT DISTINCT _locale\n FROM ${sql.identifier(localesTable)}\n ORDER BY _locale\n `,\n })\n const existingLocales = existingLocalesResult.rows.map((row: any) => row._locale as string)\n payload.logger.info({\n msg: `Found existing locales in table: ${existingLocales.join(', ')}`,\n })\n\n // Get all version records grouped by parent document, ordered chronologically\n const versionsResult = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n SELECT id, parent_id as parent, version__status as _status, published_locale, snapshot, created_at\n FROM ${sql.identifier(versionsTable)}\n ORDER BY parent_id, created_at ASC\n `,\n })\n\n // Use shared function to calculate version locale statuses\n // Only process locales that actually exist in the locales table\n const versionLocaleStatus = calculateVersionLocaleStatuses(\n versionsResult.rows,\n existingLocales,\n payload,\n )\n\n // Now update the locales table with the calculated status for each version\n payload.logger.info({ msg: 'Updating locales table with calculated statuses...' })\n\n let updateCount = 0\n for (const [versionId, localeMap] of versionLocaleStatus.entries()) {\n for (const [locale, status] of localeMap.entries()) {\n await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n UPDATE ${sql.identifier(localesTable)}\n SET version__status = ${status}\n WHERE _parent_id = ${versionId}\n AND _locale = ${locale}\n `,\n })\n updateCount++\n }\n }\n\n payload.logger.info({ msg: `Updated ${updateCount} locale rows with status` })\n }\n\n // 3. Drop the old version__status column from main versions table\n await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n ALTER TABLE ${sql.identifier(versionsTable)} DROP COLUMN version__status\n `,\n })\n\n // 4. Create and populate _status column in main collection/global locales table\n // With localizeStatus enabled, _status is a localized field stored in the collection's locales table\n // We need to create this column and populate it based on the latest version status per locale\n const mainTable = collectionSlug ? toSnakeCase(collectionSlug) : toSnakeCase(globalSlug!)\n const mainLocalesTable = `${mainTable}_locales`\n\n const localesTableCheck = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n SELECT EXISTS (\n SELECT FROM information_schema.tables\n WHERE table_schema = 'public'\n AND table_name = ${mainLocalesTable}\n ) as exists\n `,\n })\n\n if (localesTableCheck.rows[0]?.exists) {\n // Check if _status column already exists in the locales table\n const statusColumnCheck = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n SELECT EXISTS (\n SELECT FROM information_schema.columns\n WHERE table_schema = 'public'\n AND table_name = ${mainLocalesTable}\n AND column_name = '_status'\n ) as exists\n `,\n })\n\n if (!statusColumnCheck.rows[0]?.exists) {\n // Add _status column to locales table\n await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n ALTER TABLE ${sql.identifier(mainLocalesTable)}\n ADD COLUMN _status VARCHAR DEFAULT 'draft'\n `,\n })\n }\n\n // Now populate the _status values from the latest version\n if (collectionSlug) {\n await migrateMainCollectionStatus({\n collectionSlug,\n db,\n locales,\n payload,\n sql,\n versionsTable,\n })\n } else if (globalSlug) {\n await migrateMainGlobalStatus({ db, globalSlug, locales, payload, sql, versionsTable })\n }\n } else {\n payload.logger.info({\n msg: `No locales table found: ${mainLocalesTable} (collection/global not localized)`,\n })\n }\n\n // 5. Drop _status from main table if it exists (it will be in locales table now)\n const mainTableStatusCheck = await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n SELECT EXISTS (\n SELECT FROM information_schema.columns\n WHERE table_schema = 'public'\n AND table_name = ${mainTable}\n AND column_name = '_status'\n ) as exists\n `,\n })\n\n if (mainTableStatusCheck.rows[0]?.exists) {\n await db.execute({\n drizzle: db.drizzle,\n sql: sql`\n ALTER TABLE ${sql.identifier(mainTable)} DROP COLUMN _status\n `,\n })\n }\n\n payload.logger.info({ msg: 'Migration completed successfully' })\n}\n"],"names":["calculateVersionLocaleStatuses","toSnakeCase","migrateMainCollectionStatus","migrateMainGlobalStatus","up","args","collectionSlug","db","globalSlug","payload","req","sql","Error","entitySlug","versionsTable","localesTable","config","localization","entityConfig","collection","collections","find","c","slug","global","globals","g","logger","info","msg","locales","localeCodes","filterAvailableLocales","filteredLocaleObjects","map","locale","code","join","versions","columnCheckResult","execute","drizzle","rows","exists","localesTableCheckResult","localesTableExists","identifier","inserted","length","existingLocalesResult","existingLocales","row","_locale","versionsResult","versionLocaleStatus","updateCount","versionId","localeMap","entries","status","mainTable","mainLocalesTable","localesTableCheck","statusColumnCheck","mainTableStatusCheck"],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import type { SanitizedCollectionConfig } from '../collections/config/types.js';
2
- import type { SanitizedGlobalConfig } from '../globals/config/types.js';
3
- import type { Payload, TypeWithVersion } from '../index.js';
4
- import type { JsonObject, PayloadRequest, SelectType } from '../types/index.js';
5
- type Args<T extends JsonObject = JsonObject> = {
6
- autosave?: boolean;
7
- collection?: SanitizedCollectionConfig;
8
- data?: T;
9
- global?: SanitizedGlobalConfig;
10
- id?: number | string;
11
- payload: Payload;
12
- publishSpecificLocale?: string;
13
- req?: PayloadRequest;
14
- select?: SelectType;
15
- };
16
- export declare const saveSnapshot: <T extends JsonObject = JsonObject>({ id, autosave, collection, data, global, payload, publishSpecificLocale, req, select, }: Args<T>) => Promise<Omit<TypeWithVersion<T>, "parent"> | TypeWithVersion<T> | undefined>;
17
- export {};
18
- //# sourceMappingURL=saveSnapshot.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"saveSnapshot.d.ts","sourceRoot":"","sources":["../../src/versions/saveSnapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAK/E,KAAK,IAAI,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,IAAI,CAAC,EAAE,CAAC,CAAA;IACR,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,YAAY,GAAU,CAAC,SAAS,UAAU,yGAUpD,IAAI,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,CAqCvF,CAAA"}
@@ -1,38 +0,0 @@
1
- import { deepCopyObjectSimple } from '../index.js';
2
- import { getQueryDraftsSelect } from './drafts/getQueryDraftsSelect.js';
3
- export const saveSnapshot = async ({ id, autosave, collection, data, global, payload, publishSpecificLocale, req, select })=>{
4
- const docData = deepCopyObjectSimple(data || {});
5
- if (docData._id) {
6
- delete docData._id;
7
- }
8
- const snapshotDate = new Date().toISOString();
9
- const sharedCreateVersionArgs = {
10
- autosave: Boolean(autosave),
11
- createdAt: snapshotDate,
12
- publishedLocale: publishSpecificLocale || undefined,
13
- req,
14
- returning: false,
15
- select: getQueryDraftsSelect({
16
- select
17
- }),
18
- updatedAt: snapshotDate,
19
- versionData: docData
20
- };
21
- if (collection && id) {
22
- return payload.db.createVersion({
23
- ...sharedCreateVersionArgs,
24
- collectionSlug: collection.slug,
25
- parent: id,
26
- snapshot: true
27
- });
28
- }
29
- if (global) {
30
- return payload.db.createGlobalVersion({
31
- ...sharedCreateVersionArgs,
32
- globalSlug: global.slug,
33
- snapshot: true
34
- });
35
- }
36
- };
37
-
38
- //# sourceMappingURL=saveSnapshot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/versions/saveSnapshot.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { Payload, TypeWithVersion } from '../index.js'\nimport type { JsonObject, PayloadRequest, SelectType } from '../types/index.js'\n\nimport { deepCopyObjectSimple } from '../index.js'\nimport { getQueryDraftsSelect } from './drafts/getQueryDraftsSelect.js'\n\ntype Args<T extends JsonObject = JsonObject> = {\n autosave?: boolean\n collection?: SanitizedCollectionConfig\n data?: T\n global?: SanitizedGlobalConfig\n id?: number | string\n payload: Payload\n publishSpecificLocale?: string\n req?: PayloadRequest\n select?: SelectType\n}\n\nexport const saveSnapshot = async <T extends JsonObject = JsonObject>({\n id,\n autosave,\n collection,\n data,\n global,\n payload,\n publishSpecificLocale,\n req,\n select,\n}: Args<T>): Promise<Omit<TypeWithVersion<T>, 'parent'> | TypeWithVersion<T> | undefined> => {\n const docData: {\n _status?: 'draft'\n } & T = deepCopyObjectSimple<T>(data || ({} as T))\n\n if (docData._id) {\n delete docData._id\n }\n\n const snapshotDate = new Date().toISOString()\n\n const sharedCreateVersionArgs = {\n autosave: Boolean(autosave),\n createdAt: snapshotDate,\n publishedLocale: publishSpecificLocale || undefined,\n req,\n returning: false,\n select: getQueryDraftsSelect({ select }),\n updatedAt: snapshotDate,\n versionData: docData,\n }\n\n if (collection && id) {\n return payload.db.createVersion<T>({\n ...sharedCreateVersionArgs,\n collectionSlug: collection.slug,\n parent: id,\n snapshot: true,\n })\n }\n if (global) {\n return payload.db.createGlobalVersion<T>({\n ...sharedCreateVersionArgs,\n globalSlug: global.slug,\n snapshot: true,\n })\n }\n}\n"],"names":["deepCopyObjectSimple","getQueryDraftsSelect","saveSnapshot","id","autosave","collection","data","global","payload","publishSpecificLocale","req","select","docData","_id","snapshotDate","Date","toISOString","sharedCreateVersionArgs","Boolean","createdAt","publishedLocale","undefined","returning","updatedAt","versionData","db","createVersion","collectionSlug","slug","parent","snapshot","createGlobalVersion","globalSlug"],"mappings":"AAKA,SAASA,oBAAoB,QAAQ,cAAa;AAClD,SAASC,oBAAoB,QAAQ,mCAAkC;AAcvE,OAAO,MAAMC,eAAe,OAA0C,EACpEC,EAAE,EACFC,QAAQ,EACRC,UAAU,EACVC,IAAI,EACJC,MAAM,EACNC,OAAO,EACPC,qBAAqB,EACrBC,GAAG,EACHC,MAAM,EACE;IACR,MAAMC,UAEEZ,qBAAwBM,QAAS,CAAC;IAE1C,IAAIM,QAAQC,GAAG,EAAE;QACf,OAAOD,QAAQC,GAAG;IACpB;IAEA,MAAMC,eAAe,IAAIC,OAAOC,WAAW;IAE3C,MAAMC,0BAA0B;QAC9Bb,UAAUc,QAAQd;QAClBe,WAAWL;QACXM,iBAAiBX,yBAAyBY;QAC1CX;QACAY,WAAW;QACXX,QAAQV,qBAAqB;YAAEU;QAAO;QACtCY,WAAWT;QACXU,aAAaZ;IACf;IAEA,IAAIP,cAAcF,IAAI;QACpB,OAAOK,QAAQiB,EAAE,CAACC,aAAa,CAAI;YACjC,GAAGT,uBAAuB;YAC1BU,gBAAgBtB,WAAWuB,IAAI;YAC/BC,QAAQ1B;YACR2B,UAAU;QACZ;IACF;IACA,IAAIvB,QAAQ;QACV,OAAOC,QAAQiB,EAAE,CAACM,mBAAmB,CAAI;YACvC,GAAGd,uBAAuB;YAC1Be,YAAYzB,OAAOqB,IAAI;YACvBE,UAAU;QACZ;IACF;AACF,EAAC"}