payload 3.0.0-beta.4 → 3.0.0-beta.40

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 (749) hide show
  1. package/auth.d.ts +1 -1
  2. package/auth.js +1 -1
  3. package/components.d.ts +14 -0
  4. package/components.js +71 -0
  5. package/dist/admin/LanguageOptions.d.ts +5 -0
  6. package/dist/admin/LanguageOptions.d.ts.map +1 -0
  7. package/dist/admin/LanguageOptions.js +3 -0
  8. package/dist/admin/LanguageOptions.js.map +1 -0
  9. package/dist/admin/RichText.d.ts +30 -15
  10. package/dist/admin/RichText.d.ts.map +1 -1
  11. package/dist/admin/RichText.js.map +1 -1
  12. package/dist/admin/elements/Cell.d.ts +2 -7
  13. package/dist/admin/elements/Cell.d.ts.map +1 -1
  14. package/dist/admin/elements/Cell.js.map +1 -1
  15. package/dist/admin/elements/Tab.d.ts +4 -0
  16. package/dist/admin/elements/Tab.d.ts.map +1 -1
  17. package/dist/admin/elements/Tab.js.map +1 -1
  18. package/dist/admin/elements/WithServerSideProps.d.ts +6 -2
  19. package/dist/admin/elements/WithServerSideProps.d.ts.map +1 -1
  20. package/dist/admin/elements/WithServerSideProps.js.map +1 -1
  21. package/dist/admin/forms/Error.d.ts +1 -0
  22. package/dist/admin/forms/Error.d.ts.map +1 -1
  23. package/dist/admin/forms/FieldDescription.d.ts +1 -1
  24. package/dist/admin/forms/FieldDescription.d.ts.map +1 -1
  25. package/dist/admin/forms/FieldDescription.js.map +1 -1
  26. package/dist/admin/forms/FieldTypes.d.ts +1 -0
  27. package/dist/admin/forms/FieldTypes.d.ts.map +1 -1
  28. package/dist/admin/forms/Label.d.ts +3 -2
  29. package/dist/admin/forms/Label.d.ts.map +1 -1
  30. package/dist/admin/forms/Label.js.map +1 -1
  31. package/dist/admin/forms/RowLabel.d.ts +1 -1
  32. package/dist/admin/forms/RowLabel.d.ts.map +1 -1
  33. package/dist/admin/forms/RowLabel.js.map +1 -1
  34. package/dist/admin/types.d.ts +4 -3
  35. package/dist/admin/types.d.ts.map +1 -1
  36. package/dist/admin/types.js.map +1 -1
  37. package/dist/admin/views/types.d.ts +7 -4
  38. package/dist/admin/views/types.d.ts.map +1 -1
  39. package/dist/admin/views/types.js.map +1 -1
  40. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  41. package/dist/auth/baseFields/apiKey.js +6 -4
  42. package/dist/auth/baseFields/apiKey.js.map +1 -1
  43. package/dist/auth/cookies.d.ts +16 -4
  44. package/dist/auth/cookies.d.ts.map +1 -1
  45. package/dist/auth/cookies.js +45 -14
  46. package/dist/auth/cookies.js.map +1 -1
  47. package/dist/auth/defaultAccess.d.ts +2 -2
  48. package/dist/auth/defaultAccess.d.ts.map +1 -1
  49. package/dist/auth/defaultAccess.js.map +1 -1
  50. package/dist/auth/executeAccess.d.ts +2 -2
  51. package/dist/auth/executeAccess.d.ts.map +1 -1
  52. package/dist/auth/executeAccess.js.map +1 -1
  53. package/dist/auth/getAccessResults.d.ts +2 -2
  54. package/dist/auth/getAccessResults.d.ts.map +1 -1
  55. package/dist/auth/getAccessResults.js +1 -1
  56. package/dist/auth/getAccessResults.js.map +1 -1
  57. package/dist/auth/getFieldsToSign.d.ts +2 -2
  58. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  59. package/dist/auth/getFieldsToSign.js.map +1 -1
  60. package/dist/auth/operations/access.d.ts +2 -2
  61. package/dist/auth/operations/access.d.ts.map +1 -1
  62. package/dist/auth/operations/access.js.map +1 -1
  63. package/dist/auth/operations/auth.d.ts +2 -2
  64. package/dist/auth/operations/auth.d.ts.map +1 -1
  65. package/dist/auth/operations/auth.js.map +1 -1
  66. package/dist/auth/operations/forgotPassword.d.ts +2 -2
  67. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  68. package/dist/auth/operations/forgotPassword.js +7 -8
  69. package/dist/auth/operations/forgotPassword.js.map +1 -1
  70. package/dist/auth/operations/init.d.ts +2 -2
  71. package/dist/auth/operations/init.d.ts.map +1 -1
  72. package/dist/auth/operations/init.js.map +1 -1
  73. package/dist/auth/operations/local/auth.js.map +1 -1
  74. package/dist/auth/operations/local/forgotPassword.d.ts +2 -2
  75. package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
  76. package/dist/auth/operations/local/forgotPassword.js.map +1 -1
  77. package/dist/auth/operations/local/login.d.ts +2 -2
  78. package/dist/auth/operations/local/login.d.ts.map +1 -1
  79. package/dist/auth/operations/local/login.js.map +1 -1
  80. package/dist/auth/operations/local/resetPassword.d.ts +2 -2
  81. package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
  82. package/dist/auth/operations/local/resetPassword.js.map +1 -1
  83. package/dist/auth/operations/local/unlock.d.ts +2 -2
  84. package/dist/auth/operations/local/unlock.d.ts.map +1 -1
  85. package/dist/auth/operations/local/unlock.js.map +1 -1
  86. package/dist/auth/operations/local/verifyEmail.d.ts +2 -2
  87. package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
  88. package/dist/auth/operations/local/verifyEmail.js.map +1 -1
  89. package/dist/auth/operations/login.d.ts +2 -2
  90. package/dist/auth/operations/login.d.ts.map +1 -1
  91. package/dist/auth/operations/login.js +21 -1
  92. package/dist/auth/operations/login.js.map +1 -1
  93. package/dist/auth/operations/logout.d.ts +2 -2
  94. package/dist/auth/operations/logout.d.ts.map +1 -1
  95. package/dist/auth/operations/logout.js.map +1 -1
  96. package/dist/auth/operations/me.d.ts +2 -2
  97. package/dist/auth/operations/me.d.ts.map +1 -1
  98. package/dist/auth/operations/me.js.map +1 -1
  99. package/dist/auth/operations/refresh.d.ts +2 -2
  100. package/dist/auth/operations/refresh.d.ts.map +1 -1
  101. package/dist/auth/operations/refresh.js.map +1 -1
  102. package/dist/auth/operations/registerFirstUser.d.ts +2 -2
  103. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  104. package/dist/auth/operations/registerFirstUser.js.map +1 -1
  105. package/dist/auth/operations/resetPassword.d.ts +2 -2
  106. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  107. package/dist/auth/operations/resetPassword.js.map +1 -1
  108. package/dist/auth/operations/unlock.d.ts +2 -2
  109. package/dist/auth/operations/unlock.d.ts.map +1 -1
  110. package/dist/auth/operations/unlock.js.map +1 -1
  111. package/dist/auth/operations/verifyEmail.d.ts +2 -2
  112. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  113. package/dist/auth/operations/verifyEmail.js.map +1 -1
  114. package/dist/auth/sendVerificationEmail.d.ts +7 -8
  115. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  116. package/dist/auth/sendVerificationEmail.js +7 -7
  117. package/dist/auth/sendVerificationEmail.js.map +1 -1
  118. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +2 -2
  119. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  120. package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
  121. package/dist/auth/strategies/local/register.d.ts +2 -2
  122. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  123. package/dist/auth/strategies/local/register.js +1 -1
  124. package/dist/auth/strategies/local/register.js.map +1 -1
  125. package/dist/auth/strategies/local/resetLoginAttempts.d.ts +2 -2
  126. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  127. package/dist/auth/strategies/local/resetLoginAttempts.js.map +1 -1
  128. package/dist/auth/types.d.ts +6 -6
  129. package/dist/auth/types.d.ts.map +1 -1
  130. package/dist/auth/types.js.map +1 -1
  131. package/dist/bin/generateTypes.d.ts +1 -1
  132. package/dist/bin/generateTypes.d.ts.map +1 -1
  133. package/dist/bin/generateTypes.js +12 -8
  134. package/dist/bin/generateTypes.js.map +1 -1
  135. package/dist/bin/loadEnv.d.ts +2 -2
  136. package/dist/bin/loadEnv.d.ts.map +1 -1
  137. package/dist/bin/loadEnv.js +18 -17
  138. package/dist/bin/loadEnv.js.map +1 -1
  139. package/dist/bin/loader/ignores.d.ts +2 -0
  140. package/dist/bin/loader/ignores.d.ts.map +1 -0
  141. package/dist/bin/loader/ignores.js +5 -0
  142. package/dist/bin/loader/ignores.js.map +1 -0
  143. package/dist/bin/loader/index.d.ts.map +1 -1
  144. package/dist/bin/loader/index.js +13 -15
  145. package/dist/bin/loader/index.js.map +1 -1
  146. package/dist/bin/loader/read-default-tsconfig.d.ts +25 -0
  147. package/dist/bin/loader/read-default-tsconfig.d.ts.map +1 -1
  148. package/dist/bin/loader/read-default-tsconfig.js +25 -1
  149. package/dist/bin/loader/read-default-tsconfig.js.map +1 -1
  150. package/dist/bin/loader/resolveOriginalPath.d.ts +10 -0
  151. package/dist/bin/loader/resolveOriginalPath.d.ts.map +1 -0
  152. package/dist/bin/loader/resolveOriginalPath.js +32 -0
  153. package/dist/bin/loader/resolveOriginalPath.js.map +1 -0
  154. package/dist/collections/config/client.d.ts +30 -3
  155. package/dist/collections/config/client.d.ts.map +1 -1
  156. package/dist/collections/config/client.js +3 -1
  157. package/dist/collections/config/client.js.map +1 -1
  158. package/dist/collections/config/defaults.d.ts +6 -5
  159. package/dist/collections/config/defaults.d.ts.map +1 -1
  160. package/dist/collections/config/defaults.js +1 -0
  161. package/dist/collections/config/defaults.js.map +1 -1
  162. package/dist/collections/config/sanitize.d.ts +2 -3
  163. package/dist/collections/config/sanitize.d.ts.map +1 -1
  164. package/dist/collections/config/sanitize.js +7 -4
  165. package/dist/collections/config/sanitize.js.map +1 -1
  166. package/dist/collections/config/schema.d.ts.map +1 -1
  167. package/dist/collections/config/schema.js +12 -2
  168. package/dist/collections/config/schema.js.map +1 -1
  169. package/dist/collections/config/types.d.ts +33 -18
  170. package/dist/collections/config/types.d.ts.map +1 -1
  171. package/dist/collections/config/types.js.map +1 -1
  172. package/dist/collections/dataloader.d.ts +14 -0
  173. package/dist/collections/dataloader.d.ts.map +1 -1
  174. package/dist/collections/dataloader.js +28 -13
  175. package/dist/collections/dataloader.js.map +1 -1
  176. package/dist/collections/operations/count.d.ts +13 -0
  177. package/dist/collections/operations/count.d.ts.map +1 -0
  178. package/dist/collections/operations/count.js +75 -0
  179. package/dist/collections/operations/count.js.map +1 -0
  180. package/dist/collections/operations/create.d.ts +2 -2
  181. package/dist/collections/operations/create.d.ts.map +1 -1
  182. package/dist/collections/operations/create.js +5 -4
  183. package/dist/collections/operations/create.js.map +1 -1
  184. package/dist/collections/operations/delete.d.ts +2 -2
  185. package/dist/collections/operations/delete.d.ts.map +1 -1
  186. package/dist/collections/operations/delete.js +1 -0
  187. package/dist/collections/operations/delete.js.map +1 -1
  188. package/dist/collections/operations/deleteByID.d.ts +2 -2
  189. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  190. package/dist/collections/operations/deleteByID.js +1 -0
  191. package/dist/collections/operations/deleteByID.js.map +1 -1
  192. package/dist/collections/operations/docAccess.d.ts +2 -2
  193. package/dist/collections/operations/docAccess.d.ts.map +1 -1
  194. package/dist/collections/operations/docAccess.js.map +1 -1
  195. package/dist/collections/operations/duplicate.d.ts +2 -2
  196. package/dist/collections/operations/duplicate.d.ts.map +1 -1
  197. package/dist/collections/operations/duplicate.js +2 -0
  198. package/dist/collections/operations/duplicate.js.map +1 -1
  199. package/dist/collections/operations/find.d.ts +2 -2
  200. package/dist/collections/operations/find.d.ts.map +1 -1
  201. package/dist/collections/operations/find.js +1 -0
  202. package/dist/collections/operations/find.js.map +1 -1
  203. package/dist/collections/operations/findByID.d.ts +2 -2
  204. package/dist/collections/operations/findByID.d.ts.map +1 -1
  205. package/dist/collections/operations/findByID.js +1 -0
  206. package/dist/collections/operations/findByID.js.map +1 -1
  207. package/dist/collections/operations/findVersionByID.d.ts +2 -2
  208. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  209. package/dist/collections/operations/findVersionByID.js +1 -0
  210. package/dist/collections/operations/findVersionByID.js.map +1 -1
  211. package/dist/collections/operations/findVersions.d.ts +2 -2
  212. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  213. package/dist/collections/operations/findVersions.js +1 -0
  214. package/dist/collections/operations/findVersions.js.map +1 -1
  215. package/dist/collections/operations/local/count.d.ts +20 -0
  216. package/dist/collections/operations/local/count.d.ts.map +1 -0
  217. package/dist/collections/operations/local/count.js +19 -0
  218. package/dist/collections/operations/local/count.js.map +1 -0
  219. package/dist/collections/operations/local/create.d.ts +4 -4
  220. package/dist/collections/operations/local/create.d.ts.map +1 -1
  221. package/dist/collections/operations/local/create.js.map +1 -1
  222. package/dist/collections/operations/local/delete.d.ts +4 -4
  223. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  224. package/dist/collections/operations/local/delete.js.map +1 -1
  225. package/dist/collections/operations/local/duplicate.d.ts +4 -4
  226. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  227. package/dist/collections/operations/local/duplicate.js.map +1 -1
  228. package/dist/collections/operations/local/find.d.ts +4 -4
  229. package/dist/collections/operations/local/find.d.ts.map +1 -1
  230. package/dist/collections/operations/local/find.js.map +1 -1
  231. package/dist/collections/operations/local/findByID.d.ts +4 -4
  232. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  233. package/dist/collections/operations/local/findByID.js.map +1 -1
  234. package/dist/collections/operations/local/findVersionByID.d.ts +4 -4
  235. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  236. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  237. package/dist/collections/operations/local/findVersions.d.ts +4 -4
  238. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  239. package/dist/collections/operations/local/findVersions.js.map +1 -1
  240. package/dist/collections/operations/local/index.d.ts +2 -0
  241. package/dist/collections/operations/local/index.d.ts.map +1 -1
  242. package/dist/collections/operations/local/index.js +2 -0
  243. package/dist/collections/operations/local/index.js.map +1 -1
  244. package/dist/collections/operations/local/restoreVersion.d.ts +4 -4
  245. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  246. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  247. package/dist/collections/operations/local/update.d.ts +4 -4
  248. package/dist/collections/operations/local/update.d.ts.map +1 -1
  249. package/dist/collections/operations/local/update.js.map +1 -1
  250. package/dist/collections/operations/restoreVersion.d.ts +2 -2
  251. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  252. package/dist/collections/operations/restoreVersion.js +2 -0
  253. package/dist/collections/operations/restoreVersion.js.map +1 -1
  254. package/dist/collections/operations/update.d.ts +2 -2
  255. package/dist/collections/operations/update.d.ts.map +1 -1
  256. package/dist/collections/operations/update.js +6 -3
  257. package/dist/collections/operations/update.js.map +1 -1
  258. package/dist/collections/operations/updateByID.d.ts +2 -2
  259. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  260. package/dist/collections/operations/updateByID.js +5 -2
  261. package/dist/collections/operations/updateByID.js.map +1 -1
  262. package/dist/collections/operations/utils.d.ts +8 -2
  263. package/dist/collections/operations/utils.d.ts.map +1 -1
  264. package/dist/collections/operations/utils.js.map +1 -1
  265. package/dist/config/build.d.ts.map +1 -1
  266. package/dist/config/build.js +3 -4
  267. package/dist/config/build.js.map +1 -1
  268. package/dist/config/client.d.ts +2 -1
  269. package/dist/config/client.d.ts.map +1 -1
  270. package/dist/config/client.js +3 -1
  271. package/dist/config/client.js.map +1 -1
  272. package/dist/config/defaults.d.ts.map +1 -1
  273. package/dist/config/defaults.js +14 -3
  274. package/dist/config/defaults.js.map +1 -1
  275. package/dist/config/find.d.ts.map +1 -1
  276. package/dist/config/find.js +27 -16
  277. package/dist/config/find.js.map +1 -1
  278. package/dist/config/sanitize.d.ts +1 -1
  279. package/dist/config/sanitize.d.ts.map +1 -1
  280. package/dist/config/sanitize.js +43 -10
  281. package/dist/config/sanitize.js.map +1 -1
  282. package/dist/config/schema.d.ts.map +1 -1
  283. package/dist/config/schema.js +21 -7
  284. package/dist/config/schema.js.map +1 -1
  285. package/dist/config/shared/openGraphSchema.d.ts +3 -0
  286. package/dist/config/shared/openGraphSchema.d.ts.map +1 -0
  287. package/dist/config/shared/openGraphSchema.js +16 -0
  288. package/dist/config/shared/openGraphSchema.js.map +1 -0
  289. package/dist/config/types.d.ts +146 -78
  290. package/dist/config/types.d.ts.map +1 -1
  291. package/dist/config/types.js +7 -13
  292. package/dist/config/types.js.map +1 -1
  293. package/dist/database/migrations/getPredefinedMigration.d.ts +12 -0
  294. package/dist/database/migrations/getPredefinedMigration.d.ts.map +1 -0
  295. package/dist/database/migrations/getPredefinedMigration.js +41 -0
  296. package/dist/database/migrations/getPredefinedMigration.js.map +1 -0
  297. package/dist/database/migrations/migrate.js.map +1 -1
  298. package/dist/database/migrations/migrateDown.js.map +1 -1
  299. package/dist/database/migrations/migrateRefresh.js.map +1 -1
  300. package/dist/database/migrations/migrateReset.js.map +1 -1
  301. package/dist/database/queryValidation/validateQueryPaths.d.ts +2 -2
  302. package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
  303. package/dist/database/queryValidation/validateQueryPaths.js +1 -1
  304. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
  305. package/dist/database/queryValidation/validateSearchParams.d.ts +2 -2
  306. package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
  307. package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
  308. package/dist/database/types.d.ts +34 -19
  309. package/dist/database/types.d.ts.map +1 -1
  310. package/dist/database/types.js.map +1 -1
  311. package/dist/email/consoleEmailAdapter.d.ts +3 -0
  312. package/dist/email/consoleEmailAdapter.d.ts.map +1 -0
  313. package/dist/email/consoleEmailAdapter.js +17 -0
  314. package/dist/email/consoleEmailAdapter.js.map +1 -0
  315. package/dist/email/defaults.d.ts +2 -2
  316. package/dist/email/defaults.d.ts.map +1 -1
  317. package/dist/email/defaults.js +3 -3
  318. package/dist/email/defaults.js.map +1 -1
  319. package/dist/email/getStringifiedToAddress.d.ts +3 -0
  320. package/dist/email/getStringifiedToAddress.d.ts.map +1 -0
  321. package/dist/email/getStringifiedToAddress.js +20 -0
  322. package/dist/email/getStringifiedToAddress.js.map +1 -0
  323. package/dist/email/sendEmail.d.ts +3 -2
  324. package/dist/email/sendEmail.d.ts.map +1 -1
  325. package/dist/email/sendEmail.js +8 -4
  326. package/dist/email/sendEmail.js.map +1 -1
  327. package/dist/email/types.d.ts +26 -18
  328. package/dist/email/types.d.ts.map +1 -1
  329. package/dist/email/types.js +5 -1
  330. package/dist/email/types.js.map +1 -1
  331. package/dist/errors/APIError.d.ts +2 -2
  332. package/dist/errors/APIError.d.ts.map +1 -1
  333. package/dist/errors/APIError.js +1 -2
  334. package/dist/errors/APIError.js.map +1 -1
  335. package/dist/errors/AuthenticationError.d.ts +2 -3
  336. package/dist/errors/AuthenticationError.d.ts.map +1 -1
  337. package/dist/errors/AuthenticationError.js +2 -3
  338. package/dist/errors/AuthenticationError.js.map +1 -1
  339. package/dist/errors/DuplicateCollection.d.ts +2 -3
  340. package/dist/errors/DuplicateCollection.d.ts.map +1 -1
  341. package/dist/errors/DuplicateCollection.js +2 -3
  342. package/dist/errors/DuplicateCollection.js.map +1 -1
  343. package/dist/errors/DuplicateFieldName.d.ts +2 -3
  344. package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
  345. package/dist/errors/DuplicateFieldName.js +2 -3
  346. package/dist/errors/DuplicateFieldName.js.map +1 -1
  347. package/dist/errors/DuplicateGlobal.d.ts +2 -3
  348. package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
  349. package/dist/errors/DuplicateGlobal.js +2 -3
  350. package/dist/errors/DuplicateGlobal.js.map +1 -1
  351. package/dist/errors/ErrorDeletingFile.d.ts +2 -3
  352. package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
  353. package/dist/errors/ErrorDeletingFile.js +2 -3
  354. package/dist/errors/ErrorDeletingFile.js.map +1 -1
  355. package/dist/errors/FileRetrievalError.d.ts +6 -0
  356. package/dist/errors/FileRetrievalError.d.ts.map +1 -0
  357. package/dist/errors/FileRetrievalError.js +13 -0
  358. package/dist/errors/FileRetrievalError.js.map +1 -0
  359. package/dist/errors/FileUploadError.d.ts +2 -3
  360. package/dist/errors/FileUploadError.d.ts.map +1 -1
  361. package/dist/errors/FileUploadError.js +2 -3
  362. package/dist/errors/FileUploadError.js.map +1 -1
  363. package/dist/errors/Forbidden.d.ts +2 -3
  364. package/dist/errors/Forbidden.d.ts.map +1 -1
  365. package/dist/errors/Forbidden.js +2 -3
  366. package/dist/errors/Forbidden.js.map +1 -1
  367. package/dist/errors/InvalidConfiguration.d.ts +2 -3
  368. package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
  369. package/dist/errors/InvalidConfiguration.js +2 -3
  370. package/dist/errors/InvalidConfiguration.js.map +1 -1
  371. package/dist/errors/InvalidFieldName.d.ts +2 -3
  372. package/dist/errors/InvalidFieldName.d.ts.map +1 -1
  373. package/dist/errors/InvalidFieldName.js +2 -3
  374. package/dist/errors/InvalidFieldName.js.map +1 -1
  375. package/dist/errors/InvalidFieldRelationship.d.ts +2 -3
  376. package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
  377. package/dist/errors/InvalidFieldRelationship.js +2 -3
  378. package/dist/errors/InvalidFieldRelationship.js.map +1 -1
  379. package/dist/errors/InvalidSchema.d.ts +2 -3
  380. package/dist/errors/InvalidSchema.d.ts.map +1 -1
  381. package/dist/errors/InvalidSchema.js +2 -3
  382. package/dist/errors/InvalidSchema.js.map +1 -1
  383. package/dist/errors/LockedAuth.d.ts +2 -3
  384. package/dist/errors/LockedAuth.d.ts.map +1 -1
  385. package/dist/errors/LockedAuth.js +2 -3
  386. package/dist/errors/LockedAuth.js.map +1 -1
  387. package/dist/errors/MissingCollectionLabel.d.ts +2 -3
  388. package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
  389. package/dist/errors/MissingCollectionLabel.js +2 -3
  390. package/dist/errors/MissingCollectionLabel.js.map +1 -1
  391. package/dist/errors/MissingEditorProp.d.ts +2 -3
  392. package/dist/errors/MissingEditorProp.d.ts.map +1 -1
  393. package/dist/errors/MissingEditorProp.js +3 -4
  394. package/dist/errors/MissingEditorProp.js.map +1 -1
  395. package/dist/errors/MissingFieldInputOptions.d.ts +2 -3
  396. package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
  397. package/dist/errors/MissingFieldInputOptions.js +2 -3
  398. package/dist/errors/MissingFieldInputOptions.js.map +1 -1
  399. package/dist/errors/MissingFieldType.d.ts +2 -3
  400. package/dist/errors/MissingFieldType.d.ts.map +1 -1
  401. package/dist/errors/MissingFieldType.js +2 -3
  402. package/dist/errors/MissingFieldType.js.map +1 -1
  403. package/dist/errors/MissingFile.d.ts +2 -3
  404. package/dist/errors/MissingFile.d.ts.map +1 -1
  405. package/dist/errors/MissingFile.js +2 -3
  406. package/dist/errors/MissingFile.js.map +1 -1
  407. package/dist/errors/NotFound.d.ts +2 -3
  408. package/dist/errors/NotFound.d.ts.map +1 -1
  409. package/dist/errors/NotFound.js +2 -3
  410. package/dist/errors/NotFound.js.map +1 -1
  411. package/dist/errors/QueryError.d.ts +2 -3
  412. package/dist/errors/QueryError.d.ts.map +1 -1
  413. package/dist/errors/QueryError.js +2 -3
  414. package/dist/errors/QueryError.js.map +1 -1
  415. package/dist/errors/TimestampsRequired.d.ts +2 -3
  416. package/dist/errors/TimestampsRequired.d.ts.map +1 -1
  417. package/dist/errors/TimestampsRequired.js +2 -3
  418. package/dist/errors/TimestampsRequired.js.map +1 -1
  419. package/dist/errors/UnathorizedError.d.ts +2 -3
  420. package/dist/errors/UnathorizedError.d.ts.map +1 -1
  421. package/dist/errors/UnathorizedError.js +2 -3
  422. package/dist/errors/UnathorizedError.js.map +1 -1
  423. package/dist/errors/ValidationError.d.ts +2 -3
  424. package/dist/errors/ValidationError.d.ts.map +1 -1
  425. package/dist/errors/ValidationError.js +2 -3
  426. package/dist/errors/ValidationError.js.map +1 -1
  427. package/dist/errors/index.d.ts +20 -19
  428. package/dist/errors/index.d.ts.map +1 -1
  429. package/dist/errors/index.js +20 -19
  430. package/dist/errors/index.js.map +1 -1
  431. package/dist/exports/auth.d.ts +1 -0
  432. package/dist/exports/auth.d.ts.map +1 -1
  433. package/dist/exports/auth.js +1 -0
  434. package/dist/exports/auth.js.map +1 -1
  435. package/dist/exports/database.d.ts +3 -2
  436. package/dist/exports/database.d.ts.map +1 -1
  437. package/dist/exports/database.js +1 -1
  438. package/dist/exports/database.js.map +1 -1
  439. package/dist/exports/i18n/he.d.ts +2 -0
  440. package/dist/exports/i18n/he.d.ts.map +1 -0
  441. package/dist/exports/i18n/he.js +3 -0
  442. package/dist/exports/i18n/he.js.map +1 -0
  443. package/dist/exports/i18n.d.ts +2 -0
  444. package/dist/exports/i18n.d.ts.map +1 -0
  445. package/dist/exports/i18n.js +3 -0
  446. package/dist/exports/i18n.js.map +1 -0
  447. package/dist/exports/node.d.ts +5 -0
  448. package/dist/exports/node.d.ts.map +1 -1
  449. package/dist/exports/node.js +5 -1
  450. package/dist/exports/node.js.map +1 -1
  451. package/dist/exports/operations.d.ts +1 -0
  452. package/dist/exports/operations.d.ts.map +1 -1
  453. package/dist/exports/operations.js +1 -0
  454. package/dist/exports/operations.js.map +1 -1
  455. package/dist/exports/types.d.ts +2 -1
  456. package/dist/exports/types.d.ts.map +1 -1
  457. package/dist/exports/types.js.map +1 -1
  458. package/dist/exports/utilities.d.ts +9 -3
  459. package/dist/exports/utilities.d.ts.map +1 -1
  460. package/dist/exports/utilities.js +8 -3
  461. package/dist/exports/utilities.js.map +1 -1
  462. package/dist/fields/config/client.d.ts +235 -79
  463. package/dist/fields/config/client.d.ts.map +1 -1
  464. package/dist/fields/config/client.js +2 -1
  465. package/dist/fields/config/client.js.map +1 -1
  466. package/dist/fields/config/sanitize.d.ts +7 -2
  467. package/dist/fields/config/sanitize.d.ts.map +1 -1
  468. package/dist/fields/config/sanitize.js +67 -34
  469. package/dist/fields/config/sanitize.js.map +1 -1
  470. package/dist/fields/config/sanitize.spec.js +76 -85
  471. package/dist/fields/config/sanitize.spec.js.map +1 -1
  472. package/dist/fields/config/schema.d.ts.map +1 -1
  473. package/dist/fields/config/schema.js +33 -6
  474. package/dist/fields/config/schema.js.map +1 -1
  475. package/dist/fields/config/types.d.ts +108 -44
  476. package/dist/fields/config/types.d.ts.map +1 -1
  477. package/dist/fields/config/types.js.map +1 -1
  478. package/dist/fields/getDefaultValue.d.ts +2 -2
  479. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  480. package/dist/fields/getDefaultValue.js.map +1 -1
  481. package/dist/fields/hooks/afterChange/index.d.ts +2 -2
  482. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  483. package/dist/fields/hooks/afterChange/index.js.map +1 -1
  484. package/dist/fields/hooks/afterChange/promise.d.ts +2 -2
  485. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  486. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  487. package/dist/fields/hooks/afterChange/traverseFields.d.ts +2 -2
  488. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  489. package/dist/fields/hooks/afterChange/traverseFields.js.map +1 -1
  490. package/dist/fields/hooks/afterRead/index.d.ts +3 -2
  491. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  492. package/dist/fields/hooks/afterRead/index.js +2 -1
  493. package/dist/fields/hooks/afterRead/index.js.map +1 -1
  494. package/dist/fields/hooks/afterRead/promise.d.ts +7 -3
  495. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  496. package/dist/fields/hooks/afterRead/promise.js +20 -18
  497. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  498. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +4 -3
  499. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  500. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +16 -10
  501. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -1
  502. package/dist/fields/hooks/afterRead/traverseFields.d.ts +7 -3
  503. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  504. package/dist/fields/hooks/afterRead/traverseFields.js +2 -1
  505. package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
  506. package/dist/fields/hooks/beforeChange/index.d.ts +2 -2
  507. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  508. package/dist/fields/hooks/beforeChange/index.js.map +1 -1
  509. package/dist/fields/hooks/beforeChange/promise.d.ts +2 -2
  510. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  511. package/dist/fields/hooks/beforeChange/promise.js +3 -1
  512. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  513. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +14 -2
  514. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  515. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
  516. package/dist/fields/hooks/beforeValidate/index.d.ts +2 -2
  517. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  518. package/dist/fields/hooks/beforeValidate/index.js.map +1 -1
  519. package/dist/fields/hooks/beforeValidate/promise.d.ts +8 -2
  520. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  521. package/dist/fields/hooks/beforeValidate/promise.js +2 -0
  522. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  523. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +8 -2
  524. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  525. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  526. package/dist/fields/validations.d.ts +6 -0
  527. package/dist/fields/validations.d.ts.map +1 -1
  528. package/dist/fields/validations.js +62 -7
  529. package/dist/fields/validations.js.map +1 -1
  530. package/dist/fields/validations.spec.js +1 -0
  531. package/dist/fields/validations.spec.js.map +1 -1
  532. package/dist/globals/config/client.d.ts +1 -1
  533. package/dist/globals/config/client.d.ts.map +1 -1
  534. package/dist/globals/config/client.js +2 -1
  535. package/dist/globals/config/client.js.map +1 -1
  536. package/dist/globals/config/sanitize.d.ts +2 -3
  537. package/dist/globals/config/sanitize.d.ts.map +1 -1
  538. package/dist/globals/config/sanitize.js +36 -35
  539. package/dist/globals/config/sanitize.js.map +1 -1
  540. package/dist/globals/config/schema.d.ts.map +1 -1
  541. package/dist/globals/config/schema.js +10 -1
  542. package/dist/globals/config/schema.js.map +1 -1
  543. package/dist/globals/config/types.d.ts +16 -9
  544. package/dist/globals/config/types.d.ts.map +1 -1
  545. package/dist/globals/config/types.js.map +1 -1
  546. package/dist/globals/operations/docAccess.d.ts +2 -2
  547. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  548. package/dist/globals/operations/docAccess.js.map +1 -1
  549. package/dist/globals/operations/findOne.d.ts +2 -3
  550. package/dist/globals/operations/findOne.d.ts.map +1 -1
  551. package/dist/globals/operations/findOne.js +1 -0
  552. package/dist/globals/operations/findOne.js.map +1 -1
  553. package/dist/globals/operations/findVersionByID.d.ts +2 -2
  554. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  555. package/dist/globals/operations/findVersionByID.js +1 -0
  556. package/dist/globals/operations/findVersionByID.js.map +1 -1
  557. package/dist/globals/operations/findVersions.d.ts +2 -2
  558. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  559. package/dist/globals/operations/findVersions.js +1 -0
  560. package/dist/globals/operations/findVersions.js.map +1 -1
  561. package/dist/globals/operations/local/findOne.d.ts +4 -4
  562. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  563. package/dist/globals/operations/local/findOne.js.map +1 -1
  564. package/dist/globals/operations/local/findVersionByID.d.ts +4 -4
  565. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  566. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  567. package/dist/globals/operations/local/findVersions.d.ts +4 -4
  568. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  569. package/dist/globals/operations/local/findVersions.js.map +1 -1
  570. package/dist/globals/operations/local/restoreVersion.d.ts +4 -4
  571. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  572. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  573. package/dist/globals/operations/local/update.d.ts +4 -4
  574. package/dist/globals/operations/local/update.d.ts.map +1 -1
  575. package/dist/globals/operations/local/update.js.map +1 -1
  576. package/dist/globals/operations/restoreVersion.d.ts +2 -2
  577. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  578. package/dist/globals/operations/restoreVersion.js +1 -0
  579. package/dist/globals/operations/restoreVersion.js.map +1 -1
  580. package/dist/globals/operations/update.d.ts +2 -2
  581. package/dist/globals/operations/update.d.ts.map +1 -1
  582. package/dist/globals/operations/update.js +2 -0
  583. package/dist/globals/operations/update.js.map +1 -1
  584. package/dist/index.d.ts +16 -10
  585. package/dist/index.d.ts.map +1 -1
  586. package/dist/index.js +26 -14
  587. package/dist/index.js.map +1 -1
  588. package/dist/preferences/deleteUserPreferences.d.ts +2 -2
  589. package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
  590. package/dist/preferences/deleteUserPreferences.js.map +1 -1
  591. package/dist/preferences/operations/delete.js +2 -2
  592. package/dist/preferences/operations/delete.js.map +1 -1
  593. package/dist/preferences/operations/update.js +1 -1
  594. package/dist/preferences/operations/update.js.map +1 -1
  595. package/dist/preferences/requestHandlers/delete.d.ts.map +1 -1
  596. package/dist/preferences/requestHandlers/delete.js +18 -5
  597. package/dist/preferences/requestHandlers/delete.js.map +1 -1
  598. package/dist/preferences/requestHandlers/findOne.d.ts.map +1 -1
  599. package/dist/preferences/requestHandlers/findOne.js +18 -5
  600. package/dist/preferences/requestHandlers/findOne.js.map +1 -1
  601. package/dist/preferences/requestHandlers/update.d.ts.map +1 -1
  602. package/dist/preferences/requestHandlers/update.js +19 -7
  603. package/dist/preferences/requestHandlers/update.js.map +1 -1
  604. package/dist/preferences/types.d.ts +3 -3
  605. package/dist/preferences/types.d.ts.map +1 -1
  606. package/dist/preferences/types.js.map +1 -1
  607. package/dist/translations/getLocalI18n.d.ts +1 -1
  608. package/dist/translations/getLocalI18n.d.ts.map +1 -1
  609. package/dist/translations/getLocalI18n.js +1 -1
  610. package/dist/translations/getLocalI18n.js.map +1 -1
  611. package/dist/types/index.d.ts +21 -29
  612. package/dist/types/index.d.ts.map +1 -1
  613. package/dist/types/index.js.map +1 -1
  614. package/dist/uploads/canResizeImage.d.ts +1 -1
  615. package/dist/uploads/canResizeImage.d.ts.map +1 -1
  616. package/dist/uploads/canResizeImage.js +1 -1
  617. package/dist/uploads/canResizeImage.js.map +1 -1
  618. package/dist/uploads/cropImage.d.ts +1 -1
  619. package/dist/uploads/cropImage.d.ts.map +1 -1
  620. package/dist/uploads/cropImage.js +1 -1
  621. package/dist/uploads/cropImage.js.map +1 -1
  622. package/dist/uploads/deleteAssociatedFiles.d.ts +2 -2
  623. package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
  624. package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
  625. package/dist/uploads/docWithFilenameExists.d.ts +2 -2
  626. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  627. package/dist/uploads/docWithFilenameExists.js.map +1 -1
  628. package/dist/uploads/generateFileData.d.ts +5 -3
  629. package/dist/uploads/generateFileData.d.ts.map +1 -1
  630. package/dist/uploads/generateFileData.js +55 -16
  631. package/dist/uploads/generateFileData.js.map +1 -1
  632. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  633. package/dist/uploads/getBaseFields.js +23 -4
  634. package/dist/uploads/getBaseFields.js.map +1 -1
  635. package/dist/uploads/getExternalFile.d.ts +5 -4
  636. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  637. package/dist/uploads/getExternalFile.js +10 -6
  638. package/dist/uploads/getExternalFile.js.map +1 -1
  639. package/dist/uploads/getFileByPath.d.ts +2 -2
  640. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  641. package/dist/uploads/getFileByPath.js.map +1 -1
  642. package/dist/uploads/getImageSize.d.ts +2 -2
  643. package/dist/uploads/getImageSize.d.ts.map +1 -1
  644. package/dist/uploads/getImageSize.js +19 -5
  645. package/dist/uploads/getImageSize.js.map +1 -1
  646. package/dist/uploads/getSafeFilename.d.ts +4 -4
  647. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  648. package/dist/uploads/getSafeFilename.js +1 -2
  649. package/dist/uploads/getSafeFilename.js.map +1 -1
  650. package/dist/uploads/imageResizer.d.ts +8 -10
  651. package/dist/uploads/imageResizer.d.ts.map +1 -1
  652. package/dist/uploads/imageResizer.js +42 -24
  653. package/dist/uploads/imageResizer.js.map +1 -1
  654. package/dist/uploads/isImage.d.ts +1 -1
  655. package/dist/uploads/isImage.d.ts.map +1 -1
  656. package/dist/uploads/isImage.js +1 -1
  657. package/dist/uploads/isImage.js.map +1 -1
  658. package/dist/uploads/tempFile.d.ts +7 -0
  659. package/dist/uploads/tempFile.d.ts.map +1 -0
  660. package/dist/uploads/tempFile.js +39 -0
  661. package/dist/uploads/tempFile.js.map +1 -0
  662. package/dist/uploads/types.d.ts +28 -5
  663. package/dist/uploads/types.d.ts.map +1 -1
  664. package/dist/uploads/types.js.map +1 -1
  665. package/dist/uploads/unlinkTempFiles.d.ts +2 -2
  666. package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
  667. package/dist/uploads/unlinkTempFiles.js.map +1 -1
  668. package/dist/uploads/uploadFiles.d.ts +2 -2
  669. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  670. package/dist/uploads/uploadFiles.js.map +1 -1
  671. package/dist/utilities/checkDuplicateCollections.js +1 -1
  672. package/dist/utilities/checkDuplicateCollections.js.map +1 -1
  673. package/dist/utilities/commitTransaction.d.ts +2 -2
  674. package/dist/utilities/commitTransaction.d.ts.map +1 -1
  675. package/dist/utilities/commitTransaction.js.map +1 -1
  676. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  677. package/dist/utilities/configToJSONSchema.js +27 -1
  678. package/dist/utilities/configToJSONSchema.js.map +1 -1
  679. package/dist/utilities/configToJSONSchema.spec.js +98 -2
  680. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  681. package/dist/utilities/createLocalReq.d.ts +3 -3
  682. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  683. package/dist/utilities/createLocalReq.js +8 -5
  684. package/dist/utilities/createLocalReq.js.map +1 -1
  685. package/dist/utilities/getEntityPolicies.d.ts +2 -2
  686. package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
  687. package/dist/utilities/getEntityPolicies.js.map +1 -1
  688. package/dist/utilities/importWithoutClientFiles.d.ts.map +1 -1
  689. package/dist/utilities/importWithoutClientFiles.js +10 -4
  690. package/dist/utilities/importWithoutClientFiles.js.map +1 -1
  691. package/dist/utilities/initTransaction.d.ts +2 -2
  692. package/dist/utilities/initTransaction.d.ts.map +1 -1
  693. package/dist/utilities/initTransaction.js.map +1 -1
  694. package/dist/utilities/isEntityHidden.d.ts +2 -2
  695. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  696. package/dist/utilities/isEntityHidden.js.map +1 -1
  697. package/dist/utilities/isReactComponent.d.ts +2 -3
  698. package/dist/utilities/isReactComponent.d.ts.map +1 -1
  699. package/dist/utilities/isReactComponent.js +27 -10
  700. package/dist/utilities/isReactComponent.js.map +1 -1
  701. package/dist/utilities/killTransaction.d.ts +2 -2
  702. package/dist/utilities/killTransaction.d.ts.map +1 -1
  703. package/dist/utilities/killTransaction.js.map +1 -1
  704. package/dist/utilities/parseCookies.js +1 -1
  705. package/dist/utilities/parseCookies.js.map +1 -1
  706. package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
  707. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  708. package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
  709. package/dist/utilities/telemetry/index.d.ts +9 -0
  710. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  711. package/dist/utilities/telemetry/index.js +63 -15
  712. package/dist/utilities/telemetry/index.js.map +1 -1
  713. package/dist/versions/deleteCollectionVersions.d.ts +2 -2
  714. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  715. package/dist/versions/deleteCollectionVersions.js.map +1 -1
  716. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +2 -2
  717. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  718. package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
  719. package/dist/versions/enforceMaxVersions.d.ts +2 -2
  720. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  721. package/dist/versions/enforceMaxVersions.js.map +1 -1
  722. package/dist/versions/getLatestCollectionVersion.d.ts +2 -2
  723. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  724. package/dist/versions/getLatestCollectionVersion.js.map +1 -1
  725. package/dist/versions/getLatestGlobalVersion.d.ts +2 -2
  726. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  727. package/dist/versions/getLatestGlobalVersion.js.map +1 -1
  728. package/dist/versions/saveVersion.d.ts +2 -2
  729. package/dist/versions/saveVersion.d.ts.map +1 -1
  730. package/dist/versions/saveVersion.js +2 -1
  731. package/dist/versions/saveVersion.js.map +1 -1
  732. package/graphql.d.ts +3 -0
  733. package/graphql.js +27 -0
  734. package/package.json +73 -102
  735. package/utilities.d.ts +3 -1
  736. package/utilities.js +3 -1
  737. package/dist/email/build.d.ts +0 -5
  738. package/dist/email/build.d.ts.map +0 -1
  739. package/dist/email/build.js +0 -63
  740. package/dist/email/build.js.map +0 -1
  741. package/dist/email/mockHandler.d.ts +0 -5
  742. package/dist/email/mockHandler.d.ts.map +0 -1
  743. package/dist/email/mockHandler.js +0 -24
  744. package/dist/email/mockHandler.js.map +0 -1
  745. package/node.d.ts +0 -3
  746. package/node.js +0 -4
  747. package/src/index.ts +0 -498
  748. package/uploads.d.ts +0 -2
  749. package/uploads.js +0 -3
