payload 3.0.0-alpha.61 → 3.0.0-alpha.63

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 (439) hide show
  1. package/dist/admin/RichText.d.ts +2 -0
  2. package/dist/admin/RichText.d.ts.map +1 -1
  3. package/dist/admin/RichText.js.map +1 -1
  4. package/dist/admin/elements/PreviewButton.d.ts +2 -1
  5. package/dist/admin/elements/PreviewButton.d.ts.map +1 -1
  6. package/dist/admin/elements/PreviewButton.js.map +1 -1
  7. package/dist/admin/elements/PublishButton.d.ts +2 -1
  8. package/dist/admin/elements/PublishButton.d.ts.map +1 -1
  9. package/dist/admin/elements/PublishButton.js.map +1 -1
  10. package/dist/admin/elements/SaveButton.d.ts +2 -1
  11. package/dist/admin/elements/SaveButton.d.ts.map +1 -1
  12. package/dist/admin/elements/SaveButton.js.map +1 -1
  13. package/dist/admin/elements/SaveDraftButton.d.ts +2 -1
  14. package/dist/admin/elements/SaveDraftButton.d.ts.map +1 -1
  15. package/dist/admin/elements/SaveDraftButton.js.map +1 -1
  16. package/dist/admin/elements/WithServerSideProps.d.ts +5 -0
  17. package/dist/admin/elements/WithServerSideProps.d.ts.map +1 -0
  18. package/dist/admin/elements/WithServerSideProps.js +3 -0
  19. package/dist/admin/elements/WithServerSideProps.js.map +1 -0
  20. package/dist/admin/forms/FieldDescription.d.ts +4 -2
  21. package/dist/admin/forms/FieldDescription.d.ts.map +1 -1
  22. package/dist/admin/forms/FieldDescription.js.map +1 -1
  23. package/dist/admin/forms/RowLabel.d.ts +2 -1
  24. package/dist/admin/forms/RowLabel.d.ts.map +1 -1
  25. package/dist/admin/forms/RowLabel.js.map +1 -1
  26. package/dist/admin/types.d.ts +1 -0
  27. package/dist/admin/types.d.ts.map +1 -1
  28. package/dist/admin/types.js.map +1 -1
  29. package/dist/auth/cookies.d.ts +16 -4
  30. package/dist/auth/cookies.d.ts.map +1 -1
  31. package/dist/auth/cookies.js +45 -14
  32. package/dist/auth/cookies.js.map +1 -1
  33. package/dist/auth/executeAuthStrategies.d.ts +3 -2
  34. package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
  35. package/dist/auth/executeAuthStrategies.js.map +1 -1
  36. package/dist/auth/getFieldsToSign.d.ts +2 -2
  37. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  38. package/dist/auth/getFieldsToSign.js.map +1 -1
  39. package/dist/auth/operations/auth.d.ts +5 -4
  40. package/dist/auth/operations/auth.d.ts.map +1 -1
  41. package/dist/auth/operations/auth.js.map +1 -1
  42. package/dist/auth/operations/forgotPassword.js +3 -3
  43. package/dist/auth/operations/forgotPassword.js.map +1 -1
  44. package/dist/auth/operations/login.d.ts.map +1 -1
  45. package/dist/auth/operations/login.js +17 -1
  46. package/dist/auth/operations/login.js.map +1 -1
  47. package/dist/auth/sendVerificationEmail.d.ts +5 -6
  48. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  49. package/dist/auth/sendVerificationEmail.js +4 -5
  50. package/dist/auth/sendVerificationEmail.js.map +1 -1
  51. package/dist/bin/loader/index.d.ts.map +1 -1
  52. package/dist/bin/loader/index.js +4 -0
  53. package/dist/bin/loader/index.js.map +1 -1
  54. package/dist/collections/config/client.d.ts +15 -12
  55. package/dist/collections/config/client.d.ts.map +1 -1
  56. package/dist/collections/config/client.js +3 -1
  57. package/dist/collections/config/client.js.map +1 -1
  58. package/dist/collections/config/defaults.d.ts +1 -0
  59. package/dist/collections/config/defaults.d.ts.map +1 -1
  60. package/dist/collections/config/defaults.js +1 -0
  61. package/dist/collections/config/defaults.js.map +1 -1
  62. package/dist/collections/config/schema.d.ts.map +1 -1
  63. package/dist/collections/config/schema.js +2 -0
  64. package/dist/collections/config/schema.js.map +1 -1
  65. package/dist/collections/config/types.d.ts +12 -8
  66. package/dist/collections/config/types.d.ts.map +1 -1
  67. package/dist/collections/config/types.js.map +1 -1
  68. package/dist/collections/dataloader.d.ts.map +1 -1
  69. package/dist/collections/dataloader.js +3 -5
  70. package/dist/collections/dataloader.js.map +1 -1
  71. package/dist/collections/operations/count.d.ts +13 -0
  72. package/dist/collections/operations/count.d.ts.map +1 -0
  73. package/dist/collections/operations/count.js +75 -0
  74. package/dist/collections/operations/count.js.map +1 -0
  75. package/dist/collections/operations/create.d.ts.map +1 -1
  76. package/dist/collections/operations/create.js +4 -8
  77. package/dist/collections/operations/create.js.map +1 -1
  78. package/dist/collections/operations/local/count.d.ts +20 -0
  79. package/dist/collections/operations/local/count.d.ts.map +1 -0
  80. package/dist/collections/operations/local/count.js +19 -0
  81. package/dist/collections/operations/local/count.js.map +1 -0
  82. package/dist/collections/operations/local/create.d.ts +2 -2
  83. package/dist/collections/operations/local/create.d.ts.map +1 -1
  84. package/dist/collections/operations/local/create.js.map +1 -1
  85. package/dist/collections/operations/local/delete.d.ts +2 -2
  86. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  87. package/dist/collections/operations/local/delete.js.map +1 -1
  88. package/dist/collections/operations/local/duplicate.d.ts +2 -2
  89. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  90. package/dist/collections/operations/local/duplicate.js.map +1 -1
  91. package/dist/collections/operations/local/find.d.ts +2 -2
  92. package/dist/collections/operations/local/find.d.ts.map +1 -1
  93. package/dist/collections/operations/local/find.js.map +1 -1
  94. package/dist/collections/operations/local/findByID.d.ts +2 -2
  95. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  96. package/dist/collections/operations/local/findByID.js.map +1 -1
  97. package/dist/collections/operations/local/findVersionByID.d.ts +2 -2
  98. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  99. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  100. package/dist/collections/operations/local/findVersions.d.ts +2 -2
  101. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  102. package/dist/collections/operations/local/findVersions.js.map +1 -1
  103. package/dist/collections/operations/local/index.d.ts +2 -0
  104. package/dist/collections/operations/local/index.d.ts.map +1 -1
  105. package/dist/collections/operations/local/index.js +2 -0
  106. package/dist/collections/operations/local/index.js.map +1 -1
  107. package/dist/collections/operations/local/restoreVersion.d.ts +2 -2
  108. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  109. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  110. package/dist/collections/operations/local/update.d.ts +2 -2
  111. package/dist/collections/operations/local/update.d.ts.map +1 -1
  112. package/dist/collections/operations/local/update.js.map +1 -1
  113. package/dist/collections/operations/update.d.ts.map +1 -1
  114. package/dist/collections/operations/update.js +2 -2
  115. package/dist/collections/operations/update.js.map +1 -1
  116. package/dist/collections/operations/updateByID.js +1 -1
  117. package/dist/collections/operations/updateByID.js.map +1 -1
  118. package/dist/collections/operations/utils.d.ts +6 -0
  119. package/dist/collections/operations/utils.d.ts.map +1 -1
  120. package/dist/collections/operations/utils.js.map +1 -1
  121. package/dist/config/client.d.ts +2 -1
  122. package/dist/config/client.d.ts.map +1 -1
  123. package/dist/config/client.js +2 -1
  124. package/dist/config/client.js.map +1 -1
  125. package/dist/config/defaults.d.ts.map +1 -1
  126. package/dist/config/defaults.js +1 -0
  127. package/dist/config/defaults.js.map +1 -1
  128. package/dist/config/find.d.ts.map +1 -1
  129. package/dist/config/find.js +20 -9
  130. package/dist/config/find.js.map +1 -1
  131. package/dist/config/schema.d.ts.map +1 -1
  132. package/dist/config/schema.js +1 -0
  133. package/dist/config/schema.js.map +1 -1
  134. package/dist/config/types.d.ts +27 -50
  135. package/dist/config/types.d.ts.map +1 -1
  136. package/dist/config/types.js +3 -12
  137. package/dist/config/types.js.map +1 -1
  138. package/dist/database/types.d.ts +10 -0
  139. package/dist/database/types.d.ts.map +1 -1
  140. package/dist/database/types.js.map +1 -1
  141. package/dist/email/consoleEmailAdapter.d.ts +3 -0
  142. package/dist/email/consoleEmailAdapter.d.ts.map +1 -0
  143. package/dist/email/consoleEmailAdapter.js +16 -0
  144. package/dist/email/consoleEmailAdapter.js.map +1 -0
  145. package/dist/email/defaults.d.ts +2 -2
  146. package/dist/email/defaults.d.ts.map +1 -1
  147. package/dist/email/defaults.js +3 -3
  148. package/dist/email/defaults.js.map +1 -1
  149. package/dist/email/getStringifiedToAddress.d.ts +3 -0
  150. package/dist/email/getStringifiedToAddress.d.ts.map +1 -0
  151. package/dist/email/getStringifiedToAddress.js +20 -0
  152. package/dist/email/getStringifiedToAddress.js.map +1 -0
  153. package/dist/email/sendEmail.d.ts +3 -2
  154. package/dist/email/sendEmail.d.ts.map +1 -1
  155. package/dist/email/sendEmail.js +8 -4
  156. package/dist/email/sendEmail.js.map +1 -1
  157. package/dist/email/types.d.ts +25 -18
  158. package/dist/email/types.d.ts.map +1 -1
  159. package/dist/email/types.js +5 -1
  160. package/dist/email/types.js.map +1 -1
  161. package/dist/exports/auth.d.ts +1 -0
  162. package/dist/exports/auth.d.ts.map +1 -1
  163. package/dist/exports/auth.js +1 -0
  164. package/dist/exports/auth.js.map +1 -1
  165. package/dist/exports/database.d.ts +1 -1
  166. package/dist/exports/database.d.ts.map +1 -1
  167. package/dist/exports/database.js.map +1 -1
  168. package/dist/exports/i18n/ar.d.ts +2 -0
  169. package/dist/exports/i18n/ar.d.ts.map +1 -0
  170. package/dist/exports/i18n/ar.js +3 -0
  171. package/dist/exports/i18n/ar.js.map +1 -0
  172. package/dist/exports/i18n/az.d.ts +2 -0
  173. package/dist/exports/i18n/az.d.ts.map +1 -0
  174. package/dist/exports/i18n/az.js +3 -0
  175. package/dist/exports/i18n/az.js.map +1 -0
  176. package/dist/exports/i18n/bg.d.ts +2 -0
  177. package/dist/exports/i18n/bg.d.ts.map +1 -0
  178. package/dist/exports/i18n/bg.js +3 -0
  179. package/dist/exports/i18n/bg.js.map +1 -0
  180. package/dist/exports/i18n/cs.d.ts +2 -0
  181. package/dist/exports/i18n/cs.d.ts.map +1 -0
  182. package/dist/exports/i18n/cs.js +3 -0
  183. package/dist/exports/i18n/cs.js.map +1 -0
  184. package/dist/exports/i18n/de.d.ts +2 -0
  185. package/dist/exports/i18n/de.d.ts.map +1 -0
  186. package/dist/exports/i18n/de.js +3 -0
  187. package/dist/exports/i18n/de.js.map +1 -0
  188. package/dist/exports/i18n/en.d.ts +2 -0
  189. package/dist/exports/i18n/en.d.ts.map +1 -0
  190. package/dist/exports/i18n/en.js +3 -0
  191. package/dist/exports/i18n/en.js.map +1 -0
  192. package/dist/exports/i18n/es.d.ts +2 -0
  193. package/dist/exports/i18n/es.d.ts.map +1 -0
  194. package/dist/exports/i18n/es.js +3 -0
  195. package/dist/exports/i18n/es.js.map +1 -0
  196. package/dist/exports/i18n/fa.d.ts +2 -0
  197. package/dist/exports/i18n/fa.d.ts.map +1 -0
  198. package/dist/exports/i18n/fa.js +3 -0
  199. package/dist/exports/i18n/fa.js.map +1 -0
  200. package/dist/exports/i18n/fr.d.ts +2 -0
  201. package/dist/exports/i18n/fr.d.ts.map +1 -0
  202. package/dist/exports/i18n/fr.js +3 -0
  203. package/dist/exports/i18n/fr.js.map +1 -0
  204. package/dist/exports/i18n/hr.d.ts +2 -0
  205. package/dist/exports/i18n/hr.d.ts.map +1 -0
  206. package/dist/exports/i18n/hr.js +3 -0
  207. package/dist/exports/i18n/hr.js.map +1 -0
  208. package/dist/exports/i18n/hu.d.ts +2 -0
  209. package/dist/exports/i18n/hu.d.ts.map +1 -0
  210. package/dist/exports/i18n/hu.js +3 -0
  211. package/dist/exports/i18n/hu.js.map +1 -0
  212. package/dist/exports/i18n/it.d.ts +2 -0
  213. package/dist/exports/i18n/it.d.ts.map +1 -0
  214. package/dist/exports/i18n/it.js +3 -0
  215. package/dist/exports/i18n/it.js.map +1 -0
  216. package/dist/exports/i18n/ja.d.ts +2 -0
  217. package/dist/exports/i18n/ja.d.ts.map +1 -0
  218. package/dist/exports/i18n/ja.js +3 -0
  219. package/dist/exports/i18n/ja.js.map +1 -0
  220. package/dist/exports/i18n/ko.d.ts +2 -0
  221. package/dist/exports/i18n/ko.d.ts.map +1 -0
  222. package/dist/exports/i18n/ko.js +3 -0
  223. package/dist/exports/i18n/ko.js.map +1 -0
  224. package/dist/exports/i18n/my.d.ts +2 -0
  225. package/dist/exports/i18n/my.d.ts.map +1 -0
  226. package/dist/exports/i18n/my.js +3 -0
  227. package/dist/exports/i18n/my.js.map +1 -0
  228. package/dist/exports/i18n/nb.d.ts +2 -0
  229. package/dist/exports/i18n/nb.d.ts.map +1 -0
  230. package/dist/exports/i18n/nb.js +3 -0
  231. package/dist/exports/i18n/nb.js.map +1 -0
  232. package/dist/exports/i18n/nl.d.ts +2 -0
  233. package/dist/exports/i18n/nl.d.ts.map +1 -0
  234. package/dist/exports/i18n/nl.js +3 -0
  235. package/dist/exports/i18n/nl.js.map +1 -0
  236. package/dist/exports/i18n/pl.d.ts +2 -0
  237. package/dist/exports/i18n/pl.d.ts.map +1 -0
  238. package/dist/exports/i18n/pl.js +3 -0
  239. package/dist/exports/i18n/pl.js.map +1 -0
  240. package/dist/exports/i18n/pt.d.ts +2 -0
  241. package/dist/exports/i18n/pt.d.ts.map +1 -0
  242. package/dist/exports/i18n/pt.js +3 -0
  243. package/dist/exports/i18n/pt.js.map +1 -0
  244. package/dist/exports/i18n/ro.d.ts +2 -0
  245. package/dist/exports/i18n/ro.d.ts.map +1 -0
  246. package/dist/exports/i18n/ro.js +3 -0
  247. package/dist/exports/i18n/ro.js.map +1 -0
  248. package/dist/exports/i18n/rs.d.ts +2 -0
  249. package/dist/exports/i18n/rs.d.ts.map +1 -0
  250. package/dist/exports/i18n/rs.js +3 -0
  251. package/dist/exports/i18n/rs.js.map +1 -0
  252. package/dist/exports/i18n/rsLatin.d.ts +2 -0
  253. package/dist/exports/i18n/rsLatin.d.ts.map +1 -0
  254. package/dist/exports/i18n/rsLatin.js +3 -0
  255. package/dist/exports/i18n/rsLatin.js.map +1 -0
  256. package/dist/exports/i18n/ru.d.ts +2 -0
  257. package/dist/exports/i18n/ru.d.ts.map +1 -0
  258. package/dist/exports/i18n/ru.js +3 -0
  259. package/dist/exports/i18n/ru.js.map +1 -0
  260. package/dist/exports/i18n/sv.d.ts +2 -0
  261. package/dist/exports/i18n/sv.d.ts.map +1 -0
  262. package/dist/exports/i18n/sv.js +3 -0
  263. package/dist/exports/i18n/sv.js.map +1 -0
  264. package/dist/exports/i18n/th.d.ts +2 -0
  265. package/dist/exports/i18n/th.d.ts.map +1 -0
  266. package/dist/exports/i18n/th.js +3 -0
  267. package/dist/exports/i18n/th.js.map +1 -0
  268. package/dist/exports/i18n/tr.d.ts +2 -0
  269. package/dist/exports/i18n/tr.d.ts.map +1 -0
  270. package/dist/exports/i18n/tr.js +3 -0
  271. package/dist/exports/i18n/tr.js.map +1 -0
  272. package/dist/exports/i18n/uk.d.ts +2 -0
  273. package/dist/exports/i18n/uk.d.ts.map +1 -0
  274. package/dist/exports/i18n/uk.js +3 -0
  275. package/dist/exports/i18n/uk.js.map +1 -0
  276. package/dist/exports/i18n/vi.d.ts +2 -0
  277. package/dist/exports/i18n/vi.d.ts.map +1 -0
  278. package/dist/exports/i18n/vi.js +3 -0
  279. package/dist/exports/i18n/vi.js.map +1 -0
  280. package/dist/exports/i18n/zh.d.ts +2 -0
  281. package/dist/exports/i18n/zh.d.ts.map +1 -0
  282. package/dist/exports/i18n/zh.js +3 -0
  283. package/dist/exports/i18n/zh.js.map +1 -0
  284. package/dist/exports/i18n/zhTw.d.ts +2 -0
  285. package/dist/exports/i18n/zhTw.d.ts.map +1 -0
  286. package/dist/exports/i18n/zhTw.js +3 -0
  287. package/dist/exports/i18n/zhTw.js.map +1 -0
  288. package/dist/exports/node.d.ts +3 -0
  289. package/dist/exports/node.d.ts.map +1 -1
  290. package/dist/exports/node.js +3 -1
  291. package/dist/exports/node.js.map +1 -1
  292. package/dist/exports/operations.d.ts +1 -0
  293. package/dist/exports/operations.d.ts.map +1 -1
  294. package/dist/exports/operations.js +1 -0
  295. package/dist/exports/operations.js.map +1 -1
  296. package/dist/exports/types.d.ts +1 -0
  297. package/dist/exports/types.d.ts.map +1 -1
  298. package/dist/exports/types.js.map +1 -1
  299. package/dist/exports/utilities.d.ts +4 -2
  300. package/dist/exports/utilities.d.ts.map +1 -1
  301. package/dist/exports/utilities.js +4 -3
  302. package/dist/exports/utilities.js.map +1 -1
  303. package/dist/fields/baseFields/baseBlockFields.d.ts +2 -2
  304. package/dist/fields/baseFields/baseBlockFields.d.ts.map +1 -1
  305. package/dist/fields/baseFields/baseBlockFields.js.map +1 -1
  306. package/dist/fields/config/client.d.ts +128 -103
  307. package/dist/fields/config/client.d.ts.map +1 -1
  308. package/dist/fields/config/client.js +2 -1
  309. package/dist/fields/config/client.js.map +1 -1
  310. package/dist/fields/config/sanitize.spec.js +4 -1
  311. package/dist/fields/config/sanitize.spec.js.map +1 -1
  312. package/dist/fields/config/schema.d.ts.map +1 -1
  313. package/dist/fields/config/schema.js +7 -1
  314. package/dist/fields/config/schema.js.map +1 -1
  315. package/dist/fields/config/types.d.ts +57 -49
  316. package/dist/fields/config/types.d.ts.map +1 -1
  317. package/dist/fields/config/types.js.map +1 -1
  318. package/dist/fields/getDefaultValue.d.ts +2 -2
  319. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  320. package/dist/fields/getDefaultValue.js.map +1 -1
  321. package/dist/fields/validations.d.ts +6 -4
  322. package/dist/fields/validations.d.ts.map +1 -1
  323. package/dist/fields/validations.js +49 -10
  324. package/dist/fields/validations.js.map +1 -1
  325. package/dist/fields/validations.spec.js +6 -1
  326. package/dist/fields/validations.spec.js.map +1 -1
  327. package/dist/globals/config/client.d.ts +1 -1
  328. package/dist/globals/config/client.d.ts.map +1 -1
  329. package/dist/globals/config/client.js +2 -1
  330. package/dist/globals/config/client.js.map +1 -1
  331. package/dist/globals/config/schema.d.ts.map +1 -1
  332. package/dist/globals/config/schema.js +1 -0
  333. package/dist/globals/config/schema.js.map +1 -1
  334. package/dist/globals/config/types.d.ts +4 -3
  335. package/dist/globals/config/types.d.ts.map +1 -1
  336. package/dist/globals/config/types.js.map +1 -1
  337. package/dist/globals/operations/findOne.d.ts +0 -1
  338. package/dist/globals/operations/findOne.d.ts.map +1 -1
  339. package/dist/globals/operations/findOne.js.map +1 -1
  340. package/dist/globals/operations/local/findOne.d.ts +2 -2
  341. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  342. package/dist/globals/operations/local/findOne.js.map +1 -1
  343. package/dist/globals/operations/local/findVersionByID.d.ts +2 -2
  344. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  345. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  346. package/dist/globals/operations/local/findVersions.d.ts +2 -2
  347. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  348. package/dist/globals/operations/local/findVersions.js.map +1 -1
  349. package/dist/globals/operations/local/restoreVersion.d.ts +2 -2
  350. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  351. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  352. package/dist/globals/operations/local/update.d.ts +2 -2
  353. package/dist/globals/operations/local/update.d.ts.map +1 -1
  354. package/dist/globals/operations/local/update.js.map +1 -1
  355. package/dist/index.d.ts +17 -6
  356. package/dist/index.d.ts.map +1 -1
  357. package/dist/index.js +32 -14
  358. package/dist/index.js.map +1 -1
  359. package/dist/preferences/operations/update.d.ts +1 -1
  360. package/dist/preferences/types.d.ts +1 -2
  361. package/dist/preferences/types.d.ts.map +1 -1
  362. package/dist/preferences/types.js.map +1 -1
  363. package/dist/types/index.d.ts +5 -5
  364. package/dist/types/index.d.ts.map +1 -1
  365. package/dist/types/index.js.map +1 -1
  366. package/dist/uploads/generateFileData.d.ts.map +1 -1
  367. package/dist/uploads/generateFileData.js +3 -2
  368. package/dist/uploads/generateFileData.js.map +1 -1
  369. package/dist/uploads/getExternalFile.d.ts +4 -3
  370. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  371. package/dist/uploads/getExternalFile.js +5 -4
  372. package/dist/uploads/getExternalFile.js.map +1 -1
  373. package/dist/uploads/getImageSize.d.ts +1 -1
  374. package/dist/uploads/getImageSize.d.ts.map +1 -1
  375. package/dist/uploads/getImageSize.js +19 -5
  376. package/dist/uploads/getImageSize.js.map +1 -1
  377. package/dist/uploads/tempFile.d.ts +7 -0
  378. package/dist/uploads/tempFile.d.ts.map +1 -0
  379. package/dist/uploads/tempFile.js +39 -0
  380. package/dist/uploads/tempFile.js.map +1 -0
  381. package/dist/uploads/types.d.ts +6 -0
  382. package/dist/uploads/types.d.ts.map +1 -1
  383. package/dist/uploads/types.js.map +1 -1
  384. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  385. package/dist/utilities/configToJSONSchema.js +53 -1
  386. package/dist/utilities/configToJSONSchema.js.map +1 -1
  387. package/dist/utilities/importWithoutClientFiles.d.ts.map +1 -1
  388. package/dist/utilities/importWithoutClientFiles.js +8 -5
  389. package/dist/utilities/importWithoutClientFiles.js.map +1 -1
  390. package/dist/utilities/isEntityHidden.d.ts +2 -2
  391. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  392. package/dist/utilities/isEntityHidden.js.map +1 -1
  393. package/dist/utilities/isReactComponent.d.ts +2 -0
  394. package/dist/utilities/isReactComponent.d.ts.map +1 -1
  395. package/dist/utilities/isReactComponent.js +8 -2
  396. package/dist/utilities/isReactComponent.js.map +1 -1
  397. package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
  398. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  399. package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
  400. package/dist/utilities/telemetry/index.d.ts +3 -0
  401. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  402. package/dist/utilities/telemetry/index.js +32 -6
  403. package/dist/utilities/telemetry/index.js.map +1 -1
  404. package/dist/versions/saveVersion.js +1 -1
  405. package/dist/versions/saveVersion.js.map +1 -1
  406. package/package.json +15 -6
  407. package/src/index.ts +42 -18
  408. package/auth.d.ts +0 -6
  409. package/auth.js +0 -6
  410. package/config.d.ts +0 -14
  411. package/config.js +0 -14
  412. package/database.d.ts +0 -23
  413. package/database.js +0 -22
  414. package/dist/email/build.d.ts +0 -5
  415. package/dist/email/build.d.ts.map +0 -1
  416. package/dist/email/build.js +0 -63
  417. package/dist/email/build.js.map +0 -1
  418. package/dist/email/mockHandler.d.ts +0 -5
  419. package/dist/email/mockHandler.d.ts.map +0 -1
  420. package/dist/email/mockHandler.js +0 -24
  421. package/dist/email/mockHandler.js.map +0 -1
  422. package/dist/utilities/getIDType.d.ts +0 -4
  423. package/dist/utilities/getIDType.d.ts.map +0 -1
  424. package/dist/utilities/getIDType.js +0 -8
  425. package/dist/utilities/getIDType.js.map +0 -1
  426. package/errors.d.ts +0 -2
  427. package/errors.js +0 -3
  428. package/node.d.ts +0 -3
  429. package/node.js +0 -4
  430. package/operations.d.ts +0 -30
  431. package/operations.js +0 -31
  432. package/types.d.ts +0 -17
  433. package/types.js +0 -5
  434. package/uploads.d.ts +0 -2
  435. package/uploads.js +0 -3
  436. package/utilities.d.ts +0 -32
  437. package/utilities.js +0 -33
  438. package/versions.d.ts +0 -9
  439. package/versions.js +0 -9
