payload 4.0.0-internal.ea6e8f8 → 4.0.0-internal.ee5d8bd

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 (703) hide show
  1. package/dist/admin/adapters/router.d.ts +1 -1
  2. package/dist/admin/adapters/router.d.ts.map +1 -1
  3. package/dist/admin/adapters/router.js.map +1 -1
  4. package/dist/admin/forms/Diff.d.ts +0 -4
  5. package/dist/admin/forms/Diff.d.ts.map +1 -1
  6. package/dist/admin/forms/Diff.js.map +1 -1
  7. package/dist/admin/forms/Form.d.ts +0 -2
  8. package/dist/admin/forms/Form.d.ts.map +1 -1
  9. package/dist/admin/forms/Form.js.map +1 -1
  10. package/dist/admin/initAdminContext.d.ts.map +1 -1
  11. package/dist/admin/initAdminContext.js +0 -10
  12. package/dist/admin/initAdminContext.js.map +1 -1
  13. package/dist/auth/createAuthToken.d.ts +26 -0
  14. package/dist/auth/createAuthToken.d.ts.map +1 -0
  15. package/dist/auth/createAuthToken.js +39 -0
  16. package/dist/auth/createAuthToken.js.map +1 -0
  17. package/dist/auth/endpoints/refresh.d.ts.map +1 -1
  18. package/dist/auth/endpoints/refresh.js +2 -1
  19. package/dist/auth/endpoints/refresh.js.map +1 -1
  20. package/dist/auth/getFieldsToSign.js.map +1 -1
  21. package/dist/auth/loginWithCookie.d.ts.map +1 -1
  22. package/dist/auth/loginWithCookie.js +1 -0
  23. package/dist/auth/loginWithCookie.js.map +1 -1
  24. package/dist/auth/operations/local/login.d.ts.map +1 -1
  25. package/dist/auth/operations/local/login.js +1 -0
  26. package/dist/auth/operations/local/login.js.map +1 -1
  27. package/dist/auth/operations/login.d.ts +2 -0
  28. package/dist/auth/operations/login.d.ts.map +1 -1
  29. package/dist/auth/operations/login.js +6 -19
  30. package/dist/auth/operations/login.js.map +1 -1
  31. package/dist/auth/operations/refresh.d.ts +8 -0
  32. package/dist/auth/operations/refresh.d.ts.map +1 -1
  33. package/dist/auth/operations/refresh.js +50 -19
  34. package/dist/auth/operations/refresh.js.map +1 -1
  35. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  36. package/dist/auth/operations/resetPassword.js +54 -20
  37. package/dist/auth/operations/resetPassword.js.map +1 -1
  38. package/dist/auth/refreshAuthToken.d.ts +32 -0
  39. package/dist/auth/refreshAuthToken.d.ts.map +1 -0
  40. package/dist/auth/refreshAuthToken.js +113 -0
  41. package/dist/auth/refreshAuthToken.js.map +1 -0
  42. package/dist/auth/serverFunctions/cookies.js.map +1 -1
  43. package/dist/auth/serverFunctions/login.js.map +1 -1
  44. package/dist/auth/sessions.d.ts +9 -2
  45. package/dist/auth/sessions.d.ts.map +1 -1
  46. package/dist/auth/sessions.js +6 -5
  47. package/dist/auth/sessions.js.map +1 -1
  48. package/dist/auth/types.d.ts +25 -1
  49. package/dist/auth/types.d.ts.map +1 -1
  50. package/dist/auth/types.js.map +1 -1
  51. package/dist/cli/commands/data/utilities.d.ts +1 -1
  52. package/dist/cli/commands/data/utilities.d.ts.map +1 -1
  53. package/dist/cli/commands/data/utilities.js.map +1 -1
  54. package/dist/cli/defineCLICommand.js +1 -1
  55. package/dist/cli/defineCLICommand.js.map +1 -1
  56. package/dist/collections/config/client.d.ts +1 -1
  57. package/dist/collections/config/client.d.ts.map +1 -1
  58. package/dist/collections/config/client.js +0 -1
  59. package/dist/collections/config/client.js.map +1 -1
  60. package/dist/collections/config/defaults.d.ts +2 -0
  61. package/dist/collections/config/defaults.d.ts.map +1 -1
  62. package/dist/collections/config/defaults.js +4 -0
  63. package/dist/collections/config/defaults.js.map +1 -1
  64. package/dist/collections/config/sanitize.d.ts.map +1 -1
  65. package/dist/collections/config/sanitize.js +3 -0
  66. package/dist/collections/config/sanitize.js.map +1 -1
  67. package/dist/collections/config/sanitizeCompoundIndexes.d.ts.map +1 -1
  68. package/dist/collections/config/sanitizeCompoundIndexes.js +0 -9
  69. package/dist/collections/config/sanitizeCompoundIndexes.js.map +1 -1
  70. package/dist/collections/config/types.d.ts +4 -21
  71. package/dist/collections/config/types.d.ts.map +1 -1
  72. package/dist/collections/config/types.js.map +1 -1
  73. package/dist/collections/dataloader.d.ts +1 -10
  74. package/dist/collections/dataloader.d.ts.map +1 -1
  75. package/dist/collections/dataloader.js +6 -14
  76. package/dist/collections/dataloader.js.map +1 -1
  77. package/dist/collections/operations/create.d.ts.map +1 -1
  78. package/dist/collections/operations/create.js +0 -13
  79. package/dist/collections/operations/create.js.map +1 -1
  80. package/dist/collections/operations/delete.d.ts.map +1 -1
  81. package/dist/collections/operations/delete.js +121 -638
  82. package/dist/collections/operations/delete.js.map +1 -1
  83. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  84. package/dist/collections/operations/deleteByID.js +32 -238
  85. package/dist/collections/operations/deleteByID.js.map +1 -1
  86. package/dist/collections/operations/findByID.d.ts.map +1 -1
  87. package/dist/collections/operations/findByID.js +0 -6
  88. package/dist/collections/operations/findByID.js.map +1 -1
  89. package/dist/collections/operations/findDistinct.d.ts.map +1 -1
  90. package/dist/collections/operations/findDistinct.js +6 -7
  91. package/dist/collections/operations/findDistinct.js.map +1 -1
  92. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  93. package/dist/collections/operations/findVersionByID.js +7 -0
  94. package/dist/collections/operations/findVersionByID.js.map +1 -1
  95. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  96. package/dist/collections/operations/findVersions.js +5 -0
  97. package/dist/collections/operations/findVersions.js.map +1 -1
  98. package/dist/collections/operations/local/count.d.ts +4 -9
  99. package/dist/collections/operations/local/count.d.ts.map +1 -1
  100. package/dist/collections/operations/local/count.js.map +1 -1
  101. package/dist/collections/operations/local/countVersions.d.ts +0 -4
  102. package/dist/collections/operations/local/countVersions.d.ts.map +1 -1
  103. package/dist/collections/operations/local/countVersions.js.map +1 -1
  104. package/dist/collections/operations/local/create.d.ts +4 -9
  105. package/dist/collections/operations/local/create.d.ts.map +1 -1
  106. package/dist/collections/operations/local/create.js.map +1 -1
  107. package/dist/collections/operations/local/delete.d.ts +4 -9
  108. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  109. package/dist/collections/operations/local/delete.js.map +1 -1
  110. package/dist/collections/operations/local/duplicate.d.ts +0 -5
  111. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  112. package/dist/collections/operations/local/duplicate.js.map +1 -1
  113. package/dist/collections/operations/local/find.d.ts +4 -9
  114. package/dist/collections/operations/local/find.d.ts.map +1 -1
  115. package/dist/collections/operations/local/find.js.map +1 -1
  116. package/dist/collections/operations/local/findByID.d.ts +4 -9
  117. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  118. package/dist/collections/operations/local/findByID.js.map +1 -1
  119. package/dist/collections/operations/local/findDistinct.d.ts +0 -5
  120. package/dist/collections/operations/local/findDistinct.d.ts.map +1 -1
  121. package/dist/collections/operations/local/findDistinct.js.map +1 -1
  122. package/dist/collections/operations/local/findVersionByID.d.ts +0 -5
  123. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  124. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  125. package/dist/collections/operations/local/findVersions.d.ts +0 -5
  126. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  127. package/dist/collections/operations/local/findVersions.js.map +1 -1
  128. package/dist/collections/operations/local/restoreVersion.d.ts +0 -5
  129. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  130. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  131. package/dist/collections/operations/local/update.d.ts +4 -9
  132. package/dist/collections/operations/local/update.d.ts.map +1 -1
  133. package/dist/collections/operations/local/update.js.map +1 -1
  134. package/dist/collections/operations/renameFile.js +1 -1
  135. package/dist/collections/operations/renameFile.js.map +1 -1
  136. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  137. package/dist/collections/operations/restoreVersion.js +76 -157
  138. package/dist/collections/operations/restoreVersion.js.map +1 -1
  139. package/dist/collections/operations/update.d.ts.map +1 -1
  140. package/dist/collections/operations/update.js +171 -357
  141. package/dist/collections/operations/update.js.map +1 -1
  142. package/dist/collections/operations/updateByID.d.ts +0 -15
  143. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  144. package/dist/collections/operations/updateByID.js +60 -265
  145. package/dist/collections/operations/updateByID.js.map +1 -1
  146. package/dist/collections/operations/utilities/buildBeforeOperation.d.ts.map +1 -1
  147. package/dist/collections/operations/utilities/buildBeforeOperation.js +0 -7
  148. package/dist/collections/operations/utilities/buildBeforeOperation.js.map +1 -1
  149. package/dist/collections/operations/utilities/update.d.ts +1 -14
  150. package/dist/collections/operations/utilities/update.d.ts.map +1 -1
  151. package/dist/collections/operations/utilities/update.js +20 -92
  152. package/dist/collections/operations/utilities/update.js.map +1 -1
  153. package/dist/collections/operations/validate.js +4 -4
  154. package/dist/collections/operations/validate.js.map +1 -1
  155. package/dist/config/client.d.ts +1 -3
  156. package/dist/config/client.d.ts.map +1 -1
  157. package/dist/config/client.js +1 -9
  158. package/dist/config/client.js.map +1 -1
  159. package/dist/config/defaults.d.ts.map +1 -1
  160. package/dist/config/defaults.js +1 -0
  161. package/dist/config/defaults.js.map +1 -1
  162. package/dist/config/definePlugin.js.map +1 -1
  163. package/dist/config/sanitize.d.ts.map +1 -1
  164. package/dist/config/sanitize.js +2 -40
  165. package/dist/config/sanitize.js.map +1 -1
  166. package/dist/config/types.d.ts +13 -21
  167. package/dist/config/types.d.ts.map +1 -1
  168. package/dist/config/types.js.map +1 -1
  169. package/dist/database/defaultCopy.d.ts.map +1 -1
  170. package/dist/database/defaultCopy.js +0 -1
  171. package/dist/database/defaultCopy.js.map +1 -1
  172. package/dist/database/types.d.ts +4 -75
  173. package/dist/database/types.d.ts.map +1 -1
  174. package/dist/database/types.js.map +1 -1
  175. package/dist/exports/build-config.d.ts +9 -0
  176. package/dist/exports/build-config.d.ts.map +1 -0
  177. package/dist/exports/build-config.js +38 -0
  178. package/dist/exports/build-config.js.map +1 -0
  179. package/dist/exports/shared.d.ts +0 -2
  180. package/dist/exports/shared.d.ts.map +1 -1
  181. package/dist/exports/shared.js +0 -2
  182. package/dist/exports/shared.js.map +1 -1
  183. package/dist/fields/baseFields/authorship/index.d.ts +1 -2
  184. package/dist/fields/baseFields/authorship/index.d.ts.map +1 -1
  185. package/dist/fields/baseFields/authorship/index.js +0 -12
  186. package/dist/fields/baseFields/authorship/index.js.map +1 -1
  187. package/dist/fields/config/client.js.map +1 -1
  188. package/dist/fields/config/reservedFieldNames.d.ts.map +1 -1
  189. package/dist/fields/config/reservedFieldNames.js.map +1 -1
  190. package/dist/fields/config/types.d.ts.map +1 -1
  191. package/dist/fields/config/types.js.map +1 -1
  192. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  193. package/dist/fields/hooks/afterRead/index.d.ts +0 -8
  194. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  195. package/dist/fields/hooks/afterRead/index.js +2 -6
  196. package/dist/fields/hooks/afterRead/index.js.map +1 -1
  197. package/dist/fields/hooks/afterRead/promise.d.ts +1 -3
  198. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  199. package/dist/fields/hooks/afterRead/promise.js +17 -41
  200. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  201. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  202. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +0 -2
  203. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -1
  204. package/dist/fields/hooks/afterRead/traverseFields.d.ts +1 -3
  205. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  206. package/dist/fields/hooks/afterRead/traverseFields.js +2 -4
  207. package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
  208. package/dist/fields/hooks/afterRead/virtualFieldPopulationPromise.d.ts.map +1 -1
  209. package/dist/fields/hooks/afterRead/virtualFieldPopulationPromise.js +0 -3
  210. package/dist/fields/hooks/afterRead/virtualFieldPopulationPromise.js.map +1 -1
  211. package/dist/fields/hooks/beforeChange/flattenValidationData.d.ts +14 -0
  212. package/dist/fields/hooks/beforeChange/flattenValidationData.d.ts.map +1 -0
  213. package/dist/fields/hooks/beforeChange/flattenValidationData.js +36 -0
  214. package/dist/fields/hooks/beforeChange/flattenValidationData.js.map +1 -0
  215. package/dist/fields/hooks/beforeChange/promise.d.ts +2 -1
  216. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  217. package/dist/fields/hooks/beforeChange/promise.js +96 -22
  218. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  219. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +2 -1
  220. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  221. package/dist/fields/hooks/beforeChange/traverseFields.js +2 -1
  222. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
  223. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  224. package/dist/fields/hooks/beforeValidate/promise.js +0 -8
  225. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  226. package/dist/fields/validations.d.ts.map +1 -1
  227. package/dist/fields/validations.js +4 -1
  228. package/dist/fields/validations.js.map +1 -1
  229. package/dist/globals/config/types.d.ts +2 -6
  230. package/dist/globals/config/types.d.ts.map +1 -1
  231. package/dist/globals/config/types.js.map +1 -1
  232. package/dist/globals/operations/countGlobalVersions.d.ts.map +1 -1
  233. package/dist/globals/operations/countGlobalVersions.js +0 -7
  234. package/dist/globals/operations/countGlobalVersions.js.map +1 -1
  235. package/dist/globals/operations/findOne.d.ts.map +1 -1
  236. package/dist/globals/operations/findOne.js +0 -7
  237. package/dist/globals/operations/findOne.js.map +1 -1
  238. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  239. package/dist/globals/operations/findVersionByID.js +6 -6
  240. package/dist/globals/operations/findVersionByID.js.map +1 -1
  241. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  242. package/dist/globals/operations/findVersions.js +4 -6
  243. package/dist/globals/operations/findVersions.js.map +1 -1
  244. package/dist/globals/operations/local/countVersions.d.ts +0 -5
  245. package/dist/globals/operations/local/countVersions.d.ts.map +1 -1
  246. package/dist/globals/operations/local/countVersions.js.map +1 -1
  247. package/dist/globals/operations/local/findOne.d.ts +0 -5
  248. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  249. package/dist/globals/operations/local/findOne.js.map +1 -1
  250. package/dist/globals/operations/local/findVersionByID.d.ts +0 -5
  251. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  252. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  253. package/dist/globals/operations/local/findVersions.d.ts +0 -5
  254. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  255. package/dist/globals/operations/local/findVersions.js.map +1 -1
  256. package/dist/globals/operations/local/restoreVersion.d.ts +0 -5
  257. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  258. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  259. package/dist/globals/operations/local/update.d.ts +0 -5
  260. package/dist/globals/operations/local/update.d.ts.map +1 -1
  261. package/dist/globals/operations/local/update.js +18 -61
  262. package/dist/globals/operations/local/update.js.map +1 -1
  263. package/dist/globals/operations/restoreVersion.d.ts +2 -3
  264. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  265. package/dist/globals/operations/restoreVersion.js +24 -61
  266. package/dist/globals/operations/restoreVersion.js.map +1 -1
  267. package/dist/globals/operations/update.d.ts.map +1 -1
  268. package/dist/globals/operations/update.js +8 -86
  269. package/dist/globals/operations/update.js.map +1 -1
  270. package/dist/globals/operations/validate.js +1 -1
  271. package/dist/globals/operations/validate.js.map +1 -1
  272. package/dist/hierarchy/addHierarchyToCollection.d.ts.map +1 -1
  273. package/dist/hierarchy/addHierarchyToCollection.js +32 -21
  274. package/dist/hierarchy/addHierarchyToCollection.js.map +1 -1
  275. package/dist/hierarchy/createFolderField.js.map +1 -1
  276. package/dist/hierarchy/getInitialTreeData.d.ts +1 -3
  277. package/dist/hierarchy/getInitialTreeData.d.ts.map +1 -1
  278. package/dist/hierarchy/getInitialTreeData.js +1 -4
  279. package/dist/hierarchy/getInitialTreeData.js.map +1 -1
  280. package/dist/hierarchy/resolveHierarchyCollections.js +9 -3
  281. package/dist/hierarchy/resolveHierarchyCollections.js.map +1 -1
  282. package/dist/hierarchy/utils/computePaths.d.ts.map +1 -1
  283. package/dist/hierarchy/utils/computePaths.js.map +1 -1
  284. package/dist/index.bundled.d.ts +4336 -5501
  285. package/dist/index.d.ts +27 -51
  286. package/dist/index.d.ts.map +1 -1
  287. package/dist/index.js +14 -37
  288. package/dist/index.js.map +1 -1
  289. package/dist/llm-instructions/getInstructionsCollection.d.ts.map +1 -1
  290. package/dist/llm-instructions/getInstructionsCollection.js +2 -0
  291. package/dist/llm-instructions/getInstructionsCollection.js.map +1 -1
  292. package/dist/preferences/keys.d.ts +4 -11
  293. package/dist/preferences/keys.d.ts.map +1 -1
  294. package/dist/preferences/keys.js +3 -10
  295. package/dist/preferences/keys.js.map +1 -1
  296. package/dist/preferences/types.d.ts +0 -19
  297. package/dist/preferences/types.d.ts.map +1 -1
  298. package/dist/preferences/types.js.map +1 -1
  299. package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js +1 -1
  300. package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js.map +1 -1
  301. package/dist/types/index.d.ts +0 -13
  302. package/dist/types/index.d.ts.map +1 -1
  303. package/dist/types/index.js.map +1 -1
  304. package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
  305. package/dist/uploads/deleteAssociatedFiles.js +29 -108
  306. package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
  307. package/dist/uploads/endpoints/getFile.d.ts.map +1 -1
  308. package/dist/uploads/endpoints/getFile.js +0 -5
  309. package/dist/uploads/endpoints/getFile.js.map +1 -1
  310. package/dist/uploads/fileExists.d.ts.map +1 -1
  311. package/dist/uploads/fileExists.js +2 -5
  312. package/dist/uploads/fileExists.js.map +1 -1
  313. package/dist/uploads/fileVersioning/archive.d.ts.map +1 -1
  314. package/dist/uploads/fileVersioning/archive.js +1 -15
  315. package/dist/uploads/fileVersioning/archive.js.map +1 -1
  316. package/dist/uploads/fileVersioning/cleanup.d.ts +0 -7
  317. package/dist/uploads/fileVersioning/cleanup.d.ts.map +1 -1
  318. package/dist/uploads/fileVersioning/cleanup.js +0 -12
  319. package/dist/uploads/fileVersioning/cleanup.js.map +1 -1
  320. package/dist/uploads/fileVersioning/cloudStorage.d.ts.map +1 -1
  321. package/dist/uploads/fileVersioning/cloudStorage.js +1 -16
  322. package/dist/uploads/fileVersioning/cloudStorage.js.map +1 -1
  323. package/dist/uploads/fileVersioning/resolveHistoricalFile.js.map +1 -1
  324. package/dist/uploads/formatFilesize.js +1 -1
  325. package/dist/uploads/formatFilesize.js.map +1 -1
  326. package/dist/uploads/generateFileData.d.ts +0 -5
  327. package/dist/uploads/generateFileData.d.ts.map +1 -1
  328. package/dist/uploads/generateFileData.js +2 -74
  329. package/dist/uploads/generateFileData.js.map +1 -1
  330. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  331. package/dist/uploads/getBaseFields.js +29 -46
  332. package/dist/uploads/getBaseFields.js.map +1 -1
  333. package/dist/uploads/getFileContentRequirement.js.map +1 -1
  334. package/dist/uploads/getFileFromUploadInstructions.js.map +1 -1
  335. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  336. package/dist/uploads/getSafeFilename.js +3 -5
  337. package/dist/uploads/getSafeFilename.js.map +1 -1
  338. package/dist/uploads/safeFetch.js.map +1 -1
  339. package/dist/uploads/stagedUpload.js.map +1 -1
  340. package/dist/uploads/transformers/handleDynamicFileRequest.js +11 -2
  341. package/dist/uploads/transformers/handleDynamicFileRequest.js.map +1 -1
  342. package/dist/uploads/types.d.ts +0 -11
  343. package/dist/uploads/types.d.ts.map +1 -1
  344. package/dist/uploads/types.js.map +1 -1
  345. package/dist/uploads/uploadFiles.d.ts +1 -4
  346. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  347. package/dist/uploads/uploadFiles.js +5 -29
  348. package/dist/uploads/uploadFiles.js.map +1 -1
  349. package/dist/utilities/addSelectGenericsToGeneretedTypes.d.ts.map +1 -1
  350. package/dist/utilities/addSelectGenericsToGeneretedTypes.js +0 -1
  351. package/dist/utilities/addSelectGenericsToGeneretedTypes.js.map +1 -1
  352. package/dist/utilities/appendDateTimezoneSelectFields.js.map +1 -1
  353. package/dist/utilities/assertNoValidationWrite.d.ts.map +1 -1
  354. package/dist/utilities/assertNoValidationWrite.js +0 -4
  355. package/dist/utilities/assertNoValidationWrite.js.map +1 -1
  356. package/dist/utilities/checkDocumentLockStatus.d.ts +6 -15
  357. package/dist/utilities/checkDocumentLockStatus.d.ts.map +1 -1
  358. package/dist/utilities/checkDocumentLockStatus.js +11 -44
  359. package/dist/utilities/checkDocumentLockStatus.js.map +1 -1
  360. package/dist/utilities/cloneValidationRequest.js.map +1 -1
  361. package/dist/utilities/commitTransaction.d.ts +0 -4
  362. package/dist/utilities/commitTransaction.d.ts.map +1 -1
  363. package/dist/utilities/commitTransaction.js +1 -41
  364. package/dist/utilities/commitTransaction.js.map +1 -1
  365. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  366. package/dist/utilities/configToJSONSchema.js +2 -18
  367. package/dist/utilities/configToJSONSchema.js.map +1 -1
  368. package/dist/utilities/createPayloadRequest.d.ts +0 -5
  369. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  370. package/dist/utilities/createPayloadRequest.js +3 -50
  371. package/dist/utilities/createPayloadRequest.js.map +1 -1
  372. package/dist/utilities/createPayloadRequestFromWebRequest.d.ts +12 -1
  373. package/dist/utilities/createPayloadRequestFromWebRequest.d.ts.map +1 -1
  374. package/dist/utilities/createPayloadRequestFromWebRequest.js +9 -5
  375. package/dist/utilities/createPayloadRequestFromWebRequest.js.map +1 -1
  376. package/dist/utilities/deepCopyObject.js.map +1 -1
  377. package/dist/utilities/documentMatchingWhereExists.js +1 -1
  378. package/dist/utilities/documentMatchingWhereExists.js.map +1 -1
  379. package/dist/utilities/entityInputSchema/validateEntityData.d.ts.map +1 -1
  380. package/dist/utilities/entityInputSchema/validateEntityData.js.map +1 -1
  381. package/dist/utilities/filterDataToSelectedLocales.js.map +1 -1
  382. package/dist/utilities/getEntityPermissions/getEntityPermissions.d.ts.map +1 -1
  383. package/dist/utilities/getEntityPermissions/getEntityPermissions.js +1 -0
  384. package/dist/utilities/getEntityPermissions/getEntityPermissions.js.map +1 -1
  385. package/dist/utilities/getEntityPermissions/populateFieldPermissions.js.map +1 -1
  386. package/dist/utilities/getVersionsConfig.d.ts +4 -0
  387. package/dist/utilities/getVersionsConfig.d.ts.map +1 -1
  388. package/dist/utilities/getVersionsConfig.js +5 -0
  389. package/dist/utilities/getVersionsConfig.js.map +1 -1
  390. package/dist/utilities/handleEndpoints.d.ts.map +1 -1
  391. package/dist/utilities/handleEndpoints.js +10 -9
  392. package/dist/utilities/handleEndpoints.js.map +1 -1
  393. package/dist/utilities/httpStatus.d.ts +0 -2
  394. package/dist/utilities/httpStatus.d.ts.map +1 -1
  395. package/dist/utilities/httpStatus.js +1 -3
  396. package/dist/utilities/httpStatus.js.map +1 -1
  397. package/dist/utilities/initTransaction.d.ts.map +1 -1
  398. package/dist/utilities/initTransaction.js +7 -35
  399. package/dist/utilities/initTransaction.js.map +1 -1
  400. package/dist/utilities/killTransaction.d.ts.map +1 -1
  401. package/dist/utilities/killTransaction.js +0 -27
  402. package/dist/utilities/killTransaction.js.map +1 -1
  403. package/dist/utilities/parseParams/index.js.map +1 -1
  404. package/dist/utilities/parseValidationLocale.js.map +1 -1
  405. package/dist/utilities/sanitizePopulateParam.js.map +1 -1
  406. package/dist/utilities/telemetry/conf/index.d.ts +4 -1
  407. package/dist/utilities/telemetry/conf/index.d.ts.map +1 -1
  408. package/dist/utilities/telemetry/conf/index.js.map +1 -1
  409. package/dist/utilities/telemetry/featureInfo/getFeatureInfo.js.map +1 -1
  410. package/dist/versions/allLocalesPublicationStatus.js.map +1 -1
  411. package/dist/versions/buildCollectionFields.d.ts.map +1 -1
  412. package/dist/versions/buildCollectionFields.js +0 -23
  413. package/dist/versions/buildCollectionFields.js.map +1 -1
  414. package/dist/versions/buildGlobalFields.d.ts.map +1 -1
  415. package/dist/versions/buildGlobalFields.js +0 -14
  416. package/dist/versions/buildGlobalFields.js.map +1 -1
  417. package/dist/versions/buildVersionCompoundIndexes.d.ts.map +1 -1
  418. package/dist/versions/buildVersionCompoundIndexes.js +2 -8
  419. package/dist/versions/buildVersionCompoundIndexes.js.map +1 -1
  420. package/dist/versions/deleteCollectionVersions.d.ts +1 -2
  421. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  422. package/dist/versions/deleteCollectionVersions.js +8 -37
  423. package/dist/versions/deleteCollectionVersions.js.map +1 -1
  424. package/dist/versions/deleteScheduledPublishJobs.d.ts.map +1 -1
  425. package/dist/versions/deleteScheduledPublishJobs.js +0 -4
  426. package/dist/versions/deleteScheduledPublishJobs.js.map +1 -1
  427. package/dist/versions/drafts/appendVersionToQueryKey.d.ts.map +1 -1
  428. package/dist/versions/drafts/appendVersionToQueryKey.js +1 -9
  429. package/dist/versions/drafts/appendVersionToQueryKey.js.map +1 -1
  430. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  431. package/dist/versions/drafts/replaceWithDraftIfAvailable.js +1 -8
  432. package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
  433. package/dist/versions/enforceMaxVersions.d.ts +0 -1
  434. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  435. package/dist/versions/enforceMaxVersions.js +6 -22
  436. package/dist/versions/enforceMaxVersions.js.map +1 -1
  437. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  438. package/dist/versions/getLatestCollectionVersion.js +2 -10
  439. package/dist/versions/getLatestCollectionVersion.js.map +1 -1
  440. package/dist/versions/getLatestGlobalVersion.d.ts +2 -6
  441. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  442. package/dist/versions/getLatestGlobalVersion.js +21 -65
  443. package/dist/versions/getLatestGlobalVersion.js.map +1 -1
  444. package/dist/versions/isInheritedReadVersionsAccess.js.map +1 -1
  445. package/dist/versions/saveVersion.d.ts +0 -7
  446. package/dist/versions/saveVersion.d.ts.map +1 -1
  447. package/dist/versions/saveVersion.js +4 -27
  448. package/dist/versions/saveVersion.js.map +1 -1
  449. package/dist/versions/updateLatestVersion.d.ts +0 -1
  450. package/dist/versions/updateLatestVersion.d.ts.map +1 -1
  451. package/dist/versions/updateLatestVersion.js +7 -24
  452. package/dist/versions/updateLatestVersion.js.map +1 -1
  453. package/package.json +30 -28
  454. package/skills/payload/reference/ENDPOINTS.md +3 -9
  455. package/skills/payload/reference/PLUGIN-DEVELOPMENT.md +4 -4
  456. package/dist/admin/getAdminPreferences.d.ts +0 -10
  457. package/dist/admin/getAdminPreferences.d.ts.map +0 -1
  458. package/dist/admin/getAdminPreferences.js +0 -53
  459. package/dist/admin/getAdminPreferences.js.map +0 -1
  460. package/dist/admin/getRequestBranch.d.ts +0 -6
  461. package/dist/admin/getRequestBranch.d.ts.map +0 -1
  462. package/dist/admin/getRequestBranch.js +0 -17
  463. package/dist/admin/getRequestBranch.js.map +0 -1
  464. package/dist/branching/appendBranchFilter.d.ts +0 -30
  465. package/dist/branching/appendBranchFilter.d.ts.map +0 -1
  466. package/dist/branching/appendBranchFilter.js +0 -105
  467. package/dist/branching/appendBranchFilter.js.map +0 -1
  468. package/dist/branching/assertBranchAccess.d.ts +0 -10
  469. package/dist/branching/assertBranchAccess.d.ts.map +0 -1
  470. package/dist/branching/assertBranchAccess.js +0 -36
  471. package/dist/branching/assertBranchAccess.js.map +0 -1
  472. package/dist/branching/assertBranchActionAccess.d.ts +0 -10
  473. package/dist/branching/assertBranchActionAccess.d.ts.map +0 -1
  474. package/dist/branching/assertBranchActionAccess.js +0 -15
  475. package/dist/branching/assertBranchActionAccess.js.map +0 -1
  476. package/dist/branching/assertBranchCreatedDocumentsUnreferenced.d.ts +0 -53
  477. package/dist/branching/assertBranchCreatedDocumentsUnreferenced.d.ts.map +0 -1
  478. package/dist/branching/assertBranchCreatedDocumentsUnreferenced.js +0 -833
  479. package/dist/branching/assertBranchCreatedDocumentsUnreferenced.js.map +0 -1
  480. package/dist/branching/assertBranchReadable.d.ts +0 -36
  481. package/dist/branching/assertBranchReadable.d.ts.map +0 -1
  482. package/dist/branching/assertBranchReadable.js +0 -83
  483. package/dist/branching/assertBranchReadable.js.map +0 -1
  484. package/dist/branching/assertBranchUpdateAccess.d.ts +0 -8
  485. package/dist/branching/assertBranchUpdateAccess.d.ts.map +0 -1
  486. package/dist/branching/assertBranchUpdateAccess.js +0 -12
  487. package/dist/branching/assertBranchUpdateAccess.js.map +0 -1
  488. package/dist/branching/assertBranchWritable.d.ts +0 -18
  489. package/dist/branching/assertBranchWritable.d.ts.map +0 -1
  490. package/dist/branching/assertBranchWritable.js +0 -46
  491. package/dist/branching/assertBranchWritable.js.map +0 -1
  492. package/dist/branching/branchIDs.d.ts +0 -38
  493. package/dist/branching/branchIDs.d.ts.map +0 -1
  494. package/dist/branching/branchIDs.js +0 -113
  495. package/dist/branching/branchIDs.js.map +0 -1
  496. package/dist/branching/branchSelect.d.ts +0 -42
  497. package/dist/branching/branchSelect.d.ts.map +0 -1
  498. package/dist/branching/branchSelect.js +0 -97
  499. package/dist/branching/branchSelect.js.map +0 -1
  500. package/dist/branching/checkFieldAccess.d.ts +0 -21
  501. package/dist/branching/checkFieldAccess.d.ts.map +0 -1
  502. package/dist/branching/checkFieldAccess.js +0 -238
  503. package/dist/branching/checkFieldAccess.js.map +0 -1
  504. package/dist/branching/collections.d.ts +0 -14
  505. package/dist/branching/collections.d.ts.map +0 -1
  506. package/dist/branching/collections.js +0 -713
  507. package/dist/branching/collections.js.map +0 -1
  508. package/dist/branching/combineBranchAccess.d.ts +0 -6
  509. package/dist/branching/combineBranchAccess.d.ts.map +0 -1
  510. package/dist/branching/combineBranchAccess.js +0 -22
  511. package/dist/branching/combineBranchAccess.js.map +0 -1
  512. package/dist/branching/copyUploadFilesToBranch.d.ts +0 -9
  513. package/dist/branching/copyUploadFilesToBranch.d.ts.map +0 -1
  514. package/dist/branching/copyUploadFilesToBranch.js +0 -126
  515. package/dist/branching/copyUploadFilesToBranch.js.map +0 -1
  516. package/dist/branching/createShadowRow.d.ts +0 -70
  517. package/dist/branching/createShadowRow.d.ts.map +0 -1
  518. package/dist/branching/createShadowRow.js +0 -296
  519. package/dist/branching/createShadowRow.js.map +0 -1
  520. package/dist/branching/discard.d.ts +0 -52
  521. package/dist/branching/discard.d.ts.map +0 -1
  522. package/dist/branching/discard.js +0 -428
  523. package/dist/branching/discard.js.map +0 -1
  524. package/dist/branching/effectiveOperations.d.ts +0 -55
  525. package/dist/branching/effectiveOperations.d.ts.map +0 -1
  526. package/dist/branching/effectiveOperations.js +0 -472
  527. package/dist/branching/effectiveOperations.js.map +0 -1
  528. package/dist/branching/endpoints/discard.d.ts +0 -15
  529. package/dist/branching/endpoints/discard.d.ts.map +0 -1
  530. package/dist/branching/endpoints/discard.js +0 -55
  531. package/dist/branching/endpoints/discard.js.map +0 -1
  532. package/dist/branching/endpoints/merge.d.ts +0 -34
  533. package/dist/branching/endpoints/merge.d.ts.map +0 -1
  534. package/dist/branching/endpoints/merge.js +0 -119
  535. package/dist/branching/endpoints/merge.js.map +0 -1
  536. package/dist/branching/forkDocument.d.ts +0 -20
  537. package/dist/branching/forkDocument.d.ts.map +0 -1
  538. package/dist/branching/forkDocument.js +0 -169
  539. package/dist/branching/forkDocument.js.map +0 -1
  540. package/dist/branching/globalMergeWrites.d.ts +0 -21
  541. package/dist/branching/globalMergeWrites.d.ts.map +0 -1
  542. package/dist/branching/globalMergeWrites.js +0 -146
  543. package/dist/branching/globalMergeWrites.js.map +0 -1
  544. package/dist/branching/globals.d.ts +0 -49
  545. package/dist/branching/globals.d.ts.map +0 -1
  546. package/dist/branching/globals.js +0 -197
  547. package/dist/branching/globals.js.map +0 -1
  548. package/dist/branching/hooks.d.ts +0 -24
  549. package/dist/branching/hooks.d.ts.map +0 -1
  550. package/dist/branching/hooks.js +0 -92
  551. package/dist/branching/hooks.js.map +0 -1
  552. package/dist/branching/injectBranchFields.d.ts +0 -40
  553. package/dist/branching/injectBranchFields.d.ts.map +0 -1
  554. package/dist/branching/injectBranchFields.js +0 -229
  555. package/dist/branching/injectBranchFields.js.map +0 -1
  556. package/dist/branching/merge/applyMergeChange.d.ts +0 -27
  557. package/dist/branching/merge/applyMergeChange.d.ts.map +0 -1
  558. package/dist/branching/merge/applyMergeChange.js +0 -853
  559. package/dist/branching/merge/applyMergeChange.js.map +0 -1
  560. package/dist/branching/merge/branchMergeStatus.d.ts +0 -12
  561. package/dist/branching/merge/branchMergeStatus.d.ts.map +0 -1
  562. package/dist/branching/merge/branchMergeStatus.js +0 -74
  563. package/dist/branching/merge/branchMergeStatus.js.map +0 -1
  564. package/dist/branching/merge/executeMerge.d.ts +0 -22
  565. package/dist/branching/merge/executeMerge.d.ts.map +0 -1
  566. package/dist/branching/merge/executeMerge.js +0 -600
  567. package/dist/branching/merge/executeMerge.js.map +0 -1
  568. package/dist/branching/merge/finalizeMerge.d.ts +0 -40
  569. package/dist/branching/merge/finalizeMerge.d.ts.map +0 -1
  570. package/dist/branching/merge/finalizeMerge.js +0 -237
  571. package/dist/branching/merge/finalizeMerge.js.map +0 -1
  572. package/dist/branching/merge/mergeLedger.d.ts +0 -40
  573. package/dist/branching/merge/mergeLedger.d.ts.map +0 -1
  574. package/dist/branching/merge/mergeLedger.js +0 -130
  575. package/dist/branching/merge/mergeLedger.js.map +0 -1
  576. package/dist/branching/merge/prepareMerge.d.ts +0 -41
  577. package/dist/branching/merge/prepareMerge.d.ts.map +0 -1
  578. package/dist/branching/merge/prepareMerge.js +0 -234
  579. package/dist/branching/merge/prepareMerge.js.map +0 -1
  580. package/dist/branching/merge/recoverMerge.d.ts +0 -16
  581. package/dist/branching/merge/recoverMerge.d.ts.map +0 -1
  582. package/dist/branching/merge/recoverMerge.js +0 -199
  583. package/dist/branching/merge/recoverMerge.js.map +0 -1
  584. package/dist/branching/merge/retryFailedCleanups.d.ts +0 -36
  585. package/dist/branching/merge/retryFailedCleanups.d.ts.map +0 -1
  586. package/dist/branching/merge/retryFailedCleanups.js +0 -335
  587. package/dist/branching/merge/retryFailedCleanups.js.map +0 -1
  588. package/dist/branching/merge/utilities.d.ts +0 -35
  589. package/dist/branching/merge/utilities.d.ts.map +0 -1
  590. package/dist/branching/merge/utilities.js +0 -54
  591. package/dist/branching/merge/utilities.js.map +0 -1
  592. package/dist/branching/merge.d.ts +0 -88
  593. package/dist/branching/merge.d.ts.map +0 -1
  594. package/dist/branching/merge.js +0 -163
  595. package/dist/branching/merge.js.map +0 -1
  596. package/dist/branching/mergeWriteGuard.d.ts +0 -20
  597. package/dist/branching/mergeWriteGuard.d.ts.map +0 -1
  598. package/dist/branching/mergeWriteGuard.js +0 -27
  599. package/dist/branching/mergeWriteGuard.js.map +0 -1
  600. package/dist/branching/preflight.d.ts +0 -71
  601. package/dist/branching/preflight.d.ts.map +0 -1
  602. package/dist/branching/preflight.js +0 -757
  603. package/dist/branching/preflight.js.map +0 -1
  604. package/dist/branching/readLocalizedBranchWrite.d.ts +0 -14
  605. package/dist/branching/readLocalizedBranchWrite.d.ts.map +0 -1
  606. package/dist/branching/readLocalizedBranchWrite.js +0 -90
  607. package/dist/branching/readLocalizedBranchWrite.js.map +0 -1
  608. package/dist/branching/readMergeSnapshot.d.ts +0 -18
  609. package/dist/branching/readMergeSnapshot.d.ts.map +0 -1
  610. package/dist/branching/readMergeSnapshot.js +0 -99
  611. package/dist/branching/readMergeSnapshot.js.map +0 -1
  612. package/dist/branching/resolveBranch.d.ts +0 -153
  613. package/dist/branching/resolveBranch.d.ts.map +0 -1
  614. package/dist/branching/resolveBranch.js +0 -363
  615. package/dist/branching/resolveBranch.js.map +0 -1
  616. package/dist/branching/resolveBranchActionAccess.d.ts +0 -8
  617. package/dist/branching/resolveBranchActionAccess.d.ts.map +0 -1
  618. package/dist/branching/resolveBranchActionAccess.js +0 -9
  619. package/dist/branching/resolveBranchActionAccess.js.map +0 -1
  620. package/dist/branching/resolveBranchQuery.d.ts +0 -48
  621. package/dist/branching/resolveBranchQuery.d.ts.map +0 -1
  622. package/dist/branching/resolveBranchQuery.js +0 -115
  623. package/dist/branching/resolveBranchQuery.js.map +0 -1
  624. package/dist/branching/resolveBranchRowID.d.ts +0 -22
  625. package/dist/branching/resolveBranchRowID.d.ts.map +0 -1
  626. package/dist/branching/resolveBranchRowID.js +0 -70
  627. package/dist/branching/resolveBranchRowID.js.map +0 -1
  628. package/dist/branching/sanitizeBranchingConfig.d.ts +0 -31
  629. package/dist/branching/sanitizeBranchingConfig.d.ts.map +0 -1
  630. package/dist/branching/sanitizeBranchingConfig.js +0 -110
  631. package/dist/branching/sanitizeBranchingConfig.js.map +0 -1
  632. package/dist/branching/schedule/job.d.ts +0 -51
  633. package/dist/branching/schedule/job.d.ts.map +0 -1
  634. package/dist/branching/schedule/job.js +0 -151
  635. package/dist/branching/schedule/job.js.map +0 -1
  636. package/dist/branching/selectBranchChanges.d.ts +0 -8
  637. package/dist/branching/selectBranchChanges.d.ts.map +0 -1
  638. package/dist/branching/selectBranchChanges.js +0 -9
  639. package/dist/branching/selectBranchChanges.js.map +0 -1
  640. package/dist/branching/stripBranchMergeData.d.ts +0 -11
  641. package/dist/branching/stripBranchMergeData.d.ts.map +0 -1
  642. package/dist/branching/stripBranchMergeData.js +0 -20
  643. package/dist/branching/stripBranchMergeData.js.map +0 -1
  644. package/dist/branching/tombstone.d.ts +0 -91
  645. package/dist/branching/tombstone.d.ts.map +0 -1
  646. package/dist/branching/tombstone.js +0 -546
  647. package/dist/branching/tombstone.js.map +0 -1
  648. package/dist/branching/types.d.ts +0 -158
  649. package/dist/branching/types.d.ts.map +0 -1
  650. package/dist/branching/types.js +0 -54
  651. package/dist/branching/types.js.map +0 -1
  652. package/dist/branching/validation.d.ts +0 -47
  653. package/dist/branching/validation.d.ts.map +0 -1
  654. package/dist/branching/validation.js +0 -272
  655. package/dist/branching/validation.js.map +0 -1
  656. package/dist/branching/versions.d.ts +0 -131
  657. package/dist/branching/versions.d.ts.map +0 -1
  658. package/dist/branching/versions.js +0 -572
  659. package/dist/branching/versions.js.map +0 -1
  660. package/dist/collections/operations/utilities/createOperationRetryRequest.d.ts +0 -23
  661. package/dist/collections/operations/utilities/createOperationRetryRequest.d.ts.map +0 -1
  662. package/dist/collections/operations/utilities/createOperationRetryRequest.js +0 -683
  663. package/dist/collections/operations/utilities/createOperationRetryRequest.js.map +0 -1
  664. package/dist/fields/hooks/beforeValidate/throwOnAccessDenied.d.ts +0 -3
  665. package/dist/fields/hooks/beforeValidate/throwOnAccessDenied.d.ts.map +0 -1
  666. package/dist/fields/hooks/beforeValidate/throwOnAccessDenied.js +0 -3
  667. package/dist/fields/hooks/beforeValidate/throwOnAccessDenied.js.map +0 -1
  668. package/dist/uploads/appendBranchToFileURL.d.ts +0 -6
  669. package/dist/uploads/appendBranchToFileURL.d.ts.map +0 -1
  670. package/dist/uploads/appendBranchToFileURL.js +0 -24
  671. package/dist/uploads/appendBranchToFileURL.js.map +0 -1
  672. package/dist/uploads/deleteUploadFilesExclusiveToDocument.d.ts +0 -15
  673. package/dist/uploads/deleteUploadFilesExclusiveToDocument.d.ts.map +0 -1
  674. package/dist/uploads/deleteUploadFilesExclusiveToDocument.js +0 -62
  675. package/dist/uploads/deleteUploadFilesExclusiveToDocument.js.map +0 -1
  676. package/dist/uploads/fileIdentity.d.ts +0 -24
  677. package/dist/uploads/fileIdentity.d.ts.map +0 -1
  678. package/dist/uploads/fileIdentity.js +0 -36
  679. package/dist/uploads/fileIdentity.js.map +0 -1
  680. package/dist/uploads/fileQuarantine.d.ts +0 -17
  681. package/dist/uploads/fileQuarantine.d.ts.map +0 -1
  682. package/dist/uploads/fileQuarantine.js +0 -52
  683. package/dist/uploads/fileQuarantine.js.map +0 -1
  684. package/dist/uploads/linkFileWithoutOverwrite.d.ts +0 -13
  685. package/dist/uploads/linkFileWithoutOverwrite.d.ts.map +0 -1
  686. package/dist/uploads/linkFileWithoutOverwrite.js +0 -13
  687. package/dist/uploads/linkFileWithoutOverwrite.js.map +0 -1
  688. package/dist/uploads/uploadFileRollback.d.ts +0 -31
  689. package/dist/uploads/uploadFileRollback.d.ts.map +0 -1
  690. package/dist/uploads/uploadFileRollback.js +0 -269
  691. package/dist/uploads/uploadFileRollback.js.map +0 -1
  692. package/dist/utilities/extractRelationshipID.d.ts +0 -4
  693. package/dist/utilities/extractRelationshipID.d.ts.map +0 -1
  694. package/dist/utilities/extractRelationshipID.js +0 -14
  695. package/dist/utilities/extractRelationshipID.js.map +0 -1
  696. package/dist/utilities/transactionCallbacks.d.ts +0 -77
  697. package/dist/utilities/transactionCallbacks.d.ts.map +0 -1
  698. package/dist/utilities/transactionCallbacks.js +0 -299
  699. package/dist/utilities/transactionCallbacks.js.map +0 -1
  700. package/dist/utilities/transactionMutationTracker.d.ts +0 -21
  701. package/dist/utilities/transactionMutationTracker.d.ts.map +0 -1
  702. package/dist/utilities/transactionMutationTracker.js +0 -71
  703. package/dist/utilities/transactionMutationTracker.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utilities/telemetry/featureInfo/getFeatureInfo.ts"],"sourcesContent":["import type { SanitizedConfig } from '../../../config/types.js'\nimport type { IncomingDrafts } from '../../../versions/types.js'\nimport type { FeatureInfo, RichTextFeature } from './types.js'\n\nimport { defaultUserCollection } from '../../../auth/defaultUser.js'\nimport { isUserMenuSettingsGroup } from '../../../config/types.js'\n\nexport const getFeatureInfo = (config: SanitizedConfig): FeatureInfo => {\n const telemetryConfig = sanitizeTelemetryConfig(config)\n\n return Object.assign(\n {},\n ...[\n collectAdminCustomization,\n collectAuthentication,\n collectBasicDenominators,\n collectHierarchy,\n collectI18n,\n collectJobsAndQueues,\n collectOrdering,\n collectPreviewAndLivePreview,\n collectQueryPresets,\n collectTrash,\n collectUploadAndMedia,\n collectVersionsAndDrafts,\n collectRichTextFeatures,\n ].map((collect) => safelyCollect(() => collect(telemetryConfig))),\n )\n}\n\nconst safelyCollect = (collect: () => FeatureInfo): FeatureInfo => {\n try {\n return collect()\n } catch (_) {\n return {}\n }\n}\n\n// sanitization adds 4 system widgets that we need to account for\nconst SYSTEM_WIDGET_COUNT = 4\nconst SYSTEM_COLLECTION_SLUGS = [\n 'payload-llm-instructions',\n 'payload-locked-documents',\n 'payload-migrations',\n 'payload-preferences',\n 'payload-query-presets',\n]\nconst SYSTEM_GLOBAL_SLUGS = new Set(['payload-jobs-stats'])\n\n/**\n * Payload adds internal collections, globals and tasks during config sanitization.\n * Remove them from the telemetry view so feature metrics represent user config.\n */\nconst sanitizeTelemetryConfig = (config: SanitizedConfig): SanitizedConfig => {\n try {\n const collections = config.collections ?? []\n const systemCollectionSlugs = new Set(SYSTEM_COLLECTION_SLUGS)\n const kvCollectionSlug = config.kv?.kvCollection?.slug\n\n if (kvCollectionSlug) {\n systemCollectionSlugs.add(kvCollectionSlug)\n }\n\n if (config.jobs?.enabled) {\n // uses SYSTEM_COLLECTION_SLUGS (not the Set) to exclude kv slug from position detection\n const firstCollectionAfterJobs = collections.findIndex(({ slug }) =>\n SYSTEM_COLLECTION_SLUGS.includes(slug),\n )\n\n if (firstCollectionAfterJobs > 0) {\n systemCollectionSlugs.add(collections[firstCollectionAfterJobs - 1]!.slug)\n } else {\n systemCollectionSlugs.add('payload-jobs')\n }\n }\n\n const tasks = [...(config.jobs?.tasks ?? [])]\n\n if (getDraftEntities(config).some(hasScheduledPublishing)) {\n for (let index = tasks.length - 1; index >= 0; index--) {\n if (tasks[index]?.slug === 'schedulePublish') {\n tasks.splice(index, 1)\n break\n }\n }\n }\n\n return {\n ...config,\n collections: collections.filter(\n (collection) =>\n collection !== defaultUserCollection && !systemCollectionSlugs.has(collection.slug),\n ),\n globals: (config.globals ?? []).filter(({ slug }) => !SYSTEM_GLOBAL_SLUGS.has(slug)),\n jobs: {\n ...config.jobs,\n tasks,\n },\n }\n } catch (_) {\n return config\n }\n}\n\nconst collectAdminCustomization = (config: SanitizedConfig): FeatureInfo => ({\n adminCustomization: {\n customAdminComponentCount: countRootAdminComponents(config),\n customAdminViewCount: Object.keys(config.admin?.components?.views ?? {}).length,\n customDashboardWidgetCount: Math.max(\n 0,\n (config.admin?.dashboard?.widgets?.length ?? 0) - SYSTEM_WIDGET_COUNT,\n ),\n },\n})\n\nconst collectAuthentication = (config: SanitizedConfig): FeatureInfo => {\n const authCollections = (config.collections ?? []).filter(({ auth }) => Boolean(auth))\n\n return {\n authentication: {\n apiKeyCollectionCount: authCollections.filter(\n ({ auth }) => isObject(auth) && Boolean(auth.useAPIKey),\n ).length,\n authCollectionCount: authCollections.length,\n customAuthStrategyCount: authCollections.reduce(\n (count, { auth }) =>\n count + (isObject(auth) && Array.isArray(auth.strategies) ? auth.strategies.length : 0),\n 0,\n ),\n localAuthDisabledCollectionCount: authCollections.filter(\n ({ auth }) => isObject(auth) && Boolean(auth.disableLocalStrategy),\n ).length,\n sessionsDisabledCollectionCount: authCollections.filter(\n ({ auth }) => isObject(auth) && auth.useSessions === false,\n ).length,\n usernameCollectionCount: authCollections.filter(\n ({ auth }) => isObject(auth) && Boolean(auth.loginWithUsername),\n ).length,\n verifiedCollectionCount: authCollections.filter(\n ({ auth }) => isObject(auth) && Boolean(auth.verify),\n ).length,\n },\n }\n}\n\nconst collectBasicDenominators = (config: SanitizedConfig): FeatureInfo => ({\n basicDenominators: {\n collectionCount: config.collections?.length ?? 0,\n globalCount: config.globals?.length ?? 0,\n },\n})\n\nconst collectHierarchy = (config: SanitizedConfig): FeatureInfo => ({\n hierarchyCollectionCount: (config.collections ?? []).filter(({ hierarchy }) => Boolean(hierarchy))\n .length,\n})\n\nconst collectI18n = (config: SanitizedConfig): FeatureInfo => ({\n i18n: {\n hasCustomAdminTranslations: Object.keys(config.i18n?.translations ?? {}).length > 0,\n supportedAdminLanguageCount: config.i18n?.supportedLanguages\n ? Object.keys(config.i18n.supportedLanguages).length\n : 1,\n },\n})\n\nconst collectJobsAndQueues = (config: SanitizedConfig): FeatureInfo => {\n const tasks = Array.isArray(config.jobs?.tasks) ? config.jobs.tasks : []\n const workflows = Array.isArray(config.jobs?.workflows) ? config.jobs.workflows : []\n const tasksAndWorkflows = [...tasks, ...workflows]\n const scheduledPublishingEntityCount =\n getDraftEntities(config).filter(hasScheduledPublishing).length\n\n return {\n jobsAndQueues: {\n jobsAutoRunConfigured: config.jobs?.autoRun !== undefined,\n jobsConcurrencyEnabled: tasksAndWorkflows.some(({ concurrency }) => Boolean(concurrency)),\n jobsEnabled: tasks.length > 0 || workflows.length > 0 || scheduledPublishingEntityCount > 0,\n jobsSchedulingEnabled: tasksAndWorkflows.some(({ schedule }) => Boolean(schedule)),\n taskCount: tasks.length,\n workflowCount: workflows.length,\n },\n }\n}\n\nconst collectOrdering = (config: SanitizedConfig): FeatureInfo => ({\n orderableCollectionCount: (config.collections ?? []).filter(({ orderable }) => Boolean(orderable))\n .length,\n})\n\nconst collectPreviewAndLivePreview = (config: SanitizedConfig): FeatureInfo => {\n const collections = config.collections ?? []\n const globals = config.globals ?? []\n const livePreviewCollections = new Set([\n ...(config.admin?.livePreview?.collections ?? []),\n ...collections.filter((c) => c.admin?.livePreview).map((c) => c.slug),\n ])\n const livePreviewGlobals = new Set([\n ...(config.admin?.livePreview?.globals ?? []),\n ...globals.filter((g) => g.admin?.livePreview).map((g) => g.slug),\n ])\n\n return {\n previewAndLivePreview: {\n livePreviewCollectionCount: collections.filter(({ slug }) => livePreviewCollections.has(slug))\n .length,\n livePreviewGlobalCount: globals.filter(({ slug }) => livePreviewGlobals.has(slug)).length,\n previewCollectionCount: collections.filter(({ admin }) => Boolean(admin?.preview)).length,\n previewGlobalCount: globals.filter(({ admin }) => Boolean(admin?.preview)).length,\n },\n }\n}\n\nconst collectQueryPresets = (config: SanitizedConfig): FeatureInfo => ({\n queryPresetCollectionCount: (config.collections ?? []).filter(({ enableQueryPresets }) =>\n Boolean(enableQueryPresets),\n ).length,\n})\n\nconst collectRichTextFeatures = (config: SanitizedConfig): FeatureInfo => {\n const editor: unknown = config.editor\n const features =\n isObject(editor) && isObject(editor.editorConfig) ? editor.editorConfig.features : undefined\n const raw =\n isObject(features) && Array.isArray(features.enabledFeatures) ? features.enabledFeatures : []\n const featureSet = new Set(raw.filter((f): f is string => typeof f === 'string'))\n // per-field editor overrides are not checked; root editor covers the vast majority of projects\n return {\n richTextFeatures: (['blocks', 'table', 'upload', 'relationship'] as const).filter((f) =>\n featureSet.has(f),\n ) as RichTextFeature[],\n }\n}\n\nconst collectTrash = (config: SanitizedConfig): FeatureInfo => ({\n trashCollectionCount: (config.collections ?? []).filter(({ trash }) => Boolean(trash)).length,\n})\n\nconst collectUploadAndMedia = (config: SanitizedConfig): FeatureInfo => {\n const collections = config.collections ?? []\n\n return {\n uploadAndMedia: {\n cropDisabledCollectionCount: collections.filter(\n ({ upload }) => isObject(upload) && upload.crop === false,\n ).length,\n focalPointDisabledCollectionCount: collections.filter(\n ({ upload }) => isObject(upload) && upload.focalPoint === false,\n ).length,\n imageSizesCollectionCount: collections.filter(\n ({ upload }) => isObject(upload) && Boolean(upload.variants?.length),\n ).length,\n mimeRestrictedCollectionCount: collections.filter(\n ({ upload }) => isObject(upload) && Boolean(upload.mimeTypes?.length),\n ).length,\n uploadCollectionCount: collections.filter(({ upload }) => Boolean(upload)).length,\n },\n }\n}\n\nconst collectVersionsAndDrafts = (config: SanitizedConfig): FeatureInfo => {\n const collections = config.collections ?? []\n const globals = config.globals ?? []\n const draftCollections = collections.filter(hasDrafts)\n const draftGlobals = globals.filter(hasDrafts)\n const draftEntities = [...draftCollections, ...draftGlobals]\n\n return {\n versionsAndDrafts: {\n autosaveEntityCount: draftEntities.filter(hasAutosave).length,\n draftCollectionCount: draftCollections.length,\n draftGlobalCount: draftGlobals.length,\n scheduledPublishingEntityCount: draftEntities.filter(hasScheduledPublishing).length,\n versionsDisabledCollectionCount: collections.filter(({ versions }) => !versions).length,\n versionsDisabledGlobalCount: globals.filter(({ versions }) => !versions).length,\n },\n }\n}\n\nconst getDraftEntities = (config: SanitizedConfig) => [\n ...(config.collections ?? []).filter(hasDrafts),\n ...(config.globals ?? []).filter(hasDrafts),\n]\n\nconst hasDrafts = ({ versions }: { versions?: { drafts?: unknown } | boolean }): boolean =>\n isObject(versions) && Boolean(versions.drafts)\n\nconst getDraftOptions = ({\n versions,\n}: {\n versions?: { drafts?: boolean | IncomingDrafts } | boolean\n}): IncomingDrafts | undefined =>\n isObject(versions) && isObject(versions.drafts) ? versions.drafts : undefined\n\nconst hasAutosave = (entity: Parameters<typeof getDraftOptions>[0]): boolean =>\n Boolean(getDraftOptions(entity)?.autosave)\n\nconst hasScheduledPublishing = (entity: Parameters<typeof getDraftOptions>[0]): boolean =>\n Boolean(getDraftOptions(entity)?.schedulePublish)\n\nconst countRootAdminComponents = (config: SanitizedConfig): number => {\n const admin = config.admin\n const customAvatarCount = Number(\n Boolean(admin?.avatar && typeof admin.avatar === 'object' && admin.avatar.Component),\n )\n const components = admin?.components\n\n if (!components) {\n return customAvatarCount\n }\n\n const componentArrays = [\n components.actions,\n components.afterDashboard,\n components.afterLogin,\n components.afterNav,\n components.afterNavLinks,\n components.beforeDashboard,\n components.beforeLogin,\n components.beforeNav,\n components.beforeNavLinks,\n components.header,\n components.providers,\n components.settingsMenu,\n ]\n const directComponents = [\n components.graphics?.Icon,\n components.graphics?.Logo,\n components.logout?.Button,\n components.Nav,\n ]\n const hierarchyTabSlugs = new Set(\n (config.collections ?? [])\n .filter(({ hierarchy }) => Boolean(hierarchy))\n .map(({ slug }) => `hierarchy-${slug}`),\n )\n const sidebarTabComponentCount =\n components.sidebar?.tabs?.reduce((count, tab) => {\n if (hierarchyTabSlugs.has(tab.slug)) {\n return count\n }\n\n return count + Number(Boolean(tab.components.Content)) + Number(Boolean(tab.components.Icon))\n }, 0) ?? 0\n const userMenuComponentCount =\n components.userMenuSettingsItems?.reduce(\n (count, item) => count + (isUserMenuSettingsGroup(item) ? item.items.length : 1),\n 0,\n ) ?? 0\n\n return (\n customAvatarCount +\n componentArrays.reduce((count, items) => count + (items?.length ?? 0), 0) +\n directComponents.filter(Boolean).length +\n sidebarTabComponentCount +\n userMenuComponentCount\n )\n}\n\nconst isObject = (value: unknown): value is Record<string, unknown> =>\n value !== null && typeof value === 'object'\n"],"names":["defaultUserCollection","isUserMenuSettingsGroup","getFeatureInfo","config","telemetryConfig","sanitizeTelemetryConfig","Object","assign","collectAdminCustomization","collectAuthentication","collectBasicDenominators","collectHierarchy","collectI18n","collectJobsAndQueues","collectOrdering","collectPreviewAndLivePreview","collectQueryPresets","collectTrash","collectUploadAndMedia","collectVersionsAndDrafts","collectRichTextFeatures","map","collect","safelyCollect","_","SYSTEM_WIDGET_COUNT","SYSTEM_COLLECTION_SLUGS","SYSTEM_GLOBAL_SLUGS","Set","collections","systemCollectionSlugs","kvCollectionSlug","kv","kvCollection","slug","add","jobs","enabled","firstCollectionAfterJobs","findIndex","includes","tasks","getDraftEntities","some","hasScheduledPublishing","index","length","splice","filter","collection","has","globals","adminCustomization","customAdminComponentCount","countRootAdminComponents","customAdminViewCount","keys","admin","components","views","customDashboardWidgetCount","Math","max","dashboard","widgets","authCollections","auth","Boolean","authentication","apiKeyCollectionCount","isObject","useAPIKey","authCollectionCount","customAuthStrategyCount","reduce","count","Array","isArray","strategies","localAuthDisabledCollectionCount","disableLocalStrategy","sessionsDisabledCollectionCount","useSessions","usernameCollectionCount","loginWithUsername","verifiedCollectionCount","verify","basicDenominators","collectionCount","globalCount","hierarchyCollectionCount","hierarchy","i18n","hasCustomAdminTranslations","translations","supportedAdminLanguageCount","supportedLanguages","workflows","tasksAndWorkflows","scheduledPublishingEntityCount","jobsAndQueues","jobsAutoRunConfigured","autoRun","undefined","jobsConcurrencyEnabled","concurrency","jobsEnabled","jobsSchedulingEnabled","schedule","taskCount","workflowCount","orderableCollectionCount","orderable","livePreviewCollections","livePreview","c","livePreviewGlobals","g","previewAndLivePreview","livePreviewCollectionCount","livePreviewGlobalCount","previewCollectionCount","preview","previewGlobalCount","queryPresetCollectionCount","enableQueryPresets","editor","features","editorConfig","raw","enabledFeatures","featureSet","f","richTextFeatures","trashCollectionCount","trash","uploadAndMedia","cropDisabledCollectionCount","upload","crop","focalPointDisabledCollectionCount","focalPoint","imageSizesCollectionCount","variants","mimeRestrictedCollectionCount","mimeTypes","uploadCollectionCount","draftCollections","hasDrafts","draftGlobals","draftEntities","versionsAndDrafts","autosaveEntityCount","hasAutosave","draftCollectionCount","draftGlobalCount","versionsDisabledCollectionCount","versions","versionsDisabledGlobalCount","drafts","getDraftOptions","entity","autosave","schedulePublish","customAvatarCount","Number","avatar","Component","componentArrays","actions","afterDashboard","afterLogin","afterNav","afterNavLinks","beforeDashboard","beforeLogin","beforeNav","beforeNavLinks","header","providers","settingsMenu","directComponents","graphics","Icon","Logo","logout","Button","Nav","hierarchyTabSlugs","sidebarTabComponentCount","sidebar","tabs","tab","Content","userMenuComponentCount","userMenuSettingsItems","item","items","value"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/utilities/telemetry/featureInfo/getFeatureInfo.ts"],"sourcesContent":["import type { SanitizedConfig } from '../../../config/types.js'\nimport type { IncomingDrafts } from '../../../versions/types.js'\nimport type { FeatureInfo, RichTextFeature } from './types.js'\n\nimport { defaultUserCollection } from '../../../auth/defaultUser.js'\nimport { isUserMenuSettingsGroup } from '../../../config/types.js'\n\nexport const getFeatureInfo = (config: SanitizedConfig): FeatureInfo => {\n const telemetryConfig = sanitizeTelemetryConfig(config)\n\n return Object.assign(\n {},\n ...[\n collectAdminCustomization,\n collectAuthentication,\n collectBasicDenominators,\n collectHierarchy,\n collectI18n,\n collectJobsAndQueues,\n collectOrdering,\n collectPreviewAndLivePreview,\n collectQueryPresets,\n collectTrash,\n collectUploadAndMedia,\n collectVersionsAndDrafts,\n collectRichTextFeatures,\n ].map((collect) => safelyCollect(() => collect(telemetryConfig))),\n )\n}\n\nconst safelyCollect = (collect: () => FeatureInfo): FeatureInfo => {\n try {\n return collect()\n } catch (_) {\n return {}\n }\n}\n\n// sanitization adds 4 system widgets that we need to account for\nconst SYSTEM_WIDGET_COUNT = 4\nconst SYSTEM_COLLECTION_SLUGS = [\n 'payload-llm-instructions',\n 'payload-locked-documents',\n 'payload-migrations',\n 'payload-preferences',\n 'payload-query-presets',\n]\nconst SYSTEM_GLOBAL_SLUGS = new Set(['payload-jobs-stats'])\n\n/**\n * Payload adds internal collections, globals and tasks during config sanitization.\n * Remove them from the telemetry view so feature metrics represent user config.\n */\nconst sanitizeTelemetryConfig = (config: SanitizedConfig): SanitizedConfig => {\n try {\n const collections = config.collections ?? []\n const systemCollectionSlugs = new Set(SYSTEM_COLLECTION_SLUGS)\n const kvCollectionSlug = config.kv?.kvCollection?.slug\n\n if (kvCollectionSlug) {\n systemCollectionSlugs.add(kvCollectionSlug)\n }\n\n if (config.jobs?.enabled) {\n // uses SYSTEM_COLLECTION_SLUGS (not the Set) to exclude kv slug from position detection\n const firstCollectionAfterJobs = collections.findIndex(({ slug }) =>\n SYSTEM_COLLECTION_SLUGS.includes(slug),\n )\n\n if (firstCollectionAfterJobs > 0) {\n systemCollectionSlugs.add(collections[firstCollectionAfterJobs - 1]!.slug)\n } else {\n systemCollectionSlugs.add('payload-jobs')\n }\n }\n\n const tasks = [...(config.jobs?.tasks ?? [])]\n\n if (getDraftEntities(config).some(hasScheduledPublishing)) {\n for (let index = tasks.length - 1; index >= 0; index--) {\n if (tasks[index]?.slug === 'schedulePublish') {\n tasks.splice(index, 1)\n break\n }\n }\n }\n\n return {\n ...config,\n collections: collections.filter(\n (collection) =>\n collection !== defaultUserCollection && !systemCollectionSlugs.has(collection.slug),\n ),\n globals: (config.globals ?? []).filter(({ slug }) => !SYSTEM_GLOBAL_SLUGS.has(slug)),\n jobs: {\n ...config.jobs,\n tasks,\n },\n }\n } catch (_) {\n return config\n }\n}\n\nconst collectAdminCustomization = (config: SanitizedConfig): FeatureInfo => ({\n adminCustomization: {\n customAdminComponentCount: countRootAdminComponents(config),\n customAdminViewCount: Object.keys(config.admin?.components?.views ?? {}).length,\n customDashboardWidgetCount: Math.max(\n 0,\n (config.admin?.dashboard?.widgets?.length ?? 0) - SYSTEM_WIDGET_COUNT,\n ),\n },\n})\n\nconst collectAuthentication = (config: SanitizedConfig): FeatureInfo => {\n const authCollections = (config.collections ?? []).filter(({ auth }) => Boolean(auth))\n\n return {\n authentication: {\n apiKeyCollectionCount: authCollections.filter(\n ({ auth }) => isObject(auth) && Boolean(auth.useAPIKey),\n ).length,\n authCollectionCount: authCollections.length,\n customAuthStrategyCount: authCollections.reduce(\n (count, { auth }) =>\n count + (isObject(auth) && Array.isArray(auth.strategies) ? auth.strategies.length : 0),\n 0,\n ),\n localAuthDisabledCollectionCount: authCollections.filter(\n ({ auth }) => isObject(auth) && Boolean(auth.disableLocalStrategy),\n ).length,\n sessionsDisabledCollectionCount: authCollections.filter(\n ({ auth }) => isObject(auth) && auth.useSessions === false,\n ).length,\n usernameCollectionCount: authCollections.filter(\n ({ auth }) => isObject(auth) && Boolean(auth.loginWithUsername),\n ).length,\n verifiedCollectionCount: authCollections.filter(\n ({ auth }) => isObject(auth) && Boolean(auth.verify),\n ).length,\n },\n }\n}\n\nconst collectBasicDenominators = (config: SanitizedConfig): FeatureInfo => ({\n basicDenominators: {\n collectionCount: config.collections?.length ?? 0,\n globalCount: config.globals?.length ?? 0,\n },\n})\n\nconst collectHierarchy = (config: SanitizedConfig): FeatureInfo => ({\n hierarchyCollectionCount: (config.collections ?? []).filter(({ hierarchy }) => Boolean(hierarchy))\n .length,\n})\n\nconst collectI18n = (config: SanitizedConfig): FeatureInfo => ({\n i18n: {\n hasCustomAdminTranslations: Object.keys(config.i18n?.translations ?? {}).length > 0,\n supportedAdminLanguageCount: config.i18n?.supportedLanguages\n ? Object.keys(config.i18n.supportedLanguages).length\n : 1,\n },\n})\n\nconst collectJobsAndQueues = (config: SanitizedConfig): FeatureInfo => {\n const tasks = Array.isArray(config.jobs?.tasks) ? config.jobs.tasks : []\n const workflows = Array.isArray(config.jobs?.workflows) ? config.jobs.workflows : []\n const tasksAndWorkflows = [...tasks, ...workflows]\n const scheduledPublishingEntityCount =\n getDraftEntities(config).filter(hasScheduledPublishing).length\n\n return {\n jobsAndQueues: {\n jobsAutoRunConfigured: config.jobs?.autoRun !== undefined,\n jobsConcurrencyEnabled: tasksAndWorkflows.some(({ concurrency }) => Boolean(concurrency)),\n jobsEnabled: tasks.length > 0 || workflows.length > 0 || scheduledPublishingEntityCount > 0,\n jobsSchedulingEnabled: tasksAndWorkflows.some(({ schedule }) => Boolean(schedule)),\n taskCount: tasks.length,\n workflowCount: workflows.length,\n },\n }\n}\n\nconst collectOrdering = (config: SanitizedConfig): FeatureInfo => ({\n orderableCollectionCount: (config.collections ?? []).filter(({ orderable }) => Boolean(orderable))\n .length,\n})\n\nconst collectPreviewAndLivePreview = (config: SanitizedConfig): FeatureInfo => {\n const collections = config.collections ?? []\n const globals = config.globals ?? []\n const livePreviewCollections = new Set([\n ...(config.admin?.livePreview?.collections ?? []),\n ...collections.filter((c) => c.admin?.livePreview).map((c) => c.slug),\n ])\n const livePreviewGlobals = new Set([\n ...(config.admin?.livePreview?.globals ?? []),\n ...globals.filter((g) => g.admin?.livePreview).map((g) => g.slug),\n ])\n\n return {\n previewAndLivePreview: {\n livePreviewCollectionCount: collections.filter(({ slug }) => livePreviewCollections.has(slug))\n .length,\n livePreviewGlobalCount: globals.filter(({ slug }) => livePreviewGlobals.has(slug)).length,\n previewCollectionCount: collections.filter(({ admin }) => Boolean(admin?.preview)).length,\n previewGlobalCount: globals.filter(({ admin }) => Boolean(admin?.preview)).length,\n },\n }\n}\n\nconst collectQueryPresets = (config: SanitizedConfig): FeatureInfo => ({\n queryPresetCollectionCount: (config.collections ?? []).filter(({ enableQueryPresets }) =>\n Boolean(enableQueryPresets),\n ).length,\n})\n\nconst collectRichTextFeatures = (config: SanitizedConfig): FeatureInfo => {\n const editor: unknown = config.editor\n const features =\n isObject(editor) && isObject(editor.editorConfig) ? editor.editorConfig.features : undefined\n const raw =\n isObject(features) && Array.isArray(features.enabledFeatures) ? features.enabledFeatures : []\n const featureSet = new Set(raw.filter((f): f is string => typeof f === 'string'))\n // per-field editor overrides are not checked; root editor covers the vast majority of projects\n return {\n richTextFeatures: (['blocks', 'table', 'upload', 'relationship'] as const).filter((f) =>\n featureSet.has(f),\n ),\n }\n}\n\nconst collectTrash = (config: SanitizedConfig): FeatureInfo => ({\n trashCollectionCount: (config.collections ?? []).filter(({ trash }) => Boolean(trash)).length,\n})\n\nconst collectUploadAndMedia = (config: SanitizedConfig): FeatureInfo => {\n const collections = config.collections ?? []\n\n return {\n uploadAndMedia: {\n cropDisabledCollectionCount: collections.filter(\n ({ upload }) => isObject(upload) && upload.crop === false,\n ).length,\n focalPointDisabledCollectionCount: collections.filter(\n ({ upload }) => isObject(upload) && upload.focalPoint === false,\n ).length,\n imageSizesCollectionCount: collections.filter(\n ({ upload }) => isObject(upload) && Boolean(upload.variants?.length),\n ).length,\n mimeRestrictedCollectionCount: collections.filter(\n ({ upload }) => isObject(upload) && Boolean(upload.mimeTypes?.length),\n ).length,\n uploadCollectionCount: collections.filter(({ upload }) => Boolean(upload)).length,\n },\n }\n}\n\nconst collectVersionsAndDrafts = (config: SanitizedConfig): FeatureInfo => {\n const collections = config.collections ?? []\n const globals = config.globals ?? []\n const draftCollections = collections.filter(hasDrafts)\n const draftGlobals = globals.filter(hasDrafts)\n const draftEntities = [...draftCollections, ...draftGlobals]\n\n return {\n versionsAndDrafts: {\n autosaveEntityCount: draftEntities.filter(hasAutosave).length,\n draftCollectionCount: draftCollections.length,\n draftGlobalCount: draftGlobals.length,\n scheduledPublishingEntityCount: draftEntities.filter(hasScheduledPublishing).length,\n versionsDisabledCollectionCount: collections.filter(({ versions }) => !versions).length,\n versionsDisabledGlobalCount: globals.filter(({ versions }) => !versions).length,\n },\n }\n}\n\nconst getDraftEntities = (config: SanitizedConfig) => [\n ...(config.collections ?? []).filter(hasDrafts),\n ...(config.globals ?? []).filter(hasDrafts),\n]\n\nconst hasDrafts = ({ versions }: { versions?: { drafts?: unknown } | boolean }): boolean =>\n isObject(versions) && Boolean(versions.drafts)\n\nconst getDraftOptions = ({\n versions,\n}: {\n versions?: { drafts?: boolean | IncomingDrafts } | boolean\n}): IncomingDrafts | undefined =>\n isObject(versions) && isObject(versions.drafts) ? versions.drafts : undefined\n\nconst hasAutosave = (entity: Parameters<typeof getDraftOptions>[0]): boolean =>\n Boolean(getDraftOptions(entity)?.autosave)\n\nconst hasScheduledPublishing = (entity: Parameters<typeof getDraftOptions>[0]): boolean =>\n Boolean(getDraftOptions(entity)?.schedulePublish)\n\nconst countRootAdminComponents = (config: SanitizedConfig): number => {\n const admin = config.admin\n const customAvatarCount = Number(\n Boolean(admin?.avatar && typeof admin.avatar === 'object' && admin.avatar.Component),\n )\n const components = admin?.components\n\n if (!components) {\n return customAvatarCount\n }\n\n const componentArrays = [\n components.actions,\n components.afterDashboard,\n components.afterLogin,\n components.afterNav,\n components.afterNavLinks,\n components.beforeDashboard,\n components.beforeLogin,\n components.beforeNav,\n components.beforeNavLinks,\n components.header,\n components.providers,\n components.settingsMenu,\n ]\n const directComponents = [\n components.graphics?.Icon,\n components.graphics?.Logo,\n components.logout?.Button,\n components.Nav,\n ]\n const hierarchyTabSlugs = new Set(\n (config.collections ?? [])\n .filter(({ hierarchy }) => Boolean(hierarchy))\n .map(({ slug }) => `hierarchy-${slug}`),\n )\n const sidebarTabComponentCount =\n components.sidebar?.tabs?.reduce((count, tab) => {\n if (hierarchyTabSlugs.has(tab.slug)) {\n return count\n }\n\n return count + Number(Boolean(tab.components.Content)) + Number(Boolean(tab.components.Icon))\n }, 0) ?? 0\n const userMenuComponentCount =\n components.userMenuSettingsItems?.reduce(\n (count, item) => count + (isUserMenuSettingsGroup(item) ? item.items.length : 1),\n 0,\n ) ?? 0\n\n return (\n customAvatarCount +\n componentArrays.reduce((count, items) => count + (items?.length ?? 0), 0) +\n directComponents.filter(Boolean).length +\n sidebarTabComponentCount +\n userMenuComponentCount\n )\n}\n\nconst isObject = (value: unknown): value is Record<string, unknown> =>\n value !== null && typeof value === 'object'\n"],"names":["defaultUserCollection","isUserMenuSettingsGroup","getFeatureInfo","config","telemetryConfig","sanitizeTelemetryConfig","Object","assign","collectAdminCustomization","collectAuthentication","collectBasicDenominators","collectHierarchy","collectI18n","collectJobsAndQueues","collectOrdering","collectPreviewAndLivePreview","collectQueryPresets","collectTrash","collectUploadAndMedia","collectVersionsAndDrafts","collectRichTextFeatures","map","collect","safelyCollect","_","SYSTEM_WIDGET_COUNT","SYSTEM_COLLECTION_SLUGS","SYSTEM_GLOBAL_SLUGS","Set","collections","systemCollectionSlugs","kvCollectionSlug","kv","kvCollection","slug","add","jobs","enabled","firstCollectionAfterJobs","findIndex","includes","tasks","getDraftEntities","some","hasScheduledPublishing","index","length","splice","filter","collection","has","globals","adminCustomization","customAdminComponentCount","countRootAdminComponents","customAdminViewCount","keys","admin","components","views","customDashboardWidgetCount","Math","max","dashboard","widgets","authCollections","auth","Boolean","authentication","apiKeyCollectionCount","isObject","useAPIKey","authCollectionCount","customAuthStrategyCount","reduce","count","Array","isArray","strategies","localAuthDisabledCollectionCount","disableLocalStrategy","sessionsDisabledCollectionCount","useSessions","usernameCollectionCount","loginWithUsername","verifiedCollectionCount","verify","basicDenominators","collectionCount","globalCount","hierarchyCollectionCount","hierarchy","i18n","hasCustomAdminTranslations","translations","supportedAdminLanguageCount","supportedLanguages","workflows","tasksAndWorkflows","scheduledPublishingEntityCount","jobsAndQueues","jobsAutoRunConfigured","autoRun","undefined","jobsConcurrencyEnabled","concurrency","jobsEnabled","jobsSchedulingEnabled","schedule","taskCount","workflowCount","orderableCollectionCount","orderable","livePreviewCollections","livePreview","c","livePreviewGlobals","g","previewAndLivePreview","livePreviewCollectionCount","livePreviewGlobalCount","previewCollectionCount","preview","previewGlobalCount","queryPresetCollectionCount","enableQueryPresets","editor","features","editorConfig","raw","enabledFeatures","featureSet","f","richTextFeatures","trashCollectionCount","trash","uploadAndMedia","cropDisabledCollectionCount","upload","crop","focalPointDisabledCollectionCount","focalPoint","imageSizesCollectionCount","variants","mimeRestrictedCollectionCount","mimeTypes","uploadCollectionCount","draftCollections","hasDrafts","draftGlobals","draftEntities","versionsAndDrafts","autosaveEntityCount","hasAutosave","draftCollectionCount","draftGlobalCount","versionsDisabledCollectionCount","versions","versionsDisabledGlobalCount","drafts","getDraftOptions","entity","autosave","schedulePublish","customAvatarCount","Number","avatar","Component","componentArrays","actions","afterDashboard","afterLogin","afterNav","afterNavLinks","beforeDashboard","beforeLogin","beforeNav","beforeNavLinks","header","providers","settingsMenu","directComponents","graphics","Icon","Logo","logout","Button","Nav","hierarchyTabSlugs","sidebarTabComponentCount","sidebar","tabs","tab","Content","userMenuComponentCount","userMenuSettingsItems","item","items","value"],"mappings":"AAIA,SAASA,qBAAqB,QAAQ,+BAA8B;AACpE,SAASC,uBAAuB,QAAQ,2BAA0B;AAElE,OAAO,MAAMC,iBAAiB,CAACC;IAC7B,MAAMC,kBAAkBC,wBAAwBF;IAEhD,OAAOG,OAAOC,MAAM,CAClB,CAAC,MACE;QACDC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;KACD,CAACC,GAAG,CAAC,CAACC,UAAYC,cAAc,IAAMD,QAAQlB;AAEnD,EAAC;AAED,MAAMmB,gBAAgB,CAACD;IACrB,IAAI;QACF,OAAOA;IACT,EAAE,OAAOE,GAAG;QACV,OAAO,CAAC;IACV;AACF;AAEA,iEAAiE;AACjE,MAAMC,sBAAsB;AAC5B,MAAMC,0BAA0B;IAC9B;IACA;IACA;IACA;IACA;CACD;AACD,MAAMC,sBAAsB,IAAIC,IAAI;IAAC;CAAqB;AAE1D;;;CAGC,GACD,MAAMvB,0BAA0B,CAACF;IAC/B,IAAI;QACF,MAAM0B,cAAc1B,OAAO0B,WAAW,IAAI,EAAE;QAC5C,MAAMC,wBAAwB,IAAIF,IAAIF;QACtC,MAAMK,mBAAmB5B,OAAO6B,EAAE,EAAEC,cAAcC;QAElD,IAAIH,kBAAkB;YACpBD,sBAAsBK,GAAG,CAACJ;QAC5B;QAEA,IAAI5B,OAAOiC,IAAI,EAAEC,SAAS;YACxB,wFAAwF;YACxF,MAAMC,2BAA2BT,YAAYU,SAAS,CAAC,CAAC,EAAEL,IAAI,EAAE,GAC9DR,wBAAwBc,QAAQ,CAACN;YAGnC,IAAII,2BAA2B,GAAG;gBAChCR,sBAAsBK,GAAG,CAACN,WAAW,CAACS,2BAA2B,EAAE,CAAEJ,IAAI;YAC3E,OAAO;gBACLJ,sBAAsBK,GAAG,CAAC;YAC5B;QACF;QAEA,MAAMM,QAAQ;eAAKtC,OAAOiC,IAAI,EAAEK,SAAS,EAAE;SAAE;QAE7C,IAAIC,iBAAiBvC,QAAQwC,IAAI,CAACC,yBAAyB;YACzD,IAAK,IAAIC,QAAQJ,MAAMK,MAAM,GAAG,GAAGD,SAAS,GAAGA,QAAS;gBACtD,IAAIJ,KAAK,CAACI,MAAM,EAAEX,SAAS,mBAAmB;oBAC5CO,MAAMM,MAAM,CAACF,OAAO;oBACpB;gBACF;YACF;QACF;QAEA,OAAO;YACL,GAAG1C,MAAM;YACT0B,aAAaA,YAAYmB,MAAM,CAC7B,CAACC,aACCA,eAAejD,yBAAyB,CAAC8B,sBAAsBoB,GAAG,CAACD,WAAWf,IAAI;YAEtFiB,SAAS,AAAChD,CAAAA,OAAOgD,OAAO,IAAI,EAAE,AAAD,EAAGH,MAAM,CAAC,CAAC,EAAEd,IAAI,EAAE,GAAK,CAACP,oBAAoBuB,GAAG,CAAChB;YAC9EE,MAAM;gBACJ,GAAGjC,OAAOiC,IAAI;gBACdK;YACF;QACF;IACF,EAAE,OAAOjB,GAAG;QACV,OAAOrB;IACT;AACF;AAEA,MAAMK,4BAA4B,CAACL,SAA0C,CAAA;QAC3EiD,oBAAoB;YAClBC,2BAA2BC,yBAAyBnD;YACpDoD,sBAAsBjD,OAAOkD,IAAI,CAACrD,OAAOsD,KAAK,EAAEC,YAAYC,SAAS,CAAC,GAAGb,MAAM;YAC/Ec,4BAA4BC,KAAKC,GAAG,CAClC,GACA,AAAC3D,CAAAA,OAAOsD,KAAK,EAAEM,WAAWC,SAASlB,UAAU,CAAA,IAAKrB;QAEtD;IACF,CAAA;AAEA,MAAMhB,wBAAwB,CAACN;IAC7B,MAAM8D,kBAAkB,AAAC9D,CAAAA,OAAO0B,WAAW,IAAI,EAAE,AAAD,EAAGmB,MAAM,CAAC,CAAC,EAAEkB,IAAI,EAAE,GAAKC,QAAQD;IAEhF,OAAO;QACLE,gBAAgB;YACdC,uBAAuBJ,gBAAgBjB,MAAM,CAC3C,CAAC,EAAEkB,IAAI,EAAE,GAAKI,SAASJ,SAASC,QAAQD,KAAKK,SAAS,GACtDzB,MAAM;YACR0B,qBAAqBP,gBAAgBnB,MAAM;YAC3C2B,yBAAyBR,gBAAgBS,MAAM,CAC7C,CAACC,OAAO,EAAET,IAAI,EAAE,GACdS,QAASL,CAAAA,SAASJ,SAASU,MAAMC,OAAO,CAACX,KAAKY,UAAU,IAAIZ,KAAKY,UAAU,CAAChC,MAAM,GAAG,CAAA,GACvF;YAEFiC,kCAAkCd,gBAAgBjB,MAAM,CACtD,CAAC,EAAEkB,IAAI,EAAE,GAAKI,SAASJ,SAASC,QAAQD,KAAKc,oBAAoB,GACjElC,MAAM;YACRmC,iCAAiChB,gBAAgBjB,MAAM,CACrD,CAAC,EAAEkB,IAAI,EAAE,GAAKI,SAASJ,SAASA,KAAKgB,WAAW,KAAK,OACrDpC,MAAM;YACRqC,yBAAyBlB,gBAAgBjB,MAAM,CAC7C,CAAC,EAAEkB,IAAI,EAAE,GAAKI,SAASJ,SAASC,QAAQD,KAAKkB,iBAAiB,GAC9DtC,MAAM;YACRuC,yBAAyBpB,gBAAgBjB,MAAM,CAC7C,CAAC,EAAEkB,IAAI,EAAE,GAAKI,SAASJ,SAASC,QAAQD,KAAKoB,MAAM,GACnDxC,MAAM;QACV;IACF;AACF;AAEA,MAAMpC,2BAA2B,CAACP,SAA0C,CAAA;QAC1EoF,mBAAmB;YACjBC,iBAAiBrF,OAAO0B,WAAW,EAAEiB,UAAU;YAC/C2C,aAAatF,OAAOgD,OAAO,EAAEL,UAAU;QACzC;IACF,CAAA;AAEA,MAAMnC,mBAAmB,CAACR,SAA0C,CAAA;QAClEuF,0BAA0B,AAACvF,CAAAA,OAAO0B,WAAW,IAAI,EAAE,AAAD,EAAGmB,MAAM,CAAC,CAAC,EAAE2C,SAAS,EAAE,GAAKxB,QAAQwB,YACpF7C,MAAM;IACX,CAAA;AAEA,MAAMlC,cAAc,CAACT,SAA0C,CAAA;QAC7DyF,MAAM;YACJC,4BAA4BvF,OAAOkD,IAAI,CAACrD,OAAOyF,IAAI,EAAEE,gBAAgB,CAAC,GAAGhD,MAAM,GAAG;YAClFiD,6BAA6B5F,OAAOyF,IAAI,EAAEI,qBACtC1F,OAAOkD,IAAI,CAACrD,OAAOyF,IAAI,CAACI,kBAAkB,EAAElD,MAAM,GAClD;QACN;IACF,CAAA;AAEA,MAAMjC,uBAAuB,CAACV;IAC5B,MAAMsC,QAAQmC,MAAMC,OAAO,CAAC1E,OAAOiC,IAAI,EAAEK,SAAStC,OAAOiC,IAAI,CAACK,KAAK,GAAG,EAAE;IACxE,MAAMwD,YAAYrB,MAAMC,OAAO,CAAC1E,OAAOiC,IAAI,EAAE6D,aAAa9F,OAAOiC,IAAI,CAAC6D,SAAS,GAAG,EAAE;IACpF,MAAMC,oBAAoB;WAAIzD;WAAUwD;KAAU;IAClD,MAAME,iCACJzD,iBAAiBvC,QAAQ6C,MAAM,CAACJ,wBAAwBE,MAAM;IAEhE,OAAO;QACLsD,eAAe;YACbC,uBAAuBlG,OAAOiC,IAAI,EAAEkE,YAAYC;YAChDC,wBAAwBN,kBAAkBvD,IAAI,CAAC,CAAC,EAAE8D,WAAW,EAAE,GAAKtC,QAAQsC;YAC5EC,aAAajE,MAAMK,MAAM,GAAG,KAAKmD,UAAUnD,MAAM,GAAG,KAAKqD,iCAAiC;YAC1FQ,uBAAuBT,kBAAkBvD,IAAI,CAAC,CAAC,EAAEiE,QAAQ,EAAE,GAAKzC,QAAQyC;YACxEC,WAAWpE,MAAMK,MAAM;YACvBgE,eAAeb,UAAUnD,MAAM;QACjC;IACF;AACF;AAEA,MAAMhC,kBAAkB,CAACX,SAA0C,CAAA;QACjE4G,0BAA0B,AAAC5G,CAAAA,OAAO0B,WAAW,IAAI,EAAE,AAAD,EAAGmB,MAAM,CAAC,CAAC,EAAEgE,SAAS,EAAE,GAAK7C,QAAQ6C,YACpFlE,MAAM;IACX,CAAA;AAEA,MAAM/B,+BAA+B,CAACZ;IACpC,MAAM0B,cAAc1B,OAAO0B,WAAW,IAAI,EAAE;IAC5C,MAAMsB,UAAUhD,OAAOgD,OAAO,IAAI,EAAE;IACpC,MAAM8D,yBAAyB,IAAIrF,IAAI;WACjCzB,OAAOsD,KAAK,EAAEyD,aAAarF,eAAe,EAAE;WAC7CA,YAAYmB,MAAM,CAAC,CAACmE,IAAMA,EAAE1D,KAAK,EAAEyD,aAAa7F,GAAG,CAAC,CAAC8F,IAAMA,EAAEjF,IAAI;KACrE;IACD,MAAMkF,qBAAqB,IAAIxF,IAAI;WAC7BzB,OAAOsD,KAAK,EAAEyD,aAAa/D,WAAW,EAAE;WACzCA,QAAQH,MAAM,CAAC,CAACqE,IAAMA,EAAE5D,KAAK,EAAEyD,aAAa7F,GAAG,CAAC,CAACgG,IAAMA,EAAEnF,IAAI;KACjE;IAED,OAAO;QACLoF,uBAAuB;YACrBC,4BAA4B1F,YAAYmB,MAAM,CAAC,CAAC,EAAEd,IAAI,EAAE,GAAK+E,uBAAuB/D,GAAG,CAAChB,OACrFY,MAAM;YACT0E,wBAAwBrE,QAAQH,MAAM,CAAC,CAAC,EAAEd,IAAI,EAAE,GAAKkF,mBAAmBlE,GAAG,CAAChB,OAAOY,MAAM;YACzF2E,wBAAwB5F,YAAYmB,MAAM,CAAC,CAAC,EAAES,KAAK,EAAE,GAAKU,QAAQV,OAAOiE,UAAU5E,MAAM;YACzF6E,oBAAoBxE,QAAQH,MAAM,CAAC,CAAC,EAAES,KAAK,EAAE,GAAKU,QAAQV,OAAOiE,UAAU5E,MAAM;QACnF;IACF;AACF;AAEA,MAAM9B,sBAAsB,CAACb,SAA0C,CAAA;QACrEyH,4BAA4B,AAACzH,CAAAA,OAAO0B,WAAW,IAAI,EAAE,AAAD,EAAGmB,MAAM,CAAC,CAAC,EAAE6E,kBAAkB,EAAE,GACnF1D,QAAQ0D,qBACR/E,MAAM;IACV,CAAA;AAEA,MAAM1B,0BAA0B,CAACjB;IAC/B,MAAM2H,SAAkB3H,OAAO2H,MAAM;IACrC,MAAMC,WACJzD,SAASwD,WAAWxD,SAASwD,OAAOE,YAAY,IAAIF,OAAOE,YAAY,CAACD,QAAQ,GAAGxB;IACrF,MAAM0B,MACJ3D,SAASyD,aAAanD,MAAMC,OAAO,CAACkD,SAASG,eAAe,IAAIH,SAASG,eAAe,GAAG,EAAE;IAC/F,MAAMC,aAAa,IAAIvG,IAAIqG,IAAIjF,MAAM,CAAC,CAACoF,IAAmB,OAAOA,MAAM;IACvE,+FAA+F;IAC/F,OAAO;QACLC,kBAAkB,AAAC;YAAC;YAAU;YAAS;YAAU;SAAe,CAAWrF,MAAM,CAAC,CAACoF,IACjFD,WAAWjF,GAAG,CAACkF;IAEnB;AACF;AAEA,MAAMnH,eAAe,CAACd,SAA0C,CAAA;QAC9DmI,sBAAsB,AAACnI,CAAAA,OAAO0B,WAAW,IAAI,EAAE,AAAD,EAAGmB,MAAM,CAAC,CAAC,EAAEuF,KAAK,EAAE,GAAKpE,QAAQoE,QAAQzF,MAAM;IAC/F,CAAA;AAEA,MAAM5B,wBAAwB,CAACf;IAC7B,MAAM0B,cAAc1B,OAAO0B,WAAW,IAAI,EAAE;IAE5C,OAAO;QACL2G,gBAAgB;YACdC,6BAA6B5G,YAAYmB,MAAM,CAC7C,CAAC,EAAE0F,MAAM,EAAE,GAAKpE,SAASoE,WAAWA,OAAOC,IAAI,KAAK,OACpD7F,MAAM;YACR8F,mCAAmC/G,YAAYmB,MAAM,CACnD,CAAC,EAAE0F,MAAM,EAAE,GAAKpE,SAASoE,WAAWA,OAAOG,UAAU,KAAK,OAC1D/F,MAAM;YACRgG,2BAA2BjH,YAAYmB,MAAM,CAC3C,CAAC,EAAE0F,MAAM,EAAE,GAAKpE,SAASoE,WAAWvE,QAAQuE,OAAOK,QAAQ,EAAEjG,SAC7DA,MAAM;YACRkG,+BAA+BnH,YAAYmB,MAAM,CAC/C,CAAC,EAAE0F,MAAM,EAAE,GAAKpE,SAASoE,WAAWvE,QAAQuE,OAAOO,SAAS,EAAEnG,SAC9DA,MAAM;YACRoG,uBAAuBrH,YAAYmB,MAAM,CAAC,CAAC,EAAE0F,MAAM,EAAE,GAAKvE,QAAQuE,SAAS5F,MAAM;QACnF;IACF;AACF;AAEA,MAAM3B,2BAA2B,CAAChB;IAChC,MAAM0B,cAAc1B,OAAO0B,WAAW,IAAI,EAAE;IAC5C,MAAMsB,UAAUhD,OAAOgD,OAAO,IAAI,EAAE;IACpC,MAAMgG,mBAAmBtH,YAAYmB,MAAM,CAACoG;IAC5C,MAAMC,eAAelG,QAAQH,MAAM,CAACoG;IACpC,MAAME,gBAAgB;WAAIH;WAAqBE;KAAa;IAE5D,OAAO;QACLE,mBAAmB;YACjBC,qBAAqBF,cAActG,MAAM,CAACyG,aAAa3G,MAAM;YAC7D4G,sBAAsBP,iBAAiBrG,MAAM;YAC7C6G,kBAAkBN,aAAavG,MAAM;YACrCqD,gCAAgCmD,cAActG,MAAM,CAACJ,wBAAwBE,MAAM;YACnF8G,iCAAiC/H,YAAYmB,MAAM,CAAC,CAAC,EAAE6G,QAAQ,EAAE,GAAK,CAACA,UAAU/G,MAAM;YACvFgH,6BAA6B3G,QAAQH,MAAM,CAAC,CAAC,EAAE6G,QAAQ,EAAE,GAAK,CAACA,UAAU/G,MAAM;QACjF;IACF;AACF;AAEA,MAAMJ,mBAAmB,CAACvC,SAA4B;WACjD,AAACA,CAAAA,OAAO0B,WAAW,IAAI,EAAE,AAAD,EAAGmB,MAAM,CAACoG;WAClC,AAACjJ,CAAAA,OAAOgD,OAAO,IAAI,EAAE,AAAD,EAAGH,MAAM,CAACoG;KAClC;AAED,MAAMA,YAAY,CAAC,EAAES,QAAQ,EAAiD,GAC5EvF,SAASuF,aAAa1F,QAAQ0F,SAASE,MAAM;AAE/C,MAAMC,kBAAkB,CAAC,EACvBH,QAAQ,EAGT,GACCvF,SAASuF,aAAavF,SAASuF,SAASE,MAAM,IAAIF,SAASE,MAAM,GAAGxD;AAEtE,MAAMkD,cAAc,CAACQ,SACnB9F,QAAQ6F,gBAAgBC,SAASC;AAEnC,MAAMtH,yBAAyB,CAACqH,SAC9B9F,QAAQ6F,gBAAgBC,SAASE;AAEnC,MAAM7G,2BAA2B,CAACnD;IAChC,MAAMsD,QAAQtD,OAAOsD,KAAK;IAC1B,MAAM2G,oBAAoBC,OACxBlG,QAAQV,OAAO6G,UAAU,OAAO7G,MAAM6G,MAAM,KAAK,YAAY7G,MAAM6G,MAAM,CAACC,SAAS;IAErF,MAAM7G,aAAaD,OAAOC;IAE1B,IAAI,CAACA,YAAY;QACf,OAAO0G;IACT;IAEA,MAAMI,kBAAkB;QACtB9G,WAAW+G,OAAO;QAClB/G,WAAWgH,cAAc;QACzBhH,WAAWiH,UAAU;QACrBjH,WAAWkH,QAAQ;QACnBlH,WAAWmH,aAAa;QACxBnH,WAAWoH,eAAe;QAC1BpH,WAAWqH,WAAW;QACtBrH,WAAWsH,SAAS;QACpBtH,WAAWuH,cAAc;QACzBvH,WAAWwH,MAAM;QACjBxH,WAAWyH,SAAS;QACpBzH,WAAW0H,YAAY;KACxB;IACD,MAAMC,mBAAmB;QACvB3H,WAAW4H,QAAQ,EAAEC;QACrB7H,WAAW4H,QAAQ,EAAEE;QACrB9H,WAAW+H,MAAM,EAAEC;QACnBhI,WAAWiI,GAAG;KACf;IACD,MAAMC,oBAAoB,IAAIhK,IAC5B,AAACzB,CAAAA,OAAO0B,WAAW,IAAI,EAAE,AAAD,EACrBmB,MAAM,CAAC,CAAC,EAAE2C,SAAS,EAAE,GAAKxB,QAAQwB,YAClCtE,GAAG,CAAC,CAAC,EAAEa,IAAI,EAAE,GAAK,CAAC,UAAU,EAAEA,MAAM;IAE1C,MAAM2J,2BACJnI,WAAWoI,OAAO,EAAEC,MAAMrH,OAAO,CAACC,OAAOqH;QACvC,IAAIJ,kBAAkB1I,GAAG,CAAC8I,IAAI9J,IAAI,GAAG;YACnC,OAAOyC;QACT;QAEA,OAAOA,QAAQ0F,OAAOlG,QAAQ6H,IAAItI,UAAU,CAACuI,OAAO,KAAK5B,OAAOlG,QAAQ6H,IAAItI,UAAU,CAAC6H,IAAI;IAC7F,GAAG,MAAM;IACX,MAAMW,yBACJxI,WAAWyI,qBAAqB,EAAEzH,OAChC,CAACC,OAAOyH,OAASzH,QAAS1E,CAAAA,wBAAwBmM,QAAQA,KAAKC,KAAK,CAACvJ,MAAM,GAAG,CAAA,GAC9E,MACG;IAEP,OACEsH,oBACAI,gBAAgB9F,MAAM,CAAC,CAACC,OAAO0H,QAAU1H,QAAS0H,CAAAA,OAAOvJ,UAAU,CAAA,GAAI,KACvEuI,iBAAiBrI,MAAM,CAACmB,SAASrB,MAAM,GACvC+I,2BACAK;AAEJ;AAEA,MAAM5H,WAAW,CAACgI,QAChBA,UAAU,QAAQ,OAAOA,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/versions/allLocalesPublicationStatus.ts"],"sourcesContent":["import type { JsonObject } from '../types/index.js'\n\nimport { APIError } from '../errors/index.js'\nimport { httpStatus } from '../utilities/httpStatus.js'\n\nexport type AllLocalesPublicationStatus = 'draft' | 'published'\n\ntype AllLocalesPublicationIntent = {\n hadStatus: boolean\n previousStatus: unknown\n status: AllLocalesPublicationStatus\n}\n\nexport const buildAllLocalesPublicationHookDoc = <TDoc extends JsonObject>({\n doc,\n docWithLocales,\n status,\n}: {\n doc: TDoc\n docWithLocales: JsonObject\n status: AllLocalesPublicationStatus | undefined\n}): TDoc => {\n if (status && typeof docWithLocales._status === 'object' && docWithLocales._status !== null) {\n return {\n ...doc,\n _status: { ...(docWithLocales._status as JsonObject) },\n } as TDoc\n }\n\n return doc\n}\n\nexport const getAllLocalesPublicationStatus = ({\n hasLocalizedStatus,\n publishAllLocales,\n unpublishAllLocales,\n}: {\n hasLocalizedStatus: boolean\n publishAllLocales: boolean\n unpublishAllLocales: boolean\n}): AllLocalesPublicationStatus | undefined => {\n if (!hasLocalizedStatus) {\n return undefined\n }\n\n if (unpublishAllLocales) {\n return 'draft'\n }\n\n if (publishAllLocales) {\n return 'published'\n }\n\n return undefined\n}\n\nexport const hasAuthorizedAllLocalesPublicationStatus = ({\n data,\n fieldAccessDenied,\n fieldValue,\n status,\n}: {\n data: JsonObject\n fieldAccessDenied: boolean\n fieldValue: unknown\n status: AllLocalesPublicationStatus | undefined\n}): boolean => {\n return Boolean(status && !fieldAccessDenied && data._status === status && fieldValue === status)\n}\n\nexport const normalizeAllLocalesPublicationStatus = ({\n data,\n status,\n}: {\n data: JsonObject\n status: AllLocalesPublicationStatus | undefined\n}): AllLocalesPublicationIntent | undefined => {\n if (!status) {\n return undefined\n }\n\n const intent = {\n hadStatus: Object.prototype.hasOwnProperty.call(data, '_status'),\n previousStatus: data._status,\n status,\n }\n\n data._status = status\n\n return intent\n}\n\nexport const reconcileAllLocalesPublicationStatus = ({\n data,\n intent,\n status,\n}: {\n data: JsonObject\n intent: AllLocalesPublicationIntent | undefined\n status: AllLocalesPublicationStatus | undefined\n}): AllLocalesPublicationStatus | undefined => {\n if (intent && intent.status !== status && data._status === intent.status) {\n if (intent.hadStatus) {\n data._status = intent.previousStatus\n } else {\n delete data._status\n }\n }\n\n return status && data._status === status ? status : undefined\n}\n\nexport const validateAllLocalesPublicationFlags = ({\n publishAllLocales,\n unpublishAllLocales,\n}: {\n publishAllLocales?: boolean\n unpublishAllLocales?: boolean\n}): void => {\n if (publishAllLocales && unpublishAllLocales) {\n throw new APIError(\n 'publishAllLocales and unpublishAllLocales cannot both be true.',\n httpStatus.BAD_REQUEST,\n )\n }\n}\n"],"names":["APIError","httpStatus","buildAllLocalesPublicationHookDoc","doc","docWithLocales","status","_status","getAllLocalesPublicationStatus","hasLocalizedStatus","publishAllLocales","unpublishAllLocales","undefined","hasAuthorizedAllLocalesPublicationStatus","data","fieldAccessDenied","fieldValue","Boolean","normalizeAllLocalesPublicationStatus","intent","hadStatus","Object","prototype","hasOwnProperty","call","previousStatus","reconcileAllLocalesPublicationStatus","validateAllLocalesPublicationFlags","BAD_REQUEST"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,SAASC,UAAU,QAAQ,6BAA4B;AAUvD,OAAO,MAAMC,oCAAoC,CAA0B,EACzEC,GAAG,EACHC,cAAc,EACdC,MAAM,EAKP;IACC,IAAIA,UAAU,OAAOD,eAAeE,OAAO,KAAK,YAAYF,eAAeE,OAAO,KAAK,MAAM;QAC3F,OAAO;YACL,GAAGH,GAAG;YACNG,SAAS;gBAAE,GAAIF,eAAeE,OAAO;YAAgB;QACvD;IACF;IAEA,OAAOH;AACT,EAAC;AAED,OAAO,MAAMI,iCAAiC,CAAC,EAC7CC,kBAAkB,EAClBC,iBAAiB,EACjBC,mBAAmB,EAKpB;IACC,IAAI,CAACF,oBAAoB;QACvB,OAAOG;IACT;IAEA,IAAID,qBAAqB;QACvB,OAAO;IACT;IAEA,IAAID,mBAAmB;QACrB,OAAO;IACT;IAEA,OAAOE;AACT,EAAC;AAED,OAAO,MAAMC,2CAA2C,CAAC,EACvDC,IAAI,EACJC,iBAAiB,EACjBC,UAAU,EACVV,MAAM,EAMP;IACC,OAAOW,QAAQX,UAAU,CAACS,qBAAqBD,KAAKP,OAAO,KAAKD,UAAUU,eAAeV;AAC3F,EAAC;AAED,OAAO,MAAMY,uCAAuC,CAAC,EACnDJ,IAAI,EACJR,MAAM,EAIP;IACC,IAAI,CAACA,QAAQ;QACX,OAAOM;IACT;IAEA,MAAMO,SAAS;QACbC,WAAWC,OAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACV,MAAM;QACtDW,gBAAgBX,KAAKP,OAAO;QAC5BD;IACF;IAEAQ,KAAKP,OAAO,GAAGD;IAEf,OAAOa;AACT,EAAC;AAED,OAAO,MAAMO,uCAAuC,CAAC,EACnDZ,IAAI,EACJK,MAAM,EACNb,MAAM,EAKP;IACC,IAAIa,UAAUA,OAAOb,MAAM,KAAKA,UAAUQ,KAAKP,OAAO,KAAKY,OAAOb,MAAM,EAAE;QACxE,IAAIa,OAAOC,SAAS,EAAE;YACpBN,KAAKP,OAAO,GAAGY,OAAOM,cAAc;QACtC,OAAO;YACL,OAAOX,KAAKP,OAAO;QACrB;IACF;IAEA,OAAOD,UAAUQ,KAAKP,OAAO,KAAKD,SAASA,SAASM;AACtD,EAAC;AAED,OAAO,MAAMe,qCAAqC,CAAC,EACjDjB,iBAAiB,EACjBC,mBAAmB,EAIpB;IACC,IAAID,qBAAqBC,qBAAqB;QAC5C,MAAM,IAAIV,SACR,kEACAC,WAAW0B,WAAW;IAE1B;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/versions/allLocalesPublicationStatus.ts"],"sourcesContent":["import type { JsonObject } from '../types/index.js'\n\nimport { APIError } from '../errors/index.js'\nimport { httpStatus } from '../utilities/httpStatus.js'\n\nexport type AllLocalesPublicationStatus = 'draft' | 'published'\n\ntype AllLocalesPublicationIntent = {\n hadStatus: boolean\n previousStatus: unknown\n status: AllLocalesPublicationStatus\n}\n\nexport const buildAllLocalesPublicationHookDoc = <TDoc extends JsonObject>({\n doc,\n docWithLocales,\n status,\n}: {\n doc: TDoc\n docWithLocales: JsonObject\n status: AllLocalesPublicationStatus | undefined\n}): TDoc => {\n if (status && typeof docWithLocales._status === 'object' && docWithLocales._status !== null) {\n return {\n ...doc,\n _status: { ...(docWithLocales._status as JsonObject) },\n }\n }\n\n return doc\n}\n\nexport const getAllLocalesPublicationStatus = ({\n hasLocalizedStatus,\n publishAllLocales,\n unpublishAllLocales,\n}: {\n hasLocalizedStatus: boolean\n publishAllLocales: boolean\n unpublishAllLocales: boolean\n}): AllLocalesPublicationStatus | undefined => {\n if (!hasLocalizedStatus) {\n return undefined\n }\n\n if (unpublishAllLocales) {\n return 'draft'\n }\n\n if (publishAllLocales) {\n return 'published'\n }\n\n return undefined\n}\n\nexport const hasAuthorizedAllLocalesPublicationStatus = ({\n data,\n fieldAccessDenied,\n fieldValue,\n status,\n}: {\n data: JsonObject\n fieldAccessDenied: boolean\n fieldValue: unknown\n status: AllLocalesPublicationStatus | undefined\n}): boolean => {\n return Boolean(status && !fieldAccessDenied && data._status === status && fieldValue === status)\n}\n\nexport const normalizeAllLocalesPublicationStatus = ({\n data,\n status,\n}: {\n data: JsonObject\n status: AllLocalesPublicationStatus | undefined\n}): AllLocalesPublicationIntent | undefined => {\n if (!status) {\n return undefined\n }\n\n const intent = {\n hadStatus: Object.prototype.hasOwnProperty.call(data, '_status'),\n previousStatus: data._status,\n status,\n }\n\n data._status = status\n\n return intent\n}\n\nexport const reconcileAllLocalesPublicationStatus = ({\n data,\n intent,\n status,\n}: {\n data: JsonObject\n intent: AllLocalesPublicationIntent | undefined\n status: AllLocalesPublicationStatus | undefined\n}): AllLocalesPublicationStatus | undefined => {\n if (intent && intent.status !== status && data._status === intent.status) {\n if (intent.hadStatus) {\n data._status = intent.previousStatus\n } else {\n delete data._status\n }\n }\n\n return status && data._status === status ? status : undefined\n}\n\nexport const validateAllLocalesPublicationFlags = ({\n publishAllLocales,\n unpublishAllLocales,\n}: {\n publishAllLocales?: boolean\n unpublishAllLocales?: boolean\n}): void => {\n if (publishAllLocales && unpublishAllLocales) {\n throw new APIError(\n 'publishAllLocales and unpublishAllLocales cannot both be true.',\n httpStatus.BAD_REQUEST,\n )\n }\n}\n"],"names":["APIError","httpStatus","buildAllLocalesPublicationHookDoc","doc","docWithLocales","status","_status","getAllLocalesPublicationStatus","hasLocalizedStatus","publishAllLocales","unpublishAllLocales","undefined","hasAuthorizedAllLocalesPublicationStatus","data","fieldAccessDenied","fieldValue","Boolean","normalizeAllLocalesPublicationStatus","intent","hadStatus","Object","prototype","hasOwnProperty","call","previousStatus","reconcileAllLocalesPublicationStatus","validateAllLocalesPublicationFlags","BAD_REQUEST"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,SAASC,UAAU,QAAQ,6BAA4B;AAUvD,OAAO,MAAMC,oCAAoC,CAA0B,EACzEC,GAAG,EACHC,cAAc,EACdC,MAAM,EAKP;IACC,IAAIA,UAAU,OAAOD,eAAeE,OAAO,KAAK,YAAYF,eAAeE,OAAO,KAAK,MAAM;QAC3F,OAAO;YACL,GAAGH,GAAG;YACNG,SAAS;gBAAE,GAAIF,eAAeE,OAAO;YAAgB;QACvD;IACF;IAEA,OAAOH;AACT,EAAC;AAED,OAAO,MAAMI,iCAAiC,CAAC,EAC7CC,kBAAkB,EAClBC,iBAAiB,EACjBC,mBAAmB,EAKpB;IACC,IAAI,CAACF,oBAAoB;QACvB,OAAOG;IACT;IAEA,IAAID,qBAAqB;QACvB,OAAO;IACT;IAEA,IAAID,mBAAmB;QACrB,OAAO;IACT;IAEA,OAAOE;AACT,EAAC;AAED,OAAO,MAAMC,2CAA2C,CAAC,EACvDC,IAAI,EACJC,iBAAiB,EACjBC,UAAU,EACVV,MAAM,EAMP;IACC,OAAOW,QAAQX,UAAU,CAACS,qBAAqBD,KAAKP,OAAO,KAAKD,UAAUU,eAAeV;AAC3F,EAAC;AAED,OAAO,MAAMY,uCAAuC,CAAC,EACnDJ,IAAI,EACJR,MAAM,EAIP;IACC,IAAI,CAACA,QAAQ;QACX,OAAOM;IACT;IAEA,MAAMO,SAAS;QACbC,WAAWC,OAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACV,MAAM;QACtDW,gBAAgBX,KAAKP,OAAO;QAC5BD;IACF;IAEAQ,KAAKP,OAAO,GAAGD;IAEf,OAAOa;AACT,EAAC;AAED,OAAO,MAAMO,uCAAuC,CAAC,EACnDZ,IAAI,EACJK,MAAM,EACNb,MAAM,EAKP;IACC,IAAIa,UAAUA,OAAOb,MAAM,KAAKA,UAAUQ,KAAKP,OAAO,KAAKY,OAAOb,MAAM,EAAE;QACxE,IAAIa,OAAOC,SAAS,EAAE;YACpBN,KAAKP,OAAO,GAAGY,OAAOM,cAAc;QACtC,OAAO;YACL,OAAOX,KAAKP,OAAO;QACrB;IACF;IAEA,OAAOD,UAAUQ,KAAKP,OAAO,KAAKD,SAASA,SAASM;AACtD,EAAC;AAED,OAAO,MAAMe,qCAAqC,CAAC,EACjDjB,iBAAiB,EACjBC,mBAAmB,EAIpB;IACC,IAAID,qBAAqBC,qBAAqB;QAC5C,MAAM,IAAIV,SACR,kEACAC,WAAW0B,WAAW;IAE1B;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildCollectionFields.d.ts","sourceRoot":"","sources":["../../src/versions/buildCollectionFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAItE,eAAO,MAAM,4BAA4B,GAAI,CAAC,SAAS,OAAO,GAAG,KAAK,UAC5D,eAAe,cACX,yBAAyB,YAC3B,CAAC,KACV,IAAI,SAAS,CAAC,GAAG,cAAc,EAAE,GAAG,KAAK,EA+F3C,CAAA"}