@@ -1,6 +1,6 @@
1
1
  import type { DeepPartial } from 'ts-essentials';
2
2
  import type { GeneratedTypes, Payload } from '../../../index.js';
3
- import type { Document, PayloadRequest, RequestContext, Where } from '../../../types/index.js';
3
+ import type { Document, PayloadRequestWithData, RequestContext, Where } from '../../../types/index.js';
4
4
  import type { File } from '../../../uploads/types.js';
5
5
  import type { BulkOperationResult } from '../../config/types.js';
6
6
  export type BaseOptions<TSlug extends keyof GeneratedTypes['collections']> = {
@@ -13,13 +13,13 @@ export type BaseOptions<TSlug extends keyof GeneratedTypes['collections']> = {
13
13
  data: DeepPartial<GeneratedTypes['collections'][TSlug]>;
14
14
  depth?: number;
15
15
  draft?: boolean;
16
- fallbackLocale?: string;
16
+ fallbackLocale?: GeneratedTypes['locale'];
17
17
  file?: File;
18
18
  filePath?: string;
19
- locale?: string;
19
+ locale?: GeneratedTypes['locale'];
20
20
  overrideAccess?: boolean;
21
21
  overwriteExistingFiles?: boolean;
22
- req?: PayloadRequest;
22
+ req?: PayloadRequestWithData;
23
23
  showHiddenFields?: boolean;
24
24
  user?: Document;
25
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC9F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAQhE,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,KAAK,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE,WAAW,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG;IAChG,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG;IAChG,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IACjE,WAAW,CAAC,KAAK,CAAC,GAClB,WAAW,CAAC,KAAK,CAAC,CAAA;AAEtB,iBAAe,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EAC1E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAChD,iBAAe,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EAC1E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAA;AACtC,iBAAe,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EAC1E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAoD7E,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/collections/operations/local/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EACV,QAAQ,EACR,sBAAsB,EACtB,cAAc,EACd,KAAK,EACN,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAQhE,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,KAAK,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE,WAAW,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACzC,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,CAAC,EAAE,sBAAsB,CAAA;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG;IAChG,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG;IAChG,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IACjE,WAAW,CAAC,KAAK,CAAC,GAClB,WAAW,CAAC,KAAK,CAAC,CAAA;AAEtB,iBAAe,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EAC1E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAChD,iBAAe,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EAC1E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAA;AACtC,iBAAe,WAAW,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EAC1E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAoD7E,eAAe,WAAW,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/collections/operations/local/update.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport type { GeneratedTypes, Payload } from '../../../index.js'\nimport type { Document, PayloadRequest, RequestContext, Where } from '../../../types/index.js'\nimport type { File } from '../../../uploads/types.js'\nimport type { BulkOperationResult } from '../../config/types.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { getFileByPath } from '../../../uploads/getFileByPath.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { updateOperation } from '../update.js'\nimport { updateByIDOperation } from '../updateByID.js'\n\nexport type BaseOptions<TSlug extends keyof GeneratedTypes['collections']> = {\n autosave?: boolean\n collection: TSlug\n /**\n * context, which will then be passed to req.context, which can be read by hooks\n */\n context?: RequestContext\n data: DeepPartial<GeneratedTypes['collections'][TSlug]>\n depth?: number\n draft?: boolean\n fallbackLocale?: string\n file?: File\n filePath?: string\n locale?: string\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n req?: PayloadRequest\n showHiddenFields?: boolean\n user?: Document\n}\n\nexport type ByIDOptions<TSlug extends keyof GeneratedTypes['collections']> = BaseOptions<TSlug> & {\n id: number | string\n where?: never\n}\n\nexport type ManyOptions<TSlug extends keyof GeneratedTypes['collections']> = BaseOptions<TSlug> & {\n id?: never\n where: Where\n}\n\nexport type Options<TSlug extends keyof GeneratedTypes['collections']> =\n | ByIDOptions<TSlug>\n | ManyOptions<TSlug>\n\nasync function updateLocal<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: ByIDOptions<TSlug>,\n): Promise<GeneratedTypes['collections'][TSlug]>\nasync function updateLocal<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: ManyOptions<TSlug>,\n): Promise<BulkOperationResult<TSlug>>\nasync function updateLocal<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<BulkOperationResult<TSlug> | GeneratedTypes['collections'][TSlug]>\nasync function updateLocal<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<BulkOperationResult<TSlug> | GeneratedTypes['collections'][TSlug]> {\n const {\n id,\n autosave,\n collection: collectionSlug,\n data,\n depth,\n draft,\n file,\n filePath,\n overrideAccess = true,\n overwriteExistingFiles = false,\n showHiddenFields,\n where,\n } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Update Operation.`,\n )\n }\n\n const req = await createLocalReq(options, payload)\n req.file = file ?? (await getFileByPath(filePath))\n\n const args = {\n id,\n autosave,\n collection,\n data,\n depth,\n draft,\n overrideAccess,\n overwriteExistingFiles,\n payload,\n req,\n showHiddenFields,\n where,\n }\n\n if (options.id) {\n return updateByIDOperation<TSlug>(args)\n }\n return updateOperation<TSlug>(args)\n}\n\nexport default updateLocal\n"],"names":["APIError","getFileByPath","createLocalReq","updateOperation","updateByIDOperation","updateLocal","payload","options","id","autosave","collection","collectionSlug","data","depth","draft","file","filePath","overrideAccess","overwriteExistingFiles","showHiddenFields","where","collections","String","req","args"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAOA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,aAAa,QAAQ,oCAAmC;AACjE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,eAAc;AAC9C,SAASC,mBAAmB,QAAQ,mBAAkB;AAiDtD,eAAeC,YACbC,OAAgB,EAChBC,OAAuB;IAEvB,MAAM,EACJC,EAAE,EACFC,QAAQ,EACRC,YAAYC,cAAc,EAC1BC,IAAI,EACJC,KAAK,EACLC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,iBAAiB,IAAI,EACrBC,yBAAyB,KAAK,EAC9BC,gBAAgB,EAChBC,KAAK,EACN,GAAGb;IAEJ,MAAMG,aAAaJ,QAAQe,WAAW,CAACV,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIV,SACR,CAAC,yBAAyB,EAAEsB,OAAOX,gBAAgB,kCAAkC,CAAC;IAE1F;IAEA,MAAMY,MAAM,MAAMrB,eAAeK,SAASD;IAC1CiB,IAAIR,IAAI,GAAGA,QAAS,MAAMd,cAAce;IAExC,MAAMQ,OAAO;QACXhB;QACAC;QACAC;QACAE;QACAC;QACAC;QACAG;QACAC;QACAZ;QACAiB;QACAJ;QACAC;IACF;IAEA,IAAIb,QAAQC,EAAE,EAAE;QACd,OAAOJ,oBAA2BoB;IACpC;IACA,OAAOrB,gBAAuBqB;AAChC;AAEA,eAAenB,YAAW"}
1
+ {"version":3,"sources":["../../../../src/collections/operations/local/update.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport type { GeneratedTypes, Payload } from '../../../index.js'\nimport type {\n Document,\n PayloadRequestWithData,\n RequestContext,\n Where,\n} from '../../../types/index.js'\nimport type { File } from '../../../uploads/types.js'\nimport type { BulkOperationResult } from '../../config/types.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { getFileByPath } from '../../../uploads/getFileByPath.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { updateOperation } from '../update.js'\nimport { updateByIDOperation } from '../updateByID.js'\n\nexport type BaseOptions<TSlug extends keyof GeneratedTypes['collections']> = {\n autosave?: boolean\n collection: TSlug\n /**\n * context, which will then be passed to req.context, which can be read by hooks\n */\n context?: RequestContext\n data: DeepPartial<GeneratedTypes['collections'][TSlug]>\n depth?: number\n draft?: boolean\n fallbackLocale?: GeneratedTypes['locale']\n file?: File\n filePath?: string\n locale?: GeneratedTypes['locale']\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n req?: PayloadRequestWithData\n showHiddenFields?: boolean\n user?: Document\n}\n\nexport type ByIDOptions<TSlug extends keyof GeneratedTypes['collections']> = BaseOptions<TSlug> & {\n id: number | string\n where?: never\n}\n\nexport type ManyOptions<TSlug extends keyof GeneratedTypes['collections']> = BaseOptions<TSlug> & {\n id?: never\n where: Where\n}\n\nexport type Options<TSlug extends keyof GeneratedTypes['collections']> =\n | ByIDOptions<TSlug>\n | ManyOptions<TSlug>\n\nasync function updateLocal<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: ByIDOptions<TSlug>,\n): Promise<GeneratedTypes['collections'][TSlug]>\nasync function updateLocal<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: ManyOptions<TSlug>,\n): Promise<BulkOperationResult<TSlug>>\nasync function updateLocal<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<BulkOperationResult<TSlug> | GeneratedTypes['collections'][TSlug]>\nasync function updateLocal<TSlug extends keyof GeneratedTypes['collections']>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<BulkOperationResult<TSlug> | GeneratedTypes['collections'][TSlug]> {\n const {\n id,\n autosave,\n collection: collectionSlug,\n data,\n depth,\n draft,\n file,\n filePath,\n overrideAccess = true,\n overwriteExistingFiles = false,\n showHiddenFields,\n where,\n } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Update Operation.`,\n )\n }\n\n const req = await createLocalReq(options, payload)\n req.file = file ?? (await getFileByPath(filePath))\n\n const args = {\n id,\n autosave,\n collection,\n data,\n depth,\n draft,\n overrideAccess,\n overwriteExistingFiles,\n payload,\n req,\n showHiddenFields,\n where,\n }\n\n if (options.id) {\n return updateByIDOperation<TSlug>(args)\n }\n return updateOperation<TSlug>(args)\n}\n\nexport default updateLocal\n"],"names":["APIError","getFileByPath","createLocalReq","updateOperation","updateByIDOperation","updateLocal","payload","options","id","autosave","collection","collectionSlug","data","depth","draft","file","filePath","overrideAccess","overwriteExistingFiles","showHiddenFields","where","collections","String","req","args"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAYA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,aAAa,QAAQ,oCAAmC;AACjE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,eAAc;AAC9C,SAASC,mBAAmB,QAAQ,mBAAkB;AAiDtD,eAAeC,YACbC,OAAgB,EAChBC,OAAuB;IAEvB,MAAM,EACJC,EAAE,EACFC,QAAQ,EACRC,YAAYC,cAAc,EAC1BC,IAAI,EACJC,KAAK,EACLC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,iBAAiB,IAAI,EACrBC,yBAAyB,KAAK,EAC9BC,gBAAgB,EAChBC,KAAK,EACN,GAAGb;IAEJ,MAAMG,aAAaJ,QAAQe,WAAW,CAACV,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIV,SACR,CAAC,yBAAyB,EAAEsB,OAAOX,gBAAgB,kCAAkC,CAAC;IAE1F;IAEA,MAAMY,MAAM,MAAMrB,eAAeK,SAASD;IAC1CiB,IAAIR,IAAI,GAAGA,QAAS,MAAMd,cAAce;IAExC,MAAMQ,OAAO;QACXhB;QACAC;QACAC;QACAE;QACAC;QACAC;QACAG;QACAC;QACAZ;QACAiB;QACAJ;QACAC;IACF;IAEA,IAAIb,QAAQC,EAAE,EAAE;QACd,OAAOJ,oBAA2BoB;IACpC;IACA,OAAOrB,gBAAuBqB;AAChC;AAEA,eAAenB,YAAW"}
@@ -1,4 +1,4 @@
1
- import type { PayloadRequest } from '../../types/index.js';
1
+ import type { PayloadRequestWithData } from '../../types/index.js';
2
2
  import type { Collection, TypeWithID } from '../config/types.js';
