payload 3.0.0-beta.6 → 3.0.0-beta.60

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 (967) hide show
  1. package/bin.js +6 -3
  2. package/dist/admin/LanguageOptions.d.ts +6 -0
  3. package/dist/admin/LanguageOptions.d.ts.map +1 -0
  4. package/dist/admin/LanguageOptions.js +3 -0
  5. package/dist/admin/LanguageOptions.js.map +1 -0
  6. package/dist/admin/RichText.d.ts +139 -24
  7. package/dist/admin/RichText.d.ts.map +1 -1
  8. package/dist/admin/RichText.js.map +1 -1
  9. package/dist/admin/elements/Cell.d.ts +1 -7
  10. package/dist/admin/elements/Cell.d.ts.map +1 -1
  11. package/dist/admin/elements/Cell.js.map +1 -1
  12. package/dist/admin/elements/DatePicker.js.map +1 -1
  13. package/dist/admin/elements/PreviewButton.js.map +1 -1
  14. package/dist/admin/elements/PublishButton.js.map +1 -1
  15. package/dist/admin/elements/SaveButton.js.map +1 -1
  16. package/dist/admin/elements/SaveDraftButton.js.map +1 -1
  17. package/dist/admin/elements/Tab.d.ts +3 -0
  18. package/dist/admin/elements/Tab.d.ts.map +1 -1
  19. package/dist/admin/elements/Tab.js.map +1 -1
  20. package/dist/admin/elements/Upload.d.ts +3 -0
  21. package/dist/admin/elements/Upload.d.ts.map +1 -0
  22. package/dist/admin/elements/Upload.js +3 -0
  23. package/dist/admin/elements/Upload.js.map +1 -0
  24. package/dist/admin/elements/WithServerSideProps.d.ts +6 -2
  25. package/dist/admin/elements/WithServerSideProps.d.ts.map +1 -1
  26. package/dist/admin/elements/WithServerSideProps.js.map +1 -1
  27. package/dist/admin/forms/Error.js.map +1 -1
  28. package/dist/admin/forms/FieldDescription.d.ts +1 -1
  29. package/dist/admin/forms/FieldDescription.d.ts.map +1 -1
  30. package/dist/admin/forms/FieldDescription.js.map +1 -1
  31. package/dist/admin/forms/FieldTypes.js.map +1 -1
  32. package/dist/admin/forms/Form.js.map +1 -1
  33. package/dist/admin/forms/Label.d.ts +3 -2
  34. package/dist/admin/forms/Label.d.ts.map +1 -1
  35. package/dist/admin/forms/Label.js.map +1 -1
  36. package/dist/admin/forms/RowLabel.d.ts +1 -1
  37. package/dist/admin/forms/RowLabel.d.ts.map +1 -1
  38. package/dist/admin/forms/RowLabel.js.map +1 -1
  39. package/dist/admin/types.d.ts +5 -3
  40. package/dist/admin/types.d.ts.map +1 -1
  41. package/dist/admin/types.js.map +1 -1
  42. package/dist/admin/views/types.d.ts +5 -3
  43. package/dist/admin/views/types.d.ts.map +1 -1
  44. package/dist/admin/views/types.js.map +1 -1
  45. package/dist/assets/assets.d.js.map +1 -1
  46. package/dist/auth/baseFields/accountLock.d.ts.map +1 -1
  47. package/dist/auth/baseFields/accountLock.js.map +1 -1
  48. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  49. package/dist/auth/baseFields/apiKey.js +6 -4
  50. package/dist/auth/baseFields/apiKey.js.map +1 -1
  51. package/dist/auth/baseFields/auth.d.ts.map +1 -1
  52. package/dist/auth/baseFields/auth.js +0 -14
  53. package/dist/auth/baseFields/auth.js.map +1 -1
  54. package/dist/auth/baseFields/loginField.d.ts +4 -0
  55. package/dist/auth/baseFields/loginField.d.ts.map +1 -0
  56. package/dist/auth/baseFields/loginField.js +35 -0
  57. package/dist/auth/baseFields/loginField.js.map +1 -0
  58. package/dist/auth/baseFields/verification.d.ts.map +1 -1
  59. package/dist/auth/baseFields/verification.js.map +1 -1
  60. package/dist/auth/cookies.d.ts +17 -5
  61. package/dist/auth/cookies.d.ts.map +1 -1
  62. package/dist/auth/cookies.js +45 -14
  63. package/dist/auth/cookies.js.map +1 -1
  64. package/dist/auth/crypto.js.map +1 -1
  65. package/dist/auth/defaultAccess.js.map +1 -1
  66. package/dist/auth/defaultUser.js.map +1 -1
  67. package/dist/auth/executeAccess.d.ts.map +1 -1
  68. package/dist/auth/executeAccess.js.map +1 -1
  69. package/dist/auth/executeAuthStrategies.d.ts +2 -3
  70. package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
  71. package/dist/auth/executeAuthStrategies.js +6 -4
  72. package/dist/auth/executeAuthStrategies.js.map +1 -1
  73. package/dist/auth/extractJWT.d.ts +1 -1
  74. package/dist/auth/extractJWT.d.ts.map +1 -1
  75. package/dist/auth/extractJWT.js.map +1 -1
  76. package/dist/auth/getAccessResults.js +1 -1
  77. package/dist/auth/getAccessResults.js.map +1 -1
  78. package/dist/auth/getFieldsToSign.d.ts +1 -1
  79. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  80. package/dist/auth/getFieldsToSign.js.map +1 -1
  81. package/dist/auth/index.js.map +1 -1
  82. package/dist/auth/isLocked.js.map +1 -1
  83. package/dist/auth/operations/access.d.ts.map +1 -1
  84. package/dist/auth/operations/access.js.map +1 -1
  85. package/dist/auth/operations/auth.d.ts +3 -3
  86. package/dist/auth/operations/auth.d.ts.map +1 -1
  87. package/dist/auth/operations/auth.js +3 -5
  88. package/dist/auth/operations/auth.js.map +1 -1
  89. package/dist/auth/operations/forgotPassword.d.ts +5 -5
  90. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  91. package/dist/auth/operations/forgotPassword.js +18 -15
  92. package/dist/auth/operations/forgotPassword.js.map +1 -1
  93. package/dist/auth/operations/init.d.ts.map +1 -1
  94. package/dist/auth/operations/init.js.map +1 -1
  95. package/dist/auth/operations/local/auth.d.ts.map +1 -1
  96. package/dist/auth/operations/local/auth.js.map +1 -1
  97. package/dist/auth/operations/local/forgotPassword.d.ts +3 -3
  98. package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
  99. package/dist/auth/operations/local/forgotPassword.js.map +1 -1
  100. package/dist/auth/operations/local/index.js.map +1 -1
  101. package/dist/auth/operations/local/login.d.ts +5 -9
  102. package/dist/auth/operations/local/login.d.ts.map +1 -1
  103. package/dist/auth/operations/local/login.js.map +1 -1
  104. package/dist/auth/operations/local/resetPassword.d.ts +3 -4
  105. package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
  106. package/dist/auth/operations/local/resetPassword.js.map +1 -1
  107. package/dist/auth/operations/local/unlock.d.ts +3 -4
  108. package/dist/auth/operations/local/unlock.d.ts.map +1 -1
  109. package/dist/auth/operations/local/unlock.js.map +1 -1
  110. package/dist/auth/operations/local/verifyEmail.d.ts +3 -4
  111. package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
  112. package/dist/auth/operations/local/verifyEmail.js.map +1 -1
  113. package/dist/auth/operations/login.d.ts +6 -9
  114. package/dist/auth/operations/login.d.ts.map +1 -1
  115. package/dist/auth/operations/login.js +49 -5
  116. package/dist/auth/operations/login.js.map +1 -1
  117. package/dist/auth/operations/logout.d.ts.map +1 -1
  118. package/dist/auth/operations/logout.js.map +1 -1
  119. package/dist/auth/operations/me.d.ts +2 -1
  120. package/dist/auth/operations/me.d.ts.map +1 -1
  121. package/dist/auth/operations/me.js +25 -9
  122. package/dist/auth/operations/me.js.map +1 -1
  123. package/dist/auth/operations/refresh.d.ts +3 -3
  124. package/dist/auth/operations/refresh.d.ts.map +1 -1
  125. package/dist/auth/operations/refresh.js +35 -17
  126. package/dist/auth/operations/refresh.js.map +1 -1
  127. package/dist/auth/operations/registerFirstUser.d.ts +7 -13
  128. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  129. package/dist/auth/operations/registerFirstUser.js.map +1 -1
  130. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  131. package/dist/auth/operations/resetPassword.js +1 -0
  132. package/dist/auth/operations/resetPassword.js.map +1 -1
  133. package/dist/auth/operations/unlock.d.ts.map +1 -1
  134. package/dist/auth/operations/unlock.js.map +1 -1
  135. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  136. package/dist/auth/operations/verifyEmail.js.map +1 -1
  137. package/dist/auth/sendVerificationEmail.d.ts +5 -6
  138. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  139. package/dist/auth/sendVerificationEmail.js +7 -8
  140. package/dist/auth/sendVerificationEmail.js.map +1 -1
  141. package/dist/auth/strategies/apiKey.d.ts.map +1 -1
  142. package/dist/auth/strategies/apiKey.js +9 -3
  143. package/dist/auth/strategies/apiKey.js.map +1 -1
  144. package/dist/auth/strategies/jwt.d.ts.map +1 -1
  145. package/dist/auth/strategies/jwt.js +9 -3
  146. package/dist/auth/strategies/jwt.js.map +1 -1
  147. package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
  148. package/dist/auth/strategies/local/authenticate.js.map +1 -1
  149. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts +3 -1
  150. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts.map +1 -1
  151. package/dist/auth/strategies/local/generatePasswordSaltHash.js +10 -7
  152. package/dist/auth/strategies/local/generatePasswordSaltHash.js.map +1 -1
  153. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  154. package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
  155. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  156. package/dist/auth/strategies/local/register.js +19 -7
  157. package/dist/auth/strategies/local/register.js.map +1 -1
  158. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  159. package/dist/auth/strategies/local/resetLoginAttempts.js.map +1 -1
  160. package/dist/auth/types.d.ts +17 -12
  161. package/dist/auth/types.d.ts.map +1 -1
  162. package/dist/auth/types.js.map +1 -1
  163. package/dist/bin/generateTypes.d.ts +3 -1
  164. package/dist/bin/generateTypes.d.ts.map +1 -1
  165. package/dist/bin/generateTypes.js +23 -9
  166. package/dist/bin/generateTypes.js.map +1 -1
  167. package/dist/bin/index.js.map +1 -1
  168. package/dist/bin/loadEnv.d.ts +2 -2
  169. package/dist/bin/loadEnv.d.ts.map +1 -1
  170. package/dist/bin/loadEnv.js +18 -17
  171. package/dist/bin/loadEnv.js.map +1 -1
  172. package/dist/bin/loader/clientExtensions.js.map +1 -1
  173. package/dist/bin/loader/compile.js.map +1 -1
  174. package/dist/bin/loader/ignores.d.ts +2 -0
  175. package/dist/bin/loader/ignores.d.ts.map +1 -0
  176. package/dist/bin/loader/ignores.js +5 -0
  177. package/dist/bin/loader/ignores.js.map +1 -0
  178. package/dist/bin/loader/index.d.ts.map +1 -1
  179. package/dist/bin/loader/index.js +14 -15
  180. package/dist/bin/loader/index.js.map +1 -1
  181. package/dist/bin/loader/read-default-tsconfig.d.ts +25 -0
  182. package/dist/bin/loader/read-default-tsconfig.d.ts.map +1 -1
  183. package/dist/bin/loader/read-default-tsconfig.js +25 -1
  184. package/dist/bin/loader/read-default-tsconfig.js.map +1 -1
  185. package/dist/bin/loader/resolveOriginalPath.d.ts +10 -0
  186. package/dist/bin/loader/resolveOriginalPath.d.ts.map +1 -0
  187. package/dist/bin/loader/resolveOriginalPath.js +36 -0
  188. package/dist/bin/loader/resolveOriginalPath.js.map +1 -0
  189. package/dist/bin/migrate.d.ts.map +1 -1
  190. package/dist/bin/migrate.js.map +1 -1
  191. package/dist/collections/config/build.js.map +1 -1
  192. package/dist/collections/config/client.d.ts +137 -138
  193. package/dist/collections/config/client.d.ts.map +1 -1
  194. package/dist/collections/config/client.js +3 -1
  195. package/dist/collections/config/client.js.map +1 -1
  196. package/dist/collections/config/defaults.d.ts +9 -5
  197. package/dist/collections/config/defaults.d.ts.map +1 -1
  198. package/dist/collections/config/defaults.js +5 -1
  199. package/dist/collections/config/defaults.js.map +1 -1
  200. package/dist/collections/config/sanitize.d.ts +2 -3
  201. package/dist/collections/config/sanitize.d.ts.map +1 -1
  202. package/dist/collections/config/sanitize.js +17 -6
  203. package/dist/collections/config/sanitize.js.map +1 -1
  204. package/dist/collections/config/schema.d.ts.map +1 -1
  205. package/dist/collections/config/schema.js +25 -13
  206. package/dist/collections/config/schema.js.map +1 -1
  207. package/dist/collections/config/types.d.ts +71 -17
  208. package/dist/collections/config/types.d.ts.map +1 -1
  209. package/dist/collections/config/types.js.map +1 -1
  210. package/dist/collections/dataloader.d.ts +14 -0
  211. package/dist/collections/dataloader.d.ts.map +1 -1
  212. package/dist/collections/dataloader.js +27 -12
  213. package/dist/collections/dataloader.js.map +1 -1
  214. package/dist/collections/operations/count.d.ts +14 -0
  215. package/dist/collections/operations/count.d.ts.map +1 -0
  216. package/dist/collections/operations/count.js +75 -0
  217. package/dist/collections/operations/count.js.map +1 -0
  218. package/dist/collections/operations/create.d.ts +5 -9
  219. package/dist/collections/operations/create.d.ts.map +1 -1
  220. package/dist/collections/operations/create.js +7 -13
  221. package/dist/collections/operations/create.js.map +1 -1
  222. package/dist/collections/operations/delete.d.ts +5 -5
  223. package/dist/collections/operations/delete.d.ts.map +1 -1
  224. package/dist/collections/operations/delete.js +1 -0
  225. package/dist/collections/operations/delete.js.map +1 -1
  226. package/dist/collections/operations/deleteByID.d.ts +4 -3
  227. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  228. package/dist/collections/operations/deleteByID.js +1 -0
  229. package/dist/collections/operations/deleteByID.js.map +1 -1
  230. package/dist/collections/operations/docAccess.js.map +1 -1
  231. package/dist/collections/operations/duplicate.d.ts +3 -3
  232. package/dist/collections/operations/duplicate.d.ts.map +1 -1
  233. package/dist/collections/operations/duplicate.js +3 -1
  234. package/dist/collections/operations/duplicate.js.map +1 -1
  235. package/dist/collections/operations/find.d.ts +3 -2
  236. package/dist/collections/operations/find.d.ts.map +1 -1
  237. package/dist/collections/operations/find.js +1 -0
  238. package/dist/collections/operations/find.js.map +1 -1
  239. package/dist/collections/operations/findByID.d.ts +3 -2
  240. package/dist/collections/operations/findByID.d.ts.map +1 -1
  241. package/dist/collections/operations/findByID.js +3 -3
  242. package/dist/collections/operations/findByID.js.map +1 -1
  243. package/dist/collections/operations/findVersionByID.d.ts +1 -1
  244. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  245. package/dist/collections/operations/findVersionByID.js +1 -0
  246. package/dist/collections/operations/findVersionByID.js.map +1 -1
  247. package/dist/collections/operations/findVersions.d.ts +1 -1
  248. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  249. package/dist/collections/operations/findVersions.js +1 -0
  250. package/dist/collections/operations/findVersions.js.map +1 -1
  251. package/dist/collections/operations/local/count.d.ts +20 -0
  252. package/dist/collections/operations/local/count.d.ts.map +1 -0
  253. package/dist/collections/operations/local/count.js +19 -0
  254. package/dist/collections/operations/local/count.js.map +1 -0
  255. package/dist/collections/operations/local/create.d.ts +7 -8
  256. package/dist/collections/operations/local/create.d.ts.map +1 -1
  257. package/dist/collections/operations/local/create.js.map +1 -1
  258. package/dist/collections/operations/local/delete.d.ts +13 -15
  259. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  260. package/dist/collections/operations/local/delete.js.map +1 -1
  261. package/dist/collections/operations/local/duplicate.d.ts +6 -5
  262. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  263. package/dist/collections/operations/local/duplicate.js.map +1 -1
  264. package/dist/collections/operations/local/find.d.ts +7 -6
  265. package/dist/collections/operations/local/find.d.ts.map +1 -1
  266. package/dist/collections/operations/local/find.js +1 -1
  267. package/dist/collections/operations/local/find.js.map +1 -1
  268. package/dist/collections/operations/local/findByID.d.ts +7 -6
  269. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  270. package/dist/collections/operations/local/findByID.js.map +1 -1
  271. package/dist/collections/operations/local/findVersionByID.d.ts +7 -6
  272. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  273. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  274. package/dist/collections/operations/local/findVersions.d.ts +7 -6
  275. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  276. package/dist/collections/operations/local/findVersions.js.map +1 -1
  277. package/dist/collections/operations/local/index.d.ts +4 -2
  278. package/dist/collections/operations/local/index.d.ts.map +1 -1
  279. package/dist/collections/operations/local/index.js +4 -2
  280. package/dist/collections/operations/local/index.js.map +1 -1
  281. package/dist/collections/operations/local/restoreVersion.d.ts +7 -6
  282. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  283. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  284. package/dist/collections/operations/local/update.d.ts +12 -12
  285. package/dist/collections/operations/local/update.d.ts.map +1 -1
  286. package/dist/collections/operations/local/update.js.map +1 -1
  287. package/dist/collections/operations/restoreVersion.d.ts +1 -1
  288. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  289. package/dist/collections/operations/restoreVersion.js +2 -0
  290. package/dist/collections/operations/restoreVersion.js.map +1 -1
  291. package/dist/collections/operations/update.d.ts +5 -6
  292. package/dist/collections/operations/update.d.ts.map +1 -1
  293. package/dist/collections/operations/update.js +6 -3
  294. package/dist/collections/operations/update.js.map +1 -1
  295. package/dist/collections/operations/updateByID.d.ts +5 -7
  296. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  297. package/dist/collections/operations/updateByID.js +6 -2
  298. package/dist/collections/operations/updateByID.js.map +1 -1
  299. package/dist/collections/operations/utils.d.ts +42 -33
  300. package/dist/collections/operations/utils.d.ts.map +1 -1
  301. package/dist/collections/operations/utils.js +0 -1
  302. package/dist/collections/operations/utils.js.map +1 -1
  303. package/dist/config/build.d.ts.map +1 -1
  304. package/dist/config/build.js +3 -4
  305. package/dist/config/build.js.map +1 -1
  306. package/dist/config/client.d.ts +2 -1
  307. package/dist/config/client.d.ts.map +1 -1
  308. package/dist/config/client.js +3 -1
  309. package/dist/config/client.js.map +1 -1
  310. package/dist/config/defaults.d.ts.map +1 -1
  311. package/dist/config/defaults.js +17 -4
  312. package/dist/config/defaults.js.map +1 -1
  313. package/dist/config/find.d.ts.map +1 -1
  314. package/dist/config/find.js +20 -22
  315. package/dist/config/find.js.map +1 -1
  316. package/dist/config/sanitize.d.ts +1 -1
  317. package/dist/config/sanitize.d.ts.map +1 -1
  318. package/dist/config/sanitize.js +49 -10
  319. package/dist/config/sanitize.js.map +1 -1
  320. package/dist/config/schema.d.ts.map +1 -1
  321. package/dist/config/schema.js +36 -10
  322. package/dist/config/schema.js.map +1 -1
  323. package/dist/config/shared/adminViewSchema.js.map +1 -1
  324. package/dist/config/shared/componentSchema.js.map +1 -1
  325. package/dist/config/shared/openGraphSchema.d.ts +3 -0
  326. package/dist/config/shared/openGraphSchema.d.ts.map +1 -0
  327. package/dist/config/shared/openGraphSchema.js +16 -0
  328. package/dist/config/shared/openGraphSchema.js.map +1 -0
  329. package/dist/config/types.d.ts +162 -78
  330. package/dist/config/types.d.ts.map +1 -1
  331. package/dist/config/types.js +7 -13
  332. package/dist/config/types.js.map +1 -1
  333. package/dist/config/validate.js.map +1 -1
  334. package/dist/database/combineQueries.js.map +1 -1
  335. package/dist/database/createDatabaseAdapter.js.map +1 -1
  336. package/dist/database/flattenWhereToOperators.js.map +1 -1
  337. package/dist/database/getLocalizedPaths.js.map +1 -1
  338. package/dist/database/migrations/createMigration.js.map +1 -1
  339. package/dist/database/migrations/getMigrations.js.map +1 -1
  340. package/dist/database/migrations/getPredefinedMigration.d.ts +12 -0
  341. package/dist/database/migrations/getPredefinedMigration.d.ts.map +1 -0
  342. package/dist/database/migrations/getPredefinedMigration.js +38 -0
  343. package/dist/database/migrations/getPredefinedMigration.js.map +1 -0
  344. package/dist/database/migrations/migrate.js.map +1 -1
  345. package/dist/database/migrations/migrateDown.js.map +1 -1
  346. package/dist/database/migrations/migrateRefresh.js.map +1 -1
  347. package/dist/database/migrations/migrateReset.js.map +1 -1
  348. package/dist/database/migrations/migrateStatus.js.map +1 -1
  349. package/dist/database/migrations/migrationTemplate.js.map +1 -1
  350. package/dist/database/migrations/migrationsCollection.js.map +1 -1
  351. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  352. package/dist/database/migrations/readMigrationFiles.js.map +1 -1
  353. package/dist/database/queryValidation/types.js.map +1 -1
  354. package/dist/database/queryValidation/validateQueryPaths.js +4 -4
  355. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
  356. package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
  357. package/dist/database/types.d.ts +22 -8
  358. package/dist/database/types.d.ts.map +1 -1
  359. package/dist/database/types.js.map +1 -1
  360. package/dist/email/consoleEmailAdapter.d.ts +3 -0
  361. package/dist/email/consoleEmailAdapter.d.ts.map +1 -0
  362. package/dist/email/consoleEmailAdapter.js +17 -0
  363. package/dist/email/consoleEmailAdapter.js.map +1 -0
  364. package/dist/email/defaults.d.ts +2 -2
  365. package/dist/email/defaults.d.ts.map +1 -1
  366. package/dist/email/defaults.js +3 -3
  367. package/dist/email/defaults.js.map +1 -1
  368. package/dist/email/getStringifiedToAddress.d.ts +3 -0
  369. package/dist/email/getStringifiedToAddress.d.ts.map +1 -0
  370. package/dist/email/getStringifiedToAddress.js +20 -0
  371. package/dist/email/getStringifiedToAddress.js.map +1 -0
  372. package/dist/email/sendEmail.d.ts +3 -2
  373. package/dist/email/sendEmail.d.ts.map +1 -1
  374. package/dist/email/sendEmail.js +8 -4
  375. package/dist/email/sendEmail.js.map +1 -1
  376. package/dist/email/types.d.ts +26 -18
  377. package/dist/email/types.d.ts.map +1 -1
  378. package/dist/email/types.js +5 -1
  379. package/dist/email/types.js.map +1 -1
  380. package/dist/errors/APIError.d.ts +2 -2
  381. package/dist/errors/APIError.d.ts.map +1 -1
  382. package/dist/errors/APIError.js +5 -3
  383. package/dist/errors/APIError.js.map +1 -1
  384. package/dist/errors/AuthenticationError.d.ts +3 -4
  385. package/dist/errors/AuthenticationError.d.ts.map +1 -1
  386. package/dist/errors/AuthenticationError.js +4 -5
  387. package/dist/errors/AuthenticationError.js.map +1 -1
  388. package/dist/errors/DuplicateCollection.d.ts +2 -3
  389. package/dist/errors/DuplicateCollection.d.ts.map +1 -1
  390. package/dist/errors/DuplicateCollection.js +2 -3
  391. package/dist/errors/DuplicateCollection.js.map +1 -1
  392. package/dist/errors/DuplicateFieldName.d.ts +2 -3
  393. package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
  394. package/dist/errors/DuplicateFieldName.js +2 -3
  395. package/dist/errors/DuplicateFieldName.js.map +1 -1
  396. package/dist/errors/DuplicateGlobal.d.ts +2 -3
  397. package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
  398. package/dist/errors/DuplicateGlobal.js +2 -3
  399. package/dist/errors/DuplicateGlobal.js.map +1 -1
  400. package/dist/errors/ErrorDeletingFile.d.ts +2 -3
  401. package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
  402. package/dist/errors/ErrorDeletingFile.js +2 -3
  403. package/dist/errors/ErrorDeletingFile.js.map +1 -1
  404. package/dist/errors/FileRetrievalError.d.ts +6 -0
  405. package/dist/errors/FileRetrievalError.d.ts.map +1 -0
  406. package/dist/errors/FileRetrievalError.js +13 -0
  407. package/dist/errors/FileRetrievalError.js.map +1 -0
  408. package/dist/errors/FileUploadError.d.ts +2 -3
  409. package/dist/errors/FileUploadError.d.ts.map +1 -1
  410. package/dist/errors/FileUploadError.js +2 -3
  411. package/dist/errors/FileUploadError.js.map +1 -1
  412. package/dist/errors/Forbidden.d.ts +2 -3
  413. package/dist/errors/Forbidden.d.ts.map +1 -1
  414. package/dist/errors/Forbidden.js +2 -3
  415. package/dist/errors/Forbidden.js.map +1 -1
  416. package/dist/errors/InvalidConfiguration.d.ts +2 -3
  417. package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
  418. package/dist/errors/InvalidConfiguration.js +2 -3
  419. package/dist/errors/InvalidConfiguration.js.map +1 -1
  420. package/dist/errors/InvalidFieldName.d.ts +2 -3
  421. package/dist/errors/InvalidFieldName.d.ts.map +1 -1
  422. package/dist/errors/InvalidFieldName.js +2 -3
  423. package/dist/errors/InvalidFieldName.js.map +1 -1
  424. package/dist/errors/InvalidFieldRelationship.d.ts +2 -3
  425. package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
  426. package/dist/errors/InvalidFieldRelationship.js +2 -3
  427. package/dist/errors/InvalidFieldRelationship.js.map +1 -1
  428. package/dist/errors/InvalidSchema.d.ts +2 -3
  429. package/dist/errors/InvalidSchema.d.ts.map +1 -1
  430. package/dist/errors/InvalidSchema.js +2 -3
  431. package/dist/errors/InvalidSchema.js.map +1 -1
  432. package/dist/errors/LockedAuth.d.ts +2 -3
  433. package/dist/errors/LockedAuth.d.ts.map +1 -1
  434. package/dist/errors/LockedAuth.js +2 -3
  435. package/dist/errors/LockedAuth.js.map +1 -1
  436. package/dist/errors/MissingCollectionLabel.d.ts +2 -3
  437. package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
  438. package/dist/errors/MissingCollectionLabel.js +2 -3
  439. package/dist/errors/MissingCollectionLabel.js.map +1 -1
  440. package/dist/errors/MissingEditorProp.d.ts +2 -3
  441. package/dist/errors/MissingEditorProp.d.ts.map +1 -1
  442. package/dist/errors/MissingEditorProp.js +3 -4
  443. package/dist/errors/MissingEditorProp.js.map +1 -1
  444. package/dist/errors/MissingFieldInputOptions.d.ts +2 -3
  445. package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
  446. package/dist/errors/MissingFieldInputOptions.js +2 -3
  447. package/dist/errors/MissingFieldInputOptions.js.map +1 -1
  448. package/dist/errors/MissingFieldType.d.ts +2 -3
  449. package/dist/errors/MissingFieldType.d.ts.map +1 -1
  450. package/dist/errors/MissingFieldType.js +2 -3
  451. package/dist/errors/MissingFieldType.js.map +1 -1
  452. package/dist/errors/MissingFile.d.ts +2 -3
  453. package/dist/errors/MissingFile.d.ts.map +1 -1
  454. package/dist/errors/MissingFile.js +2 -3
  455. package/dist/errors/MissingFile.js.map +1 -1
  456. package/dist/errors/NotFound.d.ts +2 -3
  457. package/dist/errors/NotFound.d.ts.map +1 -1
  458. package/dist/errors/NotFound.js +2 -3
  459. package/dist/errors/NotFound.js.map +1 -1
  460. package/dist/errors/QueryError.d.ts +2 -3
  461. package/dist/errors/QueryError.d.ts.map +1 -1
  462. package/dist/errors/QueryError.js +2 -3
  463. package/dist/errors/QueryError.js.map +1 -1
  464. package/dist/errors/TimestampsRequired.d.ts +2 -3
  465. package/dist/errors/TimestampsRequired.d.ts.map +1 -1
  466. package/dist/errors/TimestampsRequired.js +2 -3
  467. package/dist/errors/TimestampsRequired.js.map +1 -1
  468. package/dist/errors/UnathorizedError.d.ts +2 -3
  469. package/dist/errors/UnathorizedError.d.ts.map +1 -1
  470. package/dist/errors/UnathorizedError.js +2 -3
  471. package/dist/errors/UnathorizedError.js.map +1 -1
  472. package/dist/errors/ValidationError.d.ts +15 -8
  473. package/dist/errors/ValidationError.d.ts.map +1 -1
  474. package/dist/errors/ValidationError.js +5 -6
  475. package/dist/errors/ValidationError.js.map +1 -1
  476. package/dist/errors/index.d.ts +21 -19
  477. package/dist/errors/index.d.ts.map +1 -1
  478. package/dist/errors/index.js +21 -19
  479. package/dist/errors/index.js.map +1 -1
  480. package/dist/errors/types.js.map +1 -1
  481. package/dist/exports/i18n/ar.js.map +1 -1
  482. package/dist/exports/i18n/az.js.map +1 -1
  483. package/dist/exports/i18n/bg.js.map +1 -1
  484. package/dist/exports/i18n/cs.js.map +1 -1
  485. package/dist/exports/i18n/de.js.map +1 -1
  486. package/dist/exports/i18n/en.js.map +1 -1
  487. package/dist/exports/i18n/es.js.map +1 -1
  488. package/dist/exports/i18n/fa.js.map +1 -1
  489. package/dist/exports/i18n/fr.js.map +1 -1
  490. package/dist/exports/i18n/he.d.ts +2 -0
  491. package/dist/exports/i18n/he.d.ts.map +1 -0
  492. package/dist/exports/i18n/he.js +3 -0
  493. package/dist/exports/i18n/he.js.map +1 -0
  494. package/dist/exports/i18n/hr.js.map +1 -1
  495. package/dist/exports/i18n/hu.js.map +1 -1
  496. package/dist/exports/i18n/it.js.map +1 -1
  497. package/dist/exports/i18n/ja.js.map +1 -1
  498. package/dist/exports/i18n/ko.js.map +1 -1
  499. package/dist/exports/i18n/my.js.map +1 -1
  500. package/dist/exports/i18n/nb.js.map +1 -1
  501. package/dist/exports/i18n/nl.js.map +1 -1
  502. package/dist/exports/i18n/pl.js.map +1 -1
  503. package/dist/exports/i18n/pt.js.map +1 -1
  504. package/dist/exports/i18n/ro.js.map +1 -1
  505. package/dist/exports/i18n/rs.js.map +1 -1
  506. package/dist/exports/i18n/rsLatin.js.map +1 -1
  507. package/dist/exports/i18n/ru.js.map +1 -1
  508. package/dist/exports/i18n/sv.js.map +1 -1
  509. package/dist/exports/i18n/th.js.map +1 -1
  510. package/dist/exports/i18n/tr.js.map +1 -1
  511. package/dist/exports/i18n/uk.js.map +1 -1
  512. package/dist/exports/i18n/vi.js.map +1 -1
  513. package/dist/exports/i18n/zh.js.map +1 -1
  514. package/dist/exports/i18n/zhTw.js.map +1 -1
  515. package/dist/exports/node.d.ts +5 -0
  516. package/dist/exports/node.d.ts.map +1 -1
  517. package/dist/exports/node.js +5 -1
  518. package/dist/exports/node.js.map +1 -1
  519. package/dist/exports/shared.d.ts +22 -0
  520. package/dist/exports/shared.d.ts.map +1 -0
  521. package/dist/exports/shared.js +23 -0
  522. package/dist/exports/shared.js.map +1 -0
  523. package/dist/fields/baseFields/baseBlockFields.js.map +1 -1
  524. package/dist/fields/baseFields/baseIDField.js.map +1 -1
  525. package/dist/fields/config/client.d.ts +692 -455
  526. package/dist/fields/config/client.d.ts.map +1 -1
  527. package/dist/fields/config/client.js +3 -1
  528. package/dist/fields/config/client.js.map +1 -1
  529. package/dist/fields/config/sanitize.d.ts +7 -2
  530. package/dist/fields/config/sanitize.d.ts.map +1 -1
  531. package/dist/fields/config/sanitize.js +53 -34
  532. package/dist/fields/config/sanitize.js.map +1 -1
  533. package/dist/fields/config/sanitize.spec.js +76 -85
  534. package/dist/fields/config/sanitize.spec.js.map +1 -1
  535. package/dist/fields/config/schema.d.ts.map +1 -1
  536. package/dist/fields/config/schema.js +39 -11
  537. package/dist/fields/config/schema.js.map +1 -1
  538. package/dist/fields/config/types.d.ts +135 -46
  539. package/dist/fields/config/types.d.ts.map +1 -1
  540. package/dist/fields/config/types.js.map +1 -1
  541. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  542. package/dist/fields/getDefaultValue.js.map +1 -1
  543. package/dist/fields/getFieldPaths.d.ts +10 -0
  544. package/dist/fields/getFieldPaths.d.ts.map +1 -0
  545. package/dist/fields/getFieldPaths.js +45 -0
  546. package/dist/fields/getFieldPaths.js.map +1 -0
  547. package/dist/fields/hooks/afterChange/index.d.ts +6 -0
  548. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  549. package/dist/fields/hooks/afterChange/index.js +2 -0
  550. package/dist/fields/hooks/afterChange/index.js.map +1 -1
  551. package/dist/fields/hooks/afterChange/promise.d.ts +9 -1
  552. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  553. package/dist/fields/hooks/afterChange/promise.js +67 -3
  554. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  555. package/dist/fields/hooks/afterChange/traverseFields.d.ts +3 -1
  556. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  557. package/dist/fields/hooks/afterChange/traverseFields.js +3 -1
  558. package/dist/fields/hooks/afterChange/traverseFields.js.map +1 -1
  559. package/dist/fields/hooks/afterRead/index.d.ts +2 -1
  560. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  561. package/dist/fields/hooks/afterRead/index.js +5 -2
  562. package/dist/fields/hooks/afterRead/index.js.map +1 -1
  563. package/dist/fields/hooks/afterRead/promise.d.ts +13 -1
  564. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  565. package/dist/fields/hooks/afterRead/promise.js +146 -35
  566. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  567. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +2 -1
  568. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  569. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +16 -10
  570. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -1
  571. package/dist/fields/hooks/afterRead/traverseFields.d.ts +7 -1
  572. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  573. package/dist/fields/hooks/afterRead/traverseFields.js +4 -1
  574. package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
  575. package/dist/fields/hooks/beforeChange/beforeDuplicate.js.map +1 -1
  576. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js.map +1 -1
  577. package/dist/fields/hooks/beforeChange/getExistingRowDoc.d.ts.map +1 -1
  578. package/dist/fields/hooks/beforeChange/getExistingRowDoc.js.map +1 -1
  579. package/dist/fields/hooks/beforeChange/index.d.ts +1 -1
  580. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  581. package/dist/fields/hooks/beforeChange/index.js +8 -3
  582. package/dist/fields/hooks/beforeChange/index.js.map +1 -1
  583. package/dist/fields/hooks/beforeChange/promise.d.ts +9 -2
  584. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  585. package/dist/fields/hooks/beforeChange/promise.js +80 -11
  586. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  587. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +16 -3
  588. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  589. package/dist/fields/hooks/beforeChange/traverseFields.js +4 -3
  590. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
  591. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  592. package/dist/fields/hooks/beforeValidate/index.js +2 -0
  593. package/dist/fields/hooks/beforeValidate/index.js.map +1 -1
  594. package/dist/fields/hooks/beforeValidate/promise.d.ts +9 -1
  595. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  596. package/dist/fields/hooks/beforeValidate/promise.js +71 -4
  597. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  598. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +9 -1
  599. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  600. package/dist/fields/hooks/beforeValidate/traverseFields.js +3 -1
  601. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  602. package/dist/fields/mergeBaseFields.js.map +1 -1
  603. package/dist/fields/setDefaultBeforeDuplicate.js.map +1 -1
  604. package/dist/fields/sortableFieldTypes.js.map +1 -1
  605. package/dist/fields/validations.d.ts +16 -7
  606. package/dist/fields/validations.d.ts.map +1 -1
  607. package/dist/fields/validations.js +66 -8
  608. package/dist/fields/validations.js.map +1 -1
  609. package/dist/fields/validations.spec.js +1 -0
  610. package/dist/fields/validations.spec.js.map +1 -1
  611. package/dist/globals/config/client.d.ts +3 -3
  612. package/dist/globals/config/client.d.ts.map +1 -1
  613. package/dist/globals/config/client.js +2 -1
  614. package/dist/globals/config/client.js.map +1 -1
  615. package/dist/globals/config/sanitize.d.ts +2 -3
  616. package/dist/globals/config/sanitize.d.ts.map +1 -1
  617. package/dist/globals/config/sanitize.js +43 -37
  618. package/dist/globals/config/sanitize.js.map +1 -1
  619. package/dist/globals/config/schema.d.ts.map +1 -1
  620. package/dist/globals/config/schema.js +12 -2
  621. package/dist/globals/config/schema.js.map +1 -1
  622. package/dist/globals/config/types.d.ts +12 -7
  623. package/dist/globals/config/types.d.ts.map +1 -1
  624. package/dist/globals/config/types.js.map +1 -1
  625. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  626. package/dist/globals/operations/docAccess.js.map +1 -1
  627. package/dist/globals/operations/findOne.d.ts +0 -1
  628. package/dist/globals/operations/findOne.d.ts.map +1 -1
  629. package/dist/globals/operations/findOne.js +1 -0
  630. package/dist/globals/operations/findOne.js.map +1 -1
  631. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  632. package/dist/globals/operations/findVersionByID.js +1 -0
  633. package/dist/globals/operations/findVersionByID.js.map +1 -1
  634. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  635. package/dist/globals/operations/findVersions.js +1 -0
  636. package/dist/globals/operations/findVersions.js.map +1 -1
  637. package/dist/globals/operations/local/findOne.d.ts +7 -6
  638. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  639. package/dist/globals/operations/local/findOne.js.map +1 -1
  640. package/dist/globals/operations/local/findVersionByID.d.ts +7 -6
  641. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  642. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  643. package/dist/globals/operations/local/findVersions.d.ts +7 -6
  644. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  645. package/dist/globals/operations/local/findVersions.js.map +1 -1
  646. package/dist/globals/operations/local/index.js.map +1 -1
  647. package/dist/globals/operations/local/restoreVersion.d.ts +7 -6
  648. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  649. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  650. package/dist/globals/operations/local/update.d.ts +7 -6
  651. package/dist/globals/operations/local/update.d.ts.map +1 -1
  652. package/dist/globals/operations/local/update.js.map +1 -1
  653. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  654. package/dist/globals/operations/restoreVersion.js +1 -0
  655. package/dist/globals/operations/restoreVersion.js.map +1 -1
  656. package/dist/globals/operations/update.d.ts +5 -7
  657. package/dist/globals/operations/update.d.ts.map +1 -1
  658. package/dist/globals/operations/update.js +3 -1
  659. package/dist/globals/operations/update.js.map +1 -1
  660. package/dist/index.d.ts +214 -49
  661. package/dist/index.d.ts.map +1 -1
  662. package/dist/index.js +215 -15
  663. package/dist/index.js.map +1 -1
  664. package/dist/preferences/deleteUserPreferences.js.map +1 -1
  665. package/dist/preferences/operations/delete.js +2 -2
  666. package/dist/preferences/operations/delete.js.map +1 -1
  667. package/dist/preferences/operations/findOne.d.ts +2 -2
  668. package/dist/preferences/operations/findOne.d.ts.map +1 -1
  669. package/dist/preferences/operations/findOne.js.map +1 -1
  670. package/dist/preferences/operations/update.js +1 -1
  671. package/dist/preferences/operations/update.js.map +1 -1
  672. package/dist/preferences/preferencesCollection.js.map +1 -1
  673. package/dist/preferences/requestHandlers/delete.d.ts.map +1 -1
  674. package/dist/preferences/requestHandlers/delete.js +18 -5
  675. package/dist/preferences/requestHandlers/delete.js.map +1 -1
  676. package/dist/preferences/requestHandlers/findOne.d.ts.map +1 -1
  677. package/dist/preferences/requestHandlers/findOne.js +18 -5
  678. package/dist/preferences/requestHandlers/findOne.js.map +1 -1
  679. package/dist/preferences/requestHandlers/update.d.ts.map +1 -1
  680. package/dist/preferences/requestHandlers/update.js +19 -7
  681. package/dist/preferences/requestHandlers/update.js.map +1 -1
  682. package/dist/preferences/types.js.map +1 -1
  683. package/dist/translations/getLocalI18n.d.ts +1 -1
  684. package/dist/translations/getLocalI18n.d.ts.map +1 -1
  685. package/dist/translations/getLocalI18n.js +1 -1
  686. package/dist/translations/getLocalI18n.js.map +1 -1
  687. package/dist/types/constants.js.map +1 -1
  688. package/dist/types/index.d.ts +35 -32
  689. package/dist/types/index.d.ts.map +1 -1
  690. package/dist/types/index.js.map +1 -1
  691. package/dist/uploads/canResizeImage.d.ts +1 -1
  692. package/dist/uploads/canResizeImage.d.ts.map +1 -1
  693. package/dist/uploads/canResizeImage.js +1 -1
  694. package/dist/uploads/canResizeImage.js.map +1 -1
  695. package/dist/uploads/cropImage.d.ts +1 -1
  696. package/dist/uploads/cropImage.d.ts.map +1 -1
  697. package/dist/uploads/cropImage.js +12 -5
  698. package/dist/uploads/cropImage.js.map +1 -1
  699. package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
  700. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  701. package/dist/uploads/docWithFilenameExists.js.map +1 -1
  702. package/dist/uploads/fileExists.d.ts.map +1 -1
  703. package/dist/uploads/fileExists.js.map +1 -1
  704. package/dist/uploads/formatFilesize.js.map +1 -1
  705. package/dist/uploads/generateFileData.d.ts +3 -1
  706. package/dist/uploads/generateFileData.d.ts.map +1 -1
  707. package/dist/uploads/generateFileData.js +83 -33
  708. package/dist/uploads/generateFileData.js.map +1 -1
  709. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  710. package/dist/uploads/getBaseFields.js +23 -4
  711. package/dist/uploads/getBaseFields.js.map +1 -1
  712. package/dist/uploads/getExternalFile.d.ts +4 -3
  713. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  714. package/dist/uploads/getExternalFile.js +10 -6
  715. package/dist/uploads/getExternalFile.js.map +1 -1
  716. package/dist/uploads/getFileByPath.d.ts +2 -2
  717. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  718. package/dist/uploads/getFileByPath.js +2 -3
  719. package/dist/uploads/getFileByPath.js.map +1 -1
  720. package/dist/uploads/getImageSize.d.ts +1 -1
  721. package/dist/uploads/getImageSize.d.ts.map +1 -1
  722. package/dist/uploads/getImageSize.js +19 -5
  723. package/dist/uploads/getImageSize.js.map +1 -1
  724. package/dist/uploads/getSafeFilename.d.ts +2 -2
  725. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  726. package/dist/uploads/getSafeFilename.js +1 -2
  727. package/dist/uploads/getSafeFilename.js.map +1 -1
  728. package/dist/uploads/imageResizer.d.ts +9 -11
  729. package/dist/uploads/imageResizer.d.ts.map +1 -1
  730. package/dist/uploads/imageResizer.js +73 -37
  731. package/dist/uploads/imageResizer.js.map +1 -1
  732. package/dist/uploads/isImage.d.ts +1 -1
  733. package/dist/uploads/isImage.d.ts.map +1 -1
  734. package/dist/uploads/isImage.js +1 -1
  735. package/dist/uploads/isImage.js.map +1 -1
  736. package/dist/uploads/mimeTypeValidator.js.map +1 -1
  737. package/dist/uploads/mimeTypeValidator.spec.js.map +1 -1
  738. package/dist/uploads/saveBufferToFile.d.ts +0 -1
  739. package/dist/uploads/saveBufferToFile.d.ts.map +1 -1
  740. package/dist/uploads/saveBufferToFile.js.map +1 -1
  741. package/dist/uploads/tempFile.d.ts +7 -0
  742. package/dist/uploads/tempFile.d.ts.map +1 -0
  743. package/dist/uploads/tempFile.js +39 -0
  744. package/dist/uploads/tempFile.js.map +1 -0
  745. package/dist/uploads/types.d.ts +98 -8
  746. package/dist/uploads/types.d.ts.map +1 -1
  747. package/dist/uploads/types.js.map +1 -1
  748. package/dist/uploads/unlinkTempFiles.js.map +1 -1
  749. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  750. package/dist/uploads/uploadFiles.js.map +1 -1
  751. package/dist/utilities/checkDuplicateCollections.js +1 -1
  752. package/dist/utilities/checkDuplicateCollections.js.map +1 -1
  753. package/dist/utilities/combineMerge.js.map +1 -1
  754. package/dist/utilities/commitTransaction.js.map +1 -1
  755. package/dist/utilities/configToJSONSchema.d.ts +1 -0
  756. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  757. package/dist/utilities/configToJSONSchema.js +136 -5
  758. package/dist/utilities/configToJSONSchema.js.map +1 -1
  759. package/dist/utilities/configToJSONSchema.spec.js +156 -2
  760. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  761. package/dist/utilities/convertData.js.map +1 -1
  762. package/dist/utilities/createArrayFromCommaDelineated.js.map +1 -1
  763. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  764. package/dist/utilities/createLocalReq.js +8 -5
  765. package/dist/utilities/createLocalReq.js.map +1 -1
  766. package/dist/utilities/deepCopyObject.js.map +1 -1
  767. package/dist/utilities/deepMerge.js.map +1 -1
  768. package/dist/utilities/dependencies/getDependencies.d.ts +9 -0
  769. package/dist/utilities/dependencies/getDependencies.d.ts.map +1 -0
  770. package/dist/utilities/dependencies/getDependencies.js +71 -0
  771. package/dist/utilities/dependencies/getDependencies.js.map +1 -0
  772. package/dist/utilities/dependencies/isError.d.ts +5 -0
  773. package/dist/utilities/dependencies/isError.d.ts.map +1 -0
  774. package/dist/utilities/dependencies/isError.js +19 -0
  775. package/dist/utilities/dependencies/isError.js.map +1 -0
  776. package/dist/utilities/dependencies/realPath.d.ts +3 -0
  777. package/dist/utilities/dependencies/realPath.d.ts.map +1 -0
  778. package/dist/utilities/dependencies/realPath.js +23 -0
  779. package/dist/utilities/dependencies/realPath.js.map +1 -0
  780. package/dist/utilities/dependencies/resolveFrom.d.ts +2 -0
  781. package/dist/utilities/dependencies/resolveFrom.d.ts.map +1 -0
  782. package/dist/utilities/dependencies/resolveFrom.js +58 -0
  783. package/dist/utilities/dependencies/resolveFrom.js.map +1 -0
  784. package/dist/utilities/fieldSchemaToJSON.d.ts.map +1 -1
  785. package/dist/utilities/fieldSchemaToJSON.js.map +1 -1
  786. package/dist/utilities/flattenTopLevelFields.js.map +1 -1
  787. package/dist/utilities/formatLabels.js.map +1 -1
  788. package/dist/utilities/formatLabels.spec.js.map +1 -1
  789. package/dist/utilities/getCSSVariable.js.map +1 -1
  790. package/dist/utilities/getCollectionIDFieldTypes.js.map +1 -1
  791. package/dist/utilities/getDataByPath.d.ts +3 -0
  792. package/dist/utilities/getDataByPath.d.ts.map +1 -0
  793. package/dist/utilities/getDataByPath.js +18 -0
  794. package/dist/utilities/getDataByPath.js.map +1 -0
  795. package/dist/utilities/getEntityPolicies.js.map +1 -1
  796. package/dist/utilities/getObjectDotNotation.d.ts.map +1 -1
  797. package/dist/utilities/getObjectDotNotation.js.map +1 -1
  798. package/dist/utilities/getSiblingData.d.ts +3 -0
  799. package/dist/utilities/getSiblingData.d.ts.map +1 -0
  800. package/dist/utilities/getSiblingData.js +33 -0
  801. package/dist/utilities/getSiblingData.js.map +1 -0
  802. package/dist/utilities/getUniqueListBy.d.ts +1 -1
  803. package/dist/utilities/getUniqueListBy.d.ts.map +1 -1
  804. package/dist/utilities/getUniqueListBy.js +1 -1
  805. package/dist/utilities/getUniqueListBy.js.map +1 -1
  806. package/dist/utilities/importWithoutClientFiles.d.ts.map +1 -1
  807. package/dist/utilities/importWithoutClientFiles.js +10 -4
  808. package/dist/utilities/importWithoutClientFiles.js.map +1 -1
  809. package/dist/utilities/initTransaction.d.ts.map +1 -1
  810. package/dist/utilities/initTransaction.js +9 -9
  811. package/dist/utilities/initTransaction.js.map +1 -1
  812. package/dist/utilities/isEntityHidden.d.ts +3 -3
  813. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  814. package/dist/utilities/isEntityHidden.js.map +1 -1
  815. package/dist/utilities/isNumber.js.map +1 -1
  816. package/dist/utilities/isPlainObject.js.map +1 -1
  817. package/dist/utilities/isReactComponent.d.ts +2 -3
  818. package/dist/utilities/isReactComponent.d.ts.map +1 -1
  819. package/dist/utilities/isReactComponent.js +17 -11
  820. package/dist/utilities/isReactComponent.js.map +1 -1
  821. package/dist/utilities/isValidID.d.ts +1 -1
  822. package/dist/utilities/isValidID.js.map +1 -1
  823. package/dist/utilities/isolateObjectProperty.d.ts +1 -1
  824. package/dist/utilities/isolateObjectProperty.d.ts.map +1 -1
  825. package/dist/utilities/isolateObjectProperty.js +14 -5
  826. package/dist/utilities/isolateObjectProperty.js.map +1 -1
  827. package/dist/utilities/killTransaction.js +1 -1
  828. package/dist/utilities/killTransaction.js.map +1 -1
  829. package/dist/utilities/logger.d.ts.map +1 -1
  830. package/dist/utilities/logger.js.map +1 -1
  831. package/dist/utilities/mapAsync.js.map +1 -1
  832. package/dist/utilities/mergeListSearchAndWhere.js.map +1 -1
  833. package/dist/utilities/overwriteMerge.js.map +1 -1
  834. package/dist/utilities/parseCookies.d.ts +1 -1
  835. package/dist/utilities/parseCookies.d.ts.map +1 -1
  836. package/dist/utilities/parseCookies.js +1 -1
  837. package/dist/utilities/parseCookies.js.map +1 -1
  838. package/dist/utilities/reduceFieldsToValues.d.ts +10 -0
  839. package/dist/utilities/reduceFieldsToValues.d.ts.map +1 -0
  840. package/dist/utilities/reduceFieldsToValues.js +22 -0
  841. package/dist/utilities/reduceFieldsToValues.js.map +1 -0
  842. package/dist/utilities/sanitizeInternalFields.d.ts.map +1 -1
  843. package/dist/utilities/sanitizeInternalFields.js.map +1 -1
  844. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  845. package/dist/utilities/setsAreEqual.js.map +1 -1
  846. package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
  847. package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
  848. package/dist/utilities/telemetry/events/serverInit.js.map +1 -1
  849. package/dist/utilities/telemetry/index.d.ts +9 -0
  850. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  851. package/dist/utilities/telemetry/index.js +64 -17
  852. package/dist/utilities/telemetry/index.js.map +1 -1
  853. package/dist/utilities/telemetry/oneWayHash.d.ts +0 -1
  854. package/dist/utilities/telemetry/oneWayHash.d.ts.map +1 -1
  855. package/dist/utilities/telemetry/oneWayHash.js.map +1 -1
  856. package/dist/utilities/timestamp.js.map +1 -1
  857. package/dist/utilities/toKebabCase.js.map +1 -1
  858. package/dist/utilities/unflatten.d.ts +9 -0
  859. package/dist/utilities/unflatten.d.ts.map +1 -0
  860. package/dist/utilities/unflatten.js +64 -0
  861. package/dist/utilities/unflatten.js.map +1 -0
  862. package/dist/utilities/wait.js.map +1 -1
  863. package/dist/utilities/wordBoundariesRegex.js.map +1 -1
  864. package/dist/versions/baseFields.js.map +1 -1
  865. package/dist/versions/buildCollectionFields.js.map +1 -1
  866. package/dist/versions/buildGlobalFields.js.map +1 -1
  867. package/dist/versions/defaults.d.ts +4 -0
  868. package/dist/versions/defaults.d.ts.map +1 -0
  869. package/dist/versions/defaults.js +5 -0
  870. package/dist/versions/defaults.js.map +1 -0
  871. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  872. package/dist/versions/deleteCollectionVersions.js.map +1 -1
  873. package/dist/versions/drafts/appendVersionToQueryKey.js.map +1 -1
  874. package/dist/versions/drafts/getQueryDraftsSort.js.map +1 -1
  875. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  876. package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
  877. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  878. package/dist/versions/enforceMaxVersions.js +1 -1
  879. package/dist/versions/enforceMaxVersions.js.map +1 -1
  880. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  881. package/dist/versions/getLatestCollectionVersion.js.map +1 -1
  882. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  883. package/dist/versions/getLatestGlobalVersion.js.map +1 -1
  884. package/dist/versions/saveVersion.d.ts.map +1 -1
  885. package/dist/versions/saveVersion.js +2 -1
  886. package/dist/versions/saveVersion.js.map +1 -1
  887. package/dist/versions/types.d.ts +2 -0
  888. package/dist/versions/types.d.ts.map +1 -1
  889. package/dist/versions/types.js.map +1 -1
  890. package/package.json +94 -117
  891. package/auth.d.ts +0 -6
  892. package/auth.js +0 -6
  893. package/config.d.ts +0 -14
  894. package/config.js +0 -14
  895. package/database.d.ts +0 -23
  896. package/database.js +0 -22
  897. package/dist/email/build.d.ts +0 -5
  898. package/dist/email/build.d.ts.map +0 -1
  899. package/dist/email/build.js +0 -63
  900. package/dist/email/build.js.map +0 -1
  901. package/dist/email/mockHandler.d.ts +0 -5
  902. package/dist/email/mockHandler.d.ts.map +0 -1
  903. package/dist/email/mockHandler.js +0 -24
  904. package/dist/email/mockHandler.js.map +0 -1
  905. package/dist/exports/auth.d.ts +0 -6
  906. package/dist/exports/auth.d.ts.map +0 -1
  907. package/dist/exports/auth.js +0 -6
  908. package/dist/exports/auth.js.map +0 -1
  909. package/dist/exports/components/utilities.d.ts +0 -2
  910. package/dist/exports/components/utilities.d.ts.map +0 -1
  911. package/dist/exports/components/utilities.js +0 -2
  912. package/dist/exports/components/utilities.js.map +0 -1
  913. package/dist/exports/config.d.ts +0 -14
  914. package/dist/exports/config.d.ts.map +0 -1
  915. package/dist/exports/config.js +0 -14
  916. package/dist/exports/config.js.map +0 -1
  917. package/dist/exports/database.d.ts +0 -23
  918. package/dist/exports/database.d.ts.map +0 -1
  919. package/dist/exports/database.js +0 -22
  920. package/dist/exports/database.js.map +0 -1
  921. package/dist/exports/errors.d.ts +0 -2
  922. package/dist/exports/errors.d.ts.map +0 -1
  923. package/dist/exports/errors.js +0 -3
  924. package/dist/exports/errors.js.map +0 -1
  925. package/dist/exports/fields/index.d.ts +0 -3
  926. package/dist/exports/fields/index.d.ts.map +0 -1
  927. package/dist/exports/fields/index.js +0 -4
  928. package/dist/exports/fields/index.js.map +0 -1
  929. package/dist/exports/fields/validations.d.ts +0 -2
  930. package/dist/exports/fields/validations.d.ts.map +0 -1
  931. package/dist/exports/fields/validations.js +0 -3
  932. package/dist/exports/fields/validations.js.map +0 -1
  933. package/dist/exports/operations.d.ts +0 -30
  934. package/dist/exports/operations.d.ts.map +0 -1
  935. package/dist/exports/operations.js +0 -31
  936. package/dist/exports/operations.js.map +0 -1
  937. package/dist/exports/types.d.ts +0 -17
  938. package/dist/exports/types.d.ts.map +0 -1
  939. package/dist/exports/types.js +0 -5
  940. package/dist/exports/types.js.map +0 -1
  941. package/dist/exports/uploads.d.ts +0 -2
  942. package/dist/exports/uploads.d.ts.map +0 -1
  943. package/dist/exports/uploads.js +0 -3
  944. package/dist/exports/uploads.js.map +0 -1
  945. package/dist/exports/utilities.d.ts +0 -31
  946. package/dist/exports/utilities.d.ts.map +0 -1
  947. package/dist/exports/utilities.js +0 -32
  948. package/dist/exports/utilities.js.map +0 -1
  949. package/dist/exports/versions.d.ts +0 -9
  950. package/dist/exports/versions.d.ts.map +0 -1
  951. package/dist/exports/versions.js +0 -9
  952. package/dist/exports/versions.js.map +0 -1
  953. package/errors.d.ts +0 -2
  954. package/errors.js +0 -3
  955. package/node.d.ts +0 -3
  956. package/node.js +0 -4
  957. package/operations.d.ts +0 -30
  958. package/operations.js +0 -31
  959. package/src/index.ts +0 -498
  960. package/types.d.ts +0 -17
  961. package/types.js +0 -5
  962. package/uploads.d.ts +0 -2
  963. package/uploads.js +0 -3
  964. package/utilities.d.ts +0 -31
  965. package/utilities.js +0 -32
  966. package/versions.d.ts +0 -9
  967. package/versions.js +0 -9