1
+ {"version":3,"file":"buildCollectionFields.d.ts","sourceRoot":"","sources":["../../src/versions/buildCollectionFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAItE,eAAO,MAAM,4BAA4B,GAAI,CAAC,SAAS,OAAO,GAAG,KAAK,UAC5D,eAAe,cACX,yBAAyB,YAC3B,CAAC,KACV,IAAI,SAAS,CAAC,GAAG,cAAc,EAAE,GAAG,KAAK,EAwE3C,CAAA"}
@@ -32,29 +32,6 @@ export const buildVersionCollectionFields = (config, collection, flatten)=>{
32
32
  index: true
33
33
  }
34
34
  ];
35
- if (config.branching?.branchableCollections?.has(collection.slug)) {
36
- // Mirrors the discriminator on the collection itself. `_branchParent` holds
37
- // the canonical parent document, since a branch version's `parent` points
38
- // at the shadow row rather than at the document the editor knows about.
39
- fields.push({
40
- name: '_branch',
41
- type: 'text',
42
- admin: {
43
- disabled: true
44
- },
45
- defaultValue: 'main',
46
- index: true
47
- }, {
48
- name: '_branchParent',
49
- type: 'relationship',
50
- admin: {
51
- disabled: true
52
- },
53
- index: true,
54
- maxDepth: 0,
55
- relationTo: collection.slug
56
- });
57
- }
58
35
  if (hasDraftsEnabled(collection)) {
59
36
  if (config.localization) {
60
37
  fields.push({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/versions/buildCollectionFields.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { SanitizedConfig } from '../config/types.js'\nimport type { Field, FlattenedField } from '../fields/config/types.js'\n\nimport { hasAutosaveEnabled, hasDraftsEnabled } from '../utilities/getVersionsConfig.js'\n\nexport const buildVersionCollectionFields = <T extends boolean = false>(\n config: SanitizedConfig,\n collection: SanitizedCollectionConfig,\n flatten?: T,\n): true extends T ? FlattenedField[] : Field[] => {\n const fields: FlattenedField[] = [\n {\n name: 'parent',\n type: 'relationship',\n index: true,\n relationTo: collection.slug,\n },\n {\n name: 'version',\n type: 'group',\n fields: collection.fields.filter((field) => !('name' in field) || field.name !== 'id'),\n ...(flatten && {\n flattenedFields: collection.flattenedFields.filter((each) => each.name !== 'id'),\n })!,\n },\n {\n name: 'createdAt',\n type: 'date',\n admin: {\n disabled: true,\n },\n index: true,\n },\n {\n name: 'updatedAt',\n type: 'date',\n admin: {\n disabled: true,\n },\n index: true,\n },\n ]\n\n if (config.branching?.branchableCollections?.has(collection.slug)) {\n // Mirrors the discriminator on the collection itself. `_branchParent` holds\n // the canonical parent document, since a branch version's `parent` points\n // at the shadow row rather than at the document the editor knows about.\n fields.push(\n {\n name: '_branch',\n type: 'text',\n admin: { disabled: true },\n defaultValue: 'main',\n index: true,\n },\n {\n name: '_branchParent',\n type: 'relationship',\n admin: { disabled: true },\n index: true,\n maxDepth: 0,\n relationTo: collection.slug,\n },\n )\n }\n\n if (hasDraftsEnabled(collection)) {\n if (config.localization) {\n fields.push({\n name: 'publishedLocale',\n type: 'select',\n admin: {\n disabled: true,\n },\n index: true,\n options: config.localization.locales.map((locale) => {\n if (typeof locale === 'string') {\n return locale\n }\n\n return locale.code\n }),\n })\n }\n\n fields.push({\n name: 'latest',\n type: 'checkbox',\n admin: {\n disabled: true,\n },\n index: true,\n })\n\n if (hasAutosaveEnabled(collection)) {\n fields.push({\n name: 'autosave',\n type: 'checkbox',\n index: true,\n })\n }\n }\n\n return fields as true extends T ? FlattenedField[] : Field[]\n}\n"],"names":["hasAutosaveEnabled","hasDraftsEnabled","buildVersionCollectionFields","config","collection","flatten","fields","name","type","index","relationTo","slug","filter","field","flattenedFields","each","admin","disabled","branching","branchableCollections","has","push","defaultValue","maxDepth","localization","options","locales","map","locale","code"],"mappings":"AAIA,SAASA,kBAAkB,EAAEC,gBAAgB,QAAQ,oCAAmC;AAExF,OAAO,MAAMC,+BAA+B,CAC1CC,QACAC,YACAC;IAEA,MAAMC,SAA2B;QAC/B;YACEC,MAAM;YACNC,MAAM;YACNC,OAAO;YACPC,YAAYN,WAAWO,IAAI;QAC7B;QACA;YACEJ,MAAM;YACNC,MAAM;YACNF,QAAQF,WAAWE,MAAM,CAACM,MAAM,CAAC,CAACC,QAAU,CAAE,CAAA,UAAUA,KAAI,KAAMA,MAAMN,IAAI,KAAK;YACjF,GAAIF,WAAW;gBACbS,iBAAiBV,WAAWU,eAAe,CAACF,MAAM,CAAC,CAACG,OAASA,KAAKR,IAAI,KAAK;YAC7E,CAAC;QACH;QACA;YACEA,MAAM;YACNC,MAAM;YACNQ,OAAO;gBACLC,UAAU;YACZ;YACAR,OAAO;QACT;QACA;YACEF,MAAM;YACNC,MAAM;YACNQ,OAAO;gBACLC,UAAU;YACZ;YACAR,OAAO;QACT;KACD;IAED,IAAIN,OAAOe,SAAS,EAAEC,uBAAuBC,IAAIhB,WAAWO,IAAI,GAAG;QACjE,4EAA4E;QAC5E,0EAA0E;QAC1E,wEAAwE;QACxEL,OAAOe,IAAI,CACT;YACEd,MAAM;YACNC,MAAM;YACNQ,OAAO;gBAAEC,UAAU;YAAK;YACxBK,cAAc;YACdb,OAAO;QACT,GACA;YACEF,MAAM;YACNC,MAAM;YACNQ,OAAO;gBAAEC,UAAU;YAAK;YACxBR,OAAO;YACPc,UAAU;YACVb,YAAYN,WAAWO,IAAI;QAC7B;IAEJ;IAEA,IAAIV,iBAAiBG,aAAa;QAChC,IAAID,OAAOqB,YAAY,EAAE;YACvBlB,OAAOe,IAAI,CAAC;gBACVd,MAAM;gBACNC,MAAM;gBACNQ,OAAO;oBACLC,UAAU;gBACZ;gBACAR,OAAO;gBACPgB,SAAStB,OAAOqB,YAAY,CAACE,OAAO,CAACC,GAAG,CAAC,CAACC;oBACxC,IAAI,OAAOA,WAAW,UAAU;wBAC9B,OAAOA;oBACT;oBAEA,OAAOA,OAAOC,IAAI;gBACpB;YACF;QACF;QAEAvB,OAAOe,IAAI,CAAC;YACVd,MAAM;YACNC,MAAM;YACNQ,OAAO;gBACLC,UAAU;YACZ;YACAR,OAAO;QACT;QAEA,IAAIT,mBAAmBI,aAAa;YAClCE,OAAOe,IAAI,CAAC;gBACVd,MAAM;gBACNC,MAAM;gBACNC,OAAO;YACT;QACF;IACF;IAEA,OAAOH;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/versions/buildCollectionFields.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { SanitizedConfig } from '../config/types.js'\nimport type { Field, FlattenedField } from '../fields/config/types.js'\n\nimport { hasAutosaveEnabled, hasDraftsEnabled } from '../utilities/getVersionsConfig.js'\n\nexport const buildVersionCollectionFields = <T extends boolean = false>(\n config: SanitizedConfig,\n collection: SanitizedCollectionConfig,\n flatten?: T,\n): true extends T ? FlattenedField[] : Field[] => {\n const fields: FlattenedField[] = [\n {\n name: 'parent',\n type: 'relationship',\n index: true,\n relationTo: collection.slug,\n },\n {\n name: 'version',\n type: 'group',\n fields: collection.fields.filter((field) => !('name' in field) || field.name !== 'id'),\n ...(flatten && {\n flattenedFields: collection.flattenedFields.filter((each) => each.name !== 'id'),\n })!,\n },\n {\n name: 'createdAt',\n type: 'date',\n admin: {\n disabled: true,\n },\n index: true,\n },\n {\n name: 'updatedAt',\n type: 'date',\n admin: {\n disabled: true,\n },\n index: true,\n },\n ]\n\n if (hasDraftsEnabled(collection)) {\n if (config.localization) {\n fields.push({\n name: 'publishedLocale',\n type: 'select',\n admin: {\n disabled: true,\n },\n index: true,\n options: config.localization.locales.map((locale) => {\n if (typeof locale === 'string') {\n return locale\n }\n\n return locale.code\n }),\n })\n }\n\n fields.push({\n name: 'latest',\n type: 'checkbox',\n admin: {\n disabled: true,\n },\n index: true,\n })\n\n if (hasAutosaveEnabled(collection)) {\n fields.push({\n name: 'autosave',\n type: 'checkbox',\n index: true,\n })\n }\n }\n\n return fields as true extends T ? FlattenedField[] : Field[]\n}\n"],"names":["hasAutosaveEnabled","hasDraftsEnabled","buildVersionCollectionFields","config","collection","flatten","fields","name","type","index","relationTo","slug","filter","field","flattenedFields","each","admin","disabled","localization","push","options","locales","map","locale","code"],"mappings":"AAIA,SAASA,kBAAkB,EAAEC,gBAAgB,QAAQ,oCAAmC;AAExF,OAAO,MAAMC,+BAA+B,CAC1CC,QACAC,YACAC;IAEA,MAAMC,SAA2B;QAC/B;YACEC,MAAM;YACNC,MAAM;YACNC,OAAO;YACPC,YAAYN,WAAWO,IAAI;QAC7B;QACA;YACEJ,MAAM;YACNC,MAAM;YACNF,QAAQF,WAAWE,MAAM,CAACM,MAAM,CAAC,CAACC,QAAU,CAAE,CAAA,UAAUA,KAAI,KAAMA,MAAMN,IAAI,KAAK;YACjF,GAAIF,WAAW;gBACbS,iBAAiBV,WAAWU,eAAe,CAACF,MAAM,CAAC,CAACG,OAASA,KAAKR,IAAI,KAAK;YAC7E,CAAC;QACH;QACA;YACEA,MAAM;YACNC,MAAM;YACNQ,OAAO;gBACLC,UAAU;YACZ;YACAR,OAAO;QACT;QACA;YACEF,MAAM;YACNC,MAAM;YACNQ,OAAO;gBACLC,UAAU;YACZ;YACAR,OAAO;QACT;KACD;IAED,IAAIR,iBAAiBG,aAAa;QAChC,IAAID,OAAOe,YAAY,EAAE;YACvBZ,OAAOa,IAAI,CAAC;gBACVZ,MAAM;gBACNC,MAAM;gBACNQ,OAAO;oBACLC,UAAU;gBACZ;gBACAR,OAAO;gBACPW,SAASjB,OAAOe,YAAY,CAACG,OAAO,CAACC,GAAG,CAAC,CAACC;oBACxC,IAAI,OAAOA,WAAW,UAAU;wBAC9B,OAAOA;oBACT;oBAEA,OAAOA,OAAOC,IAAI;gBACpB;YACF;QACF;QAEAlB,OAAOa,IAAI,CAAC;YACVZ,MAAM;YACNC,MAAM;YACNQ,OAAO;gBACLC,UAAU;YACZ;YACAR,OAAO;QACT;QAEA,IAAIT,mBAAmBI,aAAa;YAClCE,OAAOa,IAAI,CAAC;gBACVZ,MAAM;gBACNC,MAAM;gBACNC,OAAO;YACT;QACF;IACF;IAEA,OAAOH;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildGlobalFields.d.ts","sourceRoot":"","sources":["../../src/versions/buildGlobalFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAIvE,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,OAAO,GAAG,KAAK,UACxD,eAAe,UACf,qBAAqB,YACnB,CAAC,KACV,IAAI,SAAS,CAAC,GAAG,cAAc,EAAE,GAAG,KAAK,EAgF3C,CAAA"}
1
+ {"version":3,"file":"buildGlobalFields.d.ts","sourceRoot":"","sources":["../../src/versions/buildGlobalFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAIvE,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,OAAO,GAAG,KAAK,UACxD,eAAe,UACf,qBAAqB,YACnB,CAAC,KACV,IAAI,SAAS,CAAC,GAAG,cAAc,EAAE,GAAG,KAAK,EAkE3C,CAAA"}
@@ -1,20 +1,6 @@
1
1
  import { hasAutosaveEnabled, hasDraftsEnabled } from '../utilities/getVersionsConfig.js';
2
2
  export const buildVersionGlobalFields = (config, global, flatten)=>{
3
3
  const fields = [
4
- // Unlike collection versions, global versions have no `parent` to scope
5
- // `latest` by — every version of a global shares one stream. `_branch` is
6
- // what keeps a branch's chain from clearing main's latest flag.
7
- ...config.branching?.branchableGlobals?.has(global.slug) ? [
8
- {
9
- name: '_branch',
10
- type: 'text',
11
- admin: {
12
- disabled: true
13
- },
14
- defaultValue: 'main',
15
- index: true
16
- }
17
- ] : [],
18
4
  {
19
5
  name: 'version',
20
6
  type: 'group',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/versions/buildGlobalFields.ts"],"sourcesContent":["import type { SanitizedConfig } from '../config/types.js'\nimport type { Field, FlattenedField } from '../fields/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\n\nimport { hasAutosaveEnabled, hasDraftsEnabled } from '../utilities/getVersionsConfig.js'\n\nexport const buildVersionGlobalFields = <T extends boolean = false>(\n config: SanitizedConfig,\n global: SanitizedGlobalConfig,\n flatten?: T,\n): true extends T ? FlattenedField[] : Field[] => {\n const fields: FlattenedField[] = [\n // Unlike collection versions, global versions have no `parent` to scope\n // `latest` by — every version of a global shares one stream. `_branch` is\n // what keeps a branch's chain from clearing main's latest flag.\n ...(config.branching?.branchableGlobals?.has(global.slug)\n ? ([\n {\n name: '_branch',\n type: 'text',\n admin: { disabled: true },\n defaultValue: 'main',\n index: true,\n },\n ] as FlattenedField[])\n : []),\n {\n name: 'version',\n type: 'group',\n fields: global.fields,\n ...(flatten && {\n flattenedFields: global.flattenedFields,\n })!,\n },\n {\n name: 'createdAt',\n type: 'date',\n admin: {\n disabled: true,\n },\n index: true,\n },\n {\n name: 'updatedAt',\n type: 'date',\n admin: {\n disabled: true,\n },\n index: true,\n },\n ]\n\n if (hasDraftsEnabled(global)) {\n if (config.localization) {\n fields.push({\n name: 'publishedLocale',\n type: 'select',\n admin: {\n disabled: true,\n },\n index: true,\n options: config.localization.locales.map((locale) => {\n if (typeof locale === 'string') {\n return locale\n }\n\n return locale.code\n }),\n })\n }\n\n fields.push({\n name: 'latest',\n type: 'checkbox',\n admin: {\n disabled: true,\n },\n index: true,\n })\n\n if (hasAutosaveEnabled(global)) {\n fields.push({\n name: 'autosave',\n type: 'checkbox',\n index: true,\n })\n }\n }\n\n return fields as true extends T ? FlattenedField[] : Field[]\n}\n"],"names":["hasAutosaveEnabled","hasDraftsEnabled","buildVersionGlobalFields","config","global","flatten","fields","branching","branchableGlobals","has","slug","name","type","admin","disabled","defaultValue","index","flattenedFields","localization","push","options","locales","map","locale","code"],"mappings":"AAIA,SAASA,kBAAkB,EAAEC,gBAAgB,QAAQ,oCAAmC;AAExF,OAAO,MAAMC,2BAA2B,CACtCC,QACAC,QACAC;IAEA,MAAMC,SAA2B;QAC/B,wEAAwE;QACxE,0EAA0E;QAC1E,gEAAgE;WAC5DH,OAAOI,SAAS,EAAEC,mBAAmBC,IAAIL,OAAOM,IAAI,IACnD;YACC;gBACEC,MAAM;gBACNC,MAAM;gBACNC,OAAO;oBAAEC,UAAU;gBAAK;gBACxBC,cAAc;gBACdC,OAAO;YACT;SACD,GACD,EAAE;QACN;YACEL,MAAM;YACNC,MAAM;YACNN,QAAQF,OAAOE,MAAM;YACrB,GAAID,WAAW;gBACbY,iBAAiBb,OAAOa,eAAe;YACzC,CAAC;QACH;QACA;YACEN,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLC,UAAU;YACZ;YACAE,OAAO;QACT;QACA;YACEL,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLC,UAAU;YACZ;YACAE,OAAO;QACT;KACD;IAED,IAAIf,iBAAiBG,SAAS;QAC5B,IAAID,OAAOe,YAAY,EAAE;YACvBZ,OAAOa,IAAI,CAAC;gBACVR,MAAM;gBACNC,MAAM;gBACNC,OAAO;oBACLC,UAAU;gBACZ;gBACAE,OAAO;gBACPI,SAASjB,OAAOe,YAAY,CAACG,OAAO,CAACC,GAAG,CAAC,CAACC;oBACxC,IAAI,OAAOA,WAAW,UAAU;wBAC9B,OAAOA;oBACT;oBAEA,OAAOA,OAAOC,IAAI;gBACpB;YACF;QACF;QAEAlB,OAAOa,IAAI,CAAC;YACVR,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLC,UAAU;YACZ;YACAE,OAAO;QACT;QAEA,IAAIhB,mBAAmBI,SAAS;YAC9BE,OAAOa,IAAI,CAAC;gBACVR,MAAM;gBACNC,MAAM;gBACNI,OAAO;YACT;QACF;IACF;IAEA,OAAOV;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/versions/buildGlobalFields.ts"],"sourcesContent":["import type { SanitizedConfig } from '../config/types.js'\nimport type { Field, FlattenedField } from '../fields/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\n\nimport { hasAutosaveEnabled, hasDraftsEnabled } from '../utilities/getVersionsConfig.js'\n\nexport const buildVersionGlobalFields = <T extends boolean = false>(\n config: SanitizedConfig,\n global: SanitizedGlobalConfig,\n flatten?: T,\n): true extends T ? FlattenedField[] : Field[] => {\n const fields: FlattenedField[] = [\n {\n name: 'version',\n type: 'group',\n fields: global.fields,\n ...(flatten && {\n flattenedFields: global.flattenedFields,\n })!,\n },\n {\n name: 'createdAt',\n type: 'date',\n admin: {\n disabled: true,\n },\n index: true,\n },\n {\n name: 'updatedAt',\n type: 'date',\n admin: {\n disabled: true,\n },\n index: true,\n },\n ]\n\n if (hasDraftsEnabled(global)) {\n if (config.localization) {\n fields.push({\n name: 'publishedLocale',\n type: 'select',\n admin: {\n disabled: true,\n },\n index: true,\n options: config.localization.locales.map((locale) => {\n if (typeof locale === 'string') {\n return locale\n }\n\n return locale.code\n }),\n })\n }\n\n fields.push({\n name: 'latest',\n type: 'checkbox',\n admin: {\n disabled: true,\n },\n index: true,\n })\n\n if (hasAutosaveEnabled(global)) {\n fields.push({\n name: 'autosave',\n type: 'checkbox',\n index: true,\n })\n }\n }\n\n return fields as true extends T ? FlattenedField[] : Field[]\n}\n"],"names":["hasAutosaveEnabled","hasDraftsEnabled","buildVersionGlobalFields","config","global","flatten","fields","name","type","flattenedFields","admin","disabled","index","localization","push","options","locales","map","locale","code"],"mappings":"AAIA,SAASA,kBAAkB,EAAEC,gBAAgB,QAAQ,oCAAmC;AAExF,OAAO,MAAMC,2BAA2B,CACtCC,QACAC,QACAC;IAEA,MAAMC,SAA2B;QAC/B;YACEC,MAAM;YACNC,MAAM;YACNF,QAAQF,OAAOE,MAAM;YACrB,GAAID,WAAW;gBACbI,iBAAiBL,OAAOK,eAAe;YACzC,CAAC;QACH;QACA;YACEF,MAAM;YACNC,MAAM;YACNE,OAAO;gBACLC,UAAU;YACZ;YACAC,OAAO;QACT;QACA;YACEL,MAAM;YACNC,MAAM;YACNE,OAAO;gBACLC,UAAU;YACZ;YACAC,OAAO;QACT;KACD;IAED,IAAIX,iBAAiBG,SAAS;QAC5B,IAAID,OAAOU,YAAY,EAAE;YACvBP,OAAOQ,IAAI,CAAC;gBACVP,MAAM;gBACNC,MAAM;gBACNE,OAAO;oBACLC,UAAU;gBACZ;gBACAC,OAAO;gBACPG,SAASZ,OAAOU,YAAY,CAACG,OAAO,CAACC,GAAG,CAAC,CAACC;oBACxC,IAAI,OAAOA,WAAW,UAAU;wBAC9B,OAAOA;oBACT;oBAEA,OAAOA,OAAOC,IAAI;gBACpB;YACF;QACF;QAEAb,OAAOQ,IAAI,CAAC;YACVP,MAAM;YACNC,MAAM;YACNE,OAAO;gBACLC,UAAU;YACZ;YACAC,OAAO;QACT;QAEA,IAAIZ,mBAAmBI,SAAS;YAC9BE,OAAOQ,IAAI,CAAC;gBACVP,MAAM;gBACNC,MAAM;gBACNI,OAAO;YACT;QACF;IACF;IAEA,OAAON;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildVersionCompoundIndexes.d.ts","sourceRoot":"","sources":["../../src/versions/buildVersionCompoundIndexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAI5E,eAAO,MAAM,2BAA2B,iBAErC;IACD,OAAO,EAAE,sBAAsB,EAAE,CAAA;CAClC,KAAG,sBAAsB,EAczB,CAAA"}
1
+ {"version":3,"file":"buildVersionCompoundIndexes.d.ts","sourceRoot":"","sources":["../../src/versions/buildVersionCompoundIndexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAE5E,eAAO,MAAM,2BAA2B,iBAErC;IACD,OAAO,EAAE,sBAAsB,EAAE,CAAA;CAClC,KAAG,sBAAsB,EAUzB,CAAA"}
@@ -1,17 +1,11 @@
1
- import { branchField } from '../branching/types.js';
2
1
  export const buildVersionCompoundIndexes = ({ indexes })=>{
3
2
  return indexes.map((each)=>({
4
- fields: each.fields.map(({ field, localizedPath, path, pathHasLocalized })=>path === branchField ? {
5
- field,
6
- localizedPath,
7
- path,
8
- pathHasLocalized
9
- } : {
3
+ fields: each.fields.map(({ field, localizedPath, path, pathHasLocalized })=>({
10
4
  field,
11
5
  localizedPath: `version.${localizedPath}`,
12
6
  path: `version.${path}`,
13
7
  pathHasLocalized
14
- }),
8
+ })),
15
9
  unique: false
16
10
  }));
17
11
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/versions/buildVersionCompoundIndexes.ts"],"sourcesContent":["import type { SanitizedCompoundIndex } from '../collections/config/types.js'\n\nimport { branchField } from '../branching/types.js'\n\nexport const buildVersionCompoundIndexes = ({\n indexes,\n}: {\n indexes: SanitizedCompoundIndex[]\n}): SanitizedCompoundIndex[] => {\n return indexes.map((each) => ({\n fields: each.fields.map(({ field, localizedPath, path, pathHasLocalized }) =>\n path === branchField\n ? { field, localizedPath, path, pathHasLocalized }\n : {\n field,\n localizedPath: `version.${localizedPath}`,\n path: `version.${path}`,\n pathHasLocalized,\n },\n ),\n unique: false,\n }))\n}\n"],"names":["branchField","buildVersionCompoundIndexes","indexes","map","each","fields","field","localizedPath","path","pathHasLocalized","unique"],"mappings":"AAEA,SAASA,WAAW,QAAQ,wBAAuB;AAEnD,OAAO,MAAMC,8BAA8B,CAAC,EAC1CC,OAAO,EAGR;IACC,OAAOA,QAAQC,GAAG,CAAC,CAACC,OAAU,CAAA;YAC5BC,QAAQD,KAAKC,MAAM,CAACF,GAAG,CAAC,CAAC,EAAEG,KAAK,EAAEC,aAAa,EAAEC,IAAI,EAAEC,gBAAgB,EAAE,GACvED,SAASR,cACL;oBAAEM;oBAAOC;oBAAeC;oBAAMC;gBAAiB,IAC/C;oBACEH;oBACAC,eAAe,CAAC,QAAQ,EAAEA,eAAe;oBACzCC,MAAM,CAAC,QAAQ,EAAEA,MAAM;oBACvBC;gBACF;YAENC,QAAQ;QACV,CAAA;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/versions/buildVersionCompoundIndexes.ts"],"sourcesContent":["import type { SanitizedCompoundIndex } from '../collections/config/types.js'\n\nexport const buildVersionCompoundIndexes = ({\n indexes,\n}: {\n indexes: SanitizedCompoundIndex[]\n}): SanitizedCompoundIndex[] => {\n return indexes.map((each) => ({\n fields: each.fields.map(({ field, localizedPath, path, pathHasLocalized }) => ({\n field,\n localizedPath: `version.${localizedPath}`,\n path: `version.${path}`,\n pathHasLocalized,\n })),\n unique: false,\n }))\n}\n"],"names":["buildVersionCompoundIndexes","indexes","map","each","fields","field","localizedPath","path","pathHasLocalized","unique"],"mappings":"AAEA,OAAO,MAAMA,8BAA8B,CAAC,EAC1CC,OAAO,EAGR;IACC,OAAOA,QAAQC,GAAG,CAAC,CAACC,OAAU,CAAA;YAC5BC,QAAQD,KAAKC,MAAM,CAACF,GAAG,CAAC,CAAC,EAAEG,KAAK,EAAEC,aAAa,EAAEC,IAAI,EAAEC,gBAAgB,EAAE,GAAM,CAAA;oBAC7EH;oBACAC,eAAe,CAAC,QAAQ,EAAEA,eAAe;oBACzCC,MAAM,CAAC,QAAQ,EAAEA,MAAM;oBACvBC;gBACF,CAAA;YACAC,QAAQ;QACV,CAAA;AACF,EAAC"}
@@ -9,7 +9,6 @@ type Args = {
9
9
  payload: Payload;
10
10
  req?: PayloadRequest;
11
11
  slug: string;
12
- versionIDs?: (number | string)[];
13
12
  };
14
13
  /**
15
14
  * Deletes every version belonging to one parent document, or to many at once via `ids`.
@@ -17,6 +16,6 @@ type Args = {
17
16
  * @internal - this may break or be removed at any time. It is exported from the package root only
18
17
  * so that Payload 2.x `payload/versions` imports keep resolving, not as an API to build on.
19
18
  */
20
- export declare const deleteCollectionVersions: ({ id, slug, ids, payload, req, versionIDs, }: Args) => Promise<void>;
19
+ export declare const deleteCollectionVersions: ({ id, slug, ids, payload, req, }: Args) => Promise<void>;
21
20
  export {};
22
21
  //# sourceMappingURL=deleteCollectionVersions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deleteCollectionVersions.d.ts","sourceRoot":"","sources":["../../src/versions/deleteCollectionVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,mBAAmB,CAAA;AAG9D,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AAG1C,KAAK,IAAI,GAAG;IACV,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CACjC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,iDAOlC,IAAI,KAAG,OAAO,CAAC,IAAI,CA2CrB,CAAA"}
1
+ {"version":3,"file":"deleteCollectionVersions.d.ts","sourceRoot":"","sources":["../../src/versions/deleteCollectionVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,KAAK,IAAI,GAAG;IACV,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,qCAMlC,IAAI,KAAG,OAAO,CAAC,IAAI,CAiBrB,CAAA"}
@@ -1,49 +1,20 @@
1
- import { resolveBranchOwnVersions } from '../branching/versions.js';
2
- import { markTransactionWrite } from '../utilities/transactionMutationTracker.js';
3
1
  /**
4
2
  * Deletes every version belonging to one parent document, or to many at once via `ids`.
5
3
  *
6
4
  * @internal - this may break or be removed at any time. It is exported from the package root only
7
5
  * so that Payload 2.x `payload/versions` imports keep resolving, not as an API to build on.
8
- */ export const deleteCollectionVersions = async ({ id, slug, ids, payload, req, versionIDs })=>{
6
+ */ export const deleteCollectionVersions = async ({ id, slug, ids, payload, req })=>{
9
7
  try {
10
- const parentIDs = ids ?? (typeof id === 'undefined' ? [] : [
11
- id
12
- ]);
13
- if (!parentIDs.length || versionIDs && !versionIDs.length) {
14
- return;
15
- }
16
- let where;
17
- if (versionIDs) {
18
- where = {
19
- id: {
20
- in: versionIDs
21
- }
22
- };
23
- } else {
24
- const branchScopedVersionQueries = await Promise.all(parentIDs.map((parentID)=>resolveBranchOwnVersions({
25
- id: parentID,
26
- collectionSlug: slug,
27
- req
28
- })));
29
- if (branchScopedVersionQueries.length === 1) {
30
- where = branchScopedVersionQueries[0];
31
- } else {
32
- where = {
33
- or: branchScopedVersionQueries
34
- };
35
- }
36
- }
37
8
  await payload.db.deleteVersions({
38
9
  collection: slug,
39
10
  req,
40
- // Scoped to the branch performing the delete. A delete on a branch is a
41
- // tombstone rather than a real delete, so cascading by canonical ID alone
42
- // would strip main's version chain while leaving its row in place.
43
- where
44
- });
45
- markTransactionWrite({
46
- req
11
+ where: {
12
+ parent: ids ? {
13
+ in: ids
14
+ } : {
15
+ equals: id
16
+ }
17
+ }
47
18
  });
48
19
  } catch (err) {
49
20
  payload.logger.error({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/versions/deleteCollectionVersions.ts"],"sourcesContent":["import type { PayloadRequest, Where } from '../types/index.js'\n\nimport { resolveBranchOwnVersions } from '../branching/versions.js'\nimport { type Payload } from '../index.js'\nimport { markTransactionWrite } from '../utilities/transactionMutationTracker.js'\n\ntype Args = {\n id?: number | string\n /**\n * Delete the versions of many parent documents at once. Takes precedence over `id`.\n */\n ids?: (number | string)[]\n payload: Payload\n req?: PayloadRequest\n slug: string\n versionIDs?: (number | string)[]\n}\n\n/**\n * Deletes every version belonging to one parent document, or to many at once via `ids`.\n *\n * @internal - this may break or be removed at any time. It is exported from the package root only\n * so that Payload 2.x `payload/versions` imports keep resolving, not as an API to build on.\n */\nexport const deleteCollectionVersions = async ({\n id,\n slug,\n ids,\n payload,\n req,\n versionIDs,\n}: Args): Promise<void> => {\n try {\n const parentIDs = ids ?? (typeof id === 'undefined' ? [] : [id])\n\n if (!parentIDs.length || (versionIDs && !versionIDs.length)) {\n return\n }\n\n let where: Where\n\n if (versionIDs) {\n where = { id: { in: versionIDs } }\n } else {\n const branchScopedVersionQueries = await Promise.all(\n parentIDs.map((parentID) =>\n resolveBranchOwnVersions({ id: parentID, collectionSlug: slug, req }),\n ),\n )\n\n if (branchScopedVersionQueries.length === 1) {\n where = branchScopedVersionQueries[0]!\n } else {\n where = { or: branchScopedVersionQueries }\n }\n }\n\n await payload.db.deleteVersions({\n collection: slug,\n req,\n // Scoped to the branch performing the delete. A delete on a branch is a\n // tombstone rather than a real delete, so cascading by canonical ID alone\n // would strip main's version chain while leaving its row in place.\n where,\n })\n markTransactionWrite({ req })\n } catch (err) {\n payload.logger.error({\n err,\n msg: ids\n ? `There was an error removing versions for ${ids.length} deleted ${slug} documents.`\n : `There was an error removing versions for the deleted ${slug} document with ID ${id}.`,\n })\n }\n}\n"],"names":["resolveBranchOwnVersions","markTransactionWrite","deleteCollectionVersions","id","slug","ids","payload","req","versionIDs","parentIDs","length","where","in","branchScopedVersionQueries","Promise","all","map","parentID","collectionSlug","or","db","deleteVersions","collection","err","logger","error","msg"],"mappings":"AAEA,SAASA,wBAAwB,QAAQ,2BAA0B;AAEnE,SAASC,oBAAoB,QAAQ,6CAA4C;AAcjF;;;;;CAKC,GACD,OAAO,MAAMC,2BAA2B,OAAO,EAC7CC,EAAE,EACFC,IAAI,EACJC,GAAG,EACHC,OAAO,EACPC,GAAG,EACHC,UAAU,EACL;IACL,IAAI;QACF,MAAMC,YAAYJ,OAAQ,CAAA,OAAOF,OAAO,cAAc,EAAE,GAAG;YAACA;SAAG,AAAD;QAE9D,IAAI,CAACM,UAAUC,MAAM,IAAKF,cAAc,CAACA,WAAWE,MAAM,EAAG;YAC3D;QACF;QAEA,IAAIC;QAEJ,IAAIH,YAAY;YACdG,QAAQ;gBAAER,IAAI;oBAAES,IAAIJ;gBAAW;YAAE;QACnC,OAAO;YACL,MAAMK,6BAA6B,MAAMC,QAAQC,GAAG,CAClDN,UAAUO,GAAG,CAAC,CAACC,WACbjB,yBAAyB;oBAAEG,IAAIc;oBAAUC,gBAAgBd;oBAAMG;gBAAI;YAIvE,IAAIM,2BAA2BH,MAAM,KAAK,GAAG;gBAC3CC,QAAQE,0BAA0B,CAAC,EAAE;YACvC,OAAO;gBACLF,QAAQ;oBAAEQ,IAAIN;gBAA2B;YAC3C;QACF;QAEA,MAAMP,QAAQc,EAAE,CAACC,cAAc,CAAC;YAC9BC,YAAYlB;YACZG;YACA,wEAAwE;YACxE,0EAA0E;YAC1E,mEAAmE;YACnEI;QACF;QACAV,qBAAqB;YAAEM;QAAI;IAC7B,EAAE,OAAOgB,KAAK;QACZjB,QAAQkB,MAAM,CAACC,KAAK,CAAC;YACnBF;YACAG,KAAKrB,MACD,CAAC,yCAAyC,EAAEA,IAAIK,MAAM,CAAC,SAAS,EAAEN,KAAK,WAAW,CAAC,GACnF,CAAC,qDAAqD,EAAEA,KAAK,kBAAkB,EAAED,GAAG,CAAC,CAAC;QAC5F;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/versions/deleteCollectionVersions.ts"],"sourcesContent":["import type { PayloadRequest } from '../types/index.js'\n\nimport { type Payload } from '../index.js'\n\ntype Args = {\n id?: number | string\n /**\n * Delete the versions of many parent documents at once. Takes precedence over `id`.\n */\n ids?: (number | string)[]\n payload: Payload\n req?: PayloadRequest\n slug: string\n}\n\n/**\n * Deletes every version belonging to one parent document, or to many at once via `ids`.\n *\n * @internal - this may break or be removed at any time. It is exported from the package root only\n * so that Payload 2.x `payload/versions` imports keep resolving, not as an API to build on.\n */\nexport const deleteCollectionVersions = async ({\n id,\n slug,\n ids,\n payload,\n req,\n}: Args): Promise<void> => {\n try {\n await payload.db.deleteVersions({\n collection: slug,\n req,\n where: {\n parent: ids ? { in: ids } : { equals: id },\n },\n })\n } catch (err) {\n payload.logger.error({\n err,\n msg: ids\n ? `There was an error removing versions for ${ids.length} deleted ${slug} documents.`\n : `There was an error removing versions for the deleted ${slug} document with ID ${id}.`,\n })\n }\n}\n"],"names":["deleteCollectionVersions","id","slug","ids","payload","req","db","deleteVersions","collection","where","parent","in","equals","err","logger","error","msg","length"],"mappings":"AAeA;;;;;CAKC,GACD,OAAO,MAAMA,2BAA2B,OAAO,EAC7CC,EAAE,EACFC,IAAI,EACJC,GAAG,EACHC,OAAO,EACPC,GAAG,EACE;IACL,IAAI;QACF,MAAMD,QAAQE,EAAE,CAACC,cAAc,CAAC;YAC9BC,YAAYN;YACZG;YACAI,OAAO;gBACLC,QAAQP,MAAM;oBAAEQ,IAAIR;gBAAI,IAAI;oBAAES,QAAQX;gBAAG;YAC3C;QACF;IACF,EAAE,OAAOY,KAAK;QACZT,QAAQU,MAAM,CAACC,KAAK,CAAC;YACnBF;YACAG,KAAKb,MACD,CAAC,yCAAyC,EAAEA,IAAIc,MAAM,CAAC,SAAS,EAAEf,KAAK,WAAW,CAAC,GACnF,CAAC,qDAAqD,EAAEA,KAAK,kBAAkB,EAAED,GAAG,CAAC,CAAC;QAC5F;IACF;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deleteScheduledPublishJobs.d.ts","sourceRoot":"","sources":["../../src/versions/deleteScheduledPublishJobs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AAI1C,KAAK,IAAI,GAAG;IACV,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,eAAO,MAAM,0BAA0B,qCAMpC,IAAI,KAAG,OAAO,CAAC,IAAI,CAsDrB,CAAA"}
1
+ {"version":3,"file":"deleteScheduledPublishJobs.d.ts","sourceRoot":"","sources":["../../src/versions/deleteScheduledPublishJobs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AAG1C,KAAK,IAAI,GAAG;IACV,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,eAAO,MAAM,0BAA0B,qCAMpC,IAAI,KAAG,OAAO,CAAC,IAAI,CAqDrB,CAAA"}
@@ -1,5 +1,4 @@
1
1
  import { jobsCollectionSlug } from '../queues/config/collection.js';
2
- import { markTransactionWrite } from '../utilities/transactionMutationTracker.js';
3
2
  export const deleteScheduledPublishJobs = async ({ id, slug, ids, payload, req })=>{
4
3
  try {
5
4
  await payload.db.deleteMany({
@@ -43,9 +42,6 @@ export const deleteScheduledPublishJobs = async ({ id, slug, ids, payload, req }
43
42
  ]
44
43
  }
45
44
  });
46
- markTransactionWrite({
47
- req
48
- });
49
45
  } catch (err) {
50
46
  payload.logger.error({
51
47
  err,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/versions/deleteScheduledPublishJobs.ts"],"sourcesContent":["import type { PayloadRequest } from '../types/index.js'\n\nimport { type Payload } from '../index.js'\nimport { jobsCollectionSlug } from '../queues/config/collection.js'\nimport { markTransactionWrite } from '../utilities/transactionMutationTracker.js'\n\ntype Args = {\n id?: number | string\n /**\n * Delete the scheduled publish jobs of many documents at once. Takes precedence over `id`.\n */\n ids?: (number | string)[]\n payload: Payload\n req?: PayloadRequest\n slug: string\n}\n\nexport const deleteScheduledPublishJobs = async ({\n id,\n slug,\n ids,\n payload,\n req,\n}: Args): Promise<void> => {\n try {\n await payload.db.deleteMany({\n collection: jobsCollectionSlug,\n req,\n where: {\n and: [\n // only want to delete jobs have not run yet\n {\n completedAt: {\n exists: false,\n },\n },\n {\n processingUntil: {\n exists: false,\n },\n },\n ids\n ? {\n or: ids.map((id) => ({\n 'input.doc.value': {\n equals: id,\n },\n })),\n }\n : {\n 'input.doc.value': {\n equals: id,\n },\n },\n {\n 'input.doc.relationTo': {\n equals: slug,\n },\n },\n // data.type narrows scheduled publish jobs in case of another job having input.doc.value\n {\n taskSlug: {\n equals: 'schedulePublish',\n },\n },\n ],\n },\n })\n markTransactionWrite({ req })\n } catch (err) {\n payload.logger.error({\n err,\n msg: ids\n ? `There was an error deleting scheduled publish jobs from the queue for ${ids.length} ${slug} documents.`\n : `There was an error deleting scheduled publish jobs from the queue for ${slug} document with ID ${id}.`,\n })\n }\n}\n"],"names":["jobsCollectionSlug","markTransactionWrite","deleteScheduledPublishJobs","id","slug","ids","payload","req","db","deleteMany","collection","where","and","completedAt","exists","processingUntil","or","map","equals","taskSlug","err","logger","error","msg","length"],"mappings":"AAGA,SAASA,kBAAkB,QAAQ,iCAAgC;AACnE,SAASC,oBAAoB,QAAQ,6CAA4C;AAajF,OAAO,MAAMC,6BAA6B,OAAO,EAC/CC,EAAE,EACFC,IAAI,EACJC,GAAG,EACHC,OAAO,EACPC,GAAG,EACE;IACL,IAAI;QACF,MAAMD,QAAQE,EAAE,CAACC,UAAU,CAAC;YAC1BC,YAAYV;YACZO;YACAI,OAAO;gBACLC,KAAK;oBACH,4CAA4C;oBAC5C;wBACEC,aAAa;4BACXC,QAAQ;wBACV;oBACF;oBACA;wBACEC,iBAAiB;4BACfD,QAAQ;wBACV;oBACF;oBACAT,MACI;wBACEW,IAAIX,IAAIY,GAAG,CAAC,CAACd,KAAQ,CAAA;gCACnB,mBAAmB;oCACjBe,QAAQf;gCACV;4BACF,CAAA;oBACF,IACA;wBACE,mBAAmB;4BACjBe,QAAQf;wBACV;oBACF;oBACJ;wBACE,wBAAwB;4BACtBe,QAAQd;wBACV;oBACF;oBACA,yFAAyF;oBACzF;wBACEe,UAAU;4BACRD,QAAQ;wBACV;oBACF;iBACD;YACH;QACF;QACAjB,qBAAqB;YAAEM;QAAI;IAC7B,EAAE,OAAOa,KAAK;QACZd,QAAQe,MAAM,CAACC,KAAK,CAAC;YACnBF;YACAG,KAAKlB,MACD,CAAC,sEAAsE,EAAEA,IAAImB,MAAM,CAAC,CAAC,EAAEpB,KAAK,WAAW,CAAC,GACxG,CAAC,sEAAsE,EAAEA,KAAK,kBAAkB,EAAED,GAAG,CAAC,CAAC;QAC7G;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/versions/deleteScheduledPublishJobs.ts"],"sourcesContent":["import type { PayloadRequest } from '../types/index.js'\n\nimport { type Payload } from '../index.js'\nimport { jobsCollectionSlug } from '../queues/config/collection.js'\n\ntype Args = {\n id?: number | string\n /**\n * Delete the scheduled publish jobs of many documents at once. Takes precedence over `id`.\n */\n ids?: (number | string)[]\n payload: Payload\n req?: PayloadRequest\n slug: string\n}\n\nexport const deleteScheduledPublishJobs = async ({\n id,\n slug,\n ids,\n payload,\n req,\n}: Args): Promise<void> => {\n try {\n await payload.db.deleteMany({\n collection: jobsCollectionSlug,\n req,\n where: {\n and: [\n // only want to delete jobs have not run yet\n {\n completedAt: {\n exists: false,\n },\n },\n {\n processingUntil: {\n exists: false,\n },\n },\n ids\n ? {\n or: ids.map((id) => ({\n 'input.doc.value': {\n equals: id,\n },\n })),\n }\n : {\n 'input.doc.value': {\n equals: id,\n },\n },\n {\n 'input.doc.relationTo': {\n equals: slug,\n },\n },\n // data.type narrows scheduled publish jobs in case of another job having input.doc.value\n {\n taskSlug: {\n equals: 'schedulePublish',\n },\n },\n ],\n },\n })\n } catch (err) {\n payload.logger.error({\n err,\n msg: ids\n ? `There was an error deleting scheduled publish jobs from the queue for ${ids.length} ${slug} documents.`\n : `There was an error deleting scheduled publish jobs from the queue for ${slug} document with ID ${id}.`,\n })\n }\n}\n"],"names":["jobsCollectionSlug","deleteScheduledPublishJobs","id","slug","ids","payload","req","db","deleteMany","collection","where","and","completedAt","exists","processingUntil","or","map","equals","taskSlug","err","logger","error","msg","length"],"mappings":"AAGA,SAASA,kBAAkB,QAAQ,iCAAgC;AAanE,OAAO,MAAMC,6BAA6B,OAAO,EAC/CC,EAAE,EACFC,IAAI,EACJC,GAAG,EACHC,OAAO,EACPC,GAAG,EACE;IACL,IAAI;QACF,MAAMD,QAAQE,EAAE,CAACC,UAAU,CAAC;YAC1BC,YAAYT;YACZM;YACAI,OAAO;gBACLC,KAAK;oBACH,4CAA4C;oBAC5C;wBACEC,aAAa;4BACXC,QAAQ;wBACV;oBACF;oBACA;wBACEC,iBAAiB;4BACfD,QAAQ;wBACV;oBACF;oBACAT,MACI;wBACEW,IAAIX,IAAIY,GAAG,CAAC,CAACd,KAAQ,CAAA;gCACnB,mBAAmB;oCACjBe,QAAQf;gCACV;4BACF,CAAA;oBACF,IACA;wBACE,mBAAmB;4BACjBe,QAAQf;wBACV;oBACF;oBACJ;wBACE,wBAAwB;4BACtBe,QAAQd;wBACV;oBACF;oBACA,yFAAyF;oBACzF;wBACEe,UAAU;4BACRD,QAAQ;wBACV;oBACF;iBACD;YACH;QACF;IACF,EAAE,OAAOE,KAAK;QACZd,QAAQe,MAAM,CAACC,KAAK,CAAC;YACnBF;YACAG,KAAKlB,MACD,CAAC,sEAAsE,EAAEA,IAAImB,MAAM,CAAC,CAAC,EAAEpB,KAAK,WAAW,CAAC,GACxG,CAAC,sEAAsE,EAAEA,KAAK,kBAAkB,EAAED,GAAG,CAAC,CAAC;QAC7G;IACF;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"appendVersionToQueryKey.d.ts","sourceRoot":"","sources":["../../../src/versions/drafts/appendVersionToQueryKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AA2BjD,eAAO,MAAM,6BAA6B,WAAW,KAAK,KAAQ,KACjB,CAAA;AAEjD,eAAO,MAAM,uBAAuB,WAAW,KAAK,KAAQ,KACR,CAAA"}
1
+ {"version":3,"file":"appendVersionToQueryKey.d.ts","sourceRoot":"","sources":["../../../src/versions/drafts/appendVersionToQueryKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAoBjD,eAAO,MAAM,6BAA6B,WAAW,KAAK,KAAQ,KACxB,CAAA;AAE1C,eAAO,MAAM,uBAAuB,WAAW,KAAK,KAAQ,KACR,CAAA"}
@@ -9,21 +9,13 @@ const appendVersionToQueryKeyWithIDPath = (query, idPath)=>{
9
9
  [key.toLowerCase()]: val.map((subQuery)=>appendVersionToQueryKeyWithIDPath(subQuery, idPath))
10
10
  };
11
11
  }
12
- if (key === 'id' && idPath === false) {
13
- return {
14
- ...res,
15
- id: {
16
- exists: false
17
- }
18
- };
19
- }
20
12
  return {
21
13
  ...res,
22
14
  [key === 'id' && idPath ? idPath : `version.${key}`]: val
23
15
  };
24
16
  }, {});
25
17
  };
26
- export const appendGlobalVersionToQueryKey = (query = {})=>appendVersionToQueryKeyWithIDPath(query, false);
18
+ export const appendGlobalVersionToQueryKey = (query = {})=>appendVersionToQueryKeyWithIDPath(query);
27
19
  export const appendVersionToQueryKey = (query = {})=>appendVersionToQueryKeyWithIDPath(query, 'parent');
28
20
 
29
21
  //# sourceMappingURL=appendVersionToQueryKey.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/versions/drafts/appendVersionToQueryKey.ts"],"sourcesContent":["import type { Where } from '../../types/index.js'\n\nconst appendVersionToQueryKeyWithIDPath = (query: Where, idPath?: false | string): Where => {\n return Object.entries(query).reduce((res, [key, val]) => {\n if (['and', 'or'].includes(key.toLowerCase()) && Array.isArray(val)) {\n return {\n ...res,\n [key.toLowerCase()]: val.map((subQuery) =>\n appendVersionToQueryKeyWithIDPath(subQuery, idPath),\n ),\n }\n }\n\n if (key === 'id' && idPath === false) {\n return {\n ...res,\n id: { exists: false },\n }\n }\n\n return {\n ...res,\n [key === 'id' && idPath ? idPath : `version.${key}`]: val,\n }\n }, {})\n}\n\nexport const appendGlobalVersionToQueryKey = (query: Where = {}): Where =>\n appendVersionToQueryKeyWithIDPath(query, false)\n\nexport const appendVersionToQueryKey = (query: Where = {}): Where =>\n appendVersionToQueryKeyWithIDPath(query, 'parent')\n"],"names":["appendVersionToQueryKeyWithIDPath","query","idPath","Object","entries","reduce","res","key","val","includes","toLowerCase","Array","isArray","map","subQuery","id","exists","appendGlobalVersionToQueryKey","appendVersionToQueryKey"],"mappings":"AAEA,MAAMA,oCAAoC,CAACC,OAAcC;IACvD,OAAOC,OAAOC,OAAO,CAACH,OAAOI,MAAM,CAAC,CAACC,KAAK,CAACC,KAAKC,IAAI;QAClD,IAAI;YAAC;YAAO;SAAK,CAACC,QAAQ,CAACF,IAAIG,WAAW,OAAOC,MAAMC,OAAO,CAACJ,MAAM;YACnE,OAAO;gBACL,GAAGF,GAAG;gBACN,CAACC,IAAIG,WAAW,GAAG,EAAEF,IAAIK,GAAG,CAAC,CAACC,WAC5Bd,kCAAkCc,UAAUZ;YAEhD;QACF;QAEA,IAAIK,QAAQ,QAAQL,WAAW,OAAO;YACpC,OAAO;gBACL,GAAGI,GAAG;gBACNS,IAAI;oBAAEC,QAAQ;gBAAM;YACtB;QACF;QAEA,OAAO;YACL,GAAGV,GAAG;YACN,CAACC,QAAQ,QAAQL,SAASA,SAAS,CAAC,QAAQ,EAAEK,KAAK,CAAC,EAAEC;QACxD;IACF,GAAG,CAAC;AACN;AAEA,OAAO,MAAMS,gCAAgC,CAAChB,QAAe,CAAC,CAAC,GAC7DD,kCAAkCC,OAAO,OAAM;AAEjD,OAAO,MAAMiB,0BAA0B,CAACjB,QAAe,CAAC,CAAC,GACvDD,kCAAkCC,OAAO,UAAS"}
1
+ {"version":3,"sources":["../../../src/versions/drafts/appendVersionToQueryKey.ts"],"sourcesContent":["import type { Where } from '../../types/index.js'\n\nconst appendVersionToQueryKeyWithIDPath = (query: Where, idPath?: string): Where => {\n return Object.entries(query).reduce((res, [key, val]) => {\n if (['and', 'or'].includes(key.toLowerCase()) && Array.isArray(val)) {\n return {\n ...res,\n [key.toLowerCase()]: val.map((subQuery) =>\n appendVersionToQueryKeyWithIDPath(subQuery, idPath),\n ),\n }\n }\n\n return {\n ...res,\n [key === 'id' && idPath ? idPath : `version.${key}`]: val,\n }\n }, {})\n}\n\nexport const appendGlobalVersionToQueryKey = (query: Where = {}): Where =>\n appendVersionToQueryKeyWithIDPath(query)\n\nexport const appendVersionToQueryKey = (query: Where = {}): Where =>\n appendVersionToQueryKeyWithIDPath(query, 'parent')\n"],"names":["appendVersionToQueryKeyWithIDPath","query","idPath","Object","entries","reduce","res","key","val","includes","toLowerCase","Array","isArray","map","subQuery","appendGlobalVersionToQueryKey","appendVersionToQueryKey"],"mappings":"AAEA,MAAMA,oCAAoC,CAACC,OAAcC;IACvD,OAAOC,OAAOC,OAAO,CAACH,OAAOI,MAAM,CAAC,CAACC,KAAK,CAACC,KAAKC,IAAI;QAClD,IAAI;YAAC;YAAO;SAAK,CAACC,QAAQ,CAACF,IAAIG,WAAW,OAAOC,MAAMC,OAAO,CAACJ,MAAM;YACnE,OAAO;gBACL,GAAGF,GAAG;gBACN,CAACC,IAAIG,WAAW,GAAG,EAAEF,IAAIK,GAAG,CAAC,CAACC,WAC5Bd,kCAAkCc,UAAUZ;YAEhD;QACF;QAEA,OAAO;YACL,GAAGI,GAAG;YACN,CAACC,QAAQ,QAAQL,SAASA,SAAS,CAAC,QAAQ,EAAEK,KAAK,CAAC,EAAEC;QACxD;IACF,GAAG,CAAC;AACN;AAEA,OAAO,MAAMO,gCAAgC,CAACd,QAAe,CAAC,CAAC,GAC7DD,kCAAkCC,OAAM;AAE1C,OAAO,MAAMe,0BAA0B,CAACf,QAAe,CAAC,CAAC,GACvDD,kCAAkCC,OAAO,UAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"replaceWithDraftIfAvailable.d.ts","sourceRoot":"","sources":["../../../src/versions/drafts/replaceWithDraftIfAvailable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAS,MAAM,sBAAsB,CAAA;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAWlD,KAAK,SAAS,CAAC,CAAC,IAAI;IAClB,YAAY,EAAE,YAAY,CAAA;IAC1B,GAAG,EAAE,CAAC,CAAA;IACN,MAAM,EAAE,yBAAyB,GAAG,qBAAqB,CAAA;IACzD,UAAU,EAAE,YAAY,GAAG,QAAQ,CAAA;IACnC,cAAc,EAAE,OAAO,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB,CAAA;AAED,KAAK,yBAAyB,CAAC,CAAC,IAAI;IAClC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACjC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;AAEhB,eAAO,MAAM,2BAA2B,GAAU,CAAC,SAAS,UAAU,2EAQnE,SAAS,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAY1B,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAU,CAAC,SAAS,UAAU,2EAQxD,yBAAyB,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,CA2GvE,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAI,CAAC,SAAS,UAAU,sCAI7D;IACD,GAAG,EAAE,CAAC,CAAA;IACN,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;IAChC,UAAU,EAAE,YAAY,GAAG,QAAQ,CAAA;CACpC,KAAG,CAqBH,CAAA"}
1
+ {"version":3,"file":"replaceWithDraftIfAvailable.d.ts","sourceRoot":"","sources":["../../../src/versions/drafts/replaceWithDraftIfAvailable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAS,MAAM,sBAAsB,CAAA;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAUlD,KAAK,SAAS,CAAC,CAAC,IAAI;IAClB,YAAY,EAAE,YAAY,CAAA;IAC1B,GAAG,EAAE,CAAC,CAAA;IACN,MAAM,EAAE,yBAAyB,GAAG,qBAAqB,CAAA;IACzD,UAAU,EAAE,YAAY,GAAG,QAAQ,CAAA;IACnC,cAAc,EAAE,OAAO,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB,CAAA;AAED,KAAK,yBAAyB,CAAC,CAAC,IAAI;IAClC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACjC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;AAEhB,eAAO,MAAM,2BAA2B,GAAU,CAAC,SAAS,UAAU,2EAQnE,SAAS,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAY1B,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAU,CAAC,SAAS,UAAU,2EAQxD,yBAAyB,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,CAqGvE,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAI,CAAC,SAAS,UAAU,sCAI7D;IACD,GAAG,EAAE,CAAC,CAAA;IACN,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;IAChC,UAAU,EAAE,YAAY,GAAG,QAAQ,CAAA;CACpC,KAAG,CAqBH,CAAA"}
@@ -1,6 +1,5 @@
1
1
  // @ts-strict-ignore
2
2
  import { hasWhereAccessResult } from '../../auth/index.js';
3
- import { resolveBranchRowID } from '../../branching/resolveBranchRowID.js';
4
3
  import { combineQueries } from '../../database/combineQueries.js';
5
4
  import { docHasTimestamps } from '../../types/index.js';
6
5
  import { hasLocalizeStatusEnabled } from '../../utilities/getVersionsConfig.js';
@@ -60,15 +59,9 @@ export const findDraftVersion = async ({ accessResult, doc, draftVersionID, enti
60
59
  }
61
60
  }
62
61
  if (entityType === 'collection') {
63
- // On a branch, versions hang off the branch's own copy of the document, so
64
- // `parent` is that row's primary key rather than the canonical ID.
65
62
  queryToBuild.and.push({
66
63
  parent: {
67
- equals: await resolveBranchRowID({
68
- id: doc.id,
69
- collectionSlug: entity.slug,
70
- req
71
- })
64
+ equals: doc.id
72
65
  }
73
66
  });
74
67
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/versions/drafts/replaceWithDraftIfAvailable.ts"],"sourcesContent":["// @ts-strict-ignore\nimport type { SanitizedCollectionConfig, TypeWithID } from '../../collections/config/types.js'\nimport type { AccessResult } from '../../config/types.js'\nimport type { FindGlobalVersionsArgs, FindVersionsArgs } from '../../database/types.js'\nimport type { SanitizedGlobalConfig } from '../../globals/config/types.js'\nimport type { PayloadRequest, SelectType, Where } from '../../types/index.js'\nimport type { TypeWithVersion } from '../types.js'\n\nimport { hasWhereAccessResult } from '../../auth/index.js'\nimport { resolveBranchRowID } from '../../branching/resolveBranchRowID.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { docHasTimestamps } from '../../types/index.js'\nimport { hasLocalizeStatusEnabled } from '../../utilities/getVersionsConfig.js'\nimport { sanitizeInternalFields } from '../../utilities/sanitizeInternalFields.js'\nimport { appendVersionToQueryKey } from './appendVersionToQueryKey.js'\nimport { getQueryDraftsSelect } from './getQueryDraftsSelect.js'\n\ntype Arguments<T> = {\n accessResult: AccessResult\n doc: T\n entity: SanitizedCollectionConfig | SanitizedGlobalConfig\n entityType: 'collection' | 'global'\n overrideAccess: boolean\n req: PayloadRequest\n select?: SelectType\n}\n\ntype FindDraftVersionArguments<T> = {\n draftVersionID?: number | string\n} & Arguments<T>\n\nexport const replaceWithDraftIfAvailable = async <T extends TypeWithID>({\n accessResult,\n doc,\n entity,\n entityType,\n overrideAccess,\n req,\n select,\n}: Arguments<T>): Promise<T> => {\n const draftVersion = await findDraftVersion({\n accessResult,\n doc,\n entity,\n entityType,\n overrideAccess,\n req,\n select,\n })\n\n return draftVersion ? getDocumentFromDraftVersion({ doc, draftVersion, entityType }) : doc\n}\n\nexport const findDraftVersion = async <T extends TypeWithID>({\n accessResult,\n doc,\n draftVersionID,\n entity,\n entityType,\n req,\n select,\n}: FindDraftVersionArguments<T>): Promise<TypeWithVersion<T> | undefined> => {\n const { locale, payload } = req\n\n let queryToBuild: Where = {\n and: [\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n ],\n }\n\n if (hasLocalizeStatusEnabled(entity)) {\n if (locale === 'all') {\n queryToBuild = {\n and: [\n {\n or: (\n (payload.config.localization && payload.config.localization.localeCodes) ||\n []\n ).map((localeCode) => ({\n [`version._status.${localeCode}`]: {\n equals: 'draft',\n },\n })),\n },\n ],\n }\n } else if (locale) {\n queryToBuild = {\n and: [\n {\n [`version._status.${locale}`]: {\n equals: 'draft',\n },\n },\n ],\n }\n }\n }\n\n if (entityType === 'collection') {\n // On a branch, versions hang off the branch's own copy of the document, so\n // `parent` is that row's primary key rather than the canonical ID.\n queryToBuild.and!.push({\n parent: {\n equals: await resolveBranchRowID({\n id: doc.id,\n collectionSlug: entity.slug,\n req,\n }),\n },\n })\n }\n\n if (draftVersionID !== undefined) {\n queryToBuild.and!.push({\n id: {\n equals: draftVersionID,\n },\n })\n }\n\n if (docHasTimestamps(doc)) {\n queryToBuild.and!.push({\n or: [\n {\n updatedAt: {\n greater_than: doc.updatedAt,\n },\n },\n {\n latest: {\n equals: true,\n },\n },\n ],\n })\n }\n\n let versionAccessResult: undefined | Where\n\n if (hasWhereAccessResult(accessResult)) {\n versionAccessResult = appendVersionToQueryKey(accessResult)\n }\n\n const findVersionsArgs: FindGlobalVersionsArgs & FindVersionsArgs = {\n collection: entity.slug,\n global: entity.slug,\n limit: 1,\n locale: locale!,\n pagination: false,\n req,\n select: getQueryDraftsSelect({ select }),\n sort: '-updatedAt',\n where: combineQueries(queryToBuild, versionAccessResult!),\n }\n\n let versionDocs\n if (entityType === 'global') {\n versionDocs = (await req.payload.db.findGlobalVersions<T>(findVersionsArgs)).docs\n } else {\n versionDocs = (await req.payload.db.findVersions<T>(findVersionsArgs)).docs\n }\n\n return versionDocs[0]\n}\n\nexport const getDocumentFromDraftVersion = <T extends TypeWithID>({\n doc,\n draftVersion,\n entityType,\n}: {\n doc: T\n draftVersion: TypeWithVersion<T>\n entityType: 'collection' | 'global'\n}): T => {\n const draft = sanitizeInternalFields(draftVersion)\n\n // Patch globalType onto version doc\n if (entityType === 'global' && 'globalType' in doc) {\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n draft.version.globalType = doc.globalType\n }\n\n // handle when .version wasn't selected due to projection\n if (!draft.version) {\n draft.version = {} as T\n }\n\n // Disregard all other draft content at this point,\n // Only interested in the version itself.\n // Operations will handle firing hooks, etc.\n\n draft.version.id = doc.id\n\n return draft.version\n}\n"],"names":["hasWhereAccessResult","resolveBranchRowID","combineQueries","docHasTimestamps","hasLocalizeStatusEnabled","sanitizeInternalFields","appendVersionToQueryKey","getQueryDraftsSelect","replaceWithDraftIfAvailable","accessResult","doc","entity","entityType","overrideAccess","req","select","draftVersion","findDraftVersion","getDocumentFromDraftVersion","draftVersionID","locale","payload","queryToBuild","and","equals","or","config","localization","localeCodes","map","localeCode","push","parent","id","collectionSlug","slug","undefined","updatedAt","greater_than","latest","versionAccessResult","findVersionsArgs","collection","global","limit","pagination","sort","where","versionDocs","db","findGlobalVersions","docs","findVersions","draft","version","globalType"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/versions/drafts/replaceWithDraftIfAvailable.ts"],"sourcesContent":["// @ts-strict-ignore\nimport type { SanitizedCollectionConfig, TypeWithID } from '../../collections/config/types.js'\nimport type { AccessResult } from '../../config/types.js'\nimport type { FindGlobalVersionsArgs, FindVersionsArgs } from '../../database/types.js'\nimport type { SanitizedGlobalConfig } from '../../globals/config/types.js'\nimport type { PayloadRequest, SelectType, Where } from '../../types/index.js'\nimport type { TypeWithVersion } from '../types.js'\n\nimport { hasWhereAccessResult } from '../../auth/index.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { docHasTimestamps } from '../../types/index.js'\nimport { hasLocalizeStatusEnabled } from '../../utilities/getVersionsConfig.js'\nimport { sanitizeInternalFields } from '../../utilities/sanitizeInternalFields.js'\nimport { appendVersionToQueryKey } from './appendVersionToQueryKey.js'\nimport { getQueryDraftsSelect } from './getQueryDraftsSelect.js'\n\ntype Arguments<T> = {\n accessResult: AccessResult\n doc: T\n entity: SanitizedCollectionConfig | SanitizedGlobalConfig\n entityType: 'collection' | 'global'\n overrideAccess: boolean\n req: PayloadRequest\n select?: SelectType\n}\n\ntype FindDraftVersionArguments<T> = {\n draftVersionID?: number | string\n} & Arguments<T>\n\nexport const replaceWithDraftIfAvailable = async <T extends TypeWithID>({\n accessResult,\n doc,\n entity,\n entityType,\n overrideAccess,\n req,\n select,\n}: Arguments<T>): Promise<T> => {\n const draftVersion = await findDraftVersion({\n accessResult,\n doc,\n entity,\n entityType,\n overrideAccess,\n req,\n select,\n })\n\n return draftVersion ? getDocumentFromDraftVersion({ doc, draftVersion, entityType }) : doc\n}\n\nexport const findDraftVersion = async <T extends TypeWithID>({\n accessResult,\n doc,\n draftVersionID,\n entity,\n entityType,\n req,\n select,\n}: FindDraftVersionArguments<T>): Promise<TypeWithVersion<T> | undefined> => {\n const { locale, payload } = req\n\n let queryToBuild: Where = {\n and: [\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n ],\n }\n\n if (hasLocalizeStatusEnabled(entity)) {\n if (locale === 'all') {\n queryToBuild = {\n and: [\n {\n or: (\n (payload.config.localization && payload.config.localization.localeCodes) ||\n []\n ).map((localeCode) => ({\n [`version._status.${localeCode}`]: {\n equals: 'draft',\n },\n })),\n },\n ],\n }\n } else if (locale) {\n queryToBuild = {\n and: [\n {\n [`version._status.${locale}`]: {\n equals: 'draft',\n },\n },\n ],\n }\n }\n }\n\n if (entityType === 'collection') {\n queryToBuild.and!.push({\n parent: {\n equals: doc.id,\n },\n })\n }\n\n if (draftVersionID !== undefined) {\n queryToBuild.and!.push({\n id: {\n equals: draftVersionID,\n },\n })\n }\n\n if (docHasTimestamps(doc)) {\n queryToBuild.and!.push({\n or: [\n {\n updatedAt: {\n greater_than: doc.updatedAt,\n },\n },\n {\n latest: {\n equals: true,\n },\n },\n ],\n })\n }\n\n let versionAccessResult: undefined | Where\n\n if (hasWhereAccessResult(accessResult)) {\n versionAccessResult = appendVersionToQueryKey(accessResult)\n }\n\n const findVersionsArgs: FindGlobalVersionsArgs & FindVersionsArgs = {\n collection: entity.slug,\n global: entity.slug,\n limit: 1,\n locale: locale!,\n pagination: false,\n req,\n select: getQueryDraftsSelect({ select }),\n sort: '-updatedAt',\n where: combineQueries(queryToBuild, versionAccessResult!),\n }\n\n let versionDocs\n if (entityType === 'global') {\n versionDocs = (await req.payload.db.findGlobalVersions<T>(findVersionsArgs)).docs\n } else {\n versionDocs = (await req.payload.db.findVersions<T>(findVersionsArgs)).docs\n }\n\n return versionDocs[0]\n}\n\nexport const getDocumentFromDraftVersion = <T extends TypeWithID>({\n doc,\n draftVersion,\n entityType,\n}: {\n doc: T\n draftVersion: TypeWithVersion<T>\n entityType: 'collection' | 'global'\n}): T => {\n const draft = sanitizeInternalFields(draftVersion)\n\n // Patch globalType onto version doc\n if (entityType === 'global' && 'globalType' in doc) {\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n draft.version.globalType = doc.globalType\n }\n\n // handle when .version wasn't selected due to projection\n if (!draft.version) {\n draft.version = {} as T\n }\n\n // Disregard all other draft content at this point,\n // Only interested in the version itself.\n // Operations will handle firing hooks, etc.\n\n draft.version.id = doc.id\n\n return draft.version\n}\n"],"names":["hasWhereAccessResult","combineQueries","docHasTimestamps","hasLocalizeStatusEnabled","sanitizeInternalFields","appendVersionToQueryKey","getQueryDraftsSelect","replaceWithDraftIfAvailable","accessResult","doc","entity","entityType","overrideAccess","req","select","draftVersion","findDraftVersion","getDocumentFromDraftVersion","draftVersionID","locale","payload","queryToBuild","and","equals","or","config","localization","localeCodes","map","localeCode","push","parent","id","undefined","updatedAt","greater_than","latest","versionAccessResult","findVersionsArgs","collection","slug","global","limit","pagination","sort","where","versionDocs","db","findGlobalVersions","docs","findVersions","draft","version","globalType"],"mappings":"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"}
@@ -9,7 +9,6 @@ type Args = {
9
9
  payload: Payload;
10
10
  req?: PayloadRequest;
11
11
  };
12
- export declare const skipEnforceMaxVersionsContextKey: unique symbol;
13
12
  export declare const enforceMaxVersions: ({ id, collection, global: globalConfig, max, payload, req, }: Args) => Promise<void>;
14
13
  export {};
15
14
  //# sourceMappingURL=enforceMaxVersions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enforceMaxVersions.d.ts","sourceRoot":"","sources":["../../src/versions/enforceMaxVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAE/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAS,MAAM,mBAAmB,CAAA;AAQvE,KAAK,IAAI,GAAG;IACV,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,gCAAgC,eAAmC,CAAA;AAOhF,eAAO,MAAM,kBAAkB,iEAO5B,IAAI,KAAG,OAAO,CAAC,IAAI,CAqGrB,CAAA"}
1
+ {"version":3,"file":"enforceMaxVersions.d.ts","sourceRoot":"","sources":["../../src/versions/enforceMaxVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAE/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAS,MAAM,mBAAmB,CAAA;AAOvE,KAAK,IAAI,GAAG;IACV,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,kBAAkB,iEAO5B,IAAI,KAAG,OAAO,CAAC,IAAI,CAgFrB,CAAA"}