@@ -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,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,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,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 +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 { 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?: GeneratedTypes['locale']\n file?: File\n filePath?: string\n locale?: GeneratedTypes['locale']\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 +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,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,CAkXpC,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
  });
@@ -188,7 +189,7 @@ export const updateOperation = async (incomingArgs)=>{
188
189
  global: null,
189
190
  operation: 'update',
190
191
  req,
191
- skipValidation: shouldSaveDraft || data._status === 'draft'
192
+ skipValidation: Boolean(collectionConfig.versions?.drafts) && data._status !== 'published'
192
193
  });
193
194
  // /////////////////////////////////////
194
195
  // Update
@@ -213,7 +214,6 @@ export const updateOperation = async (incomingArgs)=>{
213
214
  ...result,
214
215
  createdAt: doc.createdAt
215
216
  },
216
- draft: shouldSaveDraft,
217
217
  payload,
218
218
  req
219
219
  });
@@ -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 { 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 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 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:\n Boolean(collectionConfig.versions?.drafts) && data._status !== 'published',\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 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","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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"}
@@ -170,7 +170,7 @@ export const updateByIDOperation = async (incomingArgs)=>{
170
170
  global: null,
171
171
  operation: 'update',
172
172
  req,
173
- skipValidation: shouldSaveDraft || data._status === 'draft'
173
+ skipValidation: Boolean(collectionConfig.versions?.drafts) && data._status !== 'published'
174
174
  });