@@ -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 { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type {\n BulkOperationResult,\n Collection,\n DataFromCollectionSlug,\n RequiredDataFromCollectionSlug,\n} from '../config/types.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<TSlug extends CollectionSlug> = {\n collection: Collection\n data: DeepPartial<RequiredDataFromCollectionSlug<TSlug>>\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 CollectionSlug>(\n incomingArgs: Arguments<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<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig.slug,\n locale,\n pagination: false,\n req,\n where: versionsWhere,\n })\n\n docs = query.docs\n } else {\n const query = await payload.db.find({\n collection: collectionConfig.slug,\n limit: 0,\n locale,\n pagination: false,\n req,\n where: fullWhere,\n })\n\n docs = query.docs\n }\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data: bulkUpdateData,\n operation: 'update',\n overwriteExistingFiles,\n req,\n throwOnMissingFile: false,\n })\n\n const errors = []\n\n const promises = docs.map(async (doc) => {\n const { id } = doc\n let data = {\n ...newFileData,\n ...bulkUpdateData,\n }\n\n try {\n const originalDoc = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth: 0,\n doc,\n draft: draftArg,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess: true,\n req,\n showHiddenFields: true,\n })\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc,\n files: filesToUpload,\n overrideDelete: false,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate<DeepPartial<DataFromCollectionSlug<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<DataFromCollectionSlug<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 shouldSaveDraft &&\n collectionConfig.versions.drafts &&\n !collectionConfig.versions.drafts.validate &&\n data._status !== 'published',\n })\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n if (!shouldSaveDraft || data._status === 'published') {\n result = await req.payload.db.updateOne({\n id,\n collection: collectionConfig.slug,\n data: result,\n locale,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n result = await saveVersion({\n id,\n collection: collectionConfig,\n docWithLocales: {\n ...result,\n createdAt: doc.createdAt,\n },\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n draft: draftArg,\n fallbackLocale: null,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange<DataFromCollectionSlug<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({\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","validate","_status","updateOne","createdAt","previousDoc","error","push","message","awaitedDocs","all","filter"],"mappings":"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"}
@@ -1,13 +1,11 @@
1
1
  import type { DeepPartial } from 'ts-essentials';
2
- import type { GeneratedTypes } from '../../index.js';
2
+ import type { CollectionSlug } from '../../index.js';
3
3
  import type { PayloadRequest } from '../../types/index.js';
4
- import type { Collection } from '../config/types.js';
5
- export type Arguments<T extends {
6
- [field: number | string | symbol]: unknown;
7
- }> = {
4
+ import type { Collection, DataFromCollectionSlug, RequiredDataFromCollectionSlug } from '../config/types.js';
5
+ export type Arguments<TSlug extends CollectionSlug> = {
8
6
  autosave?: boolean;
9
7
  collection: Collection;
10
- data: DeepPartial<T>;
8
+ data: DeepPartial<RequiredDataFromCollectionSlug<TSlug>>;
11
9
  depth?: number;
12
10
  disableVerificationEmail?: boolean;
13
11
  draft?: boolean;
@@ -17,5 +15,5 @@ export type Arguments<T extends {
17
15
  req: PayloadRequest;
18
16
  showHiddenFields?: boolean;
19
17
  };
20
- export declare const updateByIDOperation: <TSlug extends string | number | symbol>(incomingArgs: Arguments<GeneratedTypes['collections'][TSlug]>) => Promise<GeneratedTypes['collections'][TSlug]>;
18
+ export declare const updateByIDOperation: <TSlug extends CollectionSlug>(incomingArgs: Arguments<TSlug>) => Promise<DataFromCollectionSlug<TSlug>>;
21
19
  //# sourceMappingURL=updateByID.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/updateByID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAsBpD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,mBAAmB,yDAChB,UAAU,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,KAC5D,QAAQ,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAqV9C,CAAA"}
1
+ {"version":3,"file":"updateByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/updateByID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,gBAAgB,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EACV,UAAU,EACV,sBAAsB,EACtB,8BAA8B,EAC/B,MAAM,oBAAoB,CAAA;AAsB3B,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,cAAc,IAAI;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,WAAW,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAA;IACxD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAU,KAAK,SAAS,cAAc,gBACtD,SAAS,CAAC,KAAK,CAAC,KAC7B,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CA+VvC,CAAA"}
@@ -79,6 +79,7 @@ export const updateByIDOperation = async (incomingArgs)=>{
79
79
  context: req.context,
80
80
  depth: 0,
81
81
  doc: docWithLocales,
82
+ draft: draftArg,
82
83
  fallbackLocale: null,
83
84
  global: null,
84
85
  locale,
@@ -93,6 +94,7 @@ export const updateByIDOperation = async (incomingArgs)=>{
93
94
  collection,
94
95
  config,
95
96
  data,
97
+ operation: 'update',
96
98
  overwriteExistingFiles,
97
99
  req,
98
100
  throwOnMissingFile: false
@@ -170,7 +172,7 @@ export const updateByIDOperation = async (incomingArgs)=>{
170
172
  global: null,
171
173
  operation: 'update',
172
174
  req,
173
- skipValidation: shouldSaveDraft || data._status === 'draft'
175
+ skipValidation: shouldSaveDraft && collectionConfig.versions.drafts && !collectionConfig.versions.drafts.validate && data._status !== 'published'
174
176
  });
175
177
  // /////////////////////////////////////
176
178
  // Handle potential password update
@@ -180,6 +182,7 @@ export const updateByIDOperation = async (incomingArgs)=>{
180
182
  };
181
183
  if (shouldSavePassword && typeof password === 'string') {
182
184
  const { hash, salt } = await generatePasswordSaltHash({
185
+ collection: collectionConfig,
183
186
  password
184
187
  });
185
188
  dataToUpdate.salt = salt;
@@ -190,7 +193,7 @@ export const updateByIDOperation = async (incomingArgs)=>{
190
193
  // /////////////////////////////////////
191
194
  // Update
192
195
  // /////////////////////////////////////
193
- if (!shouldSaveDraft) {
196
+ if (!shouldSaveDraft || data._status === 'published') {
194
197
  result = await req.payload.db.updateOne({
195
198
  id,
196
199
  collection: collectionConfig.slug,
@@ -224,6 +227,7 @@ export const updateByIDOperation = async (incomingArgs)=>{
224
227
  context: req.context,
225
228
  depth,
226
229
  doc: result,
230
+ draft: draftArg,
227
231
  fallbackLocale,
228
232
  global: null,
229
233
  locale,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/updateByID.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport httpStatus from 'http-status'\n\nimport type { FindOneArgs } from '../../database/types.js'\nimport type { GeneratedTypes } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { Collection } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { generatePasswordSaltHash } from '../../auth/strategies/local/generatePasswordSaltHash.js'\nimport { hasWhereAccessResult } from '../../auth/types.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { APIError, Forbidden, NotFound } from '../../errors/index.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { beforeChange } from '../../fields/hooks/beforeChange/index.js'\nimport { beforeValidate } from '../../fields/hooks/beforeValidate/index.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { uploadFiles } from '../../uploads/uploadFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getLatestCollectionVersion } from '../../versions/getLatestCollectionVersion.js'\nimport { saveVersion } from '../../versions/saveVersion.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments<T extends { [field: number | string | symbol]: unknown }> = {\n autosave?: boolean\n collection: Collection\n data: DeepPartial<T>\n depth?: number\n disableVerificationEmail?: boolean\n draft?: boolean\n id: number | string\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const updateByIDOperation = async <TSlug extends keyof GeneratedTypes['collections']>(\n incomingArgs: Arguments<GeneratedTypes['collections'][TSlug]>,\n): Promise<GeneratedTypes['collections'][TSlug]> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'update',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n id,\n autosave = false,\n collection: { config: collectionConfig },\n collection,\n depth,\n draft: draftArg = false,\n overrideAccess,\n overwriteExistingFiles = false,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n showHiddenFields,\n } = args\n\n if (!id) {\n throw new APIError('Missing ID of document to update.', httpStatus.BAD_REQUEST)\n }\n\n let { data } = args\n const password = data?.password\n const shouldSaveDraft = Boolean(draftArg && collectionConfig.versions.drafts)\n const shouldSavePassword = Boolean(password && collectionConfig.auth && !shouldSaveDraft)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id, data, req }, collectionConfig.access.update)\n : true\n const hasWherePolicy = hasWhereAccessResult(accessResults)\n\n // /////////////////////////////////////\n // Retrieve document\n // /////////////////////////////////////\n\n const findOneArgs: FindOneArgs = {\n collection: collectionConfig.slug,\n locale,\n req,\n where: combineQueries({ id: { equals: id } }, accessResults),\n }\n\n const docWithLocales = await getLatestCollectionVersion({\n id,\n config: collectionConfig,\n payload,\n query: findOneArgs,\n req,\n })\n\n if (!docWithLocales && !hasWherePolicy) throw new NotFound(req.t)\n if (!docWithLocales && hasWherePolicy) throw new Forbidden(req.t)\n\n const originalDoc = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth: 0,\n doc: docWithLocales,\n fallbackLocale: null,\n global: null,\n locale,\n overrideAccess: true,\n req,\n showHiddenFields: true,\n })\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data,\n overwriteExistingFiles,\n req,\n throwOnMissingFile: false,\n })\n\n data = newFileData\n\n // /////////////////////////////////////\n // Delete any associated files\n // /////////////////////////////////////\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc: docWithLocales,\n files: filesToUpload,\n overrideDelete: false,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate<DeepPartial<GeneratedTypes['collections'][TSlug]>>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n global: null,\n operation: 'update',\n overrideAccess,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeValidate.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\n\n // /////////////////////////////////////\n // beforeChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n let result = await beforeChange<GeneratedTypes['collections'][TSlug]>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n docWithLocales,\n global: null,\n operation: 'update',\n req,\n skipValidation: shouldSaveDraft || data._status === 'draft',\n })\n\n // /////////////////////////////////////\n // Handle potential password update\n // /////////////////////////////////////\n\n const dataToUpdate: Record<string, unknown> = { ...result }\n\n if (shouldSavePassword && typeof password === 'string') {\n const { hash, salt } = await generatePasswordSaltHash({ password })\n dataToUpdate.salt = salt\n dataToUpdate.hash = hash\n delete dataToUpdate.password\n delete data.password\n }\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n if (!shouldSaveDraft) {\n result = await req.payload.db.updateOne({\n id,\n collection: collectionConfig.slug,\n data: dataToUpdate,\n locale,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n result = await saveVersion({\n id,\n autosave,\n collection: collectionConfig,\n docWithLocales: {\n ...result,\n createdAt: docWithLocales.createdAt,\n },\n draft: shouldSaveDraft,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange<GeneratedTypes['collections'][TSlug]>({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'update',\n previousDoc: originalDoc,\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation: 'update',\n previousDoc: originalDoc,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<GeneratedTypes['collections'][TSlug]>({\n args,\n collection: collectionConfig,\n operation: 'updateByID',\n result,\n })\n\n await unlinkTempFiles({\n collectionConfig,\n config,\n req,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","generatePasswordSaltHash","hasWhereAccessResult","combineQueries","APIError","Forbidden","NotFound","afterChange","afterRead","beforeChange","beforeValidate","deleteAssociatedFiles","generateFileData","unlinkTempFiles","uploadFiles","commitTransaction","initTransaction","killTransaction","getLatestCollectionVersion","saveVersion","buildAfterOperation","updateByIDOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","id","autosave","collectionConfig","depth","draft","draftArg","overrideAccess","overwriteExistingFiles","fallbackLocale","locale","payload","showHiddenFields","BAD_REQUEST","data","password","shouldSaveDraft","Boolean","versions","drafts","shouldSavePassword","auth","accessResults","access","update","hasWherePolicy","findOneArgs","slug","where","equals","docWithLocales","query","t","originalDoc","doc","global","newFileData","files","filesToUpload","throwOnMissingFile","overrideDelete","upload","disableLocalStorage","result","skipValidation","_status","dataToUpdate","hash","salt","db","updateOne","createdAt","previousDoc","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/operations/updateByID.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport httpStatus from 'http-status'\n\nimport type { FindOneArgs } from '../../database/types.js'\nimport type { CollectionSlug, GeneratedTypes } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type {\n Collection,\n DataFromCollectionSlug,\n RequiredDataFromCollectionSlug,\n} 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<TSlug extends CollectionSlug> = {\n autosave?: boolean\n collection: Collection\n data: DeepPartial<RequiredDataFromCollectionSlug<TSlug>>\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 CollectionSlug>(\n incomingArgs: Arguments<TSlug>,\n): Promise<DataFromCollectionSlug<TSlug>> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'update',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n id,\n autosave = false,\n collection: { config: collectionConfig },\n collection,\n depth,\n draft: draftArg = false,\n overrideAccess,\n overwriteExistingFiles = false,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n showHiddenFields,\n } = args\n\n if (!id) {\n throw new APIError('Missing ID of document to update.', httpStatus.BAD_REQUEST)\n }\n\n let { data } = args\n const password = data?.password\n const shouldSaveDraft = Boolean(draftArg && collectionConfig.versions.drafts)\n const shouldSavePassword = Boolean(password && collectionConfig.auth && !shouldSaveDraft)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id, data, req }, collectionConfig.access.update)\n : true\n const hasWherePolicy = hasWhereAccessResult(accessResults)\n\n // /////////////////////////////////////\n // Retrieve document\n // /////////////////////////////////////\n\n const findOneArgs: FindOneArgs = {\n collection: collectionConfig.slug,\n locale,\n req,\n where: combineQueries({ id: { equals: id } }, accessResults),\n }\n\n const docWithLocales = await getLatestCollectionVersion({\n id,\n config: collectionConfig,\n payload,\n query: findOneArgs,\n req,\n })\n\n if (!docWithLocales && !hasWherePolicy) throw new NotFound(req.t)\n if (!docWithLocales && hasWherePolicy) throw new Forbidden(req.t)\n\n const originalDoc = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth: 0,\n doc: docWithLocales,\n draft: draftArg,\n fallbackLocale: null,\n global: null,\n locale,\n overrideAccess: true,\n req,\n showHiddenFields: true,\n })\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data,\n operation: 'update',\n overwriteExistingFiles,\n req,\n throwOnMissingFile: false,\n })\n\n data = newFileData\n\n // /////////////////////////////////////\n // Delete any associated files\n // /////////////////////////////////////\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc: docWithLocales,\n files: filesToUpload,\n overrideDelete: false,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate<DeepPartial<DataFromCollectionSlug<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<DataFromCollectionSlug<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:\n shouldSaveDraft &&\n collectionConfig.versions.drafts &&\n !collectionConfig.versions.drafts.validate &&\n 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({\n collection: collectionConfig,\n password,\n })\n dataToUpdate.salt = salt\n dataToUpdate.hash = hash\n delete dataToUpdate.password\n delete data.password\n }\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n if (!shouldSaveDraft || data._status === 'published') {\n result = await req.payload.db.updateOne({\n id,\n collection: collectionConfig.slug,\n data: dataToUpdate,\n locale,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n result = await saveVersion({\n id,\n autosave,\n collection: collectionConfig,\n docWithLocales: {\n ...result,\n createdAt: docWithLocales.createdAt,\n },\n draft: shouldSaveDraft,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n draft: draftArg,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange<DataFromCollectionSlug<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({\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","validate","_status","dataToUpdate","hash","salt","db","updateOne","createdAt","previousDoc","error"],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import type { forgotPasswordOperation } from '../../auth/operations/forgotPassword.js';
2
2
  import type { loginOperation } from '../../auth/operations/login.js';
3
3
  import type { refreshOperation } from '../../auth/operations/refresh.js';
4
+ import type { CollectionSlug } from '../../index.js';
4
5
  import type { PayloadRequest } from '../../types/index.js';
5
- import type { SanitizedCollectionConfig, TypeWithID } from '../config/types.js';
6
+ import type { SanitizedCollectionConfig } from '../config/types.js';
7
+ import type { countOperation } from './count.js';
6
8
  import type { createOperation } from './create.js';
7
9
  import type { deleteOperation } from './delete.js';
8
10
  import type { deleteByIDOperation } from './deleteByID.js';
@@ -10,64 +12,71 @@ import type { findOperation } from './find.js';
10
12
  import type { findByIDOperation } from './findByID.js';
11
13
  import type { updateOperation } from './update.js';
12
14
  import type { updateByIDOperation } from './updateByID.js';
13
- export type AfterOperationMap<T extends TypeWithID> = {
14
- create: typeof createOperation;
15
- delete: typeof deleteOperation;
16
- deleteByID: typeof deleteByIDOperation;
17
- find: typeof findOperation<T>;
18
- findByID: typeof findByIDOperation<T>;
15
+ export type AfterOperationMap<TOperationGeneric extends CollectionSlug> = {
16
+ count: typeof countOperation<TOperationGeneric>;
17
+ create: typeof createOperation<TOperationGeneric>;
18
+ delete: typeof deleteOperation<TOperationGeneric>;
19
+ deleteByID: typeof deleteByIDOperation<TOperationGeneric>;
20
+ find: typeof findOperation<TOperationGeneric>;
21
+ findByID: typeof findByIDOperation<TOperationGeneric>;
19
22
  forgotPassword: typeof forgotPasswordOperation;
20
- login: typeof loginOperation;
23
+ login: typeof loginOperation<TOperationGeneric>;
21
24
  refresh: typeof refreshOperation;
22
- update: typeof updateOperation;
23
- updateByID: typeof updateByIDOperation;
25
+ update: typeof updateOperation<TOperationGeneric>;
26
+ updateByID: typeof updateByIDOperation<TOperationGeneric>;
24
27
  };
25
- export type AfterOperationArg<T extends TypeWithID> = {
28
+ export type AfterOperationArg<TOperationGeneric extends CollectionSlug> = {
26
29
  /** The collection which this hook is being run on */
27
30
  collection: SanitizedCollectionConfig;
28
31
  req: PayloadRequest;
29
32
  } & ({
30
- args: Parameters<AfterOperationMap<T>['create']>[0];
33
+ args: Parameters<AfterOperationMap<TOperationGeneric>['count']>[0];
34
+ operation: 'count';
35
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['count']>>;
36
+ } | {
37
+ args: Parameters<AfterOperationMap<TOperationGeneric>['create']>[0];
31
38
  operation: 'create';
32
- result: Awaited<ReturnType<AfterOperationMap<T>['create']>>;
39
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['create']>>;
33
40
  } | {
34
- args: Parameters<AfterOperationMap<T>['delete']>[0];
41
+ args: Parameters<AfterOperationMap<TOperationGeneric>['delete']>[0];
35
42
  operation: 'delete';
36
- result: Awaited<ReturnType<AfterOperationMap<T>['delete']>>;
43
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['delete']>>;
37
44
  } | {
38
- args: Parameters<AfterOperationMap<T>['deleteByID']>[0];
45
+ args: Parameters<AfterOperationMap<TOperationGeneric>['deleteByID']>[0];
39
46
  operation: 'deleteByID';
40
- result: Awaited<ReturnType<AfterOperationMap<T>['deleteByID']>>;
47
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['deleteByID']>>;
41
48
  } | {
42
- args: Parameters<AfterOperationMap<T>['find']>[0];
49
+ args: Parameters<AfterOperationMap<TOperationGeneric>['find']>[0];
43
50
  operation: 'find';
44
- result: Awaited<ReturnType<AfterOperationMap<T>['find']>>;
51
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['find']>>;
45
52
  } | {
46
- args: Parameters<AfterOperationMap<T>['findByID']>[0];
53
+ args: Parameters<AfterOperationMap<TOperationGeneric>['findByID']>[0];
47
54
  operation: 'findByID';
48
- result: Awaited<ReturnType<AfterOperationMap<T>['findByID']>>;
55
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['findByID']>>;
49
56
  } | {
50
- args: Parameters<AfterOperationMap<T>['forgotPassword']>[0];
57
+ args: Parameters<AfterOperationMap<TOperationGeneric>['forgotPassword']>[0];
51
58
  operation: 'forgotPassword';
52
- result: Awaited<ReturnType<AfterOperationMap<T>['forgotPassword']>>;
59
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['forgotPassword']>>;
53
60
  } | {
54
- args: Parameters<AfterOperationMap<T>['login']>[0];
61
+ args: Parameters<AfterOperationMap<TOperationGeneric>['login']>[0];
55
62
  operation: 'login';
56
- result: Awaited<ReturnType<AfterOperationMap<T>['login']>>;
63
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['login']>>;
57
64
  } | {
58
- args: Parameters<AfterOperationMap<T>['refresh']>[0];
65
+ args: Parameters<AfterOperationMap<TOperationGeneric>['refresh']>[0];
59
66
  operation: 'refresh';
60
- result: Awaited<ReturnType<AfterOperationMap<T>['refresh']>>;
67
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['refresh']>>;
61
68
  } | {
62
- args: Parameters<AfterOperationMap<T>['update']>[0];
69
+ args: Parameters<AfterOperationMap<TOperationGeneric>['update']>[0];
63
70
  operation: 'update';
64
- result: Awaited<ReturnType<AfterOperationMap<T>['update']>>;
71
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['update']>>;
65
72
  } | {
66
- args: Parameters<AfterOperationMap<T>['updateByID']>[0];
73
+ args: Parameters<AfterOperationMap<TOperationGeneric>['updateByID']>[0];
67
74
  operation: 'updateByID';
68
- result: Awaited<ReturnType<AfterOperationMap<T>['updateByID']>>;
75
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['updateByID']>>;
69
76
  });
70
- export declare const buildAfterOperation: <T extends TypeWithID = any, O extends keyof AfterOperationMap<T> = keyof AfterOperationMap<T>>(operationArgs: Omit<AfterOperationArg<T>, 'req'> & {
77
+ type OperationResult<TOperationGeneric extends CollectionSlug, O extends keyof AfterOperationMap<TOperationGeneric>> = Awaited<ReturnType<AfterOperationMap<TOperationGeneric>[O]>>;
78
+ export declare const buildAfterOperation: <TOperationGeneric extends CollectionSlug, O extends keyof AfterOperationMap<TOperationGeneric> = keyof AfterOperationMap<TOperationGeneric>>(operationArgs: Omit<AfterOperationArg<TOperationGeneric>, "req"> & {
71
79
  operation: O;
72
- }) => Promise<Awaited<ReturnType<AfterOperationMap<T>[O]>>>;
80
+ }) => Promise<OperationResult<TOperationGeneric, O> | any>;
81
+ export {};
73
82
  //# sourceMappingURL=utils.d.ts.map
@@ -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,4 +1,3 @@
1
- // export type AfterOperationHook = typeof buildAfterOperation;
2
1
  export const buildAfterOperation = async (operationArgs)=>{
3
2
  const { args, collection, operation, result } = operationArgs;
4
3
  let newResult = result;
@@ -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 { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { AfterOperationHook, SanitizedCollectionConfig } 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<TOperationGeneric extends CollectionSlug> = {\n count: typeof countOperation<TOperationGeneric>\n create: typeof createOperation<TOperationGeneric>\n delete: typeof deleteOperation<TOperationGeneric>\n deleteByID: typeof deleteByIDOperation<TOperationGeneric>\n find: typeof findOperation<TOperationGeneric>\n findByID: typeof findByIDOperation<TOperationGeneric>\n forgotPassword: typeof forgotPasswordOperation\n login: typeof loginOperation<TOperationGeneric>\n refresh: typeof refreshOperation\n update: typeof updateOperation<TOperationGeneric>\n updateByID: typeof updateByIDOperation<TOperationGeneric>\n}\n\nexport type AfterOperationArg<TOperationGeneric extends CollectionSlug> = {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n req: PayloadRequest\n} & (\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['count']>[0]\n operation: 'count'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['count']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['create']>[0]\n operation: 'create'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['create']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['delete']>[0]\n operation: 'delete'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['delete']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['deleteByID']>[0]\n operation: 'deleteByID'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['deleteByID']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['find']>[0]\n operation: 'find'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['find']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['findByID']>[0]\n operation: 'findByID'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['findByID']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['forgotPassword']>[0]\n operation: 'forgotPassword'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['forgotPassword']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['login']>[0]\n operation: 'login'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['login']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['refresh']>[0]\n operation: 'refresh'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['refresh']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['update']>[0]\n operation: 'update'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['update']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['updateByID']>[0]\n operation: 'updateByID'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['updateByID']>>\n }\n)\n\ntype OperationResult<\n TOperationGeneric extends CollectionSlug,\n O extends keyof AfterOperationMap<TOperationGeneric>,\n> = Awaited<ReturnType<AfterOperationMap<TOperationGeneric>[O]>>\n\nexport const buildAfterOperation = async <\n TOperationGeneric extends CollectionSlug,\n O extends keyof AfterOperationMap<TOperationGeneric> = keyof AfterOperationMap<TOperationGeneric>,\n>(\n operationArgs: Omit<AfterOperationArg<TOperationGeneric>, 'req'> & { operation: O },\n): Promise<OperationResult<TOperationGeneric, O> | any> => {\n const { args, collection, operation, result } = operationArgs\n\n let newResult = result as OperationResult<TOperationGeneric, O>\n\n await args.collection.config.hooks.afterOperation.reduce(\n async (priorHook, hook: AfterOperationHook<TOperationGeneric>) => {\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<TOperationGeneric>)\n\n if (hookResult !== undefined) {\n newResult = hookResult as OperationResult<TOperationGeneric, O>\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"],"mappings":"AAgGA,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 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/config/build.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAIzD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAa1E"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/config/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAIzD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAW1E"}
@@ -1,4 +1,4 @@
1
- /* eslint-disable no-use-before-define */ /* eslint-disable no-nested-ternary */ import { sanitizeConfig } from './sanitize.js';
1
+ import { sanitizeConfig } from './sanitize.js';
2
2
  /**
3
3
  * @description Builds and validates Payload configuration
4
4
  * @param config Payload Config
@@ -9,10 +9,9 @@
9
9
  const configAfterPlugin = await acc;
10
10
  return plugin(configAfterPlugin);
11
11
  }, Promise.resolve(config));
12
- const sanitizedConfig = sanitizeConfig(configAfterPlugins);
13
- return sanitizedConfig;
12
+ return await sanitizeConfig(configAfterPlugins);
14
13
  }
15
- return sanitizeConfig(config);
14
+ return await sanitizeConfig(config);
16
15
  }
17
16
 
18
17
  //# sourceMappingURL=build.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config/build.ts"],"sourcesContent":["/* eslint-disable no-use-before-define */\n/* eslint-disable no-nested-ternary */\nimport type { Config, SanitizedConfig } from './types.js'\n\nimport { sanitizeConfig } from './sanitize.js'\n\n/**\n * @description Builds and validates Payload configuration\n * @param config Payload Config\n * @returns Built and sanitized Payload Config\n */\nexport async function buildConfig(config: Config): Promise<SanitizedConfig> {\n if (Array.isArray(config.plugins)) {\n const configAfterPlugins = await config.plugins.reduce(async (acc, plugin) => {\n const configAfterPlugin = await acc\n return plugin(configAfterPlugin)\n }, Promise.resolve(config))\n\n const sanitizedConfig = sanitizeConfig(configAfterPlugins)\n\n return sanitizedConfig\n }\n\n return sanitizeConfig(config)\n}\n"],"names":["sanitizeConfig","buildConfig","config","Array","isArray","plugins","configAfterPlugins","reduce","acc","plugin","configAfterPlugin","Promise","resolve","sanitizedConfig"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAAA,uCAAuC,GACvC,oCAAoC,GAGpC,SAASA,cAAc,QAAQ,gBAAe;AAE9C;;;;CAIC,GACD,OAAO,eAAeC,YAAYC,MAAc;IAC9C,IAAIC,MAAMC,OAAO,CAACF,OAAOG,OAAO,GAAG;QACjC,MAAMC,qBAAqB,MAAMJ,OAAOG,OAAO,CAACE,MAAM,CAAC,OAAOC,KAAKC;YACjE,MAAMC,oBAAoB,MAAMF;YAChC,OAAOC,OAAOC;QAChB,GAAGC,QAAQC,OAAO,CAACV;QAEnB,MAAMW,kBAAkBb,eAAeM;QAEvC,OAAOO;IACT;IAEA,OAAOb,eAAeE;AACxB"}
1
+ {"version":3,"sources":["../../src/config/build.ts"],"sourcesContent":["import type { Config, SanitizedConfig } from './types.js'\n\nimport { sanitizeConfig } from './sanitize.js'\n\n/**\n * @description Builds and validates Payload configuration\n * @param config Payload Config\n * @returns Built and sanitized Payload Config\n */\nexport async function buildConfig(config: Config): Promise<SanitizedConfig> {\n if (Array.isArray(config.plugins)) {\n const configAfterPlugins = await config.plugins.reduce(async (acc, plugin) => {\n const configAfterPlugin = await acc\n return plugin(configAfterPlugin)\n }, Promise.resolve(config))\n\n return await sanitizeConfig(configAfterPlugins)\n }\n\n return await sanitizeConfig(config)\n}\n"],"names":["sanitizeConfig","buildConfig","config","Array","isArray","plugins","configAfterPlugins","reduce","acc","plugin","configAfterPlugin","Promise","resolve"],"mappings":"AAEA,SAASA,cAAc,QAAQ,gBAAe;AAE9C;;;;CAIC,GACD,OAAO,eAAeC,YAAYC,MAAc;IAC9C,IAAIC,MAAMC,OAAO,CAACF,OAAOG,OAAO,GAAG;QACjC,MAAMC,qBAAqB,MAAMJ,OAAOG,OAAO,CAACE,MAAM,CAAC,OAAOC,KAAKC;YACjE,MAAMC,oBAAoB,MAAMF;YAChC,OAAOC,OAAOC;QAChB,GAAGC,QAAQC,OAAO,CAACV;QAEnB,OAAO,MAAMF,eAAeM;IAC9B;IAEA,OAAO,MAAMN,eAAeE;AAC9B"}
@@ -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' | 'graphQL' | '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,SAAS,GACT,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,OAAO,CAAC,YAAY,CAgEvB,CAAA"}