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 +0,0 @@
1
- {"version":3,"sources":["../../../src/branching/merge/executeMerge.ts"],"sourcesContent":["import type { Payload, PayloadRequest } from '../../types/index.js'\nimport type { MergeResult } from '../merge.js'\nimport type { BranchOperation, MergeableChange, MergeProgress } from '../types.js'\nimport type { SourceCleanupPlan, UploadCleanupPlan } from './finalizeMerge.js'\nimport type { PreparedBranchChange } from './prepareMerge.js'\nimport type { AppliedChangeResult } from './utilities.js'\n\nimport { APIError, Forbidden } from '../../errors/index.js'\nimport { throwOnFieldAccessDeniedContextKey } from '../../fields/hooks/beforeValidate/throwOnAccessDenied.js'\nimport {\n commitTransaction,\n isUnknownTransactionCommitResult,\n} from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport {\n beginDeferredCleanupScope,\n clearDeferredCleanupScope,\n flushDeferredCleanupScopeAfterOperation,\n scheduleAfterTransactionCommit,\n scheduleAfterTransactionRollback,\n} from '../../utilities/transactionCallbacks.js'\nimport {\n type CaptureSavedVersionID,\n captureSavedVersionIDContextKey,\n} from '../../versions/saveVersion.js'\nimport { resolveEffectiveOperations } from '../effectiveOperations.js'\nimport { type BranchMergeWriteGuard, branchMergeWriteGuardContextKey } from '../mergeWriteGuard.js'\nimport {\n hasUnavailableBranchCreatedDependency,\n resolveMergeDependencies,\n runGlobalMergePreflight,\n runMergeDependencyPreflight,\n runMergePreflight,\n} from '../preflight.js'\nimport { readCollectionMergeSnapshot } from '../readMergeSnapshot.js'\nimport { refreshBranchState } from '../resolveBranch.js'\nimport { branchField, branchParentField, MAIN_BRANCH } from '../types.js'\nimport { createMainBranchRequest } from '../validation.js'\nimport { applyChange, applyGlobalChange } from './applyMergeChange.js'\nimport { finalizeMergeAfterCommit, recordMergeRollback } from './finalizeMerge.js'\nimport { createMergeLedger } from './mergeLedger.js'\nimport { recoverMergeFailure } from './recoverMerge.js'\nimport { changeDocID } from './utilities.js'\n\nconst mergeEventCheckpointBatchSize = 1_000\nexport const unknownMergeCommitResultContextKey = Symbol('unknownMergeCommitResult')\n\nconst findLatestTargetCollectionVersionID = async ({\n collectionSlug,\n docID,\n payload,\n req,\n}: {\n collectionSlug: string\n docID: number | string\n payload: Payload\n req: PayloadRequest\n}): Promise<string | undefined> => {\n if (!payload.collections[collectionSlug]?.config.versions) {\n return undefined\n }\n\n const { docs } = await payload.db.findVersions({\n branch: false,\n collection: collectionSlug,\n limit: 1,\n pagination: false,\n req,\n sort: '-updatedAt',\n where: { parent: { equals: docID } },\n })\n const versionID = docs[0]?.id\n\n return versionID === undefined ? undefined : String(versionID)\n}\n\nconst findLatestTargetGlobalVersionID = async ({\n globalSlug,\n payload,\n req,\n}: {\n globalSlug: string\n payload: Payload\n req: PayloadRequest\n}): Promise<string | undefined> => {\n const globalConfig = payload.globals.config.find(({ slug }) => slug === globalSlug)\n\n if (!globalConfig?.versions) {\n return undefined\n }\n\n const { docs } = await payload.db.findGlobalVersions({\n branch: false,\n global: globalSlug,\n limit: 1,\n pagination: false,\n req,\n sort: '-updatedAt',\n where: { [branchField]: { equals: MAIN_BRANCH } },\n })\n const versionID = docs[0]?.id\n\n return versionID === undefined ? undefined : String(versionID)\n}\n\nconst readBranchUploadVersionDocuments = async ({\n branch,\n collectionSlug,\n payload,\n req,\n rowID,\n}: {\n branch: string\n collectionSlug: string\n payload: Payload\n req: PayloadRequest\n rowID: number | string\n}): Promise<Record<string, unknown>[]> => {\n if (!payload.collections[collectionSlug]?.config.versions) {\n return []\n }\n\n const { docs } = await payload.db.findVersions({\n branch: false,\n collection: collectionSlug,\n limit: 0,\n pagination: false,\n req,\n where: {\n and: [\n { parent: { equals: rowID } },\n { [branchField]: { equals: branch } },\n { [branchParentField]: { exists: true } },\n ],\n },\n })\n\n return docs.flatMap((version) =>\n version.version && typeof version.version === 'object' && !Array.isArray(version.version)\n ? [version.version as Record<string, unknown>]\n : [],\n )\n}\n\nconst orderChangesByDependencies = <TChange extends { id: unknown }>({\n changes,\n dependencyChangeIDsByChangeID,\n}: {\n changes: TChange[]\n dependencyChangeIDsByChangeID: Map<string, Set<string>>\n}): TChange[] => {\n const changesByID = new Map(changes.map((change) => [String(change.id), change]))\n const orderedChanges: TChange[] = []\n const orderedChangeIDs = new Set<string>()\n const visitingChangeIDs = new Set<string>()\n\n const visitChange = (change: TChange): void => {\n const changeID = String(change.id)\n\n if (orderedChangeIDs.has(changeID) || visitingChangeIDs.has(changeID)) {\n return\n }\n\n visitingChangeIDs.add(changeID)\n\n for (const dependencyChangeID of dependencyChangeIDsByChangeID.get(changeID) ?? []) {\n const dependencyChange = changesByID.get(dependencyChangeID)\n\n if (dependencyChange) {\n visitChange(dependencyChange)\n }\n }\n\n visitingChangeIDs.delete(changeID)\n orderedChangeIDs.add(changeID)\n orderedChanges.push(change)\n }\n\n for (const change of changes) {\n visitChange(change)\n }\n\n return orderedChanges\n}\n\nconst getSnapshotDocumentTitle = ({\n after,\n docID,\n useAsTitle,\n}: {\n after: null | Record<string, unknown> | undefined\n docID: number | string\n useAsTitle: string | undefined\n}): string => {\n const title = useAsTitle ? after?.[useAsTitle] : undefined\n\n return typeof title === 'number' || typeof title === 'string' ? String(title) : String(docID)\n}\n\nexport const executeMerge = async ({\n applicable,\n applicableGlobals,\n branch,\n branchDoc,\n closeBranch,\n incomingReq,\n mergeable,\n onProgress,\n overrideAccess,\n payload,\n req,\n result,\n}: {\n applicable: PreparedBranchChange[]\n applicableGlobals: PreparedBranchChange[]\n branch: string\n branchDoc: { id: number | string }\n closeBranch: boolean\n incomingReq?: PayloadRequest\n mergeable: MergeableChange[]\n onProgress?: (progress: MergeProgress, req: PayloadRequest) => Promise<void> | void\n overrideAccess: boolean\n payload: Payload\n req: PayloadRequest\n result: MergeResult\n}): Promise<MergeResult> => {\n const ledger = await createMergeLedger({ branch, mergeable, payload, req })\n // A request supplied by an HTTP caller does not yet have a transaction, so it\n // must start one just as a Local API call would.\n const shouldCommit = await initTransaction(req)\n const transactionID = req.transactionID ? await req.transactionID : undefined\n const hasTransaction = transactionID !== null && transactionID !== undefined\n const cleanupScope = await beginDeferredCleanupScope({ req })\n\n const uploadCleanupPlans: UploadCleanupPlan[] = []\n const sourceCleanupPlans: SourceCleanupPlan[] = []\n const appliedChangeIDs = new Set<string>()\n const reqContext = req.context as Record<PropertyKey, unknown>\n const previousBranchMergeWriteGuard = reqContext[branchMergeWriteGuardContextKey]\n const previousThrowOnFieldAccessDenied = reqContext[throwOnFieldAccessDeniedContextKey]\n\n reqContext[branchMergeWriteGuardContextKey] = (async ({\n collectionSlug,\n data,\n globalSlug,\n req: writeReq,\n }) => {\n if (\n await hasUnavailableBranchCreatedDependency({\n availableChangeIDs: appliedChangeIDs,\n collectionSlug,\n data,\n globalSlug,\n payload,\n req: writeReq,\n })\n ) {\n throw new APIError(\n 'This change refers to branch-created content that will not be available on main.',\n 409,\n )\n }\n }) satisfies BranchMergeWriteGuard\n\n if (!overrideAccess) {\n reqContext[throwOnFieldAccessDeniedContextKey] = true\n }\n\n let activeChangeID: number | string | undefined\n let isFinalCommitInProgress = false\n let mergedAt: string | undefined\n\n const finalizeAfterCommit = (): Promise<void> =>\n finalizeMergeAfterCommit({\n branch,\n branchDoc,\n closeBranch,\n incomingReq,\n ledger,\n mergedAt,\n payload,\n req,\n result,\n sourceCleanupPlans,\n uploadCleanupPlans,\n })\n\n const recordRollback = (): Promise<void> =>\n recordMergeRollback({ branchDoc, incomingReq, ledger, payload, req })\n\n try {\n const writeTargetReq = createMainBranchRequest({ req })\n const refreshedApplicable = await resolveEffectiveOperations({\n branch,\n changes: applicable,\n payload,\n req,\n })\n const dependencyPlan = await resolveMergeDependencies({\n initiallyBlocked: [],\n payload,\n pending: refreshedApplicable,\n pendingGlobals: applicableGlobals,\n req,\n })\n\n if (dependencyPlan.blocked.length) {\n throw new APIError(dependencyPlan.blocked[0]!.message, 409)\n }\n\n const applicableInWriteOrder = orderChangesByDependencies({\n changes: applicable,\n dependencyChangeIDsByChangeID: dependencyPlan.dependencyChangeIDsByChangeID,\n })\n\n for (\n let batchStart = 0;\n batchStart < applicableInWriteOrder.length;\n batchStart += mergeEventCheckpointBatchSize\n ) {\n const changeBatch = applicableInWriteOrder.slice(\n batchStart,\n batchStart + mergeEventCheckpointBatchSize,\n )\n const changeBatchIDs = changeBatch.map(({ id }) => id)\n\n ledger.updateChanges({\n changeIDs: changeBatchIDs,\n update: { applicationOutcome: 'attempted' },\n })\n await ledger.persist({ status: 'inProgress' })\n\n for (const [batchIndex, change] of changeBatch.entries()) {\n const index = batchStart + batchIndex\n\n activeChangeID = change.id\n\n await onProgress?.(\n {\n collectionSlug: change.collectionSlug as string,\n current: index + 1,\n docID: changeDocID(change),\n operation: change.operation as BranchOperation,\n total: applicableInWriteOrder.length,\n },\n req,\n )\n\n const [resolvedChange] = await resolveEffectiveOperations({\n branch,\n changes: [change],\n payload,\n req,\n })\n\n if (!resolvedChange) {\n throw new Error(`Branch change ${String(change.id)} could not be resolved.`)\n }\n\n if (!overrideAccess) {\n const blockedAtUse = await runMergePreflight({\n payload,\n pending: [resolvedChange],\n req: writeTargetReq,\n })\n\n if (blockedAtUse.length) {\n throw new Forbidden(req.t)\n }\n }\n\n const collectionSlug = change.collectionSlug as string\n const docID = changeDocID(change)\n const collectionConfig = payload.collections[collectionSlug]!.config\n const beforeVersionID =\n change.operation === 'create'\n ? undefined\n : await findLatestTargetCollectionVersionID({\n collectionSlug,\n docID,\n payload,\n req: writeTargetReq,\n })\n let afterVersionID: string | undefined\n const writeTargetContext = writeTargetReq.context as Record<PropertyKey, unknown>\n const previousCaptureSavedVersionID = writeTargetContext[captureSavedVersionIDContextKey]\n\n writeTargetContext[captureSavedVersionIDContextKey] = ((capturedVersion) => {\n if (capturedVersion.collectionSlug === collectionSlug) {\n afterVersionID = String(capturedVersion.versionID)\n }\n }) satisfies CaptureSavedVersionID\n const uploadSourceDocs: Record<string, unknown>[] = []\n\n if (collectionConfig.upload) {\n if (change.operation === 'update') {\n const mainDocument = (await payload.db.findOne({\n branch: false,\n collection: collectionSlug,\n req,\n where: {\n and: [{ [branchField]: { equals: MAIN_BRANCH } }, { id: { equals: docID } }],\n },\n })) as null | Record<string, unknown>\n\n if (mainDocument) {\n uploadSourceDocs.push(mainDocument)\n }\n }\n\n if (resolvedChange.shadow) {\n uploadSourceDocs.push(\n resolvedChange.shadow,\n ...(await readBranchUploadVersionDocuments({\n branch,\n collectionSlug,\n payload,\n req,\n rowID: resolvedChange.shadow.id as number | string,\n })),\n )\n }\n }\n\n const dependencyBlockedAtUse = await runMergeDependencyPreflight({\n availableChangeIDs: appliedChangeIDs,\n initiallyBlocked: [],\n payload,\n pending: [resolvedChange],\n pendingGlobals: [],\n req: writeTargetReq,\n })\n\n if (dependencyBlockedAtUse.length) {\n throw new APIError(dependencyBlockedAtUse[0]!.message, 409)\n }\n\n let appliedChange: AppliedChangeResult\n\n try {\n appliedChange = await applyChange({\n hasTransaction,\n overrideAccess,\n payload,\n req,\n resolved: resolvedChange,\n targetReq: writeTargetReq,\n })\n } finally {\n if (previousCaptureSavedVersionID === undefined) {\n delete writeTargetContext[captureSavedVersionIDContextKey]\n } else {\n writeTargetContext[captureSavedVersionIDContextKey] = previousCaptureSavedVersionID\n }\n }\n\n sourceCleanupPlans.push({ changeID: change.id, ...appliedChange })\n appliedChangeIDs.add(String(change.id))\n ledger.updateChange({\n changeID: change.id,\n update: {\n afterVersionID,\n applicationOutcome: 'applied',\n beforeVersionID,\n sourceID: appliedChange.sourceID,\n sourceUpdatedAt: appliedChange.sourceUpdatedAt,\n sourceVersionIDs: appliedChange.sourceVersionIDs,\n },\n })\n\n if (uploadSourceDocs.length) {\n const retainedDoc = (await payload.db.findOne({\n branch: false,\n collection: collectionSlug,\n req,\n where: {\n and: [{ [branchField]: { equals: MAIN_BRANCH } }, { id: { equals: docID } }],\n },\n })) as null | Record<string, unknown>\n\n uploadCleanupPlans.push({\n changeID: change.id,\n collectionSlug,\n retainedDoc,\n sourceDocs: uploadSourceDocs,\n })\n }\n\n const persistedTarget = await readCollectionMergeSnapshot({\n collectionSlug,\n docID,\n payload,\n req,\n })\n\n ledger.updateChange({\n changeID: change.id,\n update: {\n docTitle: getSnapshotDocumentTitle({\n after: persistedTarget,\n docID,\n useAsTitle: collectionConfig.admin?.useAsTitle,\n }),\n },\n })\n\n result.merged.push({\n changeID: change.id,\n collectionSlug: change.collectionSlug as string,\n docID: changeDocID(change),\n entityType: 'collection',\n operation: change.operation as BranchOperation,\n })\n activeChangeID = undefined\n }\n\n await ledger.persistAppliedChanges({ changeIDs: changeBatchIDs })\n }\n\n // Globals, after the documents. Ordered that way because a global usually points at\n // documents rather than the other way round, so merging it last means whatever it\n // references is already on main.\n for (const [index, change] of applicableGlobals.entries()) {\n const globalSlug = change.globalSlug as string\n\n activeChangeID = change.id\n ledger.updateChange({\n changeID: change.id,\n update: { applicationOutcome: 'attempted' },\n })\n await ledger.persist({ status: 'inProgress' })\n\n await onProgress?.(\n {\n collectionSlug: globalSlug,\n current: applicableInWriteOrder.length + index + 1,\n docID: globalSlug,\n operation: 'update',\n total: applicableInWriteOrder.length + applicableGlobals.length,\n },\n req,\n )\n\n if (!overrideAccess) {\n const blockedAtUse = await runGlobalMergePreflight({\n payload,\n pending: [change],\n req: writeTargetReq,\n })\n\n if (blockedAtUse.length) {\n throw new Forbidden(req.t)\n }\n }\n\n const beforeVersionID = await findLatestTargetGlobalVersionID({\n globalSlug,\n payload,\n req: writeTargetReq,\n })\n let afterVersionID: string | undefined\n const writeTargetContext = writeTargetReq.context as Record<PropertyKey, unknown>\n const previousCaptureSavedVersionID = writeTargetContext[captureSavedVersionIDContextKey]\n\n writeTargetContext[captureSavedVersionIDContextKey] = ((capturedVersion) => {\n if (capturedVersion.globalSlug === globalSlug) {\n afterVersionID = String(capturedVersion.versionID)\n }\n }) satisfies CaptureSavedVersionID\n\n const dependencyBlockedAtUse = await runMergeDependencyPreflight({\n availableChangeIDs: appliedChangeIDs,\n initiallyBlocked: [],\n payload,\n pending: [],\n pendingGlobals: [change],\n req: writeTargetReq,\n })\n\n if (dependencyBlockedAtUse.length) {\n throw new APIError(dependencyBlockedAtUse[0]!.message, 409)\n }\n\n let appliedGlobal: AppliedChangeResult\n\n try {\n appliedGlobal = await applyGlobalChange({\n branch,\n globalSlug,\n overrideAccess,\n payload,\n req,\n targetReq: writeTargetReq,\n })\n } finally {\n if (previousCaptureSavedVersionID === undefined) {\n delete writeTargetContext[captureSavedVersionIDContextKey]\n } else {\n writeTargetContext[captureSavedVersionIDContextKey] = previousCaptureSavedVersionID\n }\n }\n\n sourceCleanupPlans.push({ changeID: change.id, ...appliedGlobal })\n appliedChangeIDs.add(String(change.id))\n ledger.updateChange({\n changeID: change.id,\n update: {\n afterVersionID,\n applicationOutcome: 'applied',\n beforeVersionID,\n sourceRevision: appliedGlobal.sourceRevision,\n },\n })\n await ledger.persistAppliedChanges({ changeIDs: [change.id] })\n\n const globalConfig = payload.globals?.config?.find((config) => config.slug === globalSlug)\n\n ledger.updateChange({\n changeID: change.id,\n update: {\n docTitle: typeof globalConfig?.label === 'string' ? globalConfig.label : globalSlug,\n },\n })\n\n result.merged.push({\n changeID: change.id,\n entityType: 'global',\n globalSlug,\n operation: 'update',\n })\n activeChangeID = undefined\n }\n\n mergedAt = new Date().toISOString()\n\n if (cleanupScope) {\n await flushDeferredCleanupScopeAfterOperation({ req, scope: cleanupScope })\n }\n\n if (hasTransaction) {\n await ledger.persist({ mergedAt, status: 'awaitingCommit' })\n await scheduleAfterTransactionCommit({ callback: finalizeAfterCommit, req })\n await scheduleAfterTransactionRollback({ callback: recordRollback, req })\n }\n\n if (shouldCommit) {\n isFinalCommitInProgress = true\n await commitTransaction(req)\n isFinalCommitInProgress = false\n }\n } catch (error) {\n const isCommitResultUnknown = isFinalCommitInProgress && isUnknownTransactionCommitResult(error)\n\n if (isCommitResultUnknown) {\n reqContext[unknownMergeCommitResultContextKey] = true\n }\n\n if (cleanupScope) {\n clearDeferredCleanupScope({ req, scope: cleanupScope })\n }\n\n if (shouldCommit && !isCommitResultUnknown) {\n await killTransaction(req)\n }\n\n await recoverMergeFailure({\n activeChangeID,\n didRollbackTransaction: shouldCommit && !isCommitResultUnknown,\n error,\n hasTransaction,\n isTransactionOutcomeUnknown: isCommitResultUnknown,\n ledger,\n overrideAccess,\n payload,\n req,\n sourceCleanupPlans,\n })\n\n throw error\n } finally {\n if (previousBranchMergeWriteGuard === undefined) {\n delete reqContext[branchMergeWriteGuardContextKey]\n } else {\n reqContext[branchMergeWriteGuardContextKey] = previousBranchMergeWriteGuard\n }\n\n if (!overrideAccess) {\n if (previousThrowOnFieldAccessDenied === undefined) {\n delete reqContext[throwOnFieldAccessDeniedContextKey]\n } else {\n reqContext[throwOnFieldAccessDeniedContextKey] = previousThrowOnFieldAccessDenied\n }\n }\n\n if (incomingReq) {\n refreshBranchState(incomingReq)\n }\n }\n\n if (!hasTransaction) {\n await finalizeAfterCommit()\n }\n\n return result\n}\n"],"names":["APIError","Forbidden","throwOnFieldAccessDeniedContextKey","commitTransaction","isUnknownTransactionCommitResult","initTransaction","killTransaction","beginDeferredCleanupScope","clearDeferredCleanupScope","flushDeferredCleanupScopeAfterOperation","scheduleAfterTransactionCommit","scheduleAfterTransactionRollback","captureSavedVersionIDContextKey","resolveEffectiveOperations","branchMergeWriteGuardContextKey","hasUnavailableBranchCreatedDependency","resolveMergeDependencies","runGlobalMergePreflight","runMergeDependencyPreflight","runMergePreflight","readCollectionMergeSnapshot","refreshBranchState","branchField","branchParentField","MAIN_BRANCH","createMainBranchRequest","applyChange","applyGlobalChange","finalizeMergeAfterCommit","recordMergeRollback","createMergeLedger","recoverMergeFailure","changeDocID","mergeEventCheckpointBatchSize","unknownMergeCommitResultContextKey","Symbol","findLatestTargetCollectionVersionID","collectionSlug","docID","payload","req","collections","config","versions","undefined","docs","db","findVersions","branch","collection","limit","pagination","sort","where","parent","equals","versionID","id","String","findLatestTargetGlobalVersionID","globalSlug","globalConfig","globals","find","slug","findGlobalVersions","global","readBranchUploadVersionDocuments","rowID","and","exists","flatMap","version","Array","isArray","orderChangesByDependencies","changes","dependencyChangeIDsByChangeID","changesByID","Map","map","change","orderedChanges","orderedChangeIDs","Set","visitingChangeIDs","visitChange","changeID","has","add","dependencyChangeID","get","dependencyChange","delete","push","getSnapshotDocumentTitle","after","useAsTitle","title","executeMerge","applicable","applicableGlobals","branchDoc","closeBranch","incomingReq","mergeable","onProgress","overrideAccess","result","ledger","shouldCommit","transactionID","hasTransaction","cleanupScope","uploadCleanupPlans","sourceCleanupPlans","appliedChangeIDs","reqContext","context","previousBranchMergeWriteGuard","previousThrowOnFieldAccessDenied","data","writeReq","availableChangeIDs","activeChangeID","isFinalCommitInProgress","mergedAt","finalizeAfterCommit","recordRollback","writeTargetReq","refreshedApplicable","dependencyPlan","initiallyBlocked","pending","pendingGlobals","blocked","length","message","applicableInWriteOrder","batchStart","changeBatch","slice","changeBatchIDs","updateChanges","changeIDs","update","applicationOutcome","persist","status","batchIndex","entries","index","current","operation","total","resolvedChange","Error","blockedAtUse","t","collectionConfig","beforeVersionID","afterVersionID","writeTargetContext","previousCaptureSavedVersionID","capturedVersion","uploadSourceDocs","upload","mainDocument","findOne","shadow","dependencyBlockedAtUse","appliedChange","resolved","targetReq","updateChange","sourceID","sourceUpdatedAt","sourceVersionIDs","retainedDoc","sourceDocs","persistedTarget","docTitle","admin","merged","entityType","persistAppliedChanges","appliedGlobal","sourceRevision","label","Date","toISOString","scope","callback","error","isCommitResultUnknown","didRollbackTransaction","isTransactionOutcomeUnknown"],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- import type { Payload, PayloadRequest } from '../../types/index.js';
2
- import type { MergeResult } from '../merge.js';
3
- import type { MergeLedger } from './mergeLedger.js';
4
- import type { SourceCleanupOutcome, SourceRecoveryOutcome } from './utilities.js';
5
- export type SourceCleanupPlan = {
6
- changeID: number | string;
7
- cleanup: () => Promise<SourceCleanupOutcome>;
8
- recover?: () => Promise<SourceRecoveryOutcome>;
9
- };
10
- export type UploadCleanupPlan = {
11
- changeID: number | string;
12
- collectionSlug: string;
13
- retainedDoc: null | Record<string, unknown>;
14
- sourceDocs: Record<string, unknown>[];
15
- };
16
- export declare const finalizeMergeAfterCommit: ({ branch, branchDoc, closeBranch, incomingReq, ledger, mergedAt, payload, req, result, sourceCleanupPlans, uploadCleanupPlans, }: {
17
- branch: string;
18
- branchDoc: {
19
- id: number | string;
20
- };
21
- closeBranch: boolean;
22
- incomingReq?: PayloadRequest;
23
- ledger: MergeLedger;
24
- mergedAt?: string;
25
- payload: Payload;
26
- req: PayloadRequest;
27
- result: MergeResult;
28
- sourceCleanupPlans: SourceCleanupPlan[];
29
- uploadCleanupPlans: UploadCleanupPlan[];
30
- }) => Promise<void>;
31
- export declare const recordMergeRollback: ({ branchDoc, incomingReq, ledger, payload, req, }: {
32
- branchDoc: {
33
- id: number | string;
34
- };
35
- incomingReq?: PayloadRequest;
36
- ledger: MergeLedger;
37
- payload: Payload;
38
- req: PayloadRequest;
39
- }) => Promise<void>;
40
- //# sourceMappingURL=finalizeMerge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"finalizeMerge.d.ts","sourceRoot":"","sources":["../../../src/branching/merge/finalizeMerge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAYjF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,OAAO,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC5C,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAA;CAC/C,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,wBAAwB,qIAYlC;IACD,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IAClC,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,cAAc,CAAA;IAC5B,MAAM,EAAE,WAAW,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,WAAW,CAAA;IACnB,kBAAkB,EAAE,iBAAiB,EAAE,CAAA;IACvC,kBAAkB,EAAE,iBAAiB,EAAE,CAAA;CACxC,KAAG,OAAO,CAAC,IAAI,CAqMf,CAAA;AAED,eAAO,MAAM,mBAAmB,sDAM7B;IACD,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IAClC,WAAW,CAAC,EAAE,cAAc,CAAA;IAC5B,MAAM,EAAE,WAAW,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC,IAAI,CAiBf,CAAA"}
@@ -1,237 +0,0 @@
1
- import { deleteUploadFilesExclusiveToDocument } from '../../uploads/deleteUploadFilesExclusiveToDocument.js';
2
- import { collectStoredFiles, scheduleUnreferencedFileCleanup } from '../../uploads/fileVersioning/cleanup.js';
3
- import { refreshBranchState } from '../resolveBranch.js';
4
- import { branchChangesCollectionSlug, branchesCollectionSlug } from '../types.js';
5
- import { restoreBranchAfterMerge } from './branchMergeStatus.js';
6
- import { getMergeErrorMessage } from './utilities.js';
7
- export const finalizeMergeAfterCommit = async ({ branch, branchDoc, closeBranch, incomingReq, ledger, mergedAt, payload, req, result, sourceCleanupPlans, uploadCleanupPlans })=>{
8
- const cleanupErrors = [];
9
- const uploadCleanupPlanByChangeID = new Map(uploadCleanupPlans.map((plan)=>[
10
- String(plan.changeID),
11
- plan
12
- ]));
13
- const recordCleanupOutcome = ({ changeID, cleanupError, cleanupOutcome })=>{
14
- if (cleanupError) {
15
- cleanupErrors.push(cleanupError);
16
- }
17
- ledger.updateChange({
18
- changeID,
19
- update: cleanupError ? {
20
- cleanupError,
21
- cleanupOutcome: 'failed'
22
- } : {
23
- cleanupError: undefined,
24
- cleanupOutcome
25
- }
26
- });
27
- };
28
- ledger.mapChanges({
29
- update: (change)=>({
30
- ...change,
31
- applicationOutcome: change.applicationOutcome === 'applied' ? 'committed' : change.applicationOutcome
32
- })
33
- });
34
- await ledger.persist({
35
- mergedAt,
36
- status: 'inProgress'
37
- });
38
- const completedSourceCleanups = [];
39
- for (const sourceCleanupPlan of sourceCleanupPlans){
40
- const { changeID, cleanup } = sourceCleanupPlan;
41
- try {
42
- const cleanupOutcome = await cleanup();
43
- if (cleanupOutcome === 'superseded') {
44
- recordCleanupOutcome({
45
- changeID,
46
- cleanupOutcome
47
- });
48
- continue;
49
- }
50
- completedSourceCleanups.push(sourceCleanupPlan);
51
- } catch (error) {
52
- recordCleanupOutcome({
53
- changeID,
54
- cleanupError: getMergeErrorMessage({
55
- error
56
- }),
57
- cleanupOutcome: 'failed'
58
- });
59
- }
60
- }
61
- if (completedSourceCleanups.length) {
62
- let registryCleanupResults;
63
- try {
64
- registryCleanupResults = await payload.db.batchProcessing({
65
- operations: completedSourceCleanups.map(({ changeID })=>({
66
- args: {
67
- branch: false,
68
- collection: branchChangesCollectionSlug,
69
- returning: false,
70
- where: {
71
- id: {
72
- equals: changeID
73
- }
74
- }
75
- },
76
- operation: 'deleteOne'
77
- })),
78
- req
79
- });
80
- } catch (error) {
81
- const cleanupError = getMergeErrorMessage({
82
- error
83
- });
84
- for (const { changeID } of completedSourceCleanups){
85
- recordCleanupOutcome({
86
- changeID,
87
- cleanupError,
88
- cleanupOutcome: 'failed'
89
- });
90
- }
91
- }
92
- const registryCleanupResultByIndex = new Map(registryCleanupResults?.map((cleanupResult)=>[
93
- cleanupResult.index,
94
- cleanupResult
95
- ]));
96
- for (const [index, { changeID }] of completedSourceCleanups.entries()){
97
- if (!registryCleanupResults) {
98
- continue;
99
- }
100
- const registryCleanupResult = registryCleanupResultByIndex.get(index);
101
- let cleanupError;
102
- if (!registryCleanupResult || registryCleanupResult.status === 'unattempted') {
103
- cleanupError = 'Branch change registry cleanup was not attempted.';
104
- } else if (registryCleanupResult.status === 'failed') {
105
- cleanupError = getMergeErrorMessage({
106
- error: registryCleanupResult.error
107
- });
108
- }
109
- if (!cleanupError) {
110
- const uploadCleanupPlan = uploadCleanupPlanByChangeID.get(String(changeID));
111
- if (uploadCleanupPlan) {
112
- try {
113
- const collectionConfig = payload.collections[uploadCleanupPlan.collectionSlug].config;
114
- for (const sourceDoc of uploadCleanupPlan.sourceDocs){
115
- const candidates = await collectStoredFiles({
116
- collection: collectionConfig,
117
- doc: sourceDoc,
118
- req
119
- });
120
- if (candidates.length) {
121
- await scheduleUnreferencedFileCleanup({
122
- candidates,
123
- collection: collectionConfig,
124
- req
125
- });
126
- } else {
127
- await deleteUploadFilesExclusiveToDocument({
128
- collectionConfig,
129
- config: payload.config,
130
- deleteFromAdapter: false,
131
- req,
132
- retainedDoc: uploadCleanupPlan.retainedDoc,
133
- sourceDoc
134
- });
135
- }
136
- }
137
- const legacyCleanupSourceDoc = uploadCleanupPlan.sourceDocs[0];
138
- if (!collectionConfig.upload.fileOperations && legacyCleanupSourceDoc) {
139
- await collectionConfig.upload.deleteFiles?.({
140
- req,
141
- retainedDoc: uploadCleanupPlan.retainedDoc,
142
- sourceDoc: legacyCleanupSourceDoc
143
- });
144
- }
145
- } catch (error) {
146
- cleanupError = getMergeErrorMessage({
147
- error
148
- });
149
- }
150
- }
151
- }
152
- recordCleanupOutcome({
153
- changeID,
154
- cleanupError,
155
- cleanupOutcome: cleanupError ? 'failed' : 'completed'
156
- });
157
- }
158
- }
159
- try {
160
- const remaining = await payload.count({
161
- collection: branchChangesCollectionSlug,
162
- overrideAccess: true,
163
- req,
164
- where: {
165
- branch: {
166
- equals: branch
167
- }
168
- }
169
- });
170
- await payload.update({
171
- id: branchDoc.id,
172
- collection: branchesCollectionSlug,
173
- data: remaining.totalDocs === 0 ? {
174
- mergedAt,
175
- status: closeBranch ? 'closed' : 'merged'
176
- } : {
177
- mergedAt: null,
178
- status: 'open'
179
- },
180
- overrideAccess: true,
181
- req
182
- });
183
- } catch (error) {
184
- cleanupErrors.push(getMergeErrorMessage({
185
- error
186
- }));
187
- try {
188
- await restoreBranchAfterMerge({
189
- branchDocID: branchDoc.id,
190
- payload,
191
- req
192
- });
193
- } catch (restoreError) {
194
- cleanupErrors.push(getMergeErrorMessage({
195
- error: restoreError
196
- }));
197
- }
198
- }
199
- const completedAt = new Date().toISOString();
200
- await ledger.persist({
201
- completedAt,
202
- error: cleanupErrors.length ? cleanupErrors.join('\n') : undefined,
203
- mergedAt: mergedAt ?? completedAt,
204
- status: cleanupErrors.length ? 'cleanupFailed' : 'succeeded'
205
- });
206
- await payload.config.branching?.hooks?.afterMerge?.({
207
- branch,
208
- req,
209
- results: result.merged
210
- });
211
- if (incomingReq) {
212
- refreshBranchState(incomingReq);
213
- }
214
- };
215
- export const recordMergeRollback = async ({ branchDoc, incomingReq, ledger, payload, req })=>{
216
- ledger.mapChanges({
217
- update: (change)=>change.applicationOutcome === 'applied' ? {
218
- ...change,
219
- applicationOutcome: 'rolledBack'
220
- } : change
221
- });
222
- await ledger.persist({
223
- completedAt: new Date().toISOString(),
224
- error: 'Caller-owned transaction rolled back.',
225
- status: 'failed'
226
- });
227
- await restoreBranchAfterMerge({
228
- branchDocID: branchDoc.id,
229
- payload,
230
- req
231
- });
232
- if (incomingReq) {
233
- refreshBranchState(incomingReq);
234
- }
235
- };
236
-
237
- //# sourceMappingURL=finalizeMerge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/branching/merge/finalizeMerge.ts"],"sourcesContent":["import type { Payload, PayloadRequest } from '../../types/index.js'\nimport type { MergeResult } from '../merge.js'\nimport type { MergeEventChange } from '../types.js'\nimport type { MergeLedger } from './mergeLedger.js'\nimport type { SourceCleanupOutcome, SourceRecoveryOutcome } from './utilities.js'\n\nimport { deleteUploadFilesExclusiveToDocument } from '../../uploads/deleteUploadFilesExclusiveToDocument.js'\nimport {\n collectStoredFiles,\n scheduleUnreferencedFileCleanup,\n} from '../../uploads/fileVersioning/cleanup.js'\nimport { refreshBranchState } from '../resolveBranch.js'\nimport { branchChangesCollectionSlug, branchesCollectionSlug } from '../types.js'\nimport { restoreBranchAfterMerge } from './branchMergeStatus.js'\nimport { getMergeErrorMessage } from './utilities.js'\n\nexport type SourceCleanupPlan = {\n changeID: number | string\n cleanup: () => Promise<SourceCleanupOutcome>\n recover?: () => Promise<SourceRecoveryOutcome>\n}\n\nexport type UploadCleanupPlan = {\n changeID: number | string\n collectionSlug: string\n retainedDoc: null | Record<string, unknown>\n sourceDocs: Record<string, unknown>[]\n}\n\nexport const finalizeMergeAfterCommit = async ({\n branch,\n branchDoc,\n closeBranch,\n incomingReq,\n ledger,\n mergedAt,\n payload,\n req,\n result,\n sourceCleanupPlans,\n uploadCleanupPlans,\n}: {\n branch: string\n branchDoc: { id: number | string }\n closeBranch: boolean\n incomingReq?: PayloadRequest\n ledger: MergeLedger\n mergedAt?: string\n payload: Payload\n req: PayloadRequest\n result: MergeResult\n sourceCleanupPlans: SourceCleanupPlan[]\n uploadCleanupPlans: UploadCleanupPlan[]\n}): Promise<void> => {\n const cleanupErrors: string[] = []\n const uploadCleanupPlanByChangeID = new Map(\n uploadCleanupPlans.map((plan) => [String(plan.changeID), plan]),\n )\n const recordCleanupOutcome = ({\n changeID,\n cleanupError,\n cleanupOutcome,\n }: {\n changeID: number | string\n cleanupError?: string\n cleanupOutcome: MergeEventChange['cleanupOutcome']\n }): void => {\n if (cleanupError) {\n cleanupErrors.push(cleanupError)\n }\n\n ledger.updateChange({\n changeID,\n update: cleanupError\n ? { cleanupError, cleanupOutcome: 'failed' }\n : { cleanupError: undefined, cleanupOutcome },\n })\n }\n\n ledger.mapChanges({\n update: (change) => ({\n ...change,\n applicationOutcome:\n change.applicationOutcome === 'applied' ? 'committed' : change.applicationOutcome,\n }),\n })\n await ledger.persist({ mergedAt, status: 'inProgress' })\n\n const completedSourceCleanups: SourceCleanupPlan[] = []\n\n for (const sourceCleanupPlan of sourceCleanupPlans) {\n const { changeID, cleanup } = sourceCleanupPlan\n\n try {\n const cleanupOutcome = await cleanup()\n\n if (cleanupOutcome === 'superseded') {\n recordCleanupOutcome({ changeID, cleanupOutcome })\n continue\n }\n\n completedSourceCleanups.push(sourceCleanupPlan)\n } catch (error) {\n recordCleanupOutcome({\n changeID,\n cleanupError: getMergeErrorMessage({ error }),\n cleanupOutcome: 'failed',\n })\n }\n }\n\n if (completedSourceCleanups.length) {\n let registryCleanupResults: Awaited<ReturnType<typeof payload.db.batchProcessing>> | undefined\n\n try {\n registryCleanupResults = await payload.db.batchProcessing({\n operations: completedSourceCleanups.map(({ changeID }) => ({\n args: {\n branch: false,\n collection: branchChangesCollectionSlug,\n returning: false,\n where: { id: { equals: changeID } },\n },\n operation: 'deleteOne',\n })),\n req,\n })\n } catch (error) {\n const cleanupError = getMergeErrorMessage({ error })\n\n for (const { changeID } of completedSourceCleanups) {\n recordCleanupOutcome({ changeID, cleanupError, cleanupOutcome: 'failed' })\n }\n }\n\n const registryCleanupResultByIndex = new Map(\n registryCleanupResults?.map((cleanupResult) => [cleanupResult.index, cleanupResult]),\n )\n\n for (const [index, { changeID }] of completedSourceCleanups.entries()) {\n if (!registryCleanupResults) {\n continue\n }\n\n const registryCleanupResult = registryCleanupResultByIndex.get(index)\n let cleanupError: string | undefined\n\n if (!registryCleanupResult || registryCleanupResult.status === 'unattempted') {\n cleanupError = 'Branch change registry cleanup was not attempted.'\n } else if (registryCleanupResult.status === 'failed') {\n cleanupError = getMergeErrorMessage({ error: registryCleanupResult.error })\n }\n\n if (!cleanupError) {\n const uploadCleanupPlan = uploadCleanupPlanByChangeID.get(String(changeID))\n\n if (uploadCleanupPlan) {\n try {\n const collectionConfig = payload.collections[uploadCleanupPlan.collectionSlug]!.config\n\n for (const sourceDoc of uploadCleanupPlan.sourceDocs) {\n const candidates = await collectStoredFiles({\n collection: collectionConfig,\n doc: sourceDoc,\n req,\n })\n\n if (candidates.length) {\n await scheduleUnreferencedFileCleanup({\n candidates,\n collection: collectionConfig,\n req,\n })\n } else {\n await deleteUploadFilesExclusiveToDocument({\n collectionConfig,\n config: payload.config,\n deleteFromAdapter: false,\n req,\n retainedDoc: uploadCleanupPlan.retainedDoc,\n sourceDoc,\n })\n }\n }\n\n const legacyCleanupSourceDoc = uploadCleanupPlan.sourceDocs[0]\n\n if (!collectionConfig.upload.fileOperations && legacyCleanupSourceDoc) {\n await collectionConfig.upload.deleteFiles?.({\n req,\n retainedDoc: uploadCleanupPlan.retainedDoc,\n sourceDoc: legacyCleanupSourceDoc,\n })\n }\n } catch (error) {\n cleanupError = getMergeErrorMessage({ error })\n }\n }\n }\n\n recordCleanupOutcome({\n changeID,\n cleanupError,\n cleanupOutcome: cleanupError ? 'failed' : 'completed',\n })\n }\n }\n\n try {\n const remaining = await payload.count({\n collection: branchChangesCollectionSlug,\n overrideAccess: true,\n req,\n where: { branch: { equals: branch } },\n })\n\n await payload.update({\n id: branchDoc.id,\n collection: branchesCollectionSlug,\n data:\n remaining.totalDocs === 0\n ? { mergedAt, status: closeBranch ? 'closed' : 'merged' }\n : { mergedAt: null, status: 'open' },\n overrideAccess: true,\n req,\n })\n } catch (error) {\n cleanupErrors.push(getMergeErrorMessage({ error }))\n\n try {\n await restoreBranchAfterMerge({ branchDocID: branchDoc.id, payload, req })\n } catch (restoreError) {\n cleanupErrors.push(getMergeErrorMessage({ error: restoreError }))\n }\n }\n\n const completedAt = new Date().toISOString()\n\n await ledger.persist({\n completedAt,\n error: cleanupErrors.length ? cleanupErrors.join('\\n') : undefined,\n mergedAt: mergedAt ?? completedAt,\n status: cleanupErrors.length ? 'cleanupFailed' : 'succeeded',\n })\n\n await payload.config.branching?.hooks?.afterMerge?.({ branch, req, results: result.merged })\n\n if (incomingReq) {\n refreshBranchState(incomingReq)\n }\n}\n\nexport const recordMergeRollback = async ({\n branchDoc,\n incomingReq,\n ledger,\n payload,\n req,\n}: {\n branchDoc: { id: number | string }\n incomingReq?: PayloadRequest\n ledger: MergeLedger\n payload: Payload\n req: PayloadRequest\n}): Promise<void> => {\n ledger.mapChanges({\n update: (change) =>\n change.applicationOutcome === 'applied'\n ? { ...change, applicationOutcome: 'rolledBack' }\n : change,\n })\n await ledger.persist({\n completedAt: new Date().toISOString(),\n error: 'Caller-owned transaction rolled back.',\n status: 'failed',\n })\n await restoreBranchAfterMerge({ branchDocID: branchDoc.id, payload, req })\n\n if (incomingReq) {\n refreshBranchState(incomingReq)\n }\n}\n"],"names":["deleteUploadFilesExclusiveToDocument","collectStoredFiles","scheduleUnreferencedFileCleanup","refreshBranchState","branchChangesCollectionSlug","branchesCollectionSlug","restoreBranchAfterMerge","getMergeErrorMessage","finalizeMergeAfterCommit","branch","branchDoc","closeBranch","incomingReq","ledger","mergedAt","payload","req","result","sourceCleanupPlans","uploadCleanupPlans","cleanupErrors","uploadCleanupPlanByChangeID","Map","map","plan","String","changeID","recordCleanupOutcome","cleanupError","cleanupOutcome","push","updateChange","update","undefined","mapChanges","change","applicationOutcome","persist","status","completedSourceCleanups","sourceCleanupPlan","cleanup","error","length","registryCleanupResults","db","batchProcessing","operations","args","collection","returning","where","id","equals","operation","registryCleanupResultByIndex","cleanupResult","index","entries","registryCleanupResult","get","uploadCleanupPlan","collectionConfig","collections","collectionSlug","config","sourceDoc","sourceDocs","candidates","doc","deleteFromAdapter","retainedDoc","legacyCleanupSourceDoc","upload","fileOperations","deleteFiles","remaining","count","overrideAccess","data","totalDocs","branchDocID","restoreError","completedAt","Date","toISOString","join","branching","hooks","afterMerge","results","merged","recordMergeRollback"],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- import type { Payload, PayloadRequest } from '../../types/index.js';
2
- import type { MergeableChange, MergeEventChange } from '../types.js';
3
- type MergeEventStatus = 'awaitingCommit' | 'cleanupFailed' | 'failed' | 'inProgress' | 'succeeded';
4
- export type MergeLedger = {
5
- findChange: (args: {
6
- changeID: number | string;
7
- }) => MergeEventChange | undefined;
8
- getChanges: () => MergeEventChange[];
9
- mapChanges: (args: {
10
- update: (change: MergeEventChange) => MergeEventChange;
11
- }) => MergeEventChange[];
12
- persist: (args: {
13
- completedAt?: string;
14
- error?: string;
15
- mergedAt?: string;
16
- status: MergeEventStatus;
17
- }) => Promise<void>;
18
- persistAppliedChanges: (args: {
19
- changeIDs: (number | string)[];
20
- }) => Promise<void>;
21
- persistRecovery: (args: {
22
- changeID: number | string;
23
- }) => Promise<boolean>;
24
- updateChange: (args: {
25
- changeID: number | string;
26
- update: Partial<MergeEventChange>;
27
- }) => MergeEventChange[];
28
- updateChanges: (args: {
29
- changeIDs: (number | string)[];
30
- update: Partial<MergeEventChange>;
31
- }) => MergeEventChange[];
32
- };
33
- export declare const createMergeLedger: ({ branch, mergeable, payload, req, }: {
34
- branch: string;
35
- mergeable: MergeableChange[];
36
- payload: Payload;
37
- req: PayloadRequest;
38
- }) => Promise<MergeLedger>;
39
- export {};
40
- //# sourceMappingURL=mergeLedger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mergeLedger.d.ts","sourceRoot":"","sources":["../../../src/branching/merge/mergeLedger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAMpE,KAAK,gBAAgB,GAAG,gBAAgB,GAAG,eAAe,GAAG,QAAQ,GAAG,YAAY,GAAG,WAAW,CAAA;AAElG,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,gBAAgB,GAAG,SAAS,CAAA;IACjF,UAAU,EAAE,MAAM,gBAAgB,EAAE,CAAA;IACpC,UAAU,EAAE,CAAC,IAAI,EAAE;QACjB,MAAM,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,gBAAgB,CAAA;KACvD,KAAK,gBAAgB,EAAE,CAAA;IACxB,OAAO,EAAE,CAAC,IAAI,EAAE;QACd,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,gBAAgB,CAAA;KACzB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnB,qBAAqB,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClF,eAAe,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1E,YAAY,EAAE,CAAC,IAAI,EAAE;QACnB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;QACzB,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;KAClC,KAAK,gBAAgB,EAAE,CAAA;IACxB,aAAa,EAAE,CAAC,IAAI,EAAE;QACpB,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;QAC9B,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;KAClC,KAAK,gBAAgB,EAAE,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,iBAAiB,yCAK3B;IACD,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,eAAe,EAAE,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC,WAAW,CAsHtB,CAAA"}
@@ -1,130 +0,0 @@
1
- import { createPayloadRequest } from '../../utilities/createPayloadRequest.js';
2
- import { branchMergesCollectionSlug, MAIN_BRANCH } from '../types.js';
3
- import { getMergeErrorMessage } from './utilities.js';
4
- export const createMergeLedger = async ({ branch, mergeable, payload, req })=>{
5
- const mergeEventReq = await createPayloadRequest({
6
- branch: false,
7
- payload,
8
- user: req.user ?? undefined
9
- });
10
- let changes = mergeable.map((change)=>({
11
- applicationOutcome: 'unattempted',
12
- changeID: String(change.changeID),
13
- cleanupOutcome: 'pending',
14
- collectionSlug: change.collectionSlug,
15
- docID: change.docID === undefined ? undefined : String(change.docID),
16
- docTitle: String(change.docID ?? change.globalSlug),
17
- globalSlug: change.globalSlug,
18
- operation: change.operation,
19
- recoveryOutcome: 'notNeeded',
20
- targetID: change.docID === undefined ? change.globalSlug : String(change.docID)
21
- }));
22
- const changeIndexByID = new Map(changes.map((change, index)=>[
23
- change.changeID,
24
- index
25
- ]));
26
- const mergeEvent = await payload.create({
27
- collection: branchMergesCollectionSlug,
28
- data: {
29
- branch,
30
- changes,
31
- mergedByCollection: req.user?.collection,
32
- mergedByID: req.user?.id === undefined ? undefined : String(req.user.id),
33
- mergedByLabel: req.user?.email,
34
- startedAt: new Date().toISOString(),
35
- status: 'inProgress',
36
- targetBranch: MAIN_BRANCH
37
- },
38
- overrideAccess: true,
39
- req: mergeEventReq
40
- });
41
- const updateChanges = ({ changeIDs, update })=>{
42
- for (const changeID of changeIDs){
43
- const changeIndex = changeIndexByID.get(String(changeID));
44
- const change = changeIndex === undefined ? undefined : changes[changeIndex];
45
- if (changeIndex !== undefined && change) {
46
- changes[changeIndex] = {
47
- ...change,
48
- ...update
49
- };
50
- }
51
- }
52
- return changes;
53
- };
54
- const updateChange = ({ changeID, update })=>updateChanges({
55
- changeIDs: [
56
- changeID
57
- ],
58
- update
59
- });
60
- const persist = async ({ completedAt, error, mergedAt, status })=>{
61
- await payload.update({
62
- id: mergeEvent.id,
63
- collection: branchMergesCollectionSlug,
64
- data: {
65
- changes,
66
- completedAt,
67
- error,
68
- mergedAt,
69
- status
70
- },
71
- overrideAccess: true,
72
- req: mergeEventReq
73
- });
74
- };
75
- const persistAppliedChanges = async ({ changeIDs })=>{
76
- try {
77
- await persist({
78
- status: 'inProgress'
79
- });
80
- } catch (error) {
81
- updateChanges({
82
- changeIDs,
83
- update: {
84
- applicationOutcome: 'unknown',
85
- error: getMergeErrorMessage({
86
- error
87
- }),
88
- recoveryOutcome: 'unknown'
89
- }
90
- });
91
- throw error;
92
- }
93
- };
94
- const persistRecovery = async ({ changeID })=>{
95
- try {
96
- await persist({
97
- status: 'inProgress'
98
- });
99
- return true;
100
- } catch (error) {
101
- const recoveryError = getMergeErrorMessage({
102
- error
103
- });
104
- const change = changes.find(({ changeID: candidateChangeID })=>candidateChangeID === String(changeID));
105
- updateChange({
106
- changeID,
107
- update: {
108
- recoveryError: change?.recoveryError ? `${change.recoveryError}\n${recoveryError}` : recoveryError,
109
- recoveryOutcome: 'unknown'
110
- }
111
- });
112
- return false;
113
- }
114
- };
115
- return {
116
- findChange: ({ changeID })=>changes.find(({ changeID: candidateChangeID })=>candidateChangeID === String(changeID)),
117
- getChanges: ()=>changes,
118
- mapChanges: ({ update })=>{
119
- changes = changes.map(update);
120
- return changes;
121
- },
122
- persist,
123
- persistAppliedChanges,
124
- persistRecovery,
125
- updateChange,
126
- updateChanges
127
- };
128
- };
129
-
130
- //# sourceMappingURL=mergeLedger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/branching/merge/mergeLedger.ts"],"sourcesContent":["import type { Payload, PayloadRequest } from '../../types/index.js'\nimport type { MergeableChange, MergeEventChange } from '../types.js'\n\nimport { createPayloadRequest } from '../../utilities/createPayloadRequest.js'\nimport { branchMergesCollectionSlug, MAIN_BRANCH } from '../types.js'\nimport { getMergeErrorMessage } from './utilities.js'\n\ntype MergeEventStatus = 'awaitingCommit' | 'cleanupFailed' | 'failed' | 'inProgress' | 'succeeded'\n\nexport type MergeLedger = {\n findChange: (args: { changeID: number | string }) => MergeEventChange | undefined\n getChanges: () => MergeEventChange[]\n mapChanges: (args: {\n update: (change: MergeEventChange) => MergeEventChange\n }) => MergeEventChange[]\n persist: (args: {\n completedAt?: string\n error?: string\n mergedAt?: string\n status: MergeEventStatus\n }) => Promise<void>\n persistAppliedChanges: (args: { changeIDs: (number | string)[] }) => Promise<void>\n persistRecovery: (args: { changeID: number | string }) => Promise<boolean>\n updateChange: (args: {\n changeID: number | string\n update: Partial<MergeEventChange>\n }) => MergeEventChange[]\n updateChanges: (args: {\n changeIDs: (number | string)[]\n update: Partial<MergeEventChange>\n }) => MergeEventChange[]\n}\n\nexport const createMergeLedger = async ({\n branch,\n mergeable,\n payload,\n req,\n}: {\n branch: string\n mergeable: MergeableChange[]\n payload: Payload\n req: PayloadRequest\n}): Promise<MergeLedger> => {\n const mergeEventReq = await createPayloadRequest({\n branch: false,\n payload,\n user: req.user ?? undefined,\n })\n let changes: MergeEventChange[] = mergeable.map((change) => ({\n applicationOutcome: 'unattempted',\n changeID: String(change.changeID),\n cleanupOutcome: 'pending',\n collectionSlug: change.collectionSlug,\n docID: change.docID === undefined ? undefined : String(change.docID),\n docTitle: String(change.docID ?? change.globalSlug),\n globalSlug: change.globalSlug,\n operation: change.operation,\n recoveryOutcome: 'notNeeded',\n targetID: change.docID === undefined ? change.globalSlug : String(change.docID),\n }))\n const changeIndexByID = new Map(changes.map((change, index) => [change.changeID, index]))\n const mergeEvent = await payload.create({\n collection: branchMergesCollectionSlug,\n data: {\n branch,\n changes,\n mergedByCollection: req.user?.collection,\n mergedByID: req.user?.id === undefined ? undefined : String(req.user.id),\n mergedByLabel: (req.user as { email?: string } | null)?.email,\n startedAt: new Date().toISOString(),\n status: 'inProgress',\n targetBranch: MAIN_BRANCH,\n },\n overrideAccess: true,\n req: mergeEventReq,\n })\n\n const updateChanges: MergeLedger['updateChanges'] = ({ changeIDs, update }) => {\n for (const changeID of changeIDs) {\n const changeIndex = changeIndexByID.get(String(changeID))\n const change = changeIndex === undefined ? undefined : changes[changeIndex]\n\n if (changeIndex !== undefined && change) {\n changes[changeIndex] = { ...change, ...update }\n }\n }\n\n return changes\n }\n\n const updateChange: MergeLedger['updateChange'] = ({ changeID, update }) =>\n updateChanges({ changeIDs: [changeID], update })\n\n const persist: MergeLedger['persist'] = async ({ completedAt, error, mergedAt, status }) => {\n await payload.update({\n id: mergeEvent.id,\n collection: branchMergesCollectionSlug,\n data: { changes, completedAt, error, mergedAt, status },\n overrideAccess: true,\n req: mergeEventReq,\n })\n }\n\n const persistAppliedChanges: MergeLedger['persistAppliedChanges'] = async ({ changeIDs }) => {\n try {\n await persist({ status: 'inProgress' })\n } catch (error) {\n updateChanges({\n changeIDs,\n update: {\n applicationOutcome: 'unknown',\n error: getMergeErrorMessage({ error }),\n recoveryOutcome: 'unknown',\n },\n })\n\n throw error\n }\n }\n\n const persistRecovery: MergeLedger['persistRecovery'] = async ({ changeID }) => {\n try {\n await persist({ status: 'inProgress' })\n\n return true\n } catch (error) {\n const recoveryError = getMergeErrorMessage({ error })\n const change = changes.find(\n ({ changeID: candidateChangeID }) => candidateChangeID === String(changeID),\n )\n\n updateChange({\n changeID,\n update: {\n recoveryError: change?.recoveryError\n ? `${change.recoveryError}\\n${recoveryError}`\n : recoveryError,\n recoveryOutcome: 'unknown',\n },\n })\n\n return false\n }\n }\n\n return {\n findChange: ({ changeID }) =>\n changes.find(({ changeID: candidateChangeID }) => candidateChangeID === String(changeID)),\n getChanges: () => changes,\n mapChanges: ({ update }) => {\n changes = changes.map(update)\n\n return changes\n },\n persist,\n persistAppliedChanges,\n persistRecovery,\n updateChange,\n updateChanges,\n }\n}\n"],"names":["createPayloadRequest","branchMergesCollectionSlug","MAIN_BRANCH","getMergeErrorMessage","createMergeLedger","branch","mergeable","payload","req","mergeEventReq","user","undefined","changes","map","change","applicationOutcome","changeID","String","cleanupOutcome","collectionSlug","docID","docTitle","globalSlug","operation","recoveryOutcome","targetID","changeIndexByID","Map","index","mergeEvent","create","collection","data","mergedByCollection","mergedByID","id","mergedByLabel","email","startedAt","Date","toISOString","status","targetBranch","overrideAccess","updateChanges","changeIDs","update","changeIndex","get","updateChange","persist","completedAt","error","mergedAt","persistAppliedChanges","persistRecovery","recoveryError","find","candidateChangeID","findChange","getChanges","mapChanges"],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- import type { Payload, PayloadRequest } from '../../types/index.js';
2
- import type { MergeResult } from '../merge.js';
3
- import type { MergeableChange } from '../types.js';
4
- import type { BranchMergeValidationError } from '../validation.js';
5
- export type PreparedBranchChange = {
6
- doc?: unknown;
7
- id: number | string;
8
- } & Record<string, unknown>;
9
- export type PreparedMerge = {
10
- applicable: PreparedBranchChange[];
11
- applicableGlobals: PreparedBranchChange[];
12
- branchDoc: {
13
- id: number | string;
14
- };
15
- mergeable: MergeableChange[];
16
- req: PayloadRequest;
17
- result: MergeResult;
18
- retryableCleanups: MergeableChange[];
19
- };
20
- export declare const prepareMerge: ({ branch, dryRun, incomingReq, overrideAccess, payload, selected, user, }: {
21
- branch: string;
22
- dryRun: boolean;
23
- incomingReq?: PayloadRequest;
24
- overrideAccess: boolean;
25
- payload: Payload;
26
- selected?: (number | string)[];
27
- user?: NonNullable<PayloadRequest['user']>;
28
- }) => Promise<PreparedMerge>;
29
- export declare const revalidatePreparedMerge: ({ applicable, applicableGlobals, branch, overrideAccess, payload, req, }: {
30
- applicable: PreparedBranchChange[];
31
- applicableGlobals: PreparedBranchChange[];
32
- branch: string;
33
- overrideAccess: boolean;
34
- payload: Payload;
35
- req: PayloadRequest;
36
- }) => Promise<{
37
- blocked: MergeResult['blocked'];
38
- isValid: boolean;
39
- validationErrors: BranchMergeValidationError[];
40
- }>;
41
- //# sourceMappingURL=prepareMerge.d.ts.map