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
@@ -2,40 +2,16 @@ import fs from 'fs/promises';
2
2
  import { FileUploadError } from '../errors/index.js';
3
3
  import { assertNoValidationWrite } from '../utilities/assertNoValidationWrite.js';
4
4
  import { saveBufferToFile } from './saveBufferToFile.js';
5
- import { publishUploadedFile, stageUploadFileRollback } from './uploadFileRollback.js';
6
- export const uploadFiles = async (payload, files, req, { uploadFileRollbacks } = {})=>{
5
+ export const uploadFiles = async (payload, files, req)=>{
7
6
  assertNoValidationWrite(req);
8
7
  try {
9
- const filesToUpload = [];
10
- for (const file of files){
11
- filesToUpload.push({
12
- file,
13
- stagedFile: uploadFileRollbacks ? await stageUploadFileRollback({
14
- file,
15
- rollbacks: uploadFileRollbacks
16
- }) : file
17
- });
18
- }
19
- const uploadResults = await Promise.allSettled(filesToUpload.map(async ({ stagedFile })=>{
20
- if ('sourcePath' in stagedFile) {
21
- await fs.copyFile(stagedFile.sourcePath, stagedFile.path);
8
+ await Promise.all(files.map(async (file)=>{
9
+ if ('sourcePath' in file) {
10
+ await fs.copyFile(file.sourcePath, file.path);
22
11
  } else {
23
- await saveBufferToFile(stagedFile.buffer, stagedFile.path);
12
+ await saveBufferToFile(file.buffer, file.path);
24
13
  }
25
14
  }));
26
- const failedUpload = uploadResults.find((result)=>result.status === 'rejected');
27
- if (failedUpload) {
28
- throw failedUpload.reason;
29
- }
30
- if (uploadFileRollbacks) {
31
- for (const { file, stagedFile } of filesToUpload){
32
- await publishUploadedFile({
33
- file,
34
- rollbacks: uploadFileRollbacks,
35
- stagedFile
36
- });
37
- }
38
- }
39
15
  } catch (err) {
40
16
  payload.logger.error(err);
41
17
  throw new FileUploadError(req.t);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/uploads/uploadFiles.ts"],"sourcesContent":["import fs from 'fs/promises'\n\nimport type { Payload } from '../index.js'\nimport type { PayloadRequest } from '../types/index.js'\nimport type { FileToSave } from './types.js'\nimport type { UploadFileRollbacks } from './uploadFileRollback.js'\n\nimport { FileUploadError } from '../errors/index.js'\nimport { assertNoValidationWrite } from '../utilities/assertNoValidationWrite.js'\nimport { saveBufferToFile } from './saveBufferToFile.js'\nimport { publishUploadedFile, stageUploadFileRollback } from './uploadFileRollback.js'\n\nexport const uploadFiles = async (\n payload: Payload,\n files: FileToSave[],\n req: PayloadRequest,\n {\n uploadFileRollbacks,\n }: {\n uploadFileRollbacks?: UploadFileRollbacks\n } = {},\n): Promise<void> => {\n assertNoValidationWrite(req)\n\n try {\n const filesToUpload: Array<{ file: FileToSave; stagedFile: FileToSave }> = []\n\n for (const file of files) {\n filesToUpload.push({\n file,\n stagedFile: uploadFileRollbacks\n ? await stageUploadFileRollback({ file, rollbacks: uploadFileRollbacks })\n : file,\n })\n }\n\n const uploadResults = await Promise.allSettled(\n filesToUpload.map(async ({ stagedFile }) => {\n if ('sourcePath' in stagedFile) {\n await fs.copyFile(stagedFile.sourcePath, stagedFile.path)\n } else {\n await saveBufferToFile(stagedFile.buffer, stagedFile.path)\n }\n }),\n )\n\n const failedUpload = uploadResults.find((result) => result.status === 'rejected')\n\n if (failedUpload) {\n throw failedUpload.reason\n }\n\n if (uploadFileRollbacks) {\n for (const { file, stagedFile } of filesToUpload) {\n await publishUploadedFile({ file, rollbacks: uploadFileRollbacks, stagedFile })\n }\n }\n } catch (err) {\n payload.logger.error(err)\n throw new FileUploadError(req.t)\n }\n}\n"],"names":["fs","FileUploadError","assertNoValidationWrite","saveBufferToFile","publishUploadedFile","stageUploadFileRollback","uploadFiles","payload","files","req","uploadFileRollbacks","filesToUpload","file","push","stagedFile","rollbacks","uploadResults","Promise","allSettled","map","copyFile","sourcePath","path","buffer","failedUpload","find","result","status","reason","err","logger","error","t"],"mappings":"AAAA,OAAOA,QAAQ,cAAa;AAO5B,SAASC,eAAe,QAAQ,qBAAoB;AACpD,SAASC,uBAAuB,QAAQ,0CAAyC;AACjF,SAASC,gBAAgB,QAAQ,wBAAuB;AACxD,SAASC,mBAAmB,EAAEC,uBAAuB,QAAQ,0BAAyB;AAEtF,OAAO,MAAMC,cAAc,OACzBC,SACAC,OACAC,KACA,EACEC,mBAAmB,EAGpB,GAAG,CAAC,CAAC;IAENR,wBAAwBO;IAExB,IAAI;QACF,MAAME,gBAAqE,EAAE;QAE7E,KAAK,MAAMC,QAAQJ,MAAO;YACxBG,cAAcE,IAAI,CAAC;gBACjBD;gBACAE,YAAYJ,sBACR,MAAML,wBAAwB;oBAAEO;oBAAMG,WAAWL;gBAAoB,KACrEE;YACN;QACF;QAEA,MAAMI,gBAAgB,MAAMC,QAAQC,UAAU,CAC5CP,cAAcQ,GAAG,CAAC,OAAO,EAAEL,UAAU,EAAE;YACrC,IAAI,gBAAgBA,YAAY;gBAC9B,MAAMd,GAAGoB,QAAQ,CAACN,WAAWO,UAAU,EAAEP,WAAWQ,IAAI;YAC1D,OAAO;gBACL,MAAMnB,iBAAiBW,WAAWS,MAAM,EAAET,WAAWQ,IAAI;YAC3D;QACF;QAGF,MAAME,eAAeR,cAAcS,IAAI,CAAC,CAACC,SAAWA,OAAOC,MAAM,KAAK;QAEtE,IAAIH,cAAc;YAChB,MAAMA,aAAaI,MAAM;QAC3B;QAEA,IAAIlB,qBAAqB;YACvB,KAAK,MAAM,EAAEE,IAAI,EAAEE,UAAU,EAAE,IAAIH,cAAe;gBAChD,MAAMP,oBAAoB;oBAAEQ;oBAAMG,WAAWL;oBAAqBI;gBAAW;YAC/E;QACF;IACF,EAAE,OAAOe,KAAK;QACZtB,QAAQuB,MAAM,CAACC,KAAK,CAACF;QACrB,MAAM,IAAI5B,gBAAgBQ,IAAIuB,CAAC;IACjC;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/uploads/uploadFiles.ts"],"sourcesContent":["import fs from 'fs/promises'\n\nimport type { Payload } from '../index.js'\nimport type { PayloadRequest } from '../types/index.js'\nimport type { FileToSave } from './types.js'\n\nimport { FileUploadError } from '../errors/index.js'\nimport { assertNoValidationWrite } from '../utilities/assertNoValidationWrite.js'\nimport { saveBufferToFile } from './saveBufferToFile.js'\n\nexport const uploadFiles = async (\n payload: Payload,\n files: FileToSave[],\n req: PayloadRequest,\n): Promise<void> => {\n assertNoValidationWrite(req)\n\n try {\n await Promise.all(\n files.map(async (file) => {\n if ('sourcePath' in file) {\n await fs.copyFile(file.sourcePath, file.path)\n } else {\n await saveBufferToFile(file.buffer, file.path)\n }\n }),\n )\n } catch (err) {\n payload.logger.error(err)\n throw new FileUploadError(req.t)\n }\n}\n"],"names":["fs","FileUploadError","assertNoValidationWrite","saveBufferToFile","uploadFiles","payload","files","req","Promise","all","map","file","copyFile","sourcePath","path","buffer","err","logger","error","t"],"mappings":"AAAA,OAAOA,QAAQ,cAAa;AAM5B,SAASC,eAAe,QAAQ,qBAAoB;AACpD,SAASC,uBAAuB,QAAQ,0CAAyC;AACjF,SAASC,gBAAgB,QAAQ,wBAAuB;AAExD,OAAO,MAAMC,cAAc,OACzBC,SACAC,OACAC;IAEAL,wBAAwBK;IAExB,IAAI;QACF,MAAMC,QAAQC,GAAG,CACfH,MAAMI,GAAG,CAAC,OAAOC;YACf,IAAI,gBAAgBA,MAAM;gBACxB,MAAMX,GAAGY,QAAQ,CAACD,KAAKE,UAAU,EAAEF,KAAKG,IAAI;YAC9C,OAAO;gBACL,MAAMX,iBAAiBQ,KAAKI,MAAM,EAAEJ,KAAKG,IAAI;YAC/C;QACF;IAEJ,EAAE,OAAOE,KAAK;QACZX,QAAQY,MAAM,CAACC,KAAK,CAACF;QACrB,MAAM,IAAIf,gBAAgBM,IAAIY,CAAC;IACjC;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"addSelectGenericsToGeneretedTypes.d.ts","sourceRoot":"","sources":["../../src/utilities/addSelectGenericsToGeneretedTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,gCAE3C;IACD,sBAAsB,EAAE,MAAM,CAAA;CAC/B,WAoDA,CAAA"}
1
+ {"version":3,"file":"addSelectGenericsToGeneretedTypes.d.ts","sourceRoot":"","sources":["../../src/utilities/addSelectGenericsToGeneretedTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,gCAE3C;IACD,sBAAsB,EAAE,MAAM,CAAA;CAC/B,WAmDA,CAAA"}
@@ -17,7 +17,6 @@ export const addSelectGenericsToGeneratedTypes = ({ compiledGeneratedTypes })=>{
17
17
  });
18
18
  }
19
19
  }
20
- // eslint-disable-next-line regexp/no-unused-capturing-group
21
20
  if (line.match(/via the `definition` "([\w-]+_select)"/g)) {
22
21
  isSelectTypeToken = true;
23
22
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/addSelectGenericsToGeneretedTypes.ts"],"sourcesContent":["export const addSelectGenericsToGeneratedTypes = ({\n compiledGeneratedTypes,\n}: {\n compiledGeneratedTypes: string\n}) => {\n const modifiedLines: string[] = []\n\n let isCollectionsSelectToken = false\n let isSelectTypeToken = false\n\n for (const line of compiledGeneratedTypes.split('\\n')) {\n let newLine = line\n if (line === ` collectionsSelect: {` || line === ` globalsSelect: {`) {\n isCollectionsSelectToken = true\n }\n\n if (isCollectionsSelectToken) {\n if (line === ' };') {\n isCollectionsSelectToken = false\n } else {\n // replace <posts: PostsSelect;> with <posts: PostsSelect<true> | PostsSelect<false;>\n newLine = line.replace(/(['\"]?\\w+['\"]?):\\s*(\\w+);/g, (_, variable, type) => {\n return `${variable}: ${type}<false> | ${type}<true>;`\n })\n }\n }\n\n // eslint-disable-next-line regexp/no-unused-capturing-group\n if (line.match(/via the `definition` \"([\\w-]+_select)\"/g)) {\n isSelectTypeToken = true\n }\n\n if (isSelectTypeToken) {\n if (line.startsWith('export interface')) {\n // add generic to the interface\n newLine = line.replace(/(export interface\\s+\\w+)(\\s*\\{)/g, '$1<T extends boolean = true>$2')\n } else {\n newLine = line\n // replace booleans with T on the line\n .replace(/(?<!\\?)\\bboolean\\b/g, 'T')\n // replace interface names like CtaBlock to CtaBlock<T>\n .replace(\n /\\b(\\w+)\\s*\\|\\s*(\\w+)\\b/g,\n (_match, left, right) => `${left} | ${right}<${left}>`,\n )\n\n if (line === '}') {\n isSelectTypeToken = false\n }\n }\n }\n\n modifiedLines.push(newLine)\n }\n\n return modifiedLines.join('\\n')\n}\n"],"names":["addSelectGenericsToGeneratedTypes","compiledGeneratedTypes","modifiedLines","isCollectionsSelectToken","isSelectTypeToken","line","split","newLine","replace","_","variable","type","match","startsWith","_match","left","right","push","join"],"mappings":"AAAA,OAAO,MAAMA,oCAAoC,CAAC,EAChDC,sBAAsB,EAGvB;IACC,MAAMC,gBAA0B,EAAE;IAElC,IAAIC,2BAA2B;IAC/B,IAAIC,oBAAoB;IAExB,KAAK,MAAMC,QAAQJ,uBAAuBK,KAAK,CAAC,MAAO;QACrD,IAAIC,UAAUF;QACd,IAAIA,SAAS,CAAC,sBAAsB,CAAC,IAAIA,SAAS,CAAC,kBAAkB,CAAC,EAAE;YACtEF,2BAA2B;QAC7B;QAEA,IAAIA,0BAA0B;YAC5B,IAAIE,SAAS,QAAQ;gBACnBF,2BAA2B;YAC7B,OAAO;gBACL,qFAAqF;gBACrFI,UAAUF,KAAKG,OAAO,CAAC,8BAA8B,CAACC,GAAGC,UAAUC;oBACjE,OAAO,GAAGD,SAAS,EAAE,EAAEC,KAAK,UAAU,EAAEA,KAAK,OAAO,CAAC;gBACvD;YACF;QACF;QAEA,4DAA4D;QAC5D,IAAIN,KAAKO,KAAK,CAAC,4CAA4C;YACzDR,oBAAoB;QACtB;QAEA,IAAIA,mBAAmB;YACrB,IAAIC,KAAKQ,UAAU,CAAC,qBAAqB;gBACvC,+BAA+B;gBAC/BN,UAAUF,KAAKG,OAAO,CAAC,oCAAoC;YAC7D,OAAO;gBACLD,UAAUF,IACR,sCAAsC;iBACrCG,OAAO,CAAC,uBAAuB,IAChC,uDAAuD;iBACtDA,OAAO,CACN,2BACA,CAACM,QAAQC,MAAMC,QAAU,GAAGD,KAAK,GAAG,EAAEC,MAAM,CAAC,EAAED,KAAK,CAAC,CAAC;gBAG1D,IAAIV,SAAS,KAAK;oBAChBD,oBAAoB;gBACtB;YACF;QACF;QAEAF,cAAce,IAAI,CAACV;IACrB;IAEA,OAAOL,cAAcgB,IAAI,CAAC;AAC5B,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/addSelectGenericsToGeneretedTypes.ts"],"sourcesContent":["export const addSelectGenericsToGeneratedTypes = ({\n compiledGeneratedTypes,\n}: {\n compiledGeneratedTypes: string\n}) => {\n const modifiedLines: string[] = []\n\n let isCollectionsSelectToken = false\n let isSelectTypeToken = false\n\n for (const line of compiledGeneratedTypes.split('\\n')) {\n let newLine = line\n if (line === ` collectionsSelect: {` || line === ` globalsSelect: {`) {\n isCollectionsSelectToken = true\n }\n\n if (isCollectionsSelectToken) {\n if (line === ' };') {\n isCollectionsSelectToken = false\n } else {\n // replace <posts: PostsSelect;> with <posts: PostsSelect<true> | PostsSelect<false;>\n newLine = line.replace(/(['\"]?\\w+['\"]?):\\s*(\\w+);/g, (_, variable, type) => {\n return `${variable}: ${type}<false> | ${type}<true>;`\n })\n }\n }\n\n if (line.match(/via the `definition` \"([\\w-]+_select)\"/g)) {\n isSelectTypeToken = true\n }\n\n if (isSelectTypeToken) {\n if (line.startsWith('export interface')) {\n // add generic to the interface\n newLine = line.replace(/(export interface\\s+\\w+)(\\s*\\{)/g, '$1<T extends boolean = true>$2')\n } else {\n newLine = line\n // replace booleans with T on the line\n .replace(/(?<!\\?)\\bboolean\\b/g, 'T')\n // replace interface names like CtaBlock to CtaBlock<T>\n .replace(\n /\\b(\\w+)\\s*\\|\\s*(\\w+)\\b/g,\n (_match, left, right) => `${left} | ${right}<${left}>`,\n )\n\n if (line === '}') {\n isSelectTypeToken = false\n }\n }\n }\n\n modifiedLines.push(newLine)\n }\n\n return modifiedLines.join('\\n')\n}\n"],"names":["addSelectGenericsToGeneratedTypes","compiledGeneratedTypes","modifiedLines","isCollectionsSelectToken","isSelectTypeToken","line","split","newLine","replace","_","variable","type","match","startsWith","_match","left","right","push","join"],"mappings":"AAAA,OAAO,MAAMA,oCAAoC,CAAC,EAChDC,sBAAsB,EAGvB;IACC,MAAMC,gBAA0B,EAAE;IAElC,IAAIC,2BAA2B;IAC/B,IAAIC,oBAAoB;IAExB,KAAK,MAAMC,QAAQJ,uBAAuBK,KAAK,CAAC,MAAO;QACrD,IAAIC,UAAUF;QACd,IAAIA,SAAS,CAAC,sBAAsB,CAAC,IAAIA,SAAS,CAAC,kBAAkB,CAAC,EAAE;YACtEF,2BAA2B;QAC7B;QAEA,IAAIA,0BAA0B;YAC5B,IAAIE,SAAS,QAAQ;gBACnBF,2BAA2B;YAC7B,OAAO;gBACL,qFAAqF;gBACrFI,UAAUF,KAAKG,OAAO,CAAC,8BAA8B,CAACC,GAAGC,UAAUC;oBACjE,OAAO,GAAGD,SAAS,EAAE,EAAEC,KAAK,UAAU,EAAEA,KAAK,OAAO,CAAC;gBACvD;YACF;QACF;QAEA,IAAIN,KAAKO,KAAK,CAAC,4CAA4C;YACzDR,oBAAoB;QACtB;QAEA,IAAIA,mBAAmB;YACrB,IAAIC,KAAKQ,UAAU,CAAC,qBAAqB;gBACvC,+BAA+B;gBAC/BN,UAAUF,KAAKG,OAAO,CAAC,oCAAoC;YAC7D,OAAO;gBACLD,UAAUF,IACR,sCAAsC;iBACrCG,OAAO,CAAC,uBAAuB,IAChC,uDAAuD;iBACtDA,OAAO,CACN,2BACA,CAACM,QAAQC,MAAMC,QAAU,GAAGD,KAAK,GAAG,EAAEC,MAAM,CAAC,EAAED,KAAK,CAAC,CAAC;gBAG1D,IAAIV,SAAS,KAAK;oBAChBD,oBAAoB;gBACtB;YACF;QACF;QAEAF,cAAce,IAAI,CAACV;IACrB;IAEA,OAAOL,cAAcgB,IAAI,CAAC;AAC5B,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/appendDateTimezoneSelectFields.ts"],"sourcesContent":["import type { FlattenedField } from '../fields/config/types.js'\nimport type { SelectType } from '../types/index.js'\n\n/**\n * Mutates the incoming select object to append `{name}_tz` siblings for any date\n * field with `timezone` enabled that has been requested in the select. Without\n * this, the List View's Select API would omit the timezone sibling and\n * cells would render dates in the server's timezone.\n */\nexport const appendDateTimezoneSelectFields = ({\n fields,\n select,\n}: {\n fields: FlattenedField[]\n select: SelectType\n}) => {\n if (!select) {\n return\n }\n\n for (const field of fields) {\n if (!('name' in field)) {\n continue\n }\n\n const value = select[field.name]\n\n if (field.type === 'date' && field.timezone && value) {\n select[`${field.name}_tz`] = true\n continue\n }\n\n if (!value || typeof value !== 'object') {\n continue\n }\n\n if ('flattenedFields' in field) {\n appendDateTimezoneSelectFields({\n fields: field.flattenedFields,\n select: value as SelectType,\n })\n continue\n }\n\n if (field.type === 'blocks') {\n const blocks = field.blocks as Array<\n | {\n flattenedFields: FlattenedField[]\n slug: string\n }\n | string\n >\n\n for (const block of blocks) {\n if (typeof block === 'string') {\n continue\n }\n const blockSelect = (value as SelectType)[block.slug]\n if (blockSelect && typeof blockSelect === 'object') {\n appendDateTimezoneSelectFields({\n fields: block.flattenedFields,\n select: blockSelect as SelectType,\n })\n }\n }\n }\n }\n}\n"],"names":["appendDateTimezoneSelectFields","fields","select","field","value","name","type","timezone","flattenedFields","blocks","block","blockSelect","slug"],"mappings":"AAGA;;;;;CAKC,GACD,OAAO,MAAMA,iCAAiC,CAAC,EAC7CC,MAAM,EACNC,MAAM,EAIP;IACC,IAAI,CAACA,QAAQ;QACX;IACF;IAEA,KAAK,MAAMC,SAASF,OAAQ;QAC1B,IAAI,CAAE,CAAA,UAAUE,KAAI,GAAI;YACtB;QACF;QAEA,MAAMC,QAAQF,MAAM,CAACC,MAAME,IAAI,CAAC;QAEhC,IAAIF,MAAMG,IAAI,KAAK,UAAUH,MAAMI,QAAQ,IAAIH,OAAO;YACpDF,MAAM,CAAC,GAAGC,MAAME,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG;YAC7B;QACF;QAEA,IAAI,CAACD,SAAS,OAAOA,UAAU,UAAU;YACvC;QACF;QAEA,IAAI,qBAAqBD,OAAO;YAC9BH,+BAA+B;gBAC7BC,QAAQE,MAAMK,eAAe;gBAC7BN,QAAQE;YACV;YACA;QACF;QAEA,IAAID,MAAMG,IAAI,KAAK,UAAU;YAC3B,MAAMG,SAASN,MAAMM,MAAM;YAQ3B,KAAK,MAAMC,SAASD,OAAQ;gBAC1B,IAAI,OAAOC,UAAU,UAAU;oBAC7B;gBACF;gBACA,MAAMC,cAAc,AAACP,KAAoB,CAACM,MAAME,IAAI,CAAC;gBACrD,IAAID,eAAe,OAAOA,gBAAgB,UAAU;oBAClDX,+BAA+B;wBAC7BC,QAAQS,MAAMF,eAAe;wBAC7BN,QAAQS;oBACV;gBACF;YACF;QACF;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/appendDateTimezoneSelectFields.ts"],"sourcesContent":["import type { FlattenedField } from '../fields/config/types.js'\nimport type { SelectType } from '../types/index.js'\n\n/**\n * Mutates the incoming select object to append `{name}_tz` siblings for any date\n * field with `timezone` enabled that has been requested in the select. Without\n * this, the List View's Select API would omit the timezone sibling and\n * cells would render dates in the server's timezone.\n */\nexport const appendDateTimezoneSelectFields = ({\n fields,\n select,\n}: {\n fields: FlattenedField[]\n select: SelectType\n}) => {\n if (!select) {\n return\n }\n\n for (const field of fields) {\n if (!('name' in field)) {\n continue\n }\n\n const value = select[field.name]\n\n if (field.type === 'date' && field.timezone && value) {\n select[`${field.name}_tz`] = true\n continue\n }\n\n if (!value || typeof value !== 'object') {\n continue\n }\n\n if ('flattenedFields' in field) {\n appendDateTimezoneSelectFields({\n fields: field.flattenedFields,\n select: value,\n })\n continue\n }\n\n if (field.type === 'blocks') {\n const blocks = field.blocks as Array<\n | {\n flattenedFields: FlattenedField[]\n slug: string\n }\n | string\n >\n\n for (const block of blocks) {\n if (typeof block === 'string') {\n continue\n }\n const blockSelect = value[block.slug]\n if (blockSelect && typeof blockSelect === 'object') {\n appendDateTimezoneSelectFields({\n fields: block.flattenedFields,\n select: blockSelect,\n })\n }\n }\n }\n }\n}\n"],"names":["appendDateTimezoneSelectFields","fields","select","field","value","name","type","timezone","flattenedFields","blocks","block","blockSelect","slug"],"mappings":"AAGA;;;;;CAKC,GACD,OAAO,MAAMA,iCAAiC,CAAC,EAC7CC,MAAM,EACNC,MAAM,EAIP;IACC,IAAI,CAACA,QAAQ;QACX;IACF;IAEA,KAAK,MAAMC,SAASF,OAAQ;QAC1B,IAAI,CAAE,CAAA,UAAUE,KAAI,GAAI;YACtB;QACF;QAEA,MAAMC,QAAQF,MAAM,CAACC,MAAME,IAAI,CAAC;QAEhC,IAAIF,MAAMG,IAAI,KAAK,UAAUH,MAAMI,QAAQ,IAAIH,OAAO;YACpDF,MAAM,CAAC,GAAGC,MAAME,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG;YAC7B;QACF;QAEA,IAAI,CAACD,SAAS,OAAOA,UAAU,UAAU;YACvC;QACF;QAEA,IAAI,qBAAqBD,OAAO;YAC9BH,+BAA+B;gBAC7BC,QAAQE,MAAMK,eAAe;gBAC7BN,QAAQE;YACV;YACA;QACF;QAEA,IAAID,MAAMG,IAAI,KAAK,UAAU;YAC3B,MAAMG,SAASN,MAAMM,MAAM;YAQ3B,KAAK,MAAMC,SAASD,OAAQ;gBAC1B,IAAI,OAAOC,UAAU,UAAU;oBAC7B;gBACF;gBACA,MAAMC,cAAcP,KAAK,CAACM,MAAME,IAAI,CAAC;gBACrC,IAAID,eAAe,OAAOA,gBAAgB,UAAU;oBAClDX,+BAA+B;wBAC7BC,QAAQS,MAAMF,eAAe;wBAC7BN,QAAQS;oBACV;gBACF;YACF;QACF;IACF;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"assertNoValidationWrite.d.ts","sourceRoot":"","sources":["../../src/utilities/assertNoValidationWrite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAKvD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAM3E"}
1
+ {"version":3,"file":"assertNoValidationWrite.d.ts","sourceRoot":"","sources":["../../src/utilities/assertNoValidationWrite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIvD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAI3E"}
@@ -1,4 +1,3 @@
1
- import { assertBranchMergeValidationWriteAllowed } from '../branching/mergeWriteGuard.js';
2
1
  import { APIError } from '../errors/index.js';
3
2
  /**
4
3
  * Prevents guarded document, global, upload, and version mutation entry points from writing
@@ -6,9 +5,6 @@ import { APIError } from '../errors/index.js';
6
5
  * intentionally unaffected.
7
6
  */ export function assertNoValidationWrite(req) {
8
7
  if (req?.operation === 'validate') {
9
- assertBranchMergeValidationWriteAllowed({
10
- req
11
- });
12
8
  throw new APIError('Payload writes are not allowed during validation.');
13
9
  }
14
10
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/assertNoValidationWrite.ts"],"sourcesContent":["import type { PayloadRequest } from '../types/index.js'\n\nimport { assertBranchMergeValidationWriteAllowed } from '../branching/mergeWriteGuard.js'\nimport { APIError } from '../errors/index.js'\n\n/**\n * Prevents guarded document, global, upload, and version mutation entry points from writing\n * through an active validation request. Reads and writes made with a separate request are\n * intentionally unaffected.\n */\nexport function assertNoValidationWrite(req?: Partial<PayloadRequest>): void {\n if (req?.operation === 'validate') {\n assertBranchMergeValidationWriteAllowed({ req })\n\n throw new APIError('Payload writes are not allowed during validation.')\n }\n}\n"],"names":["assertBranchMergeValidationWriteAllowed","APIError","assertNoValidationWrite","req","operation"],"mappings":"AAEA,SAASA,uCAAuC,QAAQ,kCAAiC;AACzF,SAASC,QAAQ,QAAQ,qBAAoB;AAE7C;;;;CAIC,GACD,OAAO,SAASC,wBAAwBC,GAA6B;IACnE,IAAIA,KAAKC,cAAc,YAAY;QACjCJ,wCAAwC;YAAEG;QAAI;QAE9C,MAAM,IAAIF,SAAS;IACrB;AACF"}
1
+ {"version":3,"sources":["../../src/utilities/assertNoValidationWrite.ts"],"sourcesContent":["import type { PayloadRequest } from '../types/index.js'\n\nimport { APIError } from '../errors/index.js'\n\n/**\n * Prevents guarded document, global, upload, and version mutation entry points from writing\n * through an active validation request. Reads and writes made with a separate request are\n * intentionally unaffected.\n */\nexport function assertNoValidationWrite(req?: Partial<PayloadRequest>): void {\n if (req?.operation === 'validate') {\n throw new APIError('Payload writes are not allowed during validation.')\n }\n}\n"],"names":["APIError","assertNoValidationWrite","req","operation"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,qBAAoB;AAE7C;;;;CAIC,GACD,OAAO,SAASC,wBAAwBC,GAA6B;IACnE,IAAIA,KAAKC,cAAc,YAAY;QACjC,MAAM,IAAIH,SAAS;IACrB;AACF"}
@@ -7,35 +7,26 @@ type CheckDocumentLockStatusArgs = {
7
7
  lockErrorMessage?: string;
8
8
  overrideLock?: boolean;
9
9
  req: PayloadRequest;
10
- shouldDeleteLock?: boolean;
11
10
  };
12
- export declare const checkDocumentLockStatus: ({ id, collectionSlug, globalSlug, lockDurationDefault, lockErrorMessage, overrideLock, req, shouldDeleteLock, }: CheckDocumentLockStatusArgs) => Promise<void>;
11
+ export declare const checkDocumentLockStatus: ({ id, collectionSlug, globalSlug, lockDurationDefault, lockErrorMessage, overrideLock, req, }: CheckDocumentLockStatusArgs) => Promise<void>;
13
12
  type BulkLockArgs = {
14
13
  collectionSlug: string;
15
14
  ids: (number | string)[];
16
15
  req: PayloadRequest;
17
16
  };
18
- type DocumentLockState = {
19
- lockDocumentIDsByDocumentID: Map<string, (number | string)[]>;
20
- lockedDocumentIDs: Set<string>;
21
- };
22
- type GetDocumentLockStateArgs = {
23
- lockDurationDefault?: number;
24
- overrideLock?: boolean;
25
- } & BulkLockArgs;
26
17
  /**
27
18
  * Batched counterpart to `checkDocumentLockStatus`. Resolves the lock state of every id with a
28
19
  * single query instead of one per document, and returns the ids that are locked by another user.
29
20
  * Callers are expected to report those ids as errors and leave them alone.
30
21
  */
31
- export declare const getDocumentLockState: ({ collectionSlug, ids, lockDurationDefault, overrideLock, req, }: GetDocumentLockStateArgs) => Promise<DocumentLockState>;
32
- export declare const getLockedDocumentIds: (args: GetDocumentLockStateArgs) => Promise<Set<string>>;
22
+ export declare const getLockedDocumentIds: ({ collectionSlug, ids, lockDurationDefault, overrideLock, req, }: {
23
+ lockDurationDefault?: number;
24
+ overrideLock?: boolean;
25
+ } & BulkLockArgs) => Promise<Set<string>>;
33
26
  /**
34
27
  * Batched counterpart to the lock cleanup `checkDocumentLockStatus` performs, so that bulk
35
28
  * operations release every lock in one query instead of one per document.
36
29
  */
37
- export declare const deleteDocumentLocks: ({ collectionSlug, ids, lockDocumentIDs, req, }: {
38
- lockDocumentIDs?: (number | string)[];
39
- } & BulkLockArgs) => Promise<void>;
30
+ export declare const deleteDocumentLocks: ({ collectionSlug, ids, req, }: BulkLockArgs) => Promise<void>;
40
31
  export {};
41
32
  //# sourceMappingURL=checkDocumentLockStatus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkDocumentLockStatus.d.ts","sourceRoot":"","sources":["../../src/utilities/checkDocumentLockStatus.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,cAAc,EAAS,MAAM,mBAAmB,CAAA;AAM1E,KAAK,2BAA2B,GAAG;IACjC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,uBAAuB,oHASjC,2BAA2B,KAAG,OAAO,CAAC,IAAI,CAsF5C,CAAA;AAED,KAAK,YAAY,GAAG;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;IAC7D,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC/B,CAAA;AAED,KAAK,wBAAwB,GAAG;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,GAAG,YAAY,CAAA;AAgBhB;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,qEAM9B,wBAAwB,KAAG,OAAO,CAAC,iBAAiB,CA2DtD,CAAA;AAED,eAAO,MAAM,oBAAoB,SACzB,wBAAwB,KAC7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAMrB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,mDAK7B;IAAE,eAAe,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CAAE,GAAG,YAAY,KAAG,OAAO,CAAC,IAAI,CAoBzE,CAAA"}
1
+ {"version":3,"file":"checkDocumentLockStatus.d.ts","sourceRoot":"","sources":["../../src/utilities/checkDocumentLockStatus.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,cAAc,EAAS,MAAM,mBAAmB,CAAA;AAK1E,KAAK,2BAA2B,GAAG;IACjC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,uBAAuB,kGAQjC,2BAA2B,KAAG,OAAO,CAAC,IAAI,CAgF5C,CAAA;AAED,KAAK,YAAY,GAAG;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAgBD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,qEAM9B;IACD,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,GAAG,YAAY,KAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CA+CrC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,kCAI7B,YAAY,KAAG,OAAO,CAAC,IAAI,CAa7B,CAAA"}
@@ -1,7 +1,6 @@
1
1
  import { Locked } from '../errors/index.js';
2
2
  import { lockedDocumentsCollectionSlug } from '../locked-documents/config.js';
3
- import { markTransactionWrite } from './transactionMutationTracker.js';
4
- export const checkDocumentLockStatus = async ({ id, collectionSlug, globalSlug, lockDurationDefault = 300, lockErrorMessage, overrideLock = true, req, shouldDeleteLock = true })=>{
3
+ export const checkDocumentLockStatus = async ({ id, collectionSlug, globalSlug, lockDurationDefault = 300, lockErrorMessage, overrideLock = true, req })=>{
5
4
  const { payload } = req;
6
5
  // Check if the locked-documents collection exists
7
6
  if (!payload.collections?.[lockedDocumentsCollectionSlug]) {
@@ -47,7 +46,6 @@ export const checkDocumentLockStatus = async ({ id, collectionSlug, globalSlug,
47
46
  collection: lockedDocumentsCollectionSlug,
48
47
  limit: 1,
49
48
  pagination: false,
50
- req: payload.db.name === 'mongoose' ? undefined : req,
51
49
  sort: '-updatedAt',
52
50
  where: lockedDocumentQuery
53
51
  });
@@ -65,9 +63,6 @@ export const checkDocumentLockStatus = async ({ id, collectionSlug, globalSlug,
65
63
  }
66
64
  }
67
65
  }
68
- if (!shouldDeleteLock) {
69
- return;
70
- }
71
66
  // Perform the delete operation regardless of overrideLock status
72
67
  await payload.db.deleteMany({
73
68
  collection: lockedDocumentsCollectionSlug,
@@ -75,9 +70,6 @@ export const checkDocumentLockStatus = async ({ id, collectionSlug, globalSlug,
75
70
  req: payload.db.name === 'mongoose' ? undefined : req,
76
71
  where: lockedDocumentQuery
77
72
  });
78
- markTransactionWrite({
79
- req: payload.db.name === 'mongoose' ? undefined : req
80
- });
81
73
  };
82
74
  const buildBulkLockedDocumentQuery = (collectionSlug, ids)=>({
83
75
  and: [
@@ -104,13 +96,10 @@ const isLockingAvailable = (collectionSlug, req)=>{
104
96
  * Batched counterpart to `checkDocumentLockStatus`. Resolves the lock state of every id with a
105
97
  * single query instead of one per document, and returns the ids that are locked by another user.
106
98
  * Callers are expected to report those ids as errors and leave them alone.
107
- */ export const getDocumentLockState = async ({ collectionSlug, ids, lockDurationDefault = 300, overrideLock = true, req })=>{
108
- const lockState = {
109
- lockDocumentIDsByDocumentID: new Map(),
110
- lockedDocumentIDs: new Set()
111
- };
112
- if (!ids.length || !isLockingAvailable(collectionSlug, req)) {
113
- return lockState;
99
+ */ export const getLockedDocumentIds = async ({ collectionSlug, ids, lockDurationDefault = 300, overrideLock = true, req })=>{
100
+ const lockedIds = new Set();
101
+ if (overrideLock || !ids.length || !isLockingAvailable(collectionSlug, req)) {
102
+ return lockedIds;
114
103
  }
115
104
  const { payload } = req;
116
105
  const lockDocumentsProp = payload.collections?.[collectionSlug]?.config?.lockDocuments;
@@ -118,7 +107,6 @@ const isLockingAvailable = (collectionSlug, req)=>{
118
107
  collection: lockedDocumentsCollectionSlug,
119
108
  limit: 0,
120
109
  pagination: false,
121
- req: payload.db.name === 'mongoose' ? undefined : req,
122
110
  sort: '-updatedAt',
123
111
  where: buildBulkLockedDocumentQuery(collectionSlug, ids)
124
112
  });
@@ -129,14 +117,6 @@ const isLockingAvailable = (collectionSlug, req)=>{
129
117
  const resolved = new Set();
130
118
  for (const lockedDoc of lockedDocumentResult?.docs ?? []){
131
119
  const documentId = String(lockedDoc.document?.value);
132
- const lockDocumentIDs = lockState.lockDocumentIDsByDocumentID.get(documentId);
133
- if (lockDocumentIDs) {
134
- lockDocumentIDs.push(lockedDoc.id);
135
- } else {
136
- lockState.lockDocumentIDsByDocumentID.set(documentId, [
137
- lockedDoc.id
138
- ]);
139
- }
140
120
  // Sorted by -updatedAt, so the first row seen for an id is its most recent lock
141
121
  if (resolved.has(documentId)) {
142
122
  continue;
@@ -144,38 +124,25 @@ const isLockingAvailable = (collectionSlug, req)=>{
144
124
  resolved.add(documentId);
145
125
  const lastEditedAt = new Date(lockedDoc?.updatedAt).getTime();
146
126
  // document is locked by another user and the lock hasn't expired
147
- if (!overrideLock && lockedDoc.user?.value !== currentUserId && now - lastEditedAt <= lockDurationInMilliseconds) {
148
- lockState.lockedDocumentIDs.add(documentId);
127
+ if (lockedDoc.user?.value !== currentUserId && now - lastEditedAt <= lockDurationInMilliseconds) {
128
+ lockedIds.add(documentId);
149
129
  }
150
130
  }
151
- return lockState;
152
- };
153
- export const getLockedDocumentIds = async (args)=>{
154
- if (args.overrideLock ?? true) {
155
- return new Set();
156
- }
157
- return (await getDocumentLockState(args)).lockedDocumentIDs;
131
+ return lockedIds;
158
132
  };
159
133
  /**
160
134
  * Batched counterpart to the lock cleanup `checkDocumentLockStatus` performs, so that bulk
161
135
  * operations release every lock in one query instead of one per document.
162
- */ export const deleteDocumentLocks = async ({ collectionSlug, ids, lockDocumentIDs, req })=>{
136
+ */ export const deleteDocumentLocks = async ({ collectionSlug, ids, req })=>{
163
137
  const { payload } = req;
164
- if (!ids.length || lockDocumentIDs && !lockDocumentIDs.length || !isLockingAvailable(collectionSlug, req)) {
138
+ if (!ids.length || !isLockingAvailable(collectionSlug, req)) {
165
139
  return;
166
140
  }
167
141
  await payload.db.deleteMany({
168
142
  collection: lockedDocumentsCollectionSlug,
169
143
  // Not passing req fails on postgres
170
144
  req: payload.db.name === 'mongoose' ? undefined : req,
171
- where: lockDocumentIDs ? {
172
- id: {
173
- in: lockDocumentIDs
174
- }
175
- } : buildBulkLockedDocumentQuery(collectionSlug, ids)
176
- });
177
- markTransactionWrite({
178
- req: payload.db.name === 'mongoose' ? undefined : req
145
+ where: buildBulkLockedDocumentQuery(collectionSlug, ids)
179
146
  });
180
147
  };
181
148
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/checkDocumentLockStatus.ts"],"sourcesContent":["import type { TypeWithID } from '../collections/config/types.js'\nimport type { PaginatedDocs } from '../database/types.js'\nimport type { JsonObject, PayloadRequest, Where } from '../types/index.js'\n\nimport { Locked } from '../errors/index.js'\nimport { lockedDocumentsCollectionSlug } from '../locked-documents/config.js'\nimport { markTransactionWrite } from './transactionMutationTracker.js'\n\ntype CheckDocumentLockStatusArgs = {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n lockDurationDefault?: number\n lockErrorMessage?: string\n overrideLock?: boolean\n req: PayloadRequest\n shouldDeleteLock?: boolean\n}\n\nexport const checkDocumentLockStatus = async ({\n id,\n collectionSlug,\n globalSlug,\n lockDurationDefault = 300, // Default 5 minutes in seconds\n lockErrorMessage,\n overrideLock = true,\n req,\n shouldDeleteLock = true,\n}: CheckDocumentLockStatusArgs): Promise<void> => {\n const { payload } = req\n\n // Check if the locked-documents collection exists\n if (!payload.collections?.[lockedDocumentsCollectionSlug]) {\n // If the collection doesn't exist, locking is not available\n return\n }\n\n // Retrieve the lockDocuments property for either collection or global\n const lockDocumentsProp = collectionSlug\n ? payload.collections?.[collectionSlug]?.config?.lockDocuments\n : payload.config?.globals?.find((g) => g.slug === globalSlug)?.lockDocuments\n\n const isLockingEnabled = lockDocumentsProp !== false\n\n let lockedDocumentQuery = {}\n\n if (collectionSlug) {\n lockedDocumentQuery = {\n and: [\n { 'document.relationTo': { equals: collectionSlug } },\n { 'document.value': { equals: id } },\n ],\n }\n } else if (globalSlug) {\n lockedDocumentQuery = { globalSlug: { equals: globalSlug } }\n } else {\n throw new Error('Either collectionSlug or globalSlug must be provided.')\n }\n\n if (!isLockingEnabled) {\n return\n }\n\n // Only perform lock checks if overrideLock is false and locking is enabled\n if (!overrideLock) {\n const defaultLockErrorMessage = collectionSlug\n ? `Document with ID ${id} is currently locked by another user and cannot be modified.`\n : `Global document with slug \"${globalSlug}\" is currently locked by another user and cannot be modified.`\n\n const finalLockErrorMessage = lockErrorMessage || defaultLockErrorMessage\n\n const lockedDocumentResult: PaginatedDocs<JsonObject & TypeWithID> = await payload.db.find({\n collection: lockedDocumentsCollectionSlug,\n limit: 1,\n pagination: false,\n req: payload.db.name === 'mongoose' ? undefined : req,\n sort: '-updatedAt',\n where: lockedDocumentQuery,\n })\n\n // If there's a locked document, check lock conditions\n const lockedDoc = lockedDocumentResult?.docs[0]\n if (lockedDoc) {\n const lastEditedAt = new Date(lockedDoc?.updatedAt).getTime()\n const now = new Date().getTime()\n\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n\n const lockDurationInMilliseconds = lockDuration * 1000\n const currentUserId = req.user?.id\n\n // document is locked by another user and the lock hasn't expired\n if (\n lockedDoc.user?.value !== currentUserId &&\n now - lastEditedAt <= lockDurationInMilliseconds\n ) {\n throw new Locked(finalLockErrorMessage)\n }\n }\n }\n\n if (!shouldDeleteLock) {\n return\n }\n\n // Perform the delete operation regardless of overrideLock status\n await payload.db.deleteMany({\n collection: lockedDocumentsCollectionSlug,\n // Not passing req fails on postgres\n req: payload.db.name === 'mongoose' ? undefined : req,\n where: lockedDocumentQuery,\n })\n markTransactionWrite({ req: payload.db.name === 'mongoose' ? undefined : req })\n}\n\ntype BulkLockArgs = {\n collectionSlug: string\n ids: (number | string)[]\n req: PayloadRequest\n}\n\ntype DocumentLockState = {\n lockDocumentIDsByDocumentID: Map<string, (number | string)[]>\n lockedDocumentIDs: Set<string>\n}\n\ntype GetDocumentLockStateArgs = {\n lockDurationDefault?: number\n overrideLock?: boolean\n} & BulkLockArgs\n\nconst buildBulkLockedDocumentQuery = (collectionSlug: string, ids: (number | string)[]): Where => ({\n and: [{ 'document.relationTo': { equals: collectionSlug } }, { 'document.value': { in: ids } }],\n})\n\nconst isLockingAvailable = (collectionSlug: string, req: PayloadRequest): boolean => {\n const { payload } = req\n\n if (!payload.collections?.[lockedDocumentsCollectionSlug]) {\n return false\n }\n\n return payload.collections?.[collectionSlug]?.config?.lockDocuments !== false\n}\n\n/**\n * Batched counterpart to `checkDocumentLockStatus`. Resolves the lock state of every id with a\n * single query instead of one per document, and returns the ids that are locked by another user.\n * Callers are expected to report those ids as errors and leave them alone.\n */\nexport const getDocumentLockState = async ({\n collectionSlug,\n ids,\n lockDurationDefault = 300, // Default 5 minutes in seconds\n overrideLock = true,\n req,\n}: GetDocumentLockStateArgs): Promise<DocumentLockState> => {\n const lockState: DocumentLockState = {\n lockDocumentIDsByDocumentID: new Map<string, (number | string)[]>(),\n lockedDocumentIDs: new Set<string>(),\n }\n\n if (!ids.length || !isLockingAvailable(collectionSlug, req)) {\n return lockState\n }\n\n const { payload } = req\n const lockDocumentsProp = payload.collections?.[collectionSlug]?.config?.lockDocuments\n\n const lockedDocumentResult: PaginatedDocs<JsonObject & TypeWithID> = await payload.db.find({\n collection: lockedDocumentsCollectionSlug,\n limit: 0,\n pagination: false,\n req: payload.db.name === 'mongoose' ? undefined : req,\n sort: '-updatedAt',\n where: buildBulkLockedDocumentQuery(collectionSlug, ids),\n })\n\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n\n const lockDurationInMilliseconds = lockDuration * 1000\n const currentUserId = req.user?.id\n const now = new Date().getTime()\n const resolved = new Set<string>()\n\n for (const lockedDoc of lockedDocumentResult?.docs ?? []) {\n const documentId = String(lockedDoc.document?.value)\n const lockDocumentIDs = lockState.lockDocumentIDsByDocumentID.get(documentId)\n\n if (lockDocumentIDs) {\n lockDocumentIDs.push(lockedDoc.id)\n } else {\n lockState.lockDocumentIDsByDocumentID.set(documentId, [lockedDoc.id])\n }\n\n // Sorted by -updatedAt, so the first row seen for an id is its most recent lock\n if (resolved.has(documentId)) {\n continue\n }\n resolved.add(documentId)\n\n const lastEditedAt = new Date(lockedDoc?.updatedAt).getTime()\n\n // document is locked by another user and the lock hasn't expired\n if (\n !overrideLock &&\n lockedDoc.user?.value !== currentUserId &&\n now - lastEditedAt <= lockDurationInMilliseconds\n ) {\n lockState.lockedDocumentIDs.add(documentId)\n }\n }\n\n return lockState\n}\n\nexport const getLockedDocumentIds = async (\n args: GetDocumentLockStateArgs,\n): Promise<Set<string>> => {\n if (args.overrideLock ?? true) {\n return new Set<string>()\n }\n\n return (await getDocumentLockState(args)).lockedDocumentIDs\n}\n\n/**\n * Batched counterpart to the lock cleanup `checkDocumentLockStatus` performs, so that bulk\n * operations release every lock in one query instead of one per document.\n */\nexport const deleteDocumentLocks = async ({\n collectionSlug,\n ids,\n lockDocumentIDs,\n req,\n}: { lockDocumentIDs?: (number | string)[] } & BulkLockArgs): Promise<void> => {\n const { payload } = req\n\n if (\n !ids.length ||\n (lockDocumentIDs && !lockDocumentIDs.length) ||\n !isLockingAvailable(collectionSlug, req)\n ) {\n return\n }\n\n await payload.db.deleteMany({\n collection: lockedDocumentsCollectionSlug,\n // Not passing req fails on postgres\n req: payload.db.name === 'mongoose' ? undefined : req,\n where: lockDocumentIDs\n ? { id: { in: lockDocumentIDs } }\n : buildBulkLockedDocumentQuery(collectionSlug, ids),\n })\n markTransactionWrite({ req: payload.db.name === 'mongoose' ? undefined : req })\n}\n"],"names":["Locked","lockedDocumentsCollectionSlug","markTransactionWrite","checkDocumentLockStatus","id","collectionSlug","globalSlug","lockDurationDefault","lockErrorMessage","overrideLock","req","shouldDeleteLock","payload","collections","lockDocumentsProp","config","lockDocuments","globals","find","g","slug","isLockingEnabled","lockedDocumentQuery","and","equals","Error","defaultLockErrorMessage","finalLockErrorMessage","lockedDocumentResult","db","collection","limit","pagination","name","undefined","sort","where","lockedDoc","docs","lastEditedAt","Date","updatedAt","getTime","now","lockDuration","duration","lockDurationInMilliseconds","currentUserId","user","value","deleteMany","buildBulkLockedDocumentQuery","ids","in","isLockingAvailable","getDocumentLockState","lockState","lockDocumentIDsByDocumentID","Map","lockedDocumentIDs","Set","length","resolved","documentId","String","document","lockDocumentIDs","get","push","set","has","add","getLockedDocumentIds","args","deleteDocumentLocks"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utilities/checkDocumentLockStatus.ts"],"sourcesContent":["import type { TypeWithID } from '../collections/config/types.js'\nimport type { PaginatedDocs } from '../database/types.js'\nimport type { JsonObject, PayloadRequest, Where } from '../types/index.js'\n\nimport { Locked } from '../errors/index.js'\nimport { lockedDocumentsCollectionSlug } from '../locked-documents/config.js'\n\ntype CheckDocumentLockStatusArgs = {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n lockDurationDefault?: number\n lockErrorMessage?: string\n overrideLock?: boolean\n req: PayloadRequest\n}\n\nexport const checkDocumentLockStatus = async ({\n id,\n collectionSlug,\n globalSlug,\n lockDurationDefault = 300, // Default 5 minutes in seconds\n lockErrorMessage,\n overrideLock = true,\n req,\n}: CheckDocumentLockStatusArgs): Promise<void> => {\n const { payload } = req\n\n // Check if the locked-documents collection exists\n if (!payload.collections?.[lockedDocumentsCollectionSlug]) {\n // If the collection doesn't exist, locking is not available\n return\n }\n\n // Retrieve the lockDocuments property for either collection or global\n const lockDocumentsProp = collectionSlug\n ? payload.collections?.[collectionSlug]?.config?.lockDocuments\n : payload.config?.globals?.find((g) => g.slug === globalSlug)?.lockDocuments\n\n const isLockingEnabled = lockDocumentsProp !== false\n\n let lockedDocumentQuery = {}\n\n if (collectionSlug) {\n lockedDocumentQuery = {\n and: [\n { 'document.relationTo': { equals: collectionSlug } },\n { 'document.value': { equals: id } },\n ],\n }\n } else if (globalSlug) {\n lockedDocumentQuery = { globalSlug: { equals: globalSlug } }\n } else {\n throw new Error('Either collectionSlug or globalSlug must be provided.')\n }\n\n if (!isLockingEnabled) {\n return\n }\n\n // Only perform lock checks if overrideLock is false and locking is enabled\n if (!overrideLock) {\n const defaultLockErrorMessage = collectionSlug\n ? `Document with ID ${id} is currently locked by another user and cannot be modified.`\n : `Global document with slug \"${globalSlug}\" is currently locked by another user and cannot be modified.`\n\n const finalLockErrorMessage = lockErrorMessage || defaultLockErrorMessage\n\n const lockedDocumentResult: PaginatedDocs<JsonObject & TypeWithID> = await payload.db.find({\n collection: lockedDocumentsCollectionSlug,\n limit: 1,\n pagination: false,\n sort: '-updatedAt',\n where: lockedDocumentQuery,\n })\n\n // If there's a locked document, check lock conditions\n const lockedDoc = lockedDocumentResult?.docs[0]\n if (lockedDoc) {\n const lastEditedAt = new Date(lockedDoc?.updatedAt).getTime()\n const now = new Date().getTime()\n\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n\n const lockDurationInMilliseconds = lockDuration * 1000\n const currentUserId = req.user?.id\n\n // document is locked by another user and the lock hasn't expired\n if (\n lockedDoc.user?.value !== currentUserId &&\n now - lastEditedAt <= lockDurationInMilliseconds\n ) {\n throw new Locked(finalLockErrorMessage)\n }\n }\n }\n\n // Perform the delete operation regardless of overrideLock status\n await payload.db.deleteMany({\n collection: lockedDocumentsCollectionSlug,\n // Not passing req fails on postgres\n req: payload.db.name === 'mongoose' ? undefined : req,\n where: lockedDocumentQuery,\n })\n}\n\ntype BulkLockArgs = {\n collectionSlug: string\n ids: (number | string)[]\n req: PayloadRequest\n}\n\nconst buildBulkLockedDocumentQuery = (collectionSlug: string, ids: (number | string)[]): Where => ({\n and: [{ 'document.relationTo': { equals: collectionSlug } }, { 'document.value': { in: ids } }],\n})\n\nconst isLockingAvailable = (collectionSlug: string, req: PayloadRequest): boolean => {\n const { payload } = req\n\n if (!payload.collections?.[lockedDocumentsCollectionSlug]) {\n return false\n }\n\n return payload.collections?.[collectionSlug]?.config?.lockDocuments !== false\n}\n\n/**\n * Batched counterpart to `checkDocumentLockStatus`. Resolves the lock state of every id with a\n * single query instead of one per document, and returns the ids that are locked by another user.\n * Callers are expected to report those ids as errors and leave them alone.\n */\nexport const getLockedDocumentIds = async ({\n collectionSlug,\n ids,\n lockDurationDefault = 300, // Default 5 minutes in seconds\n overrideLock = true,\n req,\n}: {\n lockDurationDefault?: number\n overrideLock?: boolean\n} & BulkLockArgs): Promise<Set<string>> => {\n const lockedIds = new Set<string>()\n\n if (overrideLock || !ids.length || !isLockingAvailable(collectionSlug, req)) {\n return lockedIds\n }\n\n const { payload } = req\n const lockDocumentsProp = payload.collections?.[collectionSlug]?.config?.lockDocuments\n\n const lockedDocumentResult: PaginatedDocs<JsonObject & TypeWithID> = await payload.db.find({\n collection: lockedDocumentsCollectionSlug,\n limit: 0,\n pagination: false,\n sort: '-updatedAt',\n where: buildBulkLockedDocumentQuery(collectionSlug, ids),\n })\n\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n\n const lockDurationInMilliseconds = lockDuration * 1000\n const currentUserId = req.user?.id\n const now = new Date().getTime()\n const resolved = new Set<string>()\n\n for (const lockedDoc of lockedDocumentResult?.docs ?? []) {\n const documentId = String(lockedDoc.document?.value)\n\n // Sorted by -updatedAt, so the first row seen for an id is its most recent lock\n if (resolved.has(documentId)) {\n continue\n }\n resolved.add(documentId)\n\n const lastEditedAt = new Date(lockedDoc?.updatedAt).getTime()\n\n // document is locked by another user and the lock hasn't expired\n if (\n lockedDoc.user?.value !== currentUserId &&\n now - lastEditedAt <= lockDurationInMilliseconds\n ) {\n lockedIds.add(documentId)\n }\n }\n\n return lockedIds\n}\n\n/**\n * Batched counterpart to the lock cleanup `checkDocumentLockStatus` performs, so that bulk\n * operations release every lock in one query instead of one per document.\n */\nexport const deleteDocumentLocks = async ({\n collectionSlug,\n ids,\n req,\n}: BulkLockArgs): Promise<void> => {\n const { payload } = req\n\n if (!ids.length || !isLockingAvailable(collectionSlug, req)) {\n return\n }\n\n await payload.db.deleteMany({\n collection: lockedDocumentsCollectionSlug,\n // Not passing req fails on postgres\n req: payload.db.name === 'mongoose' ? undefined : req,\n where: buildBulkLockedDocumentQuery(collectionSlug, ids),\n })\n}\n"],"names":["Locked","lockedDocumentsCollectionSlug","checkDocumentLockStatus","id","collectionSlug","globalSlug","lockDurationDefault","lockErrorMessage","overrideLock","req","payload","collections","lockDocumentsProp","config","lockDocuments","globals","find","g","slug","isLockingEnabled","lockedDocumentQuery","and","equals","Error","defaultLockErrorMessage","finalLockErrorMessage","lockedDocumentResult","db","collection","limit","pagination","sort","where","lockedDoc","docs","lastEditedAt","Date","updatedAt","getTime","now","lockDuration","duration","lockDurationInMilliseconds","currentUserId","user","value","deleteMany","name","undefined","buildBulkLockedDocumentQuery","ids","in","isLockingAvailable","getLockedDocumentIds","lockedIds","Set","length","resolved","documentId","String","document","has","add","deleteDocumentLocks"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/cloneValidationRequest.ts"],"sourcesContent":["import type { RequestContext, User } from '../index.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nconst sharedValidationRequestProperties = new Set([\n 'i18n',\n 'payload',\n 'server',\n 'signal',\n 't',\n 'transactionID',\n])\n\nexport function cloneValidationContext({\n context,\n}: {\n context: RequestContext | undefined\n}): RequestContext | undefined {\n return cloneValidationValue(context)\n}\n\nexport function cloneValidationData<TData>({ data }: { data: TData }): TData {\n return cloneValidationValue(data)\n}\n\nexport function cloneValidationRequest({\n request,\n}: {\n request: Partial<PayloadRequest> | undefined\n}): Partial<PayloadRequest> {\n if (!request) {\n return {}\n }\n\n const payloadRequest: Partial<PayloadRequest> = request\n const fetchRequest: Request | undefined =\n typeof Request !== 'undefined' && request instanceof Request ? request : undefined\n const canCloneFetchRequest = fetchRequest && !fetchRequest.bodyUsed\n let clonedRequest: Record<string, unknown>\n\n if (canCloneFetchRequest) {\n clonedRequest = fetchRequest.clone() as unknown as Record<string, unknown>\n } else {\n clonedRequest = {}\n }\n\n for (const [key, value] of Object.entries(payloadRequest)) {\n if (key === 'payloadDataLoader') {\n continue\n }\n\n if (key === 'file') {\n clonedRequest.file = cloneValidationFile(payloadRequest.file)\n continue\n }\n\n if (key === 'files') {\n clonedRequest.files = cloneValidationFiles(payloadRequest.files)\n continue\n }\n\n clonedRequest[key] = sharedValidationRequestProperties.has(key)\n ? value\n : cloneValidationValue(value)\n }\n\n Object.assign(clonedRequest, {\n context: cloneValidationValue(payloadRequest.context ?? {}),\n query: cloneValidationValue(payloadRequest.query ?? {}),\n routeParams: cloneValidationValue(payloadRequest.routeParams ?? {}),\n })\n\n if (!canCloneFetchRequest) {\n Object.assign(clonedRequest, {\n headers: cloneValidationValue(payloadRequest.headers),\n method: payloadRequest.method,\n signal: payloadRequest.signal,\n url: payloadRequest.url,\n })\n }\n\n return clonedRequest as Partial<PayloadRequest>\n}\n\nexport function cloneValidationUser({\n user,\n}: {\n user: null | undefined | User\n}): null | undefined | User {\n return cloneValidationValue(user)\n}\n\nfunction cloneValidationFile(file: PayloadRequest['file']): PayloadRequest['file'] {\n if (!file) {\n return file\n }\n\n const { data, ...metadata } = file\n\n return {\n ...cloneValidationValue(metadata),\n data,\n }\n}\n\nfunction cloneValidationFiles(files: PayloadRequest['files']): PayloadRequest['files'] {\n if (!files) {\n return files\n }\n\n return Object.fromEntries(\n Object.entries(files).map(([fieldName, fileOrFiles]) => [\n fieldName,\n Array.isArray(fileOrFiles)\n ? fileOrFiles.map((file) => cloneValidationFile(file)!)\n : cloneValidationFile(fileOrFiles)!,\n ]),\n )\n}\n\nfunction cloneValidationValue<T>(value: T, cache = new WeakMap<object, unknown>()): T {\n if ((typeof value !== 'object' && typeof value !== 'function') || value === null) {\n return value\n }\n\n if (typeof value === 'function' || value instanceof Promise) {\n return value\n }\n\n const objectValue = value as object\n const cachedValue = cache.get(objectValue)\n\n if (cachedValue) {\n return cachedValue as T\n }\n\n if (value instanceof Headers) {\n return new Headers(value) as T\n }\n\n if (value instanceof URLSearchParams) {\n return new URLSearchParams(value) as T\n }\n\n if (value instanceof URL) {\n return new URL(value) as T\n }\n\n if (value instanceof Date) {\n return new Date(value) as T\n }\n\n if (value instanceof RegExp) {\n return new RegExp(value.source, value.flags) as T\n }\n\n if (value instanceof ArrayBuffer) {\n return value.slice(0) as T\n }\n\n if (ArrayBuffer.isView(value)) {\n if (Buffer.isBuffer(value)) {\n return Buffer.from(value) as T\n }\n\n if (value instanceof DataView) {\n return new DataView(value.buffer.slice(0), value.byteOffset, value.byteLength) as T\n }\n\n return new (value.constructor as new (input: typeof value) => typeof value)(value)\n }\n\n if (value instanceof Map) {\n const clonedMap = new Map()\n cache.set(objectValue, clonedMap)\n for (const [key, mapValue] of value) {\n clonedMap.set(cloneValidationValue(key, cache), cloneValidationValue(mapValue, cache))\n }\n return clonedMap as T\n }\n\n if (value instanceof Set) {\n const clonedSet = new Set()\n cache.set(objectValue, clonedSet)\n for (const setValue of value) {\n clonedSet.add(cloneValidationValue(setValue, cache))\n }\n return clonedSet as T\n }\n\n if (typeof Blob !== 'undefined' && value instanceof Blob) {\n return value\n }\n\n const prototype = Object.getPrototypeOf(value)\n\n if (!Array.isArray(value) && prototype !== Object.prototype && prototype !== null) {\n return value\n }\n\n const clonedValue: Record<PropertyKey, unknown> | unknown[] = Array.isArray(value)\n ? []\n : Object.create(prototype)\n cache.set(objectValue, clonedValue)\n\n for (const key of Reflect.ownKeys(value)) {\n const descriptor = Object.getOwnPropertyDescriptor(value, key)\n\n if (descriptor?.enumerable) {\n ;(clonedValue as Record<PropertyKey, unknown>)[key] = cloneValidationValue(\n (value as Record<PropertyKey, unknown>)[key],\n cache,\n )\n }\n }\n\n return clonedValue as T\n}\n"],"names":["sharedValidationRequestProperties","Set","cloneValidationContext","context","cloneValidationValue","cloneValidationData","data","cloneValidationRequest","request","payloadRequest","fetchRequest","Request","undefined","canCloneFetchRequest","bodyUsed","clonedRequest","clone","key","value","Object","entries","file","cloneValidationFile","files","cloneValidationFiles","has","assign","query","routeParams","headers","method","signal","url","cloneValidationUser","user","metadata","fromEntries","map","fieldName","fileOrFiles","Array","isArray","cache","WeakMap","Promise","objectValue","cachedValue","get","Headers","URLSearchParams","URL","Date","RegExp","source","flags","ArrayBuffer","slice","isView","Buffer","isBuffer","from","DataView","buffer","byteOffset","byteLength","Map","clonedMap","set","mapValue","clonedSet","setValue","add","Blob","prototype","getPrototypeOf","clonedValue","create","Reflect","ownKeys","descriptor","getOwnPropertyDescriptor","enumerable"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utilities/cloneValidationRequest.ts"],"sourcesContent":["import type { RequestContext, User } from '../index.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nconst sharedValidationRequestProperties = new Set([\n 'i18n',\n 'payload',\n 'server',\n 'signal',\n 't',\n 'transactionID',\n])\n\nexport function cloneValidationContext({\n context,\n}: {\n context: RequestContext | undefined\n}): RequestContext | undefined {\n return cloneValidationValue(context)\n}\n\nexport function cloneValidationData<TData>({ data }: { data: TData }): TData {\n return cloneValidationValue(data)\n}\n\nexport function cloneValidationRequest({\n request,\n}: {\n request: Partial<PayloadRequest> | undefined\n}): Partial<PayloadRequest> {\n if (!request) {\n return {}\n }\n\n const payloadRequest: Partial<PayloadRequest> = request\n const fetchRequest: Request | undefined =\n typeof Request !== 'undefined' && request instanceof Request ? request : undefined\n const canCloneFetchRequest = fetchRequest && !fetchRequest.bodyUsed\n let clonedRequest: Record<string, unknown>\n\n if (canCloneFetchRequest) {\n clonedRequest = fetchRequest.clone() as unknown as Record<string, unknown>\n } else {\n clonedRequest = {}\n }\n\n for (const [key, value] of Object.entries(payloadRequest)) {\n if (key === 'payloadDataLoader') {\n continue\n }\n\n if (key === 'file') {\n clonedRequest.file = cloneValidationFile(payloadRequest.file)\n continue\n }\n\n if (key === 'files') {\n clonedRequest.files = cloneValidationFiles(payloadRequest.files)\n continue\n }\n\n clonedRequest[key] = sharedValidationRequestProperties.has(key)\n ? value\n : cloneValidationValue(value)\n }\n\n Object.assign(clonedRequest, {\n context: cloneValidationValue(payloadRequest.context ?? {}),\n query: cloneValidationValue(payloadRequest.query ?? {}),\n routeParams: cloneValidationValue(payloadRequest.routeParams ?? {}),\n })\n\n if (!canCloneFetchRequest) {\n Object.assign(clonedRequest, {\n headers: cloneValidationValue(payloadRequest.headers),\n method: payloadRequest.method,\n signal: payloadRequest.signal,\n url: payloadRequest.url,\n })\n }\n\n return clonedRequest\n}\n\nexport function cloneValidationUser({\n user,\n}: {\n user: null | undefined | User\n}): null | undefined | User {\n return cloneValidationValue(user)\n}\n\nfunction cloneValidationFile(file: PayloadRequest['file']): PayloadRequest['file'] {\n if (!file) {\n return file\n }\n\n const { data, ...metadata } = file\n\n return {\n ...cloneValidationValue(metadata),\n data,\n }\n}\n\nfunction cloneValidationFiles(files: PayloadRequest['files']): PayloadRequest['files'] {\n if (!files) {\n return files\n }\n\n return Object.fromEntries(\n Object.entries(files).map(([fieldName, fileOrFiles]) => [\n fieldName,\n Array.isArray(fileOrFiles)\n ? fileOrFiles.map((file) => cloneValidationFile(file)!)\n : cloneValidationFile(fileOrFiles)!,\n ]),\n )\n}\n\nfunction cloneValidationValue<T>(value: T, cache = new WeakMap<object, unknown>()): T {\n if ((typeof value !== 'object' && typeof value !== 'function') || value === null) {\n return value\n }\n\n if (typeof value === 'function' || value instanceof Promise) {\n return value\n }\n\n const objectValue = value as object\n const cachedValue = cache.get(objectValue)\n\n if (cachedValue) {\n return cachedValue as T\n }\n\n if (value instanceof Headers) {\n return new Headers(value) as T\n }\n\n if (value instanceof URLSearchParams) {\n return new URLSearchParams(value) as T\n }\n\n if (value instanceof URL) {\n return new URL(value) as T\n }\n\n if (value instanceof Date) {\n return new Date(value) as T\n }\n\n if (value instanceof RegExp) {\n return new RegExp(value.source, value.flags) as T\n }\n\n if (value instanceof ArrayBuffer) {\n return value.slice(0) as T\n }\n\n if (ArrayBuffer.isView(value)) {\n if (Buffer.isBuffer(value)) {\n return Buffer.from(value) as T\n }\n\n if (value instanceof DataView) {\n return new DataView(value.buffer.slice(0), value.byteOffset, value.byteLength) as T\n }\n\n return new (value.constructor as new (input: typeof value) => typeof value)(value)\n }\n\n if (value instanceof Map) {\n const clonedMap = new Map()\n cache.set(objectValue, clonedMap)\n for (const [key, mapValue] of value) {\n clonedMap.set(cloneValidationValue(key, cache), cloneValidationValue(mapValue, cache))\n }\n return clonedMap as T\n }\n\n if (value instanceof Set) {\n const clonedSet = new Set()\n cache.set(objectValue, clonedSet)\n for (const setValue of value) {\n clonedSet.add(cloneValidationValue(setValue, cache))\n }\n return clonedSet as T\n }\n\n if (typeof Blob !== 'undefined' && value instanceof Blob) {\n return value\n }\n\n const prototype = Object.getPrototypeOf(value)\n\n if (!Array.isArray(value) && prototype !== Object.prototype && prototype !== null) {\n return value\n }\n\n const clonedValue: Record<PropertyKey, unknown> | unknown[] = Array.isArray(value)\n ? []\n : Object.create(prototype)\n cache.set(objectValue, clonedValue)\n\n for (const key of Reflect.ownKeys(value)) {\n const descriptor = Object.getOwnPropertyDescriptor(value, key)\n\n if (descriptor?.enumerable) {\n ;(clonedValue as Record<PropertyKey, unknown>)[key] = cloneValidationValue(\n (value as Record<PropertyKey, unknown>)[key],\n cache,\n )\n }\n }\n\n return clonedValue as T\n}\n"],"names":["sharedValidationRequestProperties","Set","cloneValidationContext","context","cloneValidationValue","cloneValidationData","data","cloneValidationRequest","request","payloadRequest","fetchRequest","Request","undefined","canCloneFetchRequest","bodyUsed","clonedRequest","clone","key","value","Object","entries","file","cloneValidationFile","files","cloneValidationFiles","has","assign","query","routeParams","headers","method","signal","url","cloneValidationUser","user","metadata","fromEntries","map","fieldName","fileOrFiles","Array","isArray","cache","WeakMap","Promise","objectValue","cachedValue","get","Headers","URLSearchParams","URL","Date","RegExp","source","flags","ArrayBuffer","slice","isView","Buffer","isBuffer","from","DataView","buffer","byteOffset","byteLength","Map","clonedMap","set","mapValue","clonedSet","setValue","add","Blob","prototype","getPrototypeOf","clonedValue","create","Reflect","ownKeys","descriptor","getOwnPropertyDescriptor","enumerable"],"mappings":"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"}
@@ -1,9 +1,5 @@
1
1
  import type { MarkRequired } from 'ts-essentials';
2
2
  import type { PayloadRequest } from '../types/index.js';
3
- export declare const isUnknownTransactionCommitResult: (error: unknown) => boolean;
4
- export declare const shouldRollbackTransactionArtifacts: ({ error }: {
5
- error: unknown;
6
- }) => boolean;
7
3
  /**
8
4
  * complete a transaction calling adapter db.commitTransaction and delete the transactionID from req
9
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"commitTransaction.d.ts","sourceRoot":"","sources":["../../src/utilities/commitTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AASvD,eAAO,MAAM,gCAAgC,UAAW,OAAO,KAAG,OAcjE,CAAA;AAED,eAAO,MAAM,kCAAkC,cAAe;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,KAAG,OACzC,CAAA;AAE1C;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,GACpD,OAAO,CAAC,IAAI,CAAC,CAyBf"}
1
+ {"version":3,"file":"commitTransaction.d.ts","sourceRoot":"","sources":["../../src/utilities/commitTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIvD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,GACpD,OAAO,CAAC,IAAI,CAAC,CAMf"}
@@ -1,53 +1,13 @@
1
1
  import { commitFileOperations } from '../uploads/fileVersioning/fileOperationManager.js';
2
- import { clearTransactionCommitCallbacks, clearTransactionRollbackCallbacks, runTransactionCommitCallbacks } from './transactionCallbacks.js';
3
- export const isUnknownTransactionCommitResult = (error)=>{
4
- if (!error || typeof error !== 'object') {
5
- return false;
6
- }
7
- const labeledError = error;
8
- return labeledError.hasErrorLabel?.('UnknownTransactionCommitResult') === true || labeledError.errorLabels?.includes('UnknownTransactionCommitResult') === true;
9
- };
10
- export const shouldRollbackTransactionArtifacts = ({ error })=>!isUnknownTransactionCommitResult(error);
11
2
  /**
12
3
  * complete a transaction calling adapter db.commitTransaction and delete the transactionID from req
13
4
  */ export async function commitTransaction(req) {
14
5
  const { payload, transactionID } = req;
15
- const resolvedTransactionID = await transactionID;
16
- try {
17
- await payload.db.commitTransaction(resolvedTransactionID);
18
- } catch (error) {
19
- if (isUnknownTransactionCommitResult(error)) {
20
- delete req.transactionID;
21
- clearTransactionCommitCallbacks({
22
- req,
23
- transactionID: resolvedTransactionID
24
- });
25
- clearTransactionRollbackCallbacks({
26
- req,
27
- transactionID: resolvedTransactionID
28
- });
29
- }
30
- throw error;
31
- }
6
+ await payload.db.commitTransaction(transactionID);
32
7
  delete req.transactionID;
33
8
  await commitFileOperations({
34
9
  req: req
35
10
  });
36
- clearTransactionRollbackCallbacks({
37
- req,
38
- transactionID: resolvedTransactionID
39
- });
40
- try {
41
- await runTransactionCommitCallbacks({
42
- req,
43
- transactionID: resolvedTransactionID
44
- });
45
- } catch (err) {
46
- payload.logger.error({
47
- err,
48
- msg: 'A post-commit cleanup task failed.'
49
- });
50
- }
51
11
  }
52
12
 
53
13
  //# sourceMappingURL=commitTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/commitTransaction.ts"],"sourcesContent":["import type { MarkRequired } from 'ts-essentials'\n\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { commitFileOperations } from '../uploads/fileVersioning/fileOperationManager.js'\nimport {\n clearTransactionCommitCallbacks,\n clearTransactionRollbackCallbacks,\n runTransactionCommitCallbacks,\n} from './transactionCallbacks.js'\n\nexport const isUnknownTransactionCommitResult = (error: unknown): boolean => {\n if (!error || typeof error !== 'object') {\n return false\n }\n\n const labeledError = error as {\n errorLabels?: string[]\n hasErrorLabel?: (label: string) => boolean\n }\n\n return (\n labeledError.hasErrorLabel?.('UnknownTransactionCommitResult') === true ||\n labeledError.errorLabels?.includes('UnknownTransactionCommitResult') === true\n )\n}\n\nexport const shouldRollbackTransactionArtifacts = ({ error }: { error: unknown }): boolean =>\n !isUnknownTransactionCommitResult(error)\n\n/**\n * complete a transaction calling adapter db.commitTransaction and delete the transactionID from req\n */\nexport async function commitTransaction(\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>,\n): Promise<void> {\n const { payload, transactionID } = req\n const resolvedTransactionID = await transactionID!\n\n try {\n await payload.db.commitTransaction(resolvedTransactionID)\n } catch (error) {\n if (isUnknownTransactionCommitResult(error)) {\n delete req.transactionID\n clearTransactionCommitCallbacks({ req, transactionID: resolvedTransactionID })\n clearTransactionRollbackCallbacks({ req, transactionID: resolvedTransactionID })\n }\n\n throw error\n }\n\n delete req.transactionID\n await commitFileOperations({ req: req as PayloadRequest })\n clearTransactionRollbackCallbacks({ req, transactionID: resolvedTransactionID })\n\n try {\n await runTransactionCommitCallbacks({ req, transactionID: resolvedTransactionID })\n } catch (err) {\n payload.logger.error({ err, msg: 'A post-commit cleanup task failed.' })\n }\n}\n"],"names":["commitFileOperations","clearTransactionCommitCallbacks","clearTransactionRollbackCallbacks","runTransactionCommitCallbacks","isUnknownTransactionCommitResult","error","labeledError","hasErrorLabel","errorLabels","includes","shouldRollbackTransactionArtifacts","commitTransaction","req","payload","transactionID","resolvedTransactionID","db","err","logger","msg"],"mappings":"AAIA,SAASA,oBAAoB,QAAQ,oDAAmD;AACxF,SACEC,+BAA+B,EAC/BC,iCAAiC,EACjCC,6BAA6B,QACxB,4BAA2B;AAElC,OAAO,MAAMC,mCAAmC,CAACC;IAC/C,IAAI,CAACA,SAAS,OAAOA,UAAU,UAAU;QACvC,OAAO;IACT;IAEA,MAAMC,eAAeD;IAKrB,OACEC,aAAaC,aAAa,GAAG,sCAAsC,QACnED,aAAaE,WAAW,EAAEC,SAAS,sCAAsC;AAE7E,EAAC;AAED,OAAO,MAAMC,qCAAqC,CAAC,EAAEL,KAAK,EAAsB,GAC9E,CAACD,iCAAiCC,OAAM;AAE1C;;CAEC,GACD,OAAO,eAAeM,kBACpBC,GAAqD;IAErD,MAAM,EAAEC,OAAO,EAAEC,aAAa,EAAE,GAAGF;IACnC,MAAMG,wBAAwB,MAAMD;IAEpC,IAAI;QACF,MAAMD,QAAQG,EAAE,CAACL,iBAAiB,CAACI;IACrC,EAAE,OAAOV,OAAO;QACd,IAAID,iCAAiCC,QAAQ;YAC3C,OAAOO,IAAIE,aAAa;YACxBb,gCAAgC;gBAAEW;gBAAKE,eAAeC;YAAsB;YAC5Eb,kCAAkC;gBAAEU;gBAAKE,eAAeC;YAAsB;QAChF;QAEA,MAAMV;IACR;IAEA,OAAOO,IAAIE,aAAa;IACxB,MAAMd,qBAAqB;QAAEY,KAAKA;IAAsB;IACxDV,kCAAkC;QAAEU;QAAKE,eAAeC;IAAsB;IAE9E,IAAI;QACF,MAAMZ,8BAA8B;YAAES;YAAKE,eAAeC;QAAsB;IAClF,EAAE,OAAOE,KAAK;QACZJ,QAAQK,MAAM,CAACb,KAAK,CAAC;YAAEY;YAAKE,KAAK;QAAqC;IACxE;AACF"}
1
+ {"version":3,"sources":["../../src/utilities/commitTransaction.ts"],"sourcesContent":["import type { MarkRequired } from 'ts-essentials'\n\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { commitFileOperations } from '../uploads/fileVersioning/fileOperationManager.js'\n\n/**\n * complete a transaction calling adapter db.commitTransaction and delete the transactionID from req\n */\nexport async function commitTransaction(\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>,\n): Promise<void> {\n const { payload, transactionID } = req\n\n await payload.db.commitTransaction(transactionID!)\n delete req.transactionID\n await commitFileOperations({ req: req as PayloadRequest })\n}\n"],"names":["commitFileOperations","commitTransaction","req","payload","transactionID","db"],"mappings":"AAIA,SAASA,oBAAoB,QAAQ,oDAAmD;AAExF;;CAEC,GACD,OAAO,eAAeC,kBACpBC,GAAqD;IAErD,MAAM,EAAEC,OAAO,EAAEC,aAAa,EAAE,GAAGF;IAEnC,MAAMC,QAAQE,EAAE,CAACJ,iBAAiB,CAACG;IACnC,OAAOF,IAAIE,aAAa;IACxB,MAAMJ,qBAAqB;QAAEE,KAAKA;IAAsB;AAC1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"configToJSONSchema.d.ts","sourceRoot":"","sources":["../../src/utilities/configToJSONSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configToJSONSchema.d.ts","sourceRoot":"","sources":["../../src/utilities/configToJSONSchema.ts"],"names":[],"mappings":"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"}
@@ -547,15 +547,7 @@ export function fieldsToJSONSchema({ collectionIDFieldTypes, config, fields, for
547
547
  }
548
548
  case 'json':
549
549
  {
550
- const jsonFieldSchema = field.jsonSchema?.schema;
551
- fieldSchema = jsonFieldSchema ? isRequired ? jsonFieldSchema : {
552
- anyOf: [
553
- jsonFieldSchema,
554
- {
555
- type: 'null'
556
- }
557
- ]
558
- } : {
550
+ fieldSchema = field.jsonSchema?.schema || {
559
551
  ...baseFieldSchema,
560
552
  type: [
561
553
  'object',
@@ -726,7 +718,7 @@ export function fieldsToJSONSchema({ collectionIDFieldTypes, config, fields, for
726
718
  throw new Error('Attempted to access unsanitized rich text editor.');
727
719
  }
728
720
  if (field.editor.jsonSchema) {
729
- const richTextSchema = {
721
+ fieldSchema = {
730
722
  ...baseFieldSchema,
731
723
  ...field.editor.jsonSchema({
732
724
  collectionIDFieldTypes,
@@ -739,14 +731,6 @@ export function fieldsToJSONSchema({ collectionIDFieldTypes, config, fields, for
739
731
  variant
740
732
  })
741
733
  };
742
- fieldSchema = isRequired ? richTextSchema : {
743
- anyOf: [
744
- richTextSchema,
745
- {
746
- type: 'null'
747
- }
748
- ]
749
- };
750
734
  } else {
751
735
  // Maintain backwards compatibility with existing rich text editors
752
736
  fieldSchema = {