175
175
  // /////////////////////////////////////
176
176
  // Handle potential password update
@@ -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 { 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: 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) {\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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"}
@@ -3,6 +3,7 @@ import type { loginOperation } from '../../auth/operations/login.js';
3
3
  import type { refreshOperation } from '../../auth/operations/refresh.js';
4
4
  import type { PayloadRequest } from '../../types/index.js';
5
5
  import type { SanitizedCollectionConfig, TypeWithID } from '../config/types.js';
6
+ import type { countOperation } from './count.js';
6
7
  import type { createOperation } from './create.js';
7
8
  import type { deleteOperation } from './delete.js';
8
9
  import type { deleteByIDOperation } from './deleteByID.js';
@@ -11,6 +12,7 @@ import type { findByIDOperation } from './findByID.js';
11
12
  import type { updateOperation } from './update.js';
12
13
  import type { updateByIDOperation } from './updateByID.js';
13
14
  export type AfterOperationMap<T extends TypeWithID> = {
15
+ count: typeof countOperation;
14
16
  create: typeof createOperation;
15
17
  delete: typeof deleteOperation;
16
18
  deleteByID: typeof deleteByIDOperation;
@@ -27,6 +29,10 @@ export type AfterOperationArg<T extends TypeWithID> = {
27
29
  collection: SanitizedCollectionConfig;
28
30
  req: PayloadRequest;
29
31
  } & ({
32
+ args: Parameters<AfterOperationMap<T>['count']>[0];
33
+ operation: 'count';
34
+ result: Awaited<ReturnType<AfterOperationMap<T>['count']>>;
35
+ } | {
30
36
  args: Parameters<AfterOperationMap<T>['create']>[0];
31
37
  operation: 'create';
32
38
  result: Awaited<ReturnType<AfterOperationMap<T>['create']>>;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/utils.ts"],"sourcesContent":["import type { forgotPasswordOperation } from '../../auth/operations/forgotPassword.js'\nimport type { loginOperation } from '../../auth/operations/login.js'\nimport type { refreshOperation } from '../../auth/operations/refresh.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { AfterOperationHook, SanitizedCollectionConfig, TypeWithID } from '../config/types.js'\nimport type { createOperation } from './create.js'\nimport type { deleteOperation } from './delete.js'\nimport type { deleteByIDOperation } from './deleteByID.js'\nimport type { findOperation } from './find.js'\nimport type { findByIDOperation } from './findByID.js'\nimport type { updateOperation } from './update.js'\nimport type { updateByIDOperation } from './updateByID.js'\n\nexport type AfterOperationMap<T extends TypeWithID> = {\n create: typeof createOperation // todo: pass correct generic\n delete: typeof deleteOperation // todo: pass correct generic\n deleteByID: typeof deleteByIDOperation // todo: pass correct generic\n find: typeof findOperation<T>\n findByID: typeof findByIDOperation<T>\n forgotPassword: typeof forgotPasswordOperation\n login: typeof loginOperation\n refresh: typeof refreshOperation\n update: typeof updateOperation // todo: pass correct generic\n updateByID: typeof updateByIDOperation // todo: pass correct generic\n}\nexport type AfterOperationArg<T extends TypeWithID> = {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n req: PayloadRequest\n} & (\n | {\n args: Parameters<AfterOperationMap<T>['create']>[0]\n operation: 'create'\n result: Awaited<ReturnType<AfterOperationMap<T>['create']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['delete']>[0]\n operation: 'delete'\n result: Awaited<ReturnType<AfterOperationMap<T>['delete']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['deleteByID']>[0]\n operation: 'deleteByID'\n result: Awaited<ReturnType<AfterOperationMap<T>['deleteByID']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['find']>[0]\n operation: 'find'\n result: Awaited<ReturnType<AfterOperationMap<T>['find']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['findByID']>[0]\n operation: 'findByID'\n result: Awaited<ReturnType<AfterOperationMap<T>['findByID']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['forgotPassword']>[0]\n operation: 'forgotPassword'\n result: Awaited<ReturnType<AfterOperationMap<T>['forgotPassword']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['login']>[0]\n operation: 'login'\n result: Awaited<ReturnType<AfterOperationMap<T>['login']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['refresh']>[0]\n operation: 'refresh'\n result: Awaited<ReturnType<AfterOperationMap<T>['refresh']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['update']>[0]\n operation: 'update'\n result: Awaited<ReturnType<AfterOperationMap<T>['update']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['updateByID']>[0]\n operation: 'updateByID'\n result: Awaited<ReturnType<AfterOperationMap<T>['updateByID']>>\n }\n)\n\n// export type AfterOperationHook = typeof buildAfterOperation;\n\nexport const buildAfterOperation = async <\n T extends TypeWithID = any,\n O extends keyof AfterOperationMap<T> = keyof AfterOperationMap<T>,\n>(\n operationArgs: Omit<AfterOperationArg<T>, 'req'> & { operation: O },\n): Promise<Awaited<ReturnType<AfterOperationMap<T>[O]>>> => {\n const { args, collection, operation, result } = operationArgs\n\n let newResult = result\n\n await args.collection.config.hooks.afterOperation.reduce(\n async (priorHook, hook: AfterOperationHook<T>) => {\n await priorHook\n\n const hookResult = await hook({\n args,\n collection,\n operation,\n req: args.req,\n result: newResult,\n } as AfterOperationArg<T>)\n\n if (hookResult !== undefined) {\n newResult = hookResult\n }\n },\n Promise.resolve(),\n )\n\n return newResult\n}\n"],"names":["buildAfterOperation","operationArgs","args","collection","operation","result","newResult","config","hooks","afterOperation","reduce","priorHook","hook","hookResult","req","undefined","Promise","resolve"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":"AAkFA,+DAA+D;AAE/D,OAAO,MAAMA,sBAAsB,OAIjCC;IAEA,MAAM,EAAEC,IAAI,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAE,GAAGJ;IAEhD,IAAIK,YAAYD;IAEhB,MAAMH,KAAKC,UAAU,CAACI,MAAM,CAACC,KAAK,CAACC,cAAc,CAACC,MAAM,CACtD,OAAOC,WAAWC;QAChB,MAAMD;QAEN,MAAME,aAAa,MAAMD,KAAK;YAC5BV;YACAC;YACAC;YACAU,KAAKZ,KAAKY,GAAG;YACbT,QAAQC;QACV;QAEA,IAAIO,eAAeE,WAAW;YAC5BT,YAAYO;QACd;IACF,GACAG,QAAQC,OAAO;IAGjB,OAAOX;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/collections/operations/utils.ts"],"sourcesContent":["import type { forgotPasswordOperation } from '../../auth/operations/forgotPassword.js'\nimport type { loginOperation } from '../../auth/operations/login.js'\nimport type { refreshOperation } from '../../auth/operations/refresh.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { AfterOperationHook, SanitizedCollectionConfig, TypeWithID } from '../config/types.js'\nimport type { countOperation } from './count.js'\nimport type { createOperation } from './create.js'\nimport type { deleteOperation } from './delete.js'\nimport type { deleteByIDOperation } from './deleteByID.js'\nimport type { findOperation } from './find.js'\nimport type { findByIDOperation } from './findByID.js'\nimport type { updateOperation } from './update.js'\nimport type { updateByIDOperation } from './updateByID.js'\n\nexport type AfterOperationMap<T extends TypeWithID> = {\n count: typeof countOperation\n create: typeof createOperation // todo: pass correct generic\n delete: typeof deleteOperation // todo: pass correct generic\n deleteByID: typeof deleteByIDOperation // todo: pass correct generic\n find: typeof findOperation<T>\n findByID: typeof findByIDOperation<T>\n forgotPassword: typeof forgotPasswordOperation\n login: typeof loginOperation\n refresh: typeof refreshOperation\n update: typeof updateOperation // todo: pass correct generic\n updateByID: typeof updateByIDOperation // todo: pass correct generic\n}\nexport type AfterOperationArg<T extends TypeWithID> = {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n req: PayloadRequest\n} & (\n | {\n args: Parameters<AfterOperationMap<T>['count']>[0]\n operation: 'count'\n result: Awaited<ReturnType<AfterOperationMap<T>['count']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['create']>[0]\n operation: 'create'\n result: Awaited<ReturnType<AfterOperationMap<T>['create']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['delete']>[0]\n operation: 'delete'\n result: Awaited<ReturnType<AfterOperationMap<T>['delete']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['deleteByID']>[0]\n operation: 'deleteByID'\n result: Awaited<ReturnType<AfterOperationMap<T>['deleteByID']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['find']>[0]\n operation: 'find'\n result: Awaited<ReturnType<AfterOperationMap<T>['find']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['findByID']>[0]\n operation: 'findByID'\n result: Awaited<ReturnType<AfterOperationMap<T>['findByID']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['forgotPassword']>[0]\n operation: 'forgotPassword'\n result: Awaited<ReturnType<AfterOperationMap<T>['forgotPassword']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['login']>[0]\n operation: 'login'\n result: Awaited<ReturnType<AfterOperationMap<T>['login']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['refresh']>[0]\n operation: 'refresh'\n result: Awaited<ReturnType<AfterOperationMap<T>['refresh']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['update']>[0]\n operation: 'update'\n result: Awaited<ReturnType<AfterOperationMap<T>['update']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['updateByID']>[0]\n operation: 'updateByID'\n result: Awaited<ReturnType<AfterOperationMap<T>['updateByID']>>\n }\n)\n\n// export type AfterOperationHook = typeof buildAfterOperation;\n\nexport const buildAfterOperation = async <\n T extends TypeWithID = any,\n O extends keyof AfterOperationMap<T> = keyof AfterOperationMap<T>,\n>(\n operationArgs: Omit<AfterOperationArg<T>, 'req'> & { operation: O },\n): Promise<Awaited<ReturnType<AfterOperationMap<T>[O]>>> => {\n const { args, collection, operation, result } = operationArgs\n\n let newResult = result\n\n await args.collection.config.hooks.afterOperation.reduce(\n async (priorHook, hook: AfterOperationHook<T>) => {\n await priorHook\n\n const hookResult = await hook({\n args,\n collection,\n operation,\n req: args.req,\n result: newResult,\n } as AfterOperationArg<T>)\n\n if (hookResult !== undefined) {\n newResult = hookResult\n }\n },\n Promise.resolve(),\n )\n\n return newResult\n}\n"],"names":["buildAfterOperation","operationArgs","args","collection","operation","result","newResult","config","hooks","afterOperation","reduce","priorHook","hook","hookResult","req","undefined","Promise","resolve"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":"AAyFA,+DAA+D;AAE/D,OAAO,MAAMA,sBAAsB,OAIjCC;IAEA,MAAM,EAAEC,IAAI,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAE,GAAGJ;IAEhD,IAAIK,YAAYD;IAEhB,MAAMH,KAAKC,UAAU,CAACI,MAAM,CAACC,KAAK,CAACC,cAAc,CAACC,MAAM,CACtD,OAAOC,WAAWC;QAChB,MAAMD;QAEN,MAAME,aAAa,MAAMD,KAAK;YAC5BV;YACAC;YACAC;YACAU,KAAKZ,KAAKY,GAAG;YACbT,QAAQC;QACV;QAEA,IAAIO,eAAeE,WAAW;YAC5BT,YAAYO;QACd;IACF,GACAG,QAAQC,OAAO;IAGjB,OAAOX;AACT,EAAC"}
@@ -2,13 +2,14 @@ import type { TFunction } from '@payloadcms/translations';
2
2
  import type { ClientCollectionConfig } from '../collections/config/client.js';
3
3
  import type { ClientGlobalConfig } from '../globals/config/client.js';
4
4
  import type { LivePreviewConfig, SanitizedConfig, ServerOnlyLivePreviewProperties } from './types.js';
5
- export type ServerOnlyRootProperties = keyof Pick<SanitizedConfig, 'bin' | 'cors' | 'csrf' | 'db' | 'editor' | 'email' | 'endpoints' | 'hooks' | 'onInit' | 'plugins' | 'secret' | 'sharp' | 'typescript'>;
5
+ export type ServerOnlyRootProperties = keyof Pick<SanitizedConfig, 'bin' | 'cors' | 'csrf' | 'custom' | 'db' | 'editor' | 'email' | 'endpoints' | 'hooks' | 'onInit' | 'plugins' | 'secret' | 'sharp' | 'typescript'>;
6
6
  export type ServerOnlyRootAdminProperties = keyof Pick<SanitizedConfig['admin'], 'components'>;
7
7
  export type ClientConfig = Omit<SanitizedConfig, 'admin' | 'collections' | 'globals' | ServerOnlyRootProperties> & {
8
8
  admin: Omit<SanitizedConfig['admin'], ServerOnlyRootAdminProperties & 'livePreview'> & {
9
9
  livePreview?: Omit<LivePreviewConfig, ServerOnlyLivePreviewProperties>;
10
10
  };
11
11
  collections: ClientCollectionConfig[];
12
+ custom?: Record<string, any>;
12
13
  globals: ClientGlobalConfig[];
13
14
  };
14
15
  export declare const createClientConfig: ({ config, t, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,+BAA+B,EAChC,MAAM,YAAY,CAAA;AAKnB,MAAM,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAC/C,eAAe,EACb,KAAK,GACL,MAAM,GACN,MAAM,GACN,IAAI,GACJ,QAAQ,GACR,OAAO,GACP,WAAW,GACX,OAAO,GACP,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,YAAY,CACf,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAA;AAE9F,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,eAAe,EACf,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,wBAAwB,CAC/D,GAAG;IACF,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,6BAA6B,GAAG,aAAa,CAAC,GAAG;QACrF,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAA;KACvE,CAAA;IACD,WAAW,EAAE,sBAAsB,EAAE,CAAA;IACrC,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,kBAAkB,mBAG5B;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,CAAC,EAAE,SAAS,CAAA;CACb,KAAG,QAAQ,YAAY,CA8DvB,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,+BAA+B,EAChC,MAAM,YAAY,CAAA;AAKnB,MAAM,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAC/C,eAAe,EACb,KAAK,GACL,MAAM,GACN,MAAM,GACN,QAAQ,GACR,IAAI,GACJ,QAAQ,GACR,OAAO,GACP,WAAW,GACX,OAAO,GACP,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,YAAY,CACf,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAA;AAE9F,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,eAAe,EACf,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,wBAAwB,CAC/D,GAAG;IACF,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,6BAA6B,GAAG,aAAa,CAAC,GAAG;QACrF,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAA;KACvE,CAAA;IACD,WAAW,EAAE,sBAAsB,EAAE,CAAA;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,kBAAkB,mBAG5B;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,CAAC,EAAE,SAAS,CAAA;CAEb,KAAG,QAAQ,YAAY,CA+DvB,CAAA"}
@@ -17,7 +17,8 @@ export const createClientConfig = async ({ config, t })=>{
17
17
  'typescript',
18
18
  'cors',
19
19
  'csrf',
20
- 'email'
20
+ 'email',
21
+ 'custom'
21
22
  ];
22
23
  serverOnlyConfigProperties.forEach((key)=>{
23
24
  if (key in clientConfig) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config/client.ts"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\n\nimport type { ClientCollectionConfig } from '../collections/config/client.js'\nimport type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { ClientGlobalConfig } from '../globals/config/client.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type {\n LivePreviewConfig,\n SanitizedConfig,\n ServerOnlyLivePreviewProperties,\n} from './types.js'\n\nimport { createClientCollectionConfigs } from '../collections/config/client.js'\nimport { createClientGlobalConfigs } from '../globals/config/client.js'\n\nexport type ServerOnlyRootProperties = keyof Pick<\n SanitizedConfig,\n | 'bin'\n | 'cors'\n | 'csrf'\n | 'db'\n | 'editor'\n | 'email'\n | 'endpoints'\n | 'hooks'\n | 'onInit'\n | 'plugins'\n | 'secret'\n | 'sharp'\n | 'typescript'\n>\n\nexport type ServerOnlyRootAdminProperties = keyof Pick<SanitizedConfig['admin'], 'components'>\n\nexport type ClientConfig = Omit<\n SanitizedConfig,\n 'admin' | 'collections' | 'globals' | ServerOnlyRootProperties\n> & {\n admin: Omit<SanitizedConfig['admin'], ServerOnlyRootAdminProperties & 'livePreview'> & {\n livePreview?: Omit<LivePreviewConfig, ServerOnlyLivePreviewProperties>\n }\n collections: ClientCollectionConfig[]\n globals: ClientGlobalConfig[]\n}\n\nexport const createClientConfig = async ({\n config,\n t,\n}: {\n config: SanitizedConfig\n t: TFunction\n}): Promise<ClientConfig> => {\n const clientConfig: ClientConfig = { ...config }\n\n const serverOnlyConfigProperties: Partial<ServerOnlyRootProperties>[] = [\n 'endpoints',\n 'db',\n 'editor',\n 'plugins',\n 'sharp',\n 'onInit',\n 'secret',\n 'hooks',\n 'bin',\n 'typescript',\n 'cors',\n 'csrf',\n 'email',\n // `admin`, `onInit`, `localization`, `collections`, and `globals` are all handled separately\n ]\n\n serverOnlyConfigProperties.forEach((key) => {\n if (key in clientConfig) {\n delete clientConfig[key]\n }\n })\n\n if ('localization' in clientConfig && clientConfig.localization) {\n clientConfig.localization = { ...clientConfig.localization }\n\n clientConfig.localization.locales.forEach((locale) => {\n delete locale.toString\n })\n }\n\n if ('admin' in clientConfig) {\n clientConfig.admin = { ...clientConfig.admin }\n\n const serverOnlyAdminProperties: Partial<ServerOnlyRootAdminProperties>[] = ['components']\n\n serverOnlyAdminProperties.forEach((key) => {\n if (key in clientConfig.admin) {\n delete clientConfig.admin[key]\n }\n })\n\n if ('livePreview' in clientConfig.admin) {\n clientConfig.admin.livePreview = { ...clientConfig.admin.livePreview }\n delete clientConfig.admin.livePreview.url\n }\n }\n\n clientConfig.collections = createClientCollectionConfigs({\n collections: clientConfig.collections as SanitizedCollectionConfig[],\n t,\n })\n\n clientConfig.globals = createClientGlobalConfigs({\n globals: clientConfig.globals as SanitizedGlobalConfig[],\n t,\n })\n\n return clientConfig\n}\n"],"names":["createClientCollectionConfigs","createClientGlobalConfigs","createClientConfig","config","t","clientConfig","serverOnlyConfigProperties","forEach","key","localization","locales","locale","toString","admin","serverOnlyAdminProperties","livePreview","url","collections","globals"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAYA,SAASA,6BAA6B,QAAQ,kCAAiC;AAC/E,SAASC,yBAAyB,QAAQ,8BAA6B;AAgCvE,OAAO,MAAMC,qBAAqB,OAAO,EACvCC,MAAM,EACNC,CAAC,EAIF;IACC,MAAMC,eAA6B;QAAE,GAAGF,MAAM;IAAC;IAE/C,MAAMG,6BAAkE;QACtE;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KAED;IAEDA,2BAA2BC,OAAO,CAAC,CAACC;QAClC,IAAIA,OAAOH,cAAc;YACvB,OAAOA,YAAY,CAACG,IAAI;QAC1B;IACF;IAEA,IAAI,kBAAkBH,gBAAgBA,aAAaI,YAAY,EAAE;QAC/DJ,aAAaI,YAAY,GAAG;YAAE,GAAGJ,aAAaI,YAAY;QAAC;QAE3DJ,aAAaI,YAAY,CAACC,OAAO,CAACH,OAAO,CAAC,CAACI;YACzC,OAAOA,OAAOC,QAAQ;QACxB;IACF;IAEA,IAAI,WAAWP,cAAc;QAC3BA,aAAaQ,KAAK,GAAG;YAAE,GAAGR,aAAaQ,KAAK;QAAC;QAE7C,MAAMC,4BAAsE;YAAC;SAAa;QAE1FA,0BAA0BP,OAAO,CAAC,CAACC;YACjC,IAAIA,OAAOH,aAAaQ,KAAK,EAAE;gBAC7B,OAAOR,aAAaQ,KAAK,CAACL,IAAI;YAChC;QACF;QAEA,IAAI,iBAAiBH,aAAaQ,KAAK,EAAE;YACvCR,aAAaQ,KAAK,CAACE,WAAW,GAAG;gBAAE,GAAGV,aAAaQ,KAAK,CAACE,WAAW;YAAC;YACrE,OAAOV,aAAaQ,KAAK,CAACE,WAAW,CAACC,GAAG;QAC3C;IACF;IAEAX,aAAaY,WAAW,GAAGjB,8BAA8B;QACvDiB,aAAaZ,aAAaY,WAAW;QACrCb;IACF;IAEAC,aAAaa,OAAO,GAAGjB,0BAA0B;QAC/CiB,SAASb,aAAaa,OAAO;QAC7Bd;IACF;IAEA,OAAOC;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/config/client.ts"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\n\nimport type { ClientCollectionConfig } from '../collections/config/client.js'\nimport type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { ClientGlobalConfig } from '../globals/config/client.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type {\n LivePreviewConfig,\n SanitizedConfig,\n ServerOnlyLivePreviewProperties,\n} from './types.js'\n\nimport { createClientCollectionConfigs } from '../collections/config/client.js'\nimport { createClientGlobalConfigs } from '../globals/config/client.js'\n\nexport type ServerOnlyRootProperties = keyof Pick<\n SanitizedConfig,\n | 'bin'\n | 'cors'\n | 'csrf'\n | 'custom'\n | 'db'\n | 'editor'\n | 'email'\n | 'endpoints'\n | 'hooks'\n | 'onInit'\n | 'plugins'\n | 'secret'\n | 'sharp'\n | 'typescript'\n>\n\nexport type ServerOnlyRootAdminProperties = keyof Pick<SanitizedConfig['admin'], 'components'>\n\nexport type ClientConfig = Omit<\n SanitizedConfig,\n 'admin' | 'collections' | 'globals' | ServerOnlyRootProperties\n> & {\n admin: Omit<SanitizedConfig['admin'], ServerOnlyRootAdminProperties & 'livePreview'> & {\n livePreview?: Omit<LivePreviewConfig, ServerOnlyLivePreviewProperties>\n }\n collections: ClientCollectionConfig[]\n custom?: Record<string, any>\n globals: ClientGlobalConfig[]\n}\n\nexport const createClientConfig = async ({\n config,\n t,\n}: {\n config: SanitizedConfig\n t: TFunction\n // eslint-disable-next-line @typescript-eslint/require-await\n}): Promise<ClientConfig> => {\n const clientConfig: ClientConfig = { ...config }\n\n const serverOnlyConfigProperties: Partial<ServerOnlyRootProperties>[] = [\n 'endpoints',\n 'db',\n 'editor',\n 'plugins',\n 'sharp',\n 'onInit',\n 'secret',\n 'hooks',\n 'bin',\n 'typescript',\n 'cors',\n 'csrf',\n 'email',\n 'custom',\n // `admin`, `onInit`, `localization`, `collections`, and `globals` are all handled separately\n ]\n\n serverOnlyConfigProperties.forEach((key) => {\n if (key in clientConfig) {\n delete clientConfig[key]\n }\n })\n\n if ('localization' in clientConfig && clientConfig.localization) {\n clientConfig.localization = { ...clientConfig.localization }\n\n clientConfig.localization.locales.forEach((locale) => {\n delete locale.toString\n })\n }\n\n if ('admin' in clientConfig) {\n clientConfig.admin = { ...clientConfig.admin }\n\n const serverOnlyAdminProperties: Partial<ServerOnlyRootAdminProperties>[] = ['components']\n\n serverOnlyAdminProperties.forEach((key) => {\n if (key in clientConfig.admin) {\n delete clientConfig.admin[key]\n }\n })\n\n if ('livePreview' in clientConfig.admin) {\n clientConfig.admin.livePreview = { ...clientConfig.admin.livePreview }\n delete clientConfig.admin.livePreview.url\n }\n }\n\n clientConfig.collections = createClientCollectionConfigs({\n collections: clientConfig.collections as SanitizedCollectionConfig[],\n t,\n })\n\n clientConfig.globals = createClientGlobalConfigs({\n globals: clientConfig.globals as SanitizedGlobalConfig[],\n t,\n })\n\n return clientConfig\n}\n"],"names":["createClientCollectionConfigs","createClientGlobalConfigs","createClientConfig","config","t","clientConfig","serverOnlyConfigProperties","forEach","key","localization","locales","locale","toString","admin","serverOnlyAdminProperties","livePreview","url","collections","globals"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAYA,SAASA,6BAA6B,QAAQ,kCAAiC;AAC/E,SAASC,yBAAyB,QAAQ,8BAA6B;AAkCvE,OAAO,MAAMC,qBAAqB,OAAO,EACvCC,MAAM,EACNC,CAAC,EAKF;IACC,MAAMC,eAA6B;QAAE,GAAGF,MAAM;IAAC;IAE/C,MAAMG,6BAAkE;QACtE;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KAED;IAEDA,2BAA2BC,OAAO,CAAC,CAACC;QAClC,IAAIA,OAAOH,cAAc;YACvB,OAAOA,YAAY,CAACG,IAAI;QAC1B;IACF;IAEA,IAAI,kBAAkBH,gBAAgBA,aAAaI,YAAY,EAAE;QAC/DJ,aAAaI,YAAY,GAAG;YAAE,GAAGJ,aAAaI,YAAY;QAAC;QAE3DJ,aAAaI,YAAY,CAACC,OAAO,CAACH,OAAO,CAAC,CAACI;YACzC,OAAOA,OAAOC,QAAQ;QACxB;IACF;IAEA,IAAI,WAAWP,cAAc;QAC3BA,aAAaQ,KAAK,GAAG;YAAE,GAAGR,aAAaQ,KAAK;QAAC;QAE7C,MAAMC,4BAAsE;YAAC;SAAa;QAE1FA,0BAA0BP,OAAO,CAAC,CAACC;YACjC,IAAIA,OAAOH,aAAaQ,KAAK,EAAE;gBAC7B,OAAOR,aAAaQ,KAAK,CAACL,IAAI;YAChC;QACF;QAEA,IAAI,iBAAiBH,aAAaQ,KAAK,EAAE;YACvCR,aAAaQ,KAAK,CAACE,WAAW,GAAG;gBAAE,GAAGV,aAAaQ,KAAK,CAACE,WAAW;YAAC;YACrE,OAAOV,aAAaQ,KAAK,CAACE,WAAW,CAACC,GAAG;QAC3C;IACF;IAEAX,aAAaY,WAAW,GAAGjB,8BAA8B;QACvDiB,aAAaZ,aAAaY,WAAW;QACrCb;IACF;IAEAC,aAAaa,OAAO,GAAGjB,0BAA0B;QAC/CiB,SAASb,aAAaa,OAAO;QAC7Bd;IACF;IAEA,OAAOC;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,eAAO,MAAM,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,QAAQ,GAAG,QAAQ,CAyC7D,CAAA"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,eAAO,MAAM,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,QAAQ,GAAG,QAAQ,CA0C7D,CAAA"}
@@ -2,6 +2,7 @@ export const defaults = {
2
2
  admin: {
3
3
  avatar: 'default',
4
4
  components: {},
5
+ custom: {},
5
6
  dateFormat: 'MMMM do yyyy, h:mm a',
6
7
  disable: false,
7
8
  inactivityRoute: '/logout-inactivity',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config/defaults.ts"],"sourcesContent":["import type { Config } from './types.js'\n\nexport const defaults: Omit<Config, 'db' | 'editor' | 'secret'> = {\n admin: {\n avatar: 'default',\n components: {},\n dateFormat: 'MMMM do yyyy, h:mm a',\n disable: false,\n inactivityRoute: '/logout-inactivity',\n logoutRoute: '/logout',\n meta: {\n titleSuffix: '- Payload',\n },\n },\n bin: [],\n collections: [],\n cookiePrefix: 'payload',\n cors: [],\n csrf: [],\n custom: {},\n defaultDepth: 2,\n defaultMaxTextLength: 40000,\n endpoints: [],\n globals: [],\n graphQL: {\n disablePlaygroundInProduction: true,\n maxComplexity: 1000,\n },\n hooks: {},\n localization: false,\n maxDepth: 10,\n routes: {\n admin: '/admin',\n api: '/api',\n graphQL: '/graphql',\n graphQLPlayground: '/graphql-playground',\n },\n serverURL: '',\n telemetry: true,\n typescript: {\n outputFile: `${typeof process?.cwd === 'function' ? process.cwd() : ''}/payload-types.ts`,\n },\n upload: {},\n}\n"],"names":["defaults","admin","avatar","components","dateFormat","disable","inactivityRoute","logoutRoute","meta","titleSuffix","bin","collections","cookiePrefix","cors","csrf","custom","defaultDepth","defaultMaxTextLength","endpoints","globals","graphQL","disablePlaygroundInProduction","maxComplexity","hooks","localization","maxDepth","routes","api","graphQLPlayground","serverURL","telemetry","typescript","outputFile","process","cwd","upload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAO,MAAMA,WAAqD;IAChEC,OAAO;QACLC,QAAQ;QACRC,YAAY,CAAC;QACbC,YAAY;QACZC,SAAS;QACTC,iBAAiB;QACjBC,aAAa;QACbC,MAAM;YACJC,aAAa;QACf;IACF;IACAC,KAAK,EAAE;IACPC,aAAa,EAAE;IACfC,cAAc;IACdC,MAAM,EAAE;IACRC,MAAM,EAAE;IACRC,QAAQ,CAAC;IACTC,cAAc;IACdC,sBAAsB;IACtBC,WAAW,EAAE;IACbC,SAAS,EAAE;IACXC,SAAS;QACPC,+BAA+B;QAC/BC,eAAe;IACjB;IACAC,OAAO,CAAC;IACRC,cAAc;IACdC,UAAU;IACVC,QAAQ;QACNzB,OAAO;QACP0B,KAAK;QACLP,SAAS;QACTQ,mBAAmB;IACrB;IACAC,WAAW;IACXC,WAAW;IACXC,YAAY;QACVC,YAAY,CAAC,EAAE,OAAOC,SAASC,QAAQ,aAAaD,QAAQC,GAAG,KAAK,GAAG,iBAAiB,CAAC;IAC3F;IACAC,QAAQ,CAAC;AACX,EAAC"}
1
+ {"version":3,"sources":["../../src/config/defaults.ts"],"sourcesContent":["import type { Config } from './types.js'\n\nexport const defaults: Omit<Config, 'db' | 'editor' | 'secret'> = {\n admin: {\n avatar: 'default',\n components: {},\n custom: {},\n dateFormat: 'MMMM do yyyy, h:mm a',\n disable: false,\n inactivityRoute: '/logout-inactivity',\n logoutRoute: '/logout',\n meta: {\n titleSuffix: '- Payload',\n },\n },\n bin: [],\n collections: [],\n cookiePrefix: 'payload',\n cors: [],\n csrf: [],\n custom: {},\n defaultDepth: 2,\n defaultMaxTextLength: 40000,\n endpoints: [],\n globals: [],\n graphQL: {\n disablePlaygroundInProduction: true,\n maxComplexity: 1000,\n },\n hooks: {},\n localization: false,\n maxDepth: 10,\n routes: {\n admin: '/admin',\n api: '/api',\n graphQL: '/graphql',\n graphQLPlayground: '/graphql-playground',\n },\n serverURL: '',\n telemetry: true,\n typescript: {\n outputFile: `${typeof process?.cwd === 'function' ? process.cwd() : ''}/payload-types.ts`,\n },\n upload: {},\n}\n"],"names":["defaults","admin","avatar","components","custom","dateFormat","disable","inactivityRoute","logoutRoute","meta","titleSuffix","bin","collections","cookiePrefix","cors","csrf","defaultDepth","defaultMaxTextLength","endpoints","globals","graphQL","disablePlaygroundInProduction","maxComplexity","hooks","localization","maxDepth","routes","api","graphQLPlayground","serverURL","telemetry","typescript","outputFile","process","cwd","upload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAO,MAAMA,WAAqD;IAChEC,OAAO;QACLC,QAAQ;QACRC,YAAY,CAAC;QACbC,QAAQ,CAAC;QACTC,YAAY;QACZC,SAAS;QACTC,iBAAiB;QACjBC,aAAa;QACbC,MAAM;YACJC,aAAa;QACf;IACF;IACAC,KAAK,EAAE;IACPC,aAAa,EAAE;IACfC,cAAc;IACdC,MAAM,EAAE;IACRC,MAAM,EAAE;IACRX,QAAQ,CAAC;IACTY,cAAc;IACdC,sBAAsB;IACtBC,WAAW,EAAE;IACbC,SAAS,EAAE;IACXC,SAAS;QACPC,+BAA+B;QAC/BC,eAAe;IACjB;IACAC,OAAO,CAAC;IACRC,cAAc;IACdC,UAAU;IACVC,QAAQ;QACNzB,OAAO;QACP0B,KAAK;QACLP,SAAS;QACTQ,mBAAmB;IACrB;IACAC,WAAW;IACXC,WAAW;IACXC,YAAY;QACVC,YAAY,CAAC,EAAE,OAAOC,SAASC,QAAQ,aAAaD,QAAQC,GAAG,KAAK,GAAG,iBAAiB,CAAC;IAC3F;IACAC,QAAQ,CAAC;AACX,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/config/find.ts"],"names":[],"mappings":"AAmCA;;;;GAIG;AACH,eAAO,MAAM,UAAU,QAAO,MA8D7B,CAAA"}
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/config/find.ts"],"names":[],"mappings":"AAsDA;;;;GAIG;AACH,eAAO,MAAM,UAAU,QAAO,MAmE7B,CAAA"}
@@ -9,26 +9,32 @@ import path from 'path';
9
9
  const tsConfigPath = findUp.sync('tsconfig.json');
10
10
  if (!tsConfigPath) {
11
11
  return {
12
- outPath: process.cwd(),
13
- srcPath: process.cwd()
12
+ rootPath: process.cwd()
14
13
  };
15
14
  }
16
15
  try {
17
16
  // Read the file as a string and remove trailing commas
18
17
  const rawTsConfig = fs.readFileSync(tsConfigPath, 'utf-8').replace(/,\s*\]/g, ']').replace(/,\s*\}/g, '}');
19
18
  const tsConfig = JSON.parse(rawTsConfig);
20
- const srcPath = tsConfig.compilerOptions?.rootDir || process.cwd();
21
- const outPath = tsConfig.compilerOptions?.outDir || process.cwd();
19
+ const rootPath = process.cwd();
20
+ const srcPath = tsConfig.compilerOptions?.rootDir || path.resolve(process.cwd(), 'src');
21
+ const outPath = tsConfig.compilerOptions?.outDir || path.resolve(process.cwd(), 'dist');
22
+ const tsConfigDir = path.dirname(tsConfigPath);
23
+ let configPath = tsConfig.compilerOptions?.paths?.['@payload-config']?.[0];
24
+ if (configPath) {
25
+ configPath = path.resolve(tsConfigDir, configPath);
26
+ }
22
27
  return {
28
+ configPath,
23
29
  outPath,
30
+ rootPath,
24
31
  srcPath
25
32
  };
26
33
  } catch (error) {
27
34
  console.error(`Error parsing tsconfig.json: ${error}`) // Do not throw the error, as we can still continue with the other config path finding methods
28
35
  ;
29
36
  return {
30
- outPath: process.cwd(),
31
- srcPath: process.cwd()
37
+ rootPath: process.cwd()
32
38
  };
33
39
  }
34
40
  };
@@ -45,15 +51,20 @@ import path from 'path';
45
51
  }
46
52
  return path.resolve(process.cwd(), process.env.PAYLOAD_CONFIG_PATH);
47
53
  }
48
- const { outPath, srcPath } = getTSConfigPaths();
54
+ const { configPath, outPath, rootPath, srcPath } = getTSConfigPaths();
49
55
  const searchPaths = process.env.NODE_ENV === 'production' ? [
56
+ configPath,
50
57
  outPath,
51
- srcPath
58
+ srcPath,
59
+ rootPath
52
60
  ] : [
53
- srcPath
61
+ configPath,
62
+ srcPath,
63
+ rootPath
54
64
  ];
55
65
  // eslint-disable-next-line no-restricted-syntax
56
66
  for (const searchPath of searchPaths){
67
+ if (!searchPath) continue;
57
68
  const configPath = findUp.sync((dir)=>{
58
69
  const tsPath = path.join(dir, 'payload.config.ts');
59
70
  const hasTS = findUp.sync.exists(tsPath);