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,"file":"tombstone.d.ts","sourceRoot":"","sources":["../../src/branching/tombstone.ts"],"names":[],"mappings":"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"}
@@ -1,546 +0,0 @@
1
- import { APIError } from '../errors/index.js';
2
- import { httpStatus } from '../utilities/httpStatus.js';
3
- import { isolateObjectProperty } from '../utilities/isolateObjectProperty.js';
4
- import { assertBranchCreatedDocumentsUnreferenced } from './assertBranchCreatedDocumentsUnreferenced.js';
5
- import { assertBranchWritable } from './assertBranchWritable.js';
6
- import { copyUploadFilesToBranch } from './copyUploadFilesToBranch.js';
7
- import { createShadowRow } from './createShadowRow.js';
8
- import { loadBranchOperation, peekBranchOperation, resetBranchState, resolveBranch } from './resolveBranch.js';
9
- import { resolveBranchQuery } from './resolveBranchQuery.js';
10
- import { branchChangesCollectionSlug, branchDocIDField, branchField, MAIN_BRANCH } from './types.js';
11
- import { findBranchVersionForkBoundary } from './versions.js';
12
- const concurrentBranchDeleteContextKey = Symbol.for('payload.branching.concurrentBranchDelete');
13
- const branchDeleteOperationContextKey = Symbol.for('payload.branching.branchDeleteOperation');
14
- export const setConcurrentBranchDelete = ({ branch, collectionSlug, doc, docID, req, retryError, winnerID })=>{
15
- req.context ??= {};
16
- req.context[concurrentBranchDeleteContextKey] = {
17
- branch,
18
- collectionSlug,
19
- doc,
20
- docID,
21
- retryError,
22
- winnerID
23
- };
24
- };
25
- export const setBranchDeleteOperation = ({ branch, collectionSlug, docID, isTombstoneExpected, onResolved, req, useAmbientTransaction })=>{
26
- req.context ??= {};
27
- req.context[branchDeleteOperationContextKey] = {
28
- branch,
29
- collectionSlug,
30
- docID,
31
- isTombstoneExpected,
32
- onResolved,
33
- useAmbientTransaction
34
- };
35
- };
36
- const createBranchDeleteChangedError = ()=>new APIError('The branch document changed while it was being deleted. Retry the operation.', httpStatus.CONFLICT);
37
- export const requireBranchDeleteOutcome = ({ outcome })=>{
38
- if (!outcome) {
39
- throw createBranchDeleteChangedError();
40
- }
41
- return outcome;
42
- };
43
- export const assertBranchDeleteCanUseCallerTransaction = async ({ branch, collectionSlug, docID, req })=>{
44
- const branchDocument = await req.payload.db.findOne({
45
- branch: false,
46
- collection: collectionSlug,
47
- req,
48
- where: {
49
- and: [
50
- {
51
- [branchField]: {
52
- equals: branch
53
- }
54
- },
55
- {
56
- or: [
57
- {
58
- id: {
59
- equals: docID
60
- }
61
- },
62
- {
63
- [branchDocIDField]: {
64
- equals: docID
65
- }
66
- }
67
- ]
68
- }
69
- ]
70
- }
71
- });
72
- if (!branchDocument) {
73
- throw new APIError('Cannot delete an untouched branch document within an existing transaction.', httpStatus.CONFLICT);
74
- }
75
- };
76
- /**
77
- * Checks a branch-created document before delete hooks and cascades can cause
78
- * effects that a database rollback cannot restore.
79
- */ export const assertBranchCreatedDeleteUnreferenced = async ({ branch: branchOverride, collectionSlug, doc, req })=>{
80
- if (!doc) {
81
- return null;
82
- }
83
- if (branchOverride === false || !req?.payload) {
84
- return doc;
85
- }
86
- if (req.context?._branchBypass) {
87
- return doc;
88
- }
89
- const branching = req.payload.config?.branching;
90
- if (!branching?.enabled || !branching.branchableCollections.has(collectionSlug)) {
91
- return doc;
92
- }
93
- const branch = branchOverride ?? resolveBranch(req);
94
- if (branch === MAIN_BRANCH) {
95
- return doc;
96
- }
97
- const branchDocument = await req.payload.db.findOne({
98
- branch: false,
99
- collection: collectionSlug,
100
- req,
101
- where: {
102
- and: [
103
- {
104
- id: {
105
- equals: doc.id
106
- }
107
- },
108
- {
109
- [branchField]: {
110
- equals: branch
111
- }
112
- }
113
- ]
114
- }
115
- });
116
- if (!branchDocument || await loadBranchOperation({
117
- collectionSlug,
118
- docID: branchDocument.id,
119
- req: req
120
- }) !== 'create') {
121
- return doc;
122
- }
123
- const targetID = branchDocument.id;
124
- await assertBranchCreatedDocumentsUnreferenced({
125
- ignoredOwnerRowIDs: new Map([
126
- [
127
- collectionSlug,
128
- new Set([
129
- targetID
130
- ])
131
- ]
132
- ]),
133
- req: req,
134
- targets: [
135
- {
136
- collectionSlug,
137
- docID: targetID
138
- }
139
- ]
140
- });
141
- return branchDocument;
142
- };
143
- /**
144
- * Whether a delete will be absorbed into a tombstone rather than removing a row.
145
- *
146
- * `deleteByID` runs its cascades — associated files, scheduled publish jobs —
147
- * before `db.deleteOne` decides this, and each of them addresses the canonical
148
- * document. On a branch that means reaching into main: deleting an upload on a
149
- * branch unlinks main's file while main keeps the row that points at it.
150
- *
151
- * Answered from the document already fetched for the delete, so it costs no extra
152
- * read. A document created on the branch is exempt — nothing of main's stands
153
- * behind it, so its side effects are its own to clean up.
154
- */ export const willBranchAbsorbDelete = async ({ collectionSlug, doc, req })=>{
155
- if (!doc || !req?.payload) {
156
- return false;
157
- }
158
- if (req.context?._branchBypass) {
159
- return false;
160
- }
161
- const branching = req.payload.config?.branching;
162
- if (!branching?.enabled || !branching.branchableCollections.has(collectionSlug)) {
163
- return false;
164
- }
165
- const branch = resolveBranch(req);
166
- if (branch === MAIN_BRANCH) {
167
- return false;
168
- }
169
- if (doc[branchField] !== branch) {
170
- return true;
171
- }
172
- const operation = await loadBranchOperation({
173
- collectionSlug,
174
- docID: doc.id,
175
- req: req
176
- });
177
- return operation !== 'create';
178
- };
179
- /**
180
- * Turns a delete on a branch into a tombstone against main.
181
- *
182
- * A branch cannot delete production content, so deleting a main document from
183
- * a branch records the intent in its authoritative change record. The read
184
- * predicate hides the matching canonical ID on that branch and nowhere else.
185
- *
186
- * A document created on the branch has no main row behind it, so it is deleted
187
- * outright — nothing is left to hide.
188
- */ export const resolveBranchDelete = async ({ branch: branchOverride, collectionSlug, req, where })=>{
189
- if (branchOverride === false || !req?.payload) {
190
- return {
191
- tombstoned: false
192
- };
193
- }
194
- if (req.context?._branchBypass) {
195
- return {
196
- tombstoned: false
197
- };
198
- }
199
- const branching = req.payload.config?.branching;
200
- if (!branching?.enabled || !branching.branchableCollections.has(collectionSlug)) {
201
- return {
202
- tombstoned: false
203
- };
204
- }
205
- const branch = branchOverride ?? resolveBranch(req);
206
- if (branch === MAIN_BRANCH) {
207
- return {
208
- tombstoned: false
209
- };
210
- }
211
- const requestContext = req.context;
212
- const branchDeleteOperation = requestContext?.[branchDeleteOperationContextKey];
213
- const requestedDocID = where?.id?.equals;
214
- const matchingBranchDeleteOperation = branchDeleteOperation?.branch === branch && branchDeleteOperation.collectionSlug === collectionSlug && String(branchDeleteOperation.docID) === String(requestedDocID) ? branchDeleteOperation : undefined;
215
- const useAmbientTransaction = matchingBranchDeleteOperation?.useAmbientTransaction === true;
216
- delete requestContext?.[branchDeleteOperationContextKey];
217
- // A delete is a write like any other, and a closed branch takes none. Consume the operation
218
- // markers first so a failed validation cannot affect another delete on the same request.
219
- await assertBranchWritable({
220
- branch,
221
- req: req
222
- });
223
- const concurrentDelete = requestContext?.[concurrentBranchDeleteContextKey];
224
- if (concurrentDelete?.branch === branch && concurrentDelete.collectionSlug === collectionSlug && String(concurrentDelete.docID) === String(where?.id?.equals)) {
225
- delete requestContext?.[concurrentBranchDeleteContextKey];
226
- const latestCommittedReq = isolateObjectProperty(req, [
227
- 'transactionID'
228
- ]);
229
- delete latestCommittedReq.transactionID;
230
- const matchingWinner = await req.payload.db.findOne({
231
- branch: false,
232
- collection: collectionSlug,
233
- req: latestCommittedReq,
234
- where: {
235
- and: [
236
- {
237
- id: {
238
- equals: concurrentDelete.winnerID
239
- }
240
- },
241
- {
242
- [branchField]: {
243
- equals: branch
244
- }
245
- },
246
- {
247
- [branchDocIDField]: {
248
- equals: concurrentDelete.docID
249
- }
250
- }
251
- ]
252
- }
253
- });
254
- const matchingWinnerChange = matchingWinner ? await req.payload.db.findOne({
255
- collection: branchChangesCollectionSlug,
256
- req: latestCommittedReq,
257
- where: {
258
- and: [
259
- {
260
- branch: {
261
- equals: branch
262
- }
263
- },
264
- {
265
- collectionSlug: {
266
- equals: collectionSlug
267
- }
268
- },
269
- {
270
- documentID: {
271
- equals: String(concurrentDelete.docID)
272
- }
273
- },
274
- {
275
- operation: {
276
- equals: 'delete'
277
- }
278
- }
279
- ]
280
- }
281
- }) : null;
282
- if (matchingWinner && matchingWinnerChange) {
283
- const outcome = {
284
- doc: {
285
- ...matchingWinner,
286
- id: concurrentDelete.docID
287
- },
288
- tombstoned: true
289
- };
290
- if (matchingBranchDeleteOperation) {
291
- if (!matchingBranchDeleteOperation.isTombstoneExpected) {
292
- resetBranchState(req);
293
- throw createBranchDeleteChangedError();
294
- }
295
- matchingBranchDeleteOperation.onResolved(outcome);
296
- }
297
- resetBranchState(req);
298
- return outcome;
299
- }
300
- throw concurrentDelete.retryError;
301
- }
302
- // Resolve which row the caller means *on this branch* — the branch's own copy
303
- // if it has one, otherwise the main row.
304
- const branchedWhere = await resolveBranchQuery({
305
- collectionSlug,
306
- req,
307
- where
308
- });
309
- const target = await req.payload.db.findOne({
310
- branch: false,
311
- collection: collectionSlug,
312
- req,
313
- where: branchedWhere
314
- });
315
- if (!target) {
316
- resetBranchState(req);
317
- throw createBranchDeleteChangedError();
318
- }
319
- const targetID = target.id;
320
- const isOnThisBranch = target[branchField] === branch;
321
- const canonicalID = target[branchDocIDField]?.value ?? target[branchDocIDField] ?? targetID;
322
- const operation = peekBranchOperation({
323
- collectionSlug,
324
- docID: canonicalID,
325
- req
326
- });
327
- const isTombstoneExpectedForTarget = !(isOnThisBranch && operation === 'create');
328
- if (matchingBranchDeleteOperation && matchingBranchDeleteOperation.isTombstoneExpected !== isTombstoneExpectedForTarget) {
329
- resetBranchState(req);
330
- throw createBranchDeleteChangedError();
331
- }
332
- if (req.transactionID && !useAmbientTransaction && !isOnThisBranch) {
333
- resetBranchState(req);
334
- throw new APIError('Cannot delete an untouched branch document within an existing transaction.', httpStatus.CONFLICT);
335
- }
336
- if (isOnThisBranch && !operation) {
337
- throw new APIError(`The ${collectionSlug} branch row for document ${String(canonicalID)} has no change record.`, 409);
338
- }
339
- // Created on this branch: no main row stands behind it, so a real delete
340
- // leaves nothing to hide.
341
- if (isOnThisBranch && operation === 'create') {
342
- await assertBranchCreatedDeleteUnreferenced({
343
- branch,
344
- collectionSlug,
345
- doc: target,
346
- req: req
347
- });
348
- if (req.transactionID) {
349
- const latestCommittedReq = isolateObjectProperty(req, [
350
- 'transactionID'
351
- ]);
352
- delete latestCommittedReq.transactionID;
353
- await assertBranchCreatedDocumentsUnreferenced({
354
- ignoredOwnerRowIDs: new Map([
355
- [
356
- collectionSlug,
357
- new Set([
358
- targetID
359
- ])
360
- ]
361
- ]),
362
- req: latestCommittedReq,
363
- targets: [
364
- {
365
- collectionSlug,
366
- docID: targetID
367
- }
368
- ]
369
- });
370
- }
371
- await req.payload.db.deleteMany({
372
- collection: branchChangesCollectionSlug,
373
- req,
374
- where: {
375
- and: [
376
- {
377
- branch: {
378
- equals: branch
379
- }
380
- },
381
- {
382
- 'doc.value': {
383
- equals: targetID
384
- }
385
- }
386
- ]
387
- }
388
- });
389
- matchingBranchDeleteOperation?.onResolved({
390
- doc: target,
391
- tombstoned: false
392
- });
393
- resetBranchState(req);
394
- return {
395
- deleteRowID: targetID,
396
- tombstoned: false
397
- };
398
- }
399
- let deletedDocument = target;
400
- if (isOnThisBranch) {
401
- const previousBranchChange = await req.payload.db.findOne({
402
- collection: branchChangesCollectionSlug,
403
- req,
404
- where: {
405
- and: [
406
- {
407
- branch: {
408
- equals: branch
409
- }
410
- },
411
- {
412
- collectionSlug: {
413
- equals: collectionSlug
414
- }
415
- },
416
- {
417
- documentID: {
418
- equals: String(canonicalID)
419
- }
420
- }
421
- ]
422
- }
423
- });
424
- await req.payload.db.deleteMany({
425
- collection: branchChangesCollectionSlug,
426
- req,
427
- where: {
428
- and: [
429
- {
430
- branch: {
431
- equals: branch
432
- }
433
- },
434
- {
435
- 'doc.value': {
436
- equals: canonicalID
437
- }
438
- }
439
- ]
440
- }
441
- });
442
- await req.payload.create({
443
- collection: branchChangesCollectionSlug,
444
- data: {
445
- baseUpdatedAt: previousBranchChange?.baseUpdatedAt,
446
- baseVersionID: previousBranchChange?.baseVersionID,
447
- baseVersionUpdatedAt: previousBranchChange?.baseVersionUpdatedAt,
448
- branch,
449
- collectionSlug,
450
- doc: {
451
- relationTo: collectionSlug,
452
- value: canonicalID
453
- },
454
- documentID: String(canonicalID),
455
- entityType: 'collection',
456
- operation: 'delete'
457
- },
458
- overrideAccess: true,
459
- req
460
- });
461
- } else {
462
- const { id: _discardedID, ...data } = target;
463
- let copiedShadow;
464
- const shadow = await createShadowRow({
465
- branch,
466
- collectionSlug,
467
- data: {
468
- ...data,
469
- [branchDocIDField]: canonicalID,
470
- [branchField]: branch
471
- },
472
- docID: canonicalID,
473
- onCreated: async (createReq, createdShadow)=>{
474
- const collection = createReq.payload.collections[collectionSlug];
475
- copiedShadow = collection?.config.upload ? await copyUploadFilesToBranch({
476
- branch,
477
- collection: collection.config,
478
- doc: createdShadow,
479
- req: createReq
480
- }) : createdShadow;
481
- const versionBoundary = await findBranchVersionForkBoundary({
482
- collectionSlug,
483
- docID: canonicalID,
484
- req: createReq
485
- });
486
- await createReq.payload.db.deleteMany({
487
- collection: branchChangesCollectionSlug,
488
- req: createReq,
489
- where: {
490
- and: [
491
- {
492
- branch: {
493
- equals: branch
494
- }
495
- },
496
- {
497
- 'doc.value': {
498
- equals: canonicalID
499
- }
500
- }
501
- ]
502
- }
503
- });
504
- await createReq.payload.create({
505
- collection: branchChangesCollectionSlug,
506
- data: {
507
- baseUpdatedAt: target.updatedAt,
508
- ...versionBoundary,
509
- branch,
510
- collectionSlug,
511
- doc: {
512
- relationTo: collectionSlug,
513
- value: canonicalID
514
- },
515
- documentID: String(canonicalID),
516
- entityType: 'collection',
517
- operation: 'delete'
518
- },
519
- overrideAccess: true,
520
- req: createReq
521
- });
522
- },
523
- req: req,
524
- useAmbientTransaction
525
- });
526
- deletedDocument = copiedShadow ?? shadow;
527
- }
528
- matchingBranchDeleteOperation?.onResolved({
529
- doc: isTombstoneExpectedForTarget ? {
530
- ...deletedDocument,
531
- id: canonicalID
532
- } : deletedDocument,
533
- tombstoned: isTombstoneExpectedForTarget
534
- });
535
- resetBranchState(req);
536
- req.branch = branch;
537
- return {
538
- doc: {
539
- ...target,
540
- id: canonicalID
541
- },
542
- tombstoned: true
543
- };
544
- };
545
-
546
- //# sourceMappingURL=tombstone.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/branching/tombstone.ts"],"sourcesContent":["import type { PayloadRequest, Where } from '../types/index.js'\n\nimport { APIError } from '../errors/index.js'\nimport { httpStatus } from '../utilities/httpStatus.js'\nimport { isolateObjectProperty } from '../utilities/isolateObjectProperty.js'\nimport { assertBranchCreatedDocumentsUnreferenced } from './assertBranchCreatedDocumentsUnreferenced.js'\nimport { assertBranchWritable } from './assertBranchWritable.js'\nimport { copyUploadFilesToBranch } from './copyUploadFilesToBranch.js'\nimport { createShadowRow } from './createShadowRow.js'\nimport {\n loadBranchOperation,\n peekBranchOperation,\n resetBranchState,\n resolveBranch,\n} from './resolveBranch.js'\nimport { resolveBranchQuery } from './resolveBranchQuery.js'\nimport { branchChangesCollectionSlug, branchDocIDField, branchField, MAIN_BRANCH } from './types.js'\nimport { findBranchVersionForkBoundary } from './versions.js'\n\ntype Args = {\n branch?: false | string\n collectionSlug: string\n req?: Partial<PayloadRequest>\n where: undefined | Where\n}\n\ntype ConcurrentBranchDelete = {\n branch: string\n collectionSlug: string\n doc: Record<string, unknown>\n docID: number | string\n retryError: unknown\n winnerID: number | string\n}\n\nexport type BranchDeleteOutcome = {\n doc: Record<string, unknown>\n tombstoned: boolean\n}\n\ntype BranchDeleteOperation = {\n branch: string\n collectionSlug: string\n docID: number | string\n isTombstoneExpected: boolean\n onResolved: (outcome: BranchDeleteOutcome) => void\n useAmbientTransaction: boolean\n}\n\nconst concurrentBranchDeleteContextKey = Symbol.for('payload.branching.concurrentBranchDelete')\nconst branchDeleteOperationContextKey = Symbol.for('payload.branching.branchDeleteOperation')\n\ntype Result = {\n /** Narrows the caller's delete to this row's primary key. */\n deleteRowID?: number | string\n /** The document to report as deleted, when the delete was absorbed. */\n doc?: Record<string, unknown>\n /** True when the delete became a tombstone and must not proceed. */\n tombstoned: boolean\n}\n\nexport const setConcurrentBranchDelete = ({\n branch,\n collectionSlug,\n doc,\n docID,\n req,\n retryError,\n winnerID,\n}: { req: PayloadRequest } & ConcurrentBranchDelete): void => {\n req.context ??= {}\n ;(req.context as Record<PropertyKey, unknown>)[concurrentBranchDeleteContextKey] = {\n branch,\n collectionSlug,\n doc,\n docID,\n retryError,\n winnerID,\n }\n}\n\nexport const setBranchDeleteOperation = ({\n branch,\n collectionSlug,\n docID,\n isTombstoneExpected,\n onResolved,\n req,\n useAmbientTransaction,\n}: { req: PayloadRequest } & BranchDeleteOperation): void => {\n req.context ??= {}\n ;(req.context as Record<PropertyKey, unknown>)[branchDeleteOperationContextKey] = {\n branch,\n collectionSlug,\n docID,\n isTombstoneExpected,\n onResolved,\n useAmbientTransaction,\n }\n}\n\nconst createBranchDeleteChangedError = (): APIError =>\n new APIError(\n 'The branch document changed while it was being deleted. Retry the operation.',\n httpStatus.CONFLICT,\n )\n\nexport const requireBranchDeleteOutcome = ({\n outcome,\n}: {\n outcome: BranchDeleteOutcome | undefined\n}): BranchDeleteOutcome => {\n if (!outcome) {\n throw createBranchDeleteChangedError()\n }\n\n return outcome\n}\n\nexport const assertBranchDeleteCanUseCallerTransaction = async ({\n branch,\n collectionSlug,\n docID,\n req,\n}: {\n branch: string\n collectionSlug: string\n docID: number | string\n req: PayloadRequest\n}): Promise<void> => {\n const branchDocument = await req.payload.db.findOne({\n branch: false,\n collection: collectionSlug,\n req,\n where: {\n and: [\n { [branchField]: { equals: branch } },\n { or: [{ id: { equals: docID } }, { [branchDocIDField]: { equals: docID } }] },\n ],\n },\n })\n\n if (!branchDocument) {\n throw new APIError(\n 'Cannot delete an untouched branch document within an existing transaction.',\n httpStatus.CONFLICT,\n )\n }\n}\n\n/**\n * Checks a branch-created document before delete hooks and cascades can cause\n * effects that a database rollback cannot restore.\n */\nexport const assertBranchCreatedDeleteUnreferenced = async ({\n branch: branchOverride,\n collectionSlug,\n doc,\n req,\n}: {\n branch?: false | string\n collectionSlug: string\n doc: null | Record<string, unknown> | undefined\n req?: Partial<PayloadRequest>\n}): Promise<null | Record<string, unknown>> => {\n if (!doc) {\n return null\n }\n\n if (branchOverride === false || !req?.payload) {\n return doc\n }\n\n if ((req.context as Record<string, unknown> | undefined)?._branchBypass) {\n return doc\n }\n\n const branching = req.payload.config?.branching\n\n if (!branching?.enabled || !branching.branchableCollections.has(collectionSlug)) {\n return doc\n }\n\n const branch = branchOverride ?? resolveBranch(req as PayloadRequest)\n\n if (branch === MAIN_BRANCH) {\n return doc\n }\n\n const branchDocument = (await req.payload.db.findOne({\n branch: false,\n collection: collectionSlug,\n req,\n where: {\n and: [{ id: { equals: doc.id as number | string } }, { [branchField]: { equals: branch } }],\n },\n })) as null | Record<string, unknown>\n\n if (\n !branchDocument ||\n (await loadBranchOperation({\n collectionSlug,\n docID: branchDocument.id as number | string,\n req: req as PayloadRequest,\n })) !== 'create'\n ) {\n return doc\n }\n\n const targetID = branchDocument.id as number | string\n\n await assertBranchCreatedDocumentsUnreferenced({\n ignoredOwnerRowIDs: new Map([[collectionSlug, new Set([targetID])]]),\n req: req as PayloadRequest,\n targets: [{ collectionSlug, docID: targetID }],\n })\n\n return branchDocument\n}\n\n/**\n * Whether a delete will be absorbed into a tombstone rather than removing a row.\n *\n * `deleteByID` runs its cascades — associated files, scheduled publish jobs —\n * before `db.deleteOne` decides this, and each of them addresses the canonical\n * document. On a branch that means reaching into main: deleting an upload on a\n * branch unlinks main's file while main keeps the row that points at it.\n *\n * Answered from the document already fetched for the delete, so it costs no extra\n * read. A document created on the branch is exempt — nothing of main's stands\n * behind it, so its side effects are its own to clean up.\n */\nexport const willBranchAbsorbDelete = async ({\n collectionSlug,\n doc,\n req,\n}: {\n branch?: false | string\n collectionSlug: string\n doc: null | Record<string, unknown> | undefined\n req?: Partial<PayloadRequest>\n}): Promise<boolean> => {\n if (!doc || !req?.payload) {\n return false\n }\n\n if ((req.context as Record<string, unknown> | undefined)?._branchBypass) {\n return false\n }\n\n const branching = req.payload.config?.branching\n\n if (!branching?.enabled || !branching.branchableCollections.has(collectionSlug)) {\n return false\n }\n\n const branch = resolveBranch(req as PayloadRequest)\n\n if (branch === MAIN_BRANCH) {\n return false\n }\n\n if (doc[branchField] !== branch) {\n return true\n }\n\n const operation = await loadBranchOperation({\n collectionSlug,\n docID: doc.id as number | string,\n req: req as PayloadRequest,\n })\n\n return operation !== 'create'\n}\n\n/**\n * Turns a delete on a branch into a tombstone against main.\n *\n * A branch cannot delete production content, so deleting a main document from\n * a branch records the intent in its authoritative change record. The read\n * predicate hides the matching canonical ID on that branch and nowhere else.\n *\n * A document created on the branch has no main row behind it, so it is deleted\n * outright — nothing is left to hide.\n */\nexport const resolveBranchDelete = async ({\n branch: branchOverride,\n collectionSlug,\n req,\n where,\n}: Args): Promise<Result> => {\n if (branchOverride === false || !req?.payload) {\n return { tombstoned: false }\n }\n\n if ((req.context as Record<string, unknown> | undefined)?._branchBypass) {\n return { tombstoned: false }\n }\n\n const branching = req.payload.config?.branching\n\n if (!branching?.enabled || !branching.branchableCollections.has(collectionSlug)) {\n return { tombstoned: false }\n }\n\n const branch = branchOverride ?? resolveBranch(req as PayloadRequest)\n\n if (branch === MAIN_BRANCH) {\n return { tombstoned: false }\n }\n\n const requestContext = req.context as Record<PropertyKey, unknown> | undefined\n const branchDeleteOperation = requestContext?.[branchDeleteOperationContextKey] as\n | BranchDeleteOperation\n | undefined\n const requestedDocID = (where?.id as { equals?: unknown })?.equals\n const matchingBranchDeleteOperation =\n branchDeleteOperation?.branch === branch &&\n branchDeleteOperation.collectionSlug === collectionSlug &&\n String(branchDeleteOperation.docID) === String(requestedDocID)\n ? branchDeleteOperation\n : undefined\n const useAmbientTransaction = matchingBranchDeleteOperation?.useAmbientTransaction === true\n\n delete requestContext?.[branchDeleteOperationContextKey]\n\n // A delete is a write like any other, and a closed branch takes none. Consume the operation\n // markers first so a failed validation cannot affect another delete on the same request.\n await assertBranchWritable({ branch, req: req as PayloadRequest })\n\n const concurrentDelete = requestContext?.[concurrentBranchDeleteContextKey] as\n | ConcurrentBranchDelete\n | undefined\n\n if (\n concurrentDelete?.branch === branch &&\n concurrentDelete.collectionSlug === collectionSlug &&\n String(concurrentDelete.docID) === String((where?.id as { equals?: unknown })?.equals)\n ) {\n delete requestContext?.[concurrentBranchDeleteContextKey]\n\n const latestCommittedReq = isolateObjectProperty(req as PayloadRequest, ['transactionID'])\n\n delete latestCommittedReq.transactionID\n\n const matchingWinner = await req.payload.db.findOne({\n branch: false,\n collection: collectionSlug,\n req: latestCommittedReq,\n where: {\n and: [\n { id: { equals: concurrentDelete.winnerID } },\n { [branchField]: { equals: branch } },\n { [branchDocIDField]: { equals: concurrentDelete.docID } },\n ],\n },\n })\n const matchingWinnerChange = matchingWinner\n ? await req.payload.db.findOne({\n collection: branchChangesCollectionSlug,\n req: latestCommittedReq,\n where: {\n and: [\n { branch: { equals: branch } },\n { collectionSlug: { equals: collectionSlug } },\n { documentID: { equals: String(concurrentDelete.docID) } },\n { operation: { equals: 'delete' } },\n ],\n },\n })\n : null\n\n if (matchingWinner && matchingWinnerChange) {\n const outcome = {\n doc: { ...matchingWinner, id: concurrentDelete.docID },\n tombstoned: true,\n }\n\n if (matchingBranchDeleteOperation) {\n if (!matchingBranchDeleteOperation.isTombstoneExpected) {\n resetBranchState(req as PayloadRequest)\n throw createBranchDeleteChangedError()\n }\n\n matchingBranchDeleteOperation.onResolved(outcome)\n }\n\n resetBranchState(req as PayloadRequest)\n\n return outcome\n }\n\n throw concurrentDelete.retryError\n }\n\n // Resolve which row the caller means *on this branch* — the branch's own copy\n // if it has one, otherwise the main row.\n const branchedWhere = await resolveBranchQuery({ collectionSlug, req, where })\n\n const target = (await req.payload.db.findOne({\n branch: false,\n collection: collectionSlug,\n req,\n where: branchedWhere,\n })) as null | Record<string, unknown>\n\n if (!target) {\n resetBranchState(req as PayloadRequest)\n throw createBranchDeleteChangedError()\n }\n\n const targetID = target.id as number | string\n const isOnThisBranch = target[branchField] === branch\n const canonicalID =\n (target[branchDocIDField] as any)?.value ?? target[branchDocIDField] ?? targetID\n const operation = peekBranchOperation({ collectionSlug, docID: canonicalID, req })\n const isTombstoneExpectedForTarget = !(isOnThisBranch && operation === 'create')\n\n if (\n matchingBranchDeleteOperation &&\n matchingBranchDeleteOperation.isTombstoneExpected !== isTombstoneExpectedForTarget\n ) {\n resetBranchState(req as PayloadRequest)\n throw createBranchDeleteChangedError()\n }\n\n if (req.transactionID && !useAmbientTransaction && !isOnThisBranch) {\n resetBranchState(req as PayloadRequest)\n throw new APIError(\n 'Cannot delete an untouched branch document within an existing transaction.',\n httpStatus.CONFLICT,\n )\n }\n\n if (isOnThisBranch && !operation) {\n throw new APIError(\n `The ${collectionSlug} branch row for document ${String(canonicalID)} has no change record.`,\n 409,\n )\n }\n\n // Created on this branch: no main row stands behind it, so a real delete\n // leaves nothing to hide.\n if (isOnThisBranch && operation === 'create') {\n await assertBranchCreatedDeleteUnreferenced({\n branch,\n collectionSlug,\n doc: target,\n req: req as PayloadRequest,\n })\n\n if (req.transactionID) {\n const latestCommittedReq = isolateObjectProperty(req as PayloadRequest, ['transactionID'])\n\n delete latestCommittedReq.transactionID\n\n await assertBranchCreatedDocumentsUnreferenced({\n ignoredOwnerRowIDs: new Map([[collectionSlug, new Set([targetID])]]),\n req: latestCommittedReq,\n targets: [{ collectionSlug, docID: targetID }],\n })\n }\n\n await req.payload.db.deleteMany({\n collection: branchChangesCollectionSlug,\n req,\n where: { and: [{ branch: { equals: branch } }, { 'doc.value': { equals: targetID } }] },\n })\n\n matchingBranchDeleteOperation?.onResolved({ doc: target, tombstoned: false })\n\n resetBranchState(req as PayloadRequest)\n\n return { deleteRowID: targetID, tombstoned: false }\n }\n\n let deletedDocument = target\n\n if (isOnThisBranch) {\n const previousBranchChange = (await req.payload.db.findOne({\n collection: branchChangesCollectionSlug,\n req,\n where: {\n and: [\n { branch: { equals: branch } },\n { collectionSlug: { equals: collectionSlug } },\n { documentID: { equals: String(canonicalID) } },\n ],\n },\n })) as null | Record<string, unknown>\n\n await req.payload.db.deleteMany({\n collection: branchChangesCollectionSlug,\n req,\n where: { and: [{ branch: { equals: branch } }, { 'doc.value': { equals: canonicalID } }] },\n })\n\n await req.payload.create({\n collection: branchChangesCollectionSlug,\n data: {\n baseUpdatedAt: previousBranchChange?.baseUpdatedAt,\n baseVersionID: previousBranchChange?.baseVersionID,\n baseVersionUpdatedAt: previousBranchChange?.baseVersionUpdatedAt,\n branch,\n collectionSlug,\n doc: { relationTo: collectionSlug, value: canonicalID },\n documentID: String(canonicalID),\n entityType: 'collection',\n operation: 'delete',\n },\n overrideAccess: true,\n req,\n })\n } else {\n const { id: _discardedID, ...data } = target\n let copiedShadow: Record<string, unknown> | undefined\n\n const shadow = await createShadowRow({\n branch,\n collectionSlug,\n data: {\n ...data,\n [branchDocIDField]: canonicalID,\n [branchField]: branch,\n },\n docID: canonicalID,\n onCreated: async (createReq, createdShadow) => {\n const collection = createReq.payload.collections[collectionSlug]\n\n copiedShadow = collection?.config.upload\n ? await copyUploadFilesToBranch({\n branch,\n collection: collection.config,\n doc: createdShadow,\n req: createReq,\n })\n : createdShadow\n\n const versionBoundary = await findBranchVersionForkBoundary({\n collectionSlug,\n docID: canonicalID,\n req: createReq,\n })\n\n await createReq.payload.db.deleteMany({\n collection: branchChangesCollectionSlug,\n req: createReq,\n where: {\n and: [{ branch: { equals: branch } }, { 'doc.value': { equals: canonicalID } }],\n },\n })\n\n await createReq.payload.create({\n collection: branchChangesCollectionSlug,\n data: {\n baseUpdatedAt: target.updatedAt,\n ...versionBoundary,\n branch,\n collectionSlug,\n doc: { relationTo: collectionSlug, value: canonicalID },\n documentID: String(canonicalID),\n entityType: 'collection',\n operation: 'delete',\n },\n overrideAccess: true,\n req: createReq,\n })\n },\n req: req as PayloadRequest,\n useAmbientTransaction,\n })\n\n deletedDocument = copiedShadow ?? shadow\n }\n\n matchingBranchDeleteOperation?.onResolved({\n doc: isTombstoneExpectedForTarget ? { ...deletedDocument, id: canonicalID } : deletedDocument,\n tombstoned: isTombstoneExpectedForTarget,\n })\n\n resetBranchState(req as PayloadRequest)\n ;(req as PayloadRequest).branch = branch\n\n return { doc: { ...target, id: canonicalID }, tombstoned: true }\n}\n"],"names":["APIError","httpStatus","isolateObjectProperty","assertBranchCreatedDocumentsUnreferenced","assertBranchWritable","copyUploadFilesToBranch","createShadowRow","loadBranchOperation","peekBranchOperation","resetBranchState","resolveBranch","resolveBranchQuery","branchChangesCollectionSlug","branchDocIDField","branchField","MAIN_BRANCH","findBranchVersionForkBoundary","concurrentBranchDeleteContextKey","Symbol","for","branchDeleteOperationContextKey","setConcurrentBranchDelete","branch","collectionSlug","doc","docID","req","retryError","winnerID","context","setBranchDeleteOperation","isTombstoneExpected","onResolved","useAmbientTransaction","createBranchDeleteChangedError","CONFLICT","requireBranchDeleteOutcome","outcome","assertBranchDeleteCanUseCallerTransaction","branchDocument","payload","db","findOne","collection","where","and","equals","or","id","assertBranchCreatedDeleteUnreferenced","branchOverride","_branchBypass","branching","config","enabled","branchableCollections","has","targetID","ignoredOwnerRowIDs","Map","Set","targets","willBranchAbsorbDelete","operation","resolveBranchDelete","tombstoned","requestContext","branchDeleteOperation","requestedDocID","matchingBranchDeleteOperation","String","undefined","concurrentDelete","latestCommittedReq","transactionID","matchingWinner","matchingWinnerChange","documentID","branchedWhere","target","isOnThisBranch","canonicalID","value","isTombstoneExpectedForTarget","deleteMany","deleteRowID","deletedDocument","previousBranchChange","create","data","baseUpdatedAt","baseVersionID","baseVersionUpdatedAt","relationTo","entityType","overrideAccess","_discardedID","copiedShadow","shadow","onCreated","createReq","createdShadow","collections","upload","versionBoundary","updatedAt"],"mappings":"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"}