3
3
  export type Arguments = {
4
4
  collection: Collection;
@@ -7,7 +7,7 @@ export type Arguments = {
7
7
  disableErrors?: boolean;
8
8
  id: number | string;
9
9
  overrideAccess?: boolean;
10
- req: PayloadRequest;
10
+ req: PayloadRequestWithData;
11
11
  showHiddenFields?: boolean;
12
12
  };
13
13
  export declare const restoreVersionOperation: <T extends TypeWithID = any>(args: Arguments) => Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"restoreVersion.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/restoreVersion.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAahE,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,uBAAuB,qCAC5B,SAAS,KACd,QAAQ,CAAC,CAiLX,CAAA"}
1
+ {"version":3,"file":"restoreVersion.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/restoreVersion.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAahE,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,sBAAsB,CAAA;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,uBAAuB,qCAC5B,SAAS,KACd,QAAQ,CAAC,CAmLX,CAAA"}
@@ -23,6 +23,7 @@ export const restoreVersionOperation = async (args)=>{
23
23
  collection: collectionConfig.slug,
24
24
  limit: 1,
25
25
  locale,
26
+ pagination: false,
26
27
  req,
27
28
  where: {
28
29
  id: {
@@ -102,6 +103,7 @@ export const restoreVersionOperation = async (args)=>{
102
103
  context: req.context,
103
104
  depth,
104
105
  doc: result,
106
+ draft: undefined,
105
107
  fallbackLocale,
106
108
  global: null,
107
109
  locale,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/restoreVersion.ts"],"sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport httpStatus from 'http-status'\n\nimport type { FindOneArgs } from '../../database/types.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { Collection, TypeWithID } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { hasWhereAccessResult } from '../../auth/types.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { APIError, Forbidden, NotFound } from '../../errors/index.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getLatestCollectionVersion } from '../../versions/getLatestCollectionVersion.js'\n\nexport type Arguments = {\n collection: Collection\n currentDepth?: number\n depth?: number\n disableErrors?: boolean\n id: number | string\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const restoreVersionOperation = async <T extends TypeWithID = any>(\n args: Arguments,\n): Promise<T> => {\n const {\n id,\n collection: { config: collectionConfig },\n depth,\n overrideAccess = false,\n req,\n req: { fallbackLocale, locale, payload },\n showHiddenFields,\n } = args\n\n try {\n const shouldCommit = await initTransaction(req)\n\n if (!id) {\n throw new APIError('Missing ID of version to restore.', httpStatus.BAD_REQUEST)\n }\n\n // /////////////////////////////////////\n // Retrieve original raw version\n // /////////////////////////////////////\n\n const { docs: versionDocs } = await req.payload.db.findVersions({\n collection: collectionConfig.slug,\n limit: 1,\n locale,\n req,\n where: { id: { equals: id } },\n })\n\n const [rawVersion] = versionDocs\n\n if (!rawVersion) {\n throw new NotFound(req.t)\n }\n\n const parentDocID = rawVersion.parent\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id: parentDocID, req }, collectionConfig.access.update)\n : true\n const hasWherePolicy = hasWhereAccessResult(accessResults)\n\n // /////////////////////////////////////\n // Retrieve document\n // /////////////////////////////////////\n\n const findOneArgs: FindOneArgs = {\n collection: collectionConfig.slug,\n locale,\n req,\n where: combineQueries({ id: { equals: parentDocID } }, accessResults),\n }\n\n const doc = await req.payload.db.findOne(findOneArgs)\n\n if (!doc && !hasWherePolicy) throw new NotFound(req.t)\n if (!doc && hasWherePolicy) throw new Forbidden(req.t)\n\n // /////////////////////////////////////\n // fetch previousDoc\n // /////////////////////////////////////\n\n const prevDocWithLocales = await getLatestCollectionVersion({\n id: parentDocID,\n config: collectionConfig,\n payload,\n query: findOneArgs,\n req,\n })\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n let result = await req.payload.db.updateOne({\n id: parentDocID,\n collection: collectionConfig.slug,\n data: rawVersion.version,\n req,\n })\n\n // /////////////////////////////////////\n // Save `previousDoc` as a version after restoring\n // /////////////////////////////////////\n\n const prevVersion = { ...prevDocWithLocales }\n\n delete prevVersion.id\n\n await payload.db.createVersion({\n autosave: false,\n collectionSlug: collectionConfig.slug,\n createdAt: prevVersion.createdAt,\n parent: parentDocID,\n req,\n updatedAt: new Date().toISOString(),\n versionData: rawVersion.version,\n })\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: collectionConfig,\n context: req.context,\n data: result,\n doc: result,\n global: null,\n operation: 'update',\n previousDoc: prevDocWithLocales,\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation: 'update',\n previousDoc: prevDocWithLocales,\n req,\n })) || result\n }, Promise.resolve())\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","hasWhereAccessResult","combineQueries","APIError","Forbidden","NotFound","afterChange","afterRead","commitTransaction","initTransaction","killTransaction","getLatestCollectionVersion","restoreVersionOperation","args","id","collection","config","collectionConfig","depth","overrideAccess","req","fallbackLocale","locale","payload","showHiddenFields","shouldCommit","BAD_REQUEST","docs","versionDocs","db","findVersions","slug","limit","where","equals","rawVersion","t","parentDocID","parent","accessResults","access","update","hasWherePolicy","findOneArgs","doc","findOne","prevDocWithLocales","query","result","updateOne","data","version","prevVersion","createVersion","autosave","collectionSlug","createdAt","updatedAt","Date","toISOString","versionData","context","global","hooks","reduce","priorHook","hook","Promise","resolve","operation","previousDoc","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/operations/restoreVersion.ts"],"sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport httpStatus from 'http-status'\n\nimport type { FindOneArgs } from '../../database/types.js'\nimport type { PayloadRequestWithData } from '../../types/index.js'\nimport type { Collection, TypeWithID } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { hasWhereAccessResult } from '../../auth/types.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { APIError, Forbidden, NotFound } from '../../errors/index.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getLatestCollectionVersion } from '../../versions/getLatestCollectionVersion.js'\n\nexport type Arguments = {\n collection: Collection\n currentDepth?: number\n depth?: number\n disableErrors?: boolean\n id: number | string\n overrideAccess?: boolean\n req: PayloadRequestWithData\n showHiddenFields?: boolean\n}\n\nexport const restoreVersionOperation = async <T extends TypeWithID = any>(\n args: Arguments,\n): Promise<T> => {\n const {\n id,\n collection: { config: collectionConfig },\n depth,\n overrideAccess = false,\n req,\n req: { fallbackLocale, locale, payload },\n showHiddenFields,\n } = args\n\n try {\n const shouldCommit = await initTransaction(req)\n\n if (!id) {\n throw new APIError('Missing ID of version to restore.', httpStatus.BAD_REQUEST)\n }\n\n // /////////////////////////////////////\n // Retrieve original raw version\n // /////////////////////////////////////\n\n const { docs: versionDocs } = await req.payload.db.findVersions({\n collection: collectionConfig.slug,\n limit: 1,\n locale,\n pagination: false,\n req,\n where: { id: { equals: id } },\n })\n\n const [rawVersion] = versionDocs\n\n if (!rawVersion) {\n throw new NotFound(req.t)\n }\n\n const parentDocID = rawVersion.parent\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id: parentDocID, req }, collectionConfig.access.update)\n : true\n const hasWherePolicy = hasWhereAccessResult(accessResults)\n\n // /////////////////////////////////////\n // Retrieve document\n // /////////////////////////////////////\n\n const findOneArgs: FindOneArgs = {\n collection: collectionConfig.slug,\n locale,\n req,\n where: combineQueries({ id: { equals: parentDocID } }, accessResults),\n }\n\n const doc = await req.payload.db.findOne(findOneArgs)\n\n if (!doc && !hasWherePolicy) throw new NotFound(req.t)\n if (!doc && hasWherePolicy) throw new Forbidden(req.t)\n\n // /////////////////////////////////////\n // fetch previousDoc\n // /////////////////////////////////////\n\n const prevDocWithLocales = await getLatestCollectionVersion({\n id: parentDocID,\n config: collectionConfig,\n payload,\n query: findOneArgs,\n req,\n })\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n let result = await req.payload.db.updateOne({\n id: parentDocID,\n collection: collectionConfig.slug,\n data: rawVersion.version,\n req,\n })\n\n // /////////////////////////////////////\n // Save `previousDoc` as a version after restoring\n // /////////////////////////////////////\n\n const prevVersion = { ...prevDocWithLocales }\n\n delete prevVersion.id\n\n await payload.db.createVersion({\n autosave: false,\n collectionSlug: collectionConfig.slug,\n createdAt: prevVersion.createdAt,\n parent: parentDocID,\n req,\n updatedAt: new Date().toISOString(),\n versionData: rawVersion.version,\n })\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n draft: undefined,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: collectionConfig,\n context: req.context,\n data: result,\n doc: result,\n global: null,\n operation: 'update',\n previousDoc: prevDocWithLocales,\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation: 'update',\n previousDoc: prevDocWithLocales,\n req,\n })) || result\n }, Promise.resolve())\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","hasWhereAccessResult","combineQueries","APIError","Forbidden","NotFound","afterChange","afterRead","commitTransaction","initTransaction","killTransaction","getLatestCollectionVersion","restoreVersionOperation","args","id","collection","config","collectionConfig","depth","overrideAccess","req","fallbackLocale","locale","payload","showHiddenFields","shouldCommit","BAD_REQUEST","docs","versionDocs","db","findVersions","slug","limit","pagination","where","equals","rawVersion","t","parentDocID","parent","accessResults","access","update","hasWherePolicy","findOneArgs","doc","findOne","prevDocWithLocales","query","result","updateOne","data","version","prevVersion","createVersion","autosave","collectionSlug","createdAt","updatedAt","Date","toISOString","versionData","context","draft","undefined","global","hooks","reduce","priorHook","hook","Promise","resolve","operation","previousDoc","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,uCAAuC,GACvC,OAAOA,gBAAgB,cAAa;AAMpC,OAAOC,mBAAmB,8BAA6B;AACvD,SAASC,oBAAoB,QAAQ,sBAAqB;AAC1D,SAASC,cAAc,QAAQ,mCAAkC;AACjE,SAASC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,wBAAuB;AACrE,SAASC,WAAW,QAAQ,0CAAyC;AACrE,SAASC,SAAS,QAAQ,wCAAuC;AACjE,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,0BAA0B,QAAQ,+CAA8C;AAazF,OAAO,MAAMC,0BAA0B,OACrCC;IAEA,MAAM,EACJC,EAAE,EACFC,YAAY,EAAEC,QAAQC,gBAAgB,EAAE,EACxCC,KAAK,EACLC,iBAAiB,KAAK,EACtBC,GAAG,EACHA,KAAK,EAAEC,cAAc,EAAEC,MAAM,EAAEC,OAAO,EAAE,EACxCC,gBAAgB,EACjB,GAAGX;IAEJ,IAAI;QACF,MAAMY,eAAe,MAAMhB,gBAAgBW;QAE3C,IAAI,CAACN,IAAI;YACP,MAAM,IAAIX,SAAS,qCAAqCJ,WAAW2B,WAAW;QAChF;QAEA,wCAAwC;QACxC,gCAAgC;QAChC,wCAAwC;QAExC,MAAM,EAAEC,MAAMC,WAAW,EAAE,GAAG,MAAMR,IAAIG,OAAO,CAACM,EAAE,CAACC,YAAY,CAAC;YAC9Df,YAAYE,iBAAiBc,IAAI;YACjCC,OAAO;YACPV;YACAW,YAAY;YACZb;YACAc,OAAO;gBAAEpB,IAAI;oBAAEqB,QAAQrB;gBAAG;YAAE;QAC9B;QAEA,MAAM,CAACsB,WAAW,GAAGR;QAErB,IAAI,CAACQ,YAAY;YACf,MAAM,IAAI/B,SAASe,IAAIiB,CAAC;QAC1B;QAEA,MAAMC,cAAcF,WAAWG,MAAM;QAErC,wCAAwC;QACxC,SAAS;QACT,wCAAwC;QAExC,MAAMC,gBAAgB,CAACrB,iBACnB,MAAMnB,cAAc;YAAEc,IAAIwB;YAAalB;QAAI,GAAGH,iBAAiBwB,MAAM,CAACC,MAAM,IAC5E;QACJ,MAAMC,iBAAiB1C,qBAAqBuC;QAE5C,wCAAwC;QACxC,oBAAoB;QACpB,wCAAwC;QAExC,MAAMI,cAA2B;YAC/B7B,YAAYE,iBAAiBc,IAAI;YACjCT;YACAF;YACAc,OAAOhC,eAAe;gBAAEY,IAAI;oBAAEqB,QAAQG;gBAAY;YAAE,GAAGE;QACzD;QAEA,MAAMK,MAAM,MAAMzB,IAAIG,OAAO,CAACM,EAAE,CAACiB,OAAO,CAACF;QAEzC,IAAI,CAACC,OAAO,CAACF,gBAAgB,MAAM,IAAItC,SAASe,IAAIiB,CAAC;QACrD,IAAI,CAACQ,OAAOF,gBAAgB,MAAM,IAAIvC,UAAUgB,IAAIiB,CAAC;QAErD,wCAAwC;QACxC,oBAAoB;QACpB,wCAAwC;QAExC,MAAMU,qBAAqB,MAAMpC,2BAA2B;YAC1DG,IAAIwB;YACJtB,QAAQC;YACRM;YACAyB,OAAOJ;YACPxB;QACF;QAEA,wCAAwC;QACxC,SAAS;QACT,wCAAwC;QAExC,IAAI6B,SAAS,MAAM7B,IAAIG,OAAO,CAACM,EAAE,CAACqB,SAAS,CAAC;YAC1CpC,IAAIwB;YACJvB,YAAYE,iBAAiBc,IAAI;YACjCoB,MAAMf,WAAWgB,OAAO;YACxBhC;QACF;QAEA,wCAAwC;QACxC,kDAAkD;QAClD,wCAAwC;QAExC,MAAMiC,cAAc;YAAE,GAAGN,kBAAkB;QAAC;QAE5C,OAAOM,YAAYvC,EAAE;QAErB,MAAMS,QAAQM,EAAE,CAACyB,aAAa,CAAC;YAC7BC,UAAU;YACVC,gBAAgBvC,iBAAiBc,IAAI;YACrC0B,WAAWJ,YAAYI,SAAS;YAChClB,QAAQD;YACRlB;YACAsC,WAAW,IAAIC,OAAOC,WAAW;YACjCC,aAAazB,WAAWgB,OAAO;QACjC;QAEA,wCAAwC;QACxC,qBAAqB;QACrB,wCAAwC;QAExCH,SAAS,MAAM1C,UAAU;YACvBQ,YAAYE;YACZ6C,SAAS1C,IAAI0C,OAAO;YACpB5C;YACA2B,KAAKI;YACLc,OAAOC;YACP3C;YACA4C,QAAQ;YACR3C;YACAH;YACAC;YACAI;QACF;QAEA,wCAAwC;QACxC,yBAAyB;QACzB,wCAAwC;QAExC,MAAMP,iBAAiBiD,KAAK,CAAC3D,SAAS,CAAC4D,MAAM,CAAC,OAAOC,WAAWC;YAC9D,MAAMD;YAENnB,SACE,AAAC,MAAMoB,KAAK;gBACVtD,YAAYE;gBACZ6C,SAAS1C,IAAI0C,OAAO;gBACpBjB,KAAKI;gBACL7B;YACF,MAAO6B;QACX,GAAGqB,QAAQC,OAAO;QAElB,wCAAwC;QACxC,uBAAuB;QACvB,wCAAwC;QAExCtB,SAAS,MAAM3C,YAAY;YACzBS,YAAYE;YACZ6C,SAAS1C,IAAI0C,OAAO;YACpBX,MAAMF;YACNJ,KAAKI;YACLgB,QAAQ;YACRO,WAAW;YACXC,aAAa1B;YACb3B;QACF;QAEA,wCAAwC;QACxC,2BAA2B;QAC3B,wCAAwC;QAExC,MAAMH,iBAAiBiD,KAAK,CAAC5D,WAAW,CAAC6D,MAAM,CAAC,OAAOC,WAAWC;YAChE,MAAMD;YAENnB,SACE,AAAC,MAAMoB,KAAK;gBACVtD,YAAYE;gBACZ6C,SAAS1C,IAAI0C,OAAO;gBACpBjB,KAAKI;gBACLuB,WAAW;gBACXC,aAAa1B;gBACb3B;YACF,MAAO6B;QACX,GAAGqB,QAAQC,OAAO;QAElB,IAAI9C,cAAc,MAAMjB,kBAAkBY;QAE1C,OAAO6B;IACT,EAAE,OAAOyB,OAAgB;QACvB,MAAMhE,gBAAgBU;QACtB,MAAMsD;IACR;AACF,EAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { DeepPartial } from 'ts-essentials';
2
2
  import type { GeneratedTypes } from '../../index.js';
3
- import type { PayloadRequest, Where } from '../../types/index.js';
3
+ import type { PayloadRequestWithData, Where } from '../../types/index.js';
4
4
  import type { BulkOperationResult, Collection } from '../config/types.js';
5
5
  import type { CreateUpdateType } from './create.js';
6
6
  export type Arguments<T extends CreateUpdateType> = {
@@ -11,7 +11,7 @@ export type Arguments<T extends CreateUpdateType> = {
11
11
  draft?: boolean;
12
12
  overrideAccess?: boolean;
13
13
  overwriteExistingFiles?: boolean;
14
- req: PayloadRequest;
14
+ req: PayloadRequestWithData;
15
15
  showHiddenFields?: boolean;
16
16
  where: Where;
17
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAsBnD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,gBAAgB,IAAI;IAClD,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,eAAe,yDACZ,UAAU,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,KAC5D,QAAQ,oBAAoB,KAAK,CAAC,CAiXpC,CAAA"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAsBnD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,gBAAgB,IAAI;IAClD,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,sBAAsB,CAAA;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,eAAe,yDACZ,UAAU,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,KAC5D,QAAQ,oBAAoB,KAAK,CAAC,CAqXpC,CAAA"}
@@ -73,6 +73,7 @@ export const updateOperation = async (incomingArgs)=>{
73
73
  const query = await payload.db.queryDrafts({
74
74
  collection: collectionConfig.slug,
75
75
  locale,
76
+ pagination: false,
76
77
  req,
77
78
  where: versionsWhere
78
79
  });
@@ -95,6 +96,7 @@ export const updateOperation = async (incomingArgs)=>{
95
96
  collection,
96
97
  config,
97
98
  data: bulkUpdateData,
99
+ operation: 'update',
98
100
  overwriteExistingFiles,
99
101
  req,
100
102
  throwOnMissingFile: false
@@ -112,6 +114,7 @@ export const updateOperation = async (incomingArgs)=>{
112
114
  context: req.context,
113
115
  depth: 0,
114
116
  doc,
117
+ draft: draftArg,
115
118
  fallbackLocale,
116
119
  global: null,
117
120
  locale,
@@ -188,12 +191,12 @@ export const updateOperation = async (incomingArgs)=>{
188
191
  global: null,
189
192
  operation: 'update',
190
193
  req,
191
- skipValidation: shouldSaveDraft || data._status === 'draft'
194
+ skipValidation: Boolean(collectionConfig.versions?.drafts) && data._status !== 'published'
192
195
  });
193
196
  // /////////////////////////////////////
194
197
  // Update
195
198
  // /////////////////////////////////////
196
- if (!shouldSaveDraft) {
199
+ if (!shouldSaveDraft || data._status === 'published') {
197
200
  result = await req.payload.db.updateOne({
198
201
  id,
199
202
  collection: collectionConfig.slug,
@@ -213,7 +216,6 @@ export const updateOperation = async (incomingArgs)=>{
213
216
  ...result,
214
217
  createdAt: doc.createdAt
215
218
  },
216
- draft: shouldSaveDraft,
217
219
  payload,
218
220
  req
219
221
  });
@@ -226,6 +228,7 @@ export const updateOperation = async (incomingArgs)=>{
226
228
  context: req.context,
227
229
  depth,
228
230
  doc: result,
231
+ draft: draftArg,
229
232
  fallbackLocale: null,
230
233
  global: null,
231
234
  locale,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/update.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport httpStatus from 'http-status'\n\nimport type { AccessResult } from '../../config/types.js'\nimport type { GeneratedTypes } from '../../index.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { BulkOperationResult, Collection } from '../config/types.js'\nimport type { CreateUpdateType } from './create.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { APIError } from '../../errors/index.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { beforeChange } from '../../fields/hooks/beforeChange/index.js'\nimport { beforeValidate } from '../../fields/hooks/beforeValidate/index.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { uploadFiles } from '../../uploads/uploadFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { buildVersionCollectionFields } from '../../versions/buildCollectionFields.js'\nimport { appendVersionToQueryKey } from '../../versions/drafts/appendVersionToQueryKey.js'\nimport { saveVersion } from '../../versions/saveVersion.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments<T extends CreateUpdateType> = {\n collection: Collection\n data: DeepPartial<T>\n depth?: number\n disableVerificationEmail?: boolean\n draft?: boolean\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n where: Where\n}\n\nexport const updateOperation = async <TSlug extends keyof GeneratedTypes['collections']>(\n incomingArgs: Arguments<GeneratedTypes['collections'][TSlug]>,\n): Promise<BulkOperationResult<TSlug>> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'update',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n collection: { config: collectionConfig },\n collection,\n depth,\n draft: draftArg = false,\n overrideAccess,\n overwriteExistingFiles = false,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n showHiddenFields,\n where,\n } = args\n\n if (!where) {\n throw new APIError(\"Missing 'where' query of documents to update.\", httpStatus.BAD_REQUEST)\n }\n\n const { data: bulkUpdateData } = args\n const shouldSaveDraft = Boolean(draftArg && collectionConfig.versions.drafts)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n if (!overrideAccess) {\n accessResult = await executeAccess({ req }, collectionConfig.access.update)\n }\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n where,\n })\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n const fullWhere = combineQueries(where, accessResult)\n\n let docs\n\n if (collectionConfig.versions?.drafts && shouldSaveDraft) {\n const versionsWhere = appendVersionToQueryKey(fullWhere)\n\n await validateQueryPaths({\n collectionConfig: collection.config,\n overrideAccess,\n req,\n versionFields: buildVersionCollectionFields(collection.config),\n where: versionsWhere,\n })\n\n const query = await payload.db.queryDrafts<GeneratedTypes['collections'][TSlug]>({\n collection: collectionConfig.slug,\n locale,\n req,\n where: versionsWhere,\n })\n\n docs = query.docs\n } else {\n const query = await payload.db.find({\n collection: collectionConfig.slug,\n limit: 0,\n locale,\n pagination: false,\n req,\n where: fullWhere,\n })\n\n docs = query.docs\n }\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data: bulkUpdateData,\n overwriteExistingFiles,\n req,\n throwOnMissingFile: false,\n })\n\n const errors = []\n\n const promises = docs.map(async (doc) => {\n const { id } = doc\n let data = {\n ...newFileData,\n ...bulkUpdateData,\n }\n\n try {\n const originalDoc = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth: 0,\n doc,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess: true,\n req,\n showHiddenFields: true,\n })\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc,\n files: filesToUpload,\n overrideDelete: false,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate<DeepPartial<GeneratedTypes['collections'][TSlug]>>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n global: null,\n operation: 'update',\n overrideAccess,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeValidate.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\n\n // /////////////////////////////////////\n // beforeChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n let result = await beforeChange<GeneratedTypes['collections'][TSlug]>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n docWithLocales: doc,\n global: null,\n operation: 'update',\n req,\n skipValidation: shouldSaveDraft || data._status === 'draft',\n })\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n if (!shouldSaveDraft) {\n result = await req.payload.db.updateOne({\n id,\n collection: collectionConfig.slug,\n data: result,\n locale,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n result = await saveVersion({\n id,\n collection: collectionConfig,\n docWithLocales: {\n ...result,\n createdAt: doc.createdAt,\n },\n draft: shouldSaveDraft,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n fallbackLocale: null,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange<GeneratedTypes['collections'][TSlug]>({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'update',\n previousDoc: originalDoc,\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation: 'update',\n previousDoc: originalDoc,\n req,\n })) || result\n }, Promise.resolve())\n\n await unlinkTempFiles({\n collectionConfig,\n config,\n req,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n return result\n } catch (error) {\n errors.push({\n id,\n message: error.message,\n })\n }\n return null\n })\n\n const awaitedDocs = await Promise.all(promises)\n\n let result = {\n docs: awaitedDocs.filter(Boolean),\n errors,\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<GeneratedTypes['collections'][TSlug]>({\n args,\n collection: collectionConfig,\n operation: 'update',\n result,\n })\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","combineQueries","validateQueryPaths","APIError","afterChange","afterRead","beforeChange","beforeValidate","deleteAssociatedFiles","generateFileData","unlinkTempFiles","uploadFiles","commitTransaction","initTransaction","killTransaction","buildVersionCollectionFields","appendVersionToQueryKey","saveVersion","buildAfterOperation","updateOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","depth","draft","draftArg","overrideAccess","overwriteExistingFiles","fallbackLocale","locale","payload","showHiddenFields","where","BAD_REQUEST","data","bulkUpdateData","shouldSaveDraft","Boolean","versions","drafts","accessResult","access","update","fullWhere","docs","versionsWhere","versionFields","query","db","queryDrafts","slug","find","limit","pagination","newFileData","files","filesToUpload","throwOnMissingFile","errors","promises","map","doc","id","originalDoc","global","overrideDelete","upload","disableLocalStorage","result","docWithLocales","skipValidation","_status","updateOne","createdAt","previousDoc","error","push","message","awaitedDocs","all","filter"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/operations/update.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport httpStatus from 'http-status'\n\nimport type { AccessResult } from '../../config/types.js'\nimport type { GeneratedTypes } from '../../index.js'\nimport type { PayloadRequestWithData, Where } from '../../types/index.js'\nimport type { BulkOperationResult, Collection } from '../config/types.js'\nimport type { CreateUpdateType } from './create.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { APIError } from '../../errors/index.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { beforeChange } from '../../fields/hooks/beforeChange/index.js'\nimport { beforeValidate } from '../../fields/hooks/beforeValidate/index.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { uploadFiles } from '../../uploads/uploadFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { buildVersionCollectionFields } from '../../versions/buildCollectionFields.js'\nimport { appendVersionToQueryKey } from '../../versions/drafts/appendVersionToQueryKey.js'\nimport { saveVersion } from '../../versions/saveVersion.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments<T extends CreateUpdateType> = {\n collection: Collection\n data: DeepPartial<T>\n depth?: number\n disableVerificationEmail?: boolean\n draft?: boolean\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n req: PayloadRequestWithData\n showHiddenFields?: boolean\n where: Where\n}\n\nexport const updateOperation = async <TSlug extends keyof GeneratedTypes['collections']>(\n incomingArgs: Arguments<GeneratedTypes['collections'][TSlug]>,\n): Promise<BulkOperationResult<TSlug>> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'update',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n collection: { config: collectionConfig },\n collection,\n depth,\n draft: draftArg = false,\n overrideAccess,\n overwriteExistingFiles = false,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n showHiddenFields,\n where,\n } = args\n\n if (!where) {\n throw new APIError(\"Missing 'where' query of documents to update.\", httpStatus.BAD_REQUEST)\n }\n\n const { data: bulkUpdateData } = args\n const shouldSaveDraft = Boolean(draftArg && collectionConfig.versions.drafts)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n if (!overrideAccess) {\n accessResult = await executeAccess({ req }, collectionConfig.access.update)\n }\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n where,\n })\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n const fullWhere = combineQueries(where, accessResult)\n\n let docs\n\n if (collectionConfig.versions?.drafts && shouldSaveDraft) {\n const versionsWhere = appendVersionToQueryKey(fullWhere)\n\n await validateQueryPaths({\n collectionConfig: collection.config,\n overrideAccess,\n req,\n versionFields: buildVersionCollectionFields(collection.config),\n where: versionsWhere,\n })\n\n const query = await payload.db.queryDrafts<GeneratedTypes['collections'][TSlug]>({\n collection: collectionConfig.slug,\n locale,\n pagination: false,\n req,\n where: versionsWhere,\n })\n\n docs = query.docs\n } else {\n const query = await payload.db.find({\n collection: collectionConfig.slug,\n limit: 0,\n locale,\n pagination: false,\n req,\n where: fullWhere,\n })\n\n docs = query.docs\n }\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data: bulkUpdateData,\n operation: 'update',\n overwriteExistingFiles,\n req,\n throwOnMissingFile: false,\n })\n\n const errors = []\n\n const promises = docs.map(async (doc) => {\n const { id } = doc\n let data = {\n ...newFileData,\n ...bulkUpdateData,\n }\n\n try {\n const originalDoc = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth: 0,\n doc,\n draft: draftArg,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess: true,\n req,\n showHiddenFields: true,\n })\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc,\n files: filesToUpload,\n overrideDelete: false,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate<DeepPartial<GeneratedTypes['collections'][TSlug]>>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n global: null,\n operation: 'update',\n overrideAccess,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeValidate.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\n\n // /////////////////////////////////////\n // beforeChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n let result = await beforeChange<GeneratedTypes['collections'][TSlug]>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n docWithLocales: doc,\n global: null,\n operation: 'update',\n req,\n skipValidation:\n Boolean(collectionConfig.versions?.drafts) && data._status !== 'published',\n })\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n if (!shouldSaveDraft || data._status === 'published') {\n result = await req.payload.db.updateOne({\n id,\n collection: collectionConfig.slug,\n data: result,\n locale,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n result = await saveVersion({\n id,\n collection: collectionConfig,\n docWithLocales: {\n ...result,\n createdAt: doc.createdAt,\n },\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n draft: draftArg,\n fallbackLocale: null,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange<GeneratedTypes['collections'][TSlug]>({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'update',\n previousDoc: originalDoc,\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation: 'update',\n previousDoc: originalDoc,\n req,\n })) || result\n }, Promise.resolve())\n\n await unlinkTempFiles({\n collectionConfig,\n config,\n req,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n return result\n } catch (error) {\n errors.push({\n id,\n message: error.message,\n })\n }\n return null\n })\n\n const awaitedDocs = await Promise.all(promises)\n\n let result = {\n docs: awaitedDocs.filter(Boolean),\n errors,\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<GeneratedTypes['collections'][TSlug]>({\n args,\n collection: collectionConfig,\n operation: 'update',\n result,\n })\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","combineQueries","validateQueryPaths","APIError","afterChange","afterRead","beforeChange","beforeValidate","deleteAssociatedFiles","generateFileData","unlinkTempFiles","uploadFiles","commitTransaction","initTransaction","killTransaction","buildVersionCollectionFields","appendVersionToQueryKey","saveVersion","buildAfterOperation","updateOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","depth","draft","draftArg","overrideAccess","overwriteExistingFiles","fallbackLocale","locale","payload","showHiddenFields","where","BAD_REQUEST","data","bulkUpdateData","shouldSaveDraft","Boolean","versions","drafts","accessResult","access","update","fullWhere","docs","versionsWhere","versionFields","query","db","queryDrafts","slug","pagination","find","limit","newFileData","files","filesToUpload","throwOnMissingFile","errors","promises","map","doc","id","originalDoc","global","overrideDelete","upload","disableLocalStorage","result","docWithLocales","skipValidation","_status","updateOne","createdAt","previousDoc","error","push","message","awaitedDocs","all","filter"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { DeepPartial } from 'ts-essentials';
2
2
  import type { GeneratedTypes } from '../../index.js';
3
- import type { PayloadRequest } from '../../types/index.js';
3
+ import type { PayloadRequestWithData } from '../../types/index.js';
4
4
  import type { Collection } from '../config/types.js';
5
5
  export type Arguments<T extends {
6
6
  [field: number | string | symbol]: unknown;
@@ -14,7 +14,7 @@ export type Arguments<T extends {
14
14
  id: number | string;
15
15
  overrideAccess?: boolean;
16
16
  overwriteExistingFiles?: boolean;
17
- req: PayloadRequest;
17
+ req: PayloadRequestWithData;
18
18
  showHiddenFields?: boolean;
19
19
  };
20
20
  export declare const updateByIDOperation: <TSlug extends string | number | symbol>(incomingArgs: Arguments<GeneratedTypes['collections'][TSlug]>) => Promise<GeneratedTypes['collections'][TSlug]>;
@@ -1 +1 @@
1
- {"version":3,"file":"updateByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/updateByID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAsBpD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,mBAAmB,yDAChB,UAAU,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,KAC5D,QAAQ,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAqV9C,CAAA"}
1
+ {"version":3,"file":"updateByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/updateByID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAsBpD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,sBAAsB,CAAA;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,mBAAmB,yDAChB,UAAU,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,KAC5D,QAAQ,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAwV9C,CAAA"}
@@ -79,6 +79,7 @@ export const updateByIDOperation = async (incomingArgs)=>{
79
79
  context: req.context,
80
80
  depth: 0,
81
81
  doc: docWithLocales,
82
+ draft: draftArg,
82
83
  fallbackLocale: null,
83
84
  global: null,
84
85
  locale,
@@ -93,6 +94,7 @@ export const updateByIDOperation = async (incomingArgs)=>{
93
94
  collection,
94
95
  config,
95
96
  data,
97
+ operation: 'update',
96
98
  overwriteExistingFiles,
97
99
  req,
98
100
  throwOnMissingFile: false
@@ -170,7 +172,7 @@ export const updateByIDOperation = async (incomingArgs)=>{
170
172
  global: null,
171
173
  operation: 'update',
172
174
  req,
173
- skipValidation: shouldSaveDraft || data._status === 'draft'
175
+ skipValidation: Boolean(collectionConfig.versions?.drafts) && data._status !== 'published'
174
176
  });
175
177
  // /////////////////////////////////////
176
178
  // Handle potential password update
@@ -190,7 +192,7 @@ export const updateByIDOperation = async (incomingArgs)=>{
190
192
  // /////////////////////////////////////
191
193
  // Update
192
194
  // /////////////////////////////////////
193
- if (!shouldSaveDraft) {
195
+ if (!shouldSaveDraft || data._status === 'published') {
194
196
  result = await req.payload.db.updateOne({
195
197
  id,
196
198
  collection: collectionConfig.slug,
@@ -224,6 +226,7 @@ export const updateByIDOperation = async (incomingArgs)=>{
224
226
  context: req.context,
225
227
  depth,
226
228
  doc: result,
229
+ draft: draftArg,
227
230
  fallbackLocale,
228
231
  global: null,
229
232
  locale,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/updateByID.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport httpStatus from 'http-status'\n\nimport type { FindOneArgs } from '../../database/types.js'\nimport type { GeneratedTypes } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { Collection } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { generatePasswordSaltHash } from '../../auth/strategies/local/generatePasswordSaltHash.js'\nimport { hasWhereAccessResult } from '../../auth/types.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { APIError, Forbidden, NotFound } from '../../errors/index.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { beforeChange } from '../../fields/hooks/beforeChange/index.js'\nimport { beforeValidate } from '../../fields/hooks/beforeValidate/index.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { uploadFiles } from '../../uploads/uploadFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getLatestCollectionVersion } from '../../versions/getLatestCollectionVersion.js'\nimport { saveVersion } from '../../versions/saveVersion.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments<T extends { [field: number | string | symbol]: unknown }> = {\n autosave?: boolean\n collection: Collection\n data: DeepPartial<T>\n depth?: number\n disableVerificationEmail?: boolean\n draft?: boolean\n id: number | string\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const updateByIDOperation = async <TSlug extends keyof GeneratedTypes['collections']>(\n incomingArgs: Arguments<GeneratedTypes['collections'][TSlug]>,\n): Promise<GeneratedTypes['collections'][TSlug]> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'update',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n id,\n autosave = false,\n collection: { config: collectionConfig },\n collection,\n depth,\n draft: draftArg = false,\n overrideAccess,\n overwriteExistingFiles = false,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n showHiddenFields,\n } = args\n\n if (!id) {\n throw new APIError('Missing ID of document to update.', httpStatus.BAD_REQUEST)\n }\n\n let { data } = args\n const password = data?.password\n const shouldSaveDraft = Boolean(draftArg && collectionConfig.versions.drafts)\n const shouldSavePassword = Boolean(password && collectionConfig.auth && !shouldSaveDraft)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id, data, req }, collectionConfig.access.update)\n : true\n const hasWherePolicy = hasWhereAccessResult(accessResults)\n\n // /////////////////////////////////////\n // Retrieve document\n // /////////////////////////////////////\n\n const findOneArgs: FindOneArgs = {\n collection: collectionConfig.slug,\n locale,\n req,\n where: combineQueries({ id: { equals: id } }, accessResults),\n }\n\n const docWithLocales = await getLatestCollectionVersion({\n id,\n config: collectionConfig,\n payload,\n query: findOneArgs,\n req,\n })\n\n if (!docWithLocales && !hasWherePolicy) throw new NotFound(req.t)\n if (!docWithLocales && hasWherePolicy) throw new Forbidden(req.t)\n\n const originalDoc = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth: 0,\n doc: docWithLocales,\n fallbackLocale: null,\n global: null,\n locale,\n overrideAccess: true,\n req,\n showHiddenFields: true,\n })\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data,\n overwriteExistingFiles,\n req,\n throwOnMissingFile: false,\n })\n\n data = newFileData\n\n // /////////////////////////////////////\n // Delete any associated files\n // /////////////////////////////////////\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc: docWithLocales,\n files: filesToUpload,\n overrideDelete: false,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate<DeepPartial<GeneratedTypes['collections'][TSlug]>>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n global: null,\n operation: 'update',\n overrideAccess,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeValidate.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\n\n // /////////////////////////////////////\n // beforeChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n let result = await beforeChange<GeneratedTypes['collections'][TSlug]>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n docWithLocales,\n global: null,\n operation: 'update',\n req,\n skipValidation: shouldSaveDraft || data._status === 'draft',\n })\n\n // /////////////////////////////////////\n // Handle potential password update\n // /////////////////////////////////////\n\n const dataToUpdate: Record<string, unknown> = { ...result }\n\n if (shouldSavePassword && typeof password === 'string') {\n const { hash, salt } = await generatePasswordSaltHash({ password })\n dataToUpdate.salt = salt\n dataToUpdate.hash = hash\n delete dataToUpdate.password\n delete data.password\n }\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n if (!shouldSaveDraft) {\n result = await req.payload.db.updateOne({\n id,\n collection: collectionConfig.slug,\n data: dataToUpdate,\n locale,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n result = await saveVersion({\n id,\n autosave,\n collection: collectionConfig,\n docWithLocales: {\n ...result,\n createdAt: docWithLocales.createdAt,\n },\n draft: shouldSaveDraft,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange<GeneratedTypes['collections'][TSlug]>({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'update',\n previousDoc: originalDoc,\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation: 'update',\n previousDoc: originalDoc,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<GeneratedTypes['collections'][TSlug]>({\n args,\n collection: collectionConfig,\n operation: 'updateByID',\n result,\n })\n\n await unlinkTempFiles({\n collectionConfig,\n config,\n req,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","generatePasswordSaltHash","hasWhereAccessResult","combineQueries","APIError","Forbidden","NotFound","afterChange","afterRead","beforeChange","beforeValidate","deleteAssociatedFiles","generateFileData","unlinkTempFiles","uploadFiles","commitTransaction","initTransaction","killTransaction","getLatestCollectionVersion","saveVersion","buildAfterOperation","updateByIDOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","id","autosave","collectionConfig","depth","draft","draftArg","overrideAccess","overwriteExistingFiles","fallbackLocale","locale","payload","showHiddenFields","BAD_REQUEST","data","password","shouldSaveDraft","Boolean","versions","drafts","shouldSavePassword","auth","accessResults","access","update","hasWherePolicy","findOneArgs","slug","where","equals","docWithLocales","query","t","originalDoc","doc","global","newFileData","files","filesToUpload","throwOnMissingFile","overrideDelete","upload","disableLocalStorage","result","skipValidation","_status","dataToUpdate","hash","salt","db","updateOne","createdAt","previousDoc","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/operations/updateByID.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport httpStatus from 'http-status'\n\nimport type { FindOneArgs } from '../../database/types.js'\nimport type { GeneratedTypes } from '../../index.js'\nimport type { PayloadRequestWithData } from '../../types/index.js'\nimport type { Collection } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { generatePasswordSaltHash } from '../../auth/strategies/local/generatePasswordSaltHash.js'\nimport { hasWhereAccessResult } from '../../auth/types.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { APIError, Forbidden, NotFound } from '../../errors/index.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { beforeChange } from '../../fields/hooks/beforeChange/index.js'\nimport { beforeValidate } from '../../fields/hooks/beforeValidate/index.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { uploadFiles } from '../../uploads/uploadFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getLatestCollectionVersion } from '../../versions/getLatestCollectionVersion.js'\nimport { saveVersion } from '../../versions/saveVersion.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments<T extends { [field: number | string | symbol]: unknown }> = {\n autosave?: boolean\n collection: Collection\n data: DeepPartial<T>\n depth?: number\n disableVerificationEmail?: boolean\n draft?: boolean\n id: number | string\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n req: PayloadRequestWithData\n showHiddenFields?: boolean\n}\n\nexport const updateByIDOperation = async <TSlug extends keyof GeneratedTypes['collections']>(\n incomingArgs: Arguments<GeneratedTypes['collections'][TSlug]>,\n): Promise<GeneratedTypes['collections'][TSlug]> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'update',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n id,\n autosave = false,\n collection: { config: collectionConfig },\n collection,\n depth,\n draft: draftArg = false,\n overrideAccess,\n overwriteExistingFiles = false,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n showHiddenFields,\n } = args\n\n if (!id) {\n throw new APIError('Missing ID of document to update.', httpStatus.BAD_REQUEST)\n }\n\n let { data } = args\n const password = data?.password\n const shouldSaveDraft = Boolean(draftArg && collectionConfig.versions.drafts)\n const shouldSavePassword = Boolean(password && collectionConfig.auth && !shouldSaveDraft)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id, data, req }, collectionConfig.access.update)\n : true\n const hasWherePolicy = hasWhereAccessResult(accessResults)\n\n // /////////////////////////////////////\n // Retrieve document\n // /////////////////////////////////////\n\n const findOneArgs: FindOneArgs = {\n collection: collectionConfig.slug,\n locale,\n req,\n where: combineQueries({ id: { equals: id } }, accessResults),\n }\n\n const docWithLocales = await getLatestCollectionVersion({\n id,\n config: collectionConfig,\n payload,\n query: findOneArgs,\n req,\n })\n\n if (!docWithLocales && !hasWherePolicy) throw new NotFound(req.t)\n if (!docWithLocales && hasWherePolicy) throw new Forbidden(req.t)\n\n const originalDoc = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth: 0,\n doc: docWithLocales,\n draft: draftArg,\n fallbackLocale: null,\n global: null,\n locale,\n overrideAccess: true,\n req,\n showHiddenFields: true,\n })\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data,\n operation: 'update',\n overwriteExistingFiles,\n req,\n throwOnMissingFile: false,\n })\n\n data = newFileData\n\n // /////////////////////////////////////\n // Delete any associated files\n // /////////////////////////////////////\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc: docWithLocales,\n files: filesToUpload,\n overrideDelete: false,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate<DeepPartial<GeneratedTypes['collections'][TSlug]>>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n global: null,\n operation: 'update',\n overrideAccess,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeValidate.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\n\n // /////////////////////////////////////\n // beforeChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n let result = await beforeChange<GeneratedTypes['collections'][TSlug]>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n docWithLocales,\n global: null,\n operation: 'update',\n req,\n skipValidation: Boolean(collectionConfig.versions?.drafts) && data._status !== 'published',\n })\n\n // /////////////////////////////////////\n // Handle potential password update\n // /////////////////////////////////////\n\n const dataToUpdate: Record<string, unknown> = { ...result }\n\n if (shouldSavePassword && typeof password === 'string') {\n const { hash, salt } = await generatePasswordSaltHash({ password })\n dataToUpdate.salt = salt\n dataToUpdate.hash = hash\n delete dataToUpdate.password\n delete data.password\n }\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n if (!shouldSaveDraft || data._status === 'published') {\n result = await req.payload.db.updateOne({\n id,\n collection: collectionConfig.slug,\n data: dataToUpdate,\n locale,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n result = await saveVersion({\n id,\n autosave,\n collection: collectionConfig,\n docWithLocales: {\n ...result,\n createdAt: docWithLocales.createdAt,\n },\n draft: shouldSaveDraft,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n draft: draftArg,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange<GeneratedTypes['collections'][TSlug]>({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'update',\n previousDoc: originalDoc,\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation: 'update',\n previousDoc: originalDoc,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<GeneratedTypes['collections'][TSlug]>({\n args,\n collection: collectionConfig,\n operation: 'updateByID',\n result,\n })\n\n await unlinkTempFiles({\n collectionConfig,\n config,\n req,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","generatePasswordSaltHash","hasWhereAccessResult","combineQueries","APIError","Forbidden","NotFound","afterChange","afterRead","beforeChange","beforeValidate","deleteAssociatedFiles","generateFileData","unlinkTempFiles","uploadFiles","commitTransaction","initTransaction","killTransaction","getLatestCollectionVersion","saveVersion","buildAfterOperation","updateByIDOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","id","autosave","collectionConfig","depth","draft","draftArg","overrideAccess","overwriteExistingFiles","fallbackLocale","locale","payload","showHiddenFields","BAD_REQUEST","data","password","shouldSaveDraft","Boolean","versions","drafts","shouldSavePassword","auth","accessResults","access","update","hasWherePolicy","findOneArgs","slug","where","equals","docWithLocales","query","t","originalDoc","doc","global","newFileData","files","filesToUpload","throwOnMissingFile","overrideDelete","upload","disableLocalStorage","result","skipValidation","_status","dataToUpdate","hash","salt","db","updateOne","createdAt","previousDoc","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}