payload 3.0.0-beta.55 → 3.0.0-beta.57

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 (422) hide show
  1. package/dist/admin/RichText.d.ts +3 -3
  2. package/dist/admin/RichText.d.ts.map +1 -1
  3. package/dist/admin/RichText.js.map +1 -1
  4. package/dist/admin/views/types.d.ts +2 -2
  5. package/dist/admin/views/types.d.ts.map +1 -1
  6. package/dist/admin/views/types.js.map +1 -1
  7. package/dist/auth/baseFields/auth.d.ts.map +1 -1
  8. package/dist/auth/baseFields/auth.js +0 -14
  9. package/dist/auth/baseFields/auth.js.map +1 -1
  10. package/dist/auth/baseFields/loginField.d.ts +4 -0
  11. package/dist/auth/baseFields/loginField.d.ts.map +1 -0
  12. package/dist/auth/baseFields/loginField.js +35 -0
  13. package/dist/auth/baseFields/loginField.js.map +1 -0
  14. package/dist/auth/defaultAccess.d.ts +2 -2
  15. package/dist/auth/defaultAccess.d.ts.map +1 -1
  16. package/dist/auth/defaultAccess.js.map +1 -1
  17. package/dist/auth/executeAccess.d.ts +2 -2
  18. package/dist/auth/executeAccess.d.ts.map +1 -1
  19. package/dist/auth/executeAccess.js.map +1 -1
  20. package/dist/auth/executeAuthStrategies.d.ts +2 -3
  21. package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
  22. package/dist/auth/executeAuthStrategies.js +6 -4
  23. package/dist/auth/executeAuthStrategies.js.map +1 -1
  24. package/dist/auth/getAccessResults.d.ts +2 -2
  25. package/dist/auth/getAccessResults.d.ts.map +1 -1
  26. package/dist/auth/getAccessResults.js.map +1 -1
  27. package/dist/auth/getFieldsToSign.d.ts +2 -2
  28. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  29. package/dist/auth/getFieldsToSign.js.map +1 -1
  30. package/dist/auth/operations/access.d.ts +2 -2
  31. package/dist/auth/operations/access.d.ts.map +1 -1
  32. package/dist/auth/operations/access.js.map +1 -1
  33. package/dist/auth/operations/auth.d.ts +3 -2
  34. package/dist/auth/operations/auth.d.ts.map +1 -1
  35. package/dist/auth/operations/auth.js +3 -1
  36. package/dist/auth/operations/auth.js.map +1 -1
  37. package/dist/auth/operations/forgotPassword.d.ts +7 -7
  38. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  39. package/dist/auth/operations/forgotPassword.js +11 -6
  40. package/dist/auth/operations/forgotPassword.js.map +1 -1
  41. package/dist/auth/operations/init.d.ts +2 -2
  42. package/dist/auth/operations/init.d.ts.map +1 -1
  43. package/dist/auth/operations/init.js.map +1 -1
  44. package/dist/auth/operations/local/auth.js.map +1 -1
  45. package/dist/auth/operations/local/forgotPassword.d.ts +2 -2
  46. package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
  47. package/dist/auth/operations/local/forgotPassword.js.map +1 -1
  48. package/dist/auth/operations/local/login.d.ts +4 -7
  49. package/dist/auth/operations/local/login.d.ts.map +1 -1
  50. package/dist/auth/operations/local/login.js.map +1 -1
  51. package/dist/auth/operations/local/resetPassword.d.ts +2 -2
  52. package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
  53. package/dist/auth/operations/local/resetPassword.js.map +1 -1
  54. package/dist/auth/operations/local/unlock.d.ts +2 -2
  55. package/dist/auth/operations/local/unlock.d.ts.map +1 -1
  56. package/dist/auth/operations/local/unlock.js.map +1 -1
  57. package/dist/auth/operations/local/verifyEmail.d.ts +2 -2
  58. package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
  59. package/dist/auth/operations/local/verifyEmail.js.map +1 -1
  60. package/dist/auth/operations/login.d.ts +6 -9
  61. package/dist/auth/operations/login.d.ts.map +1 -1
  62. package/dist/auth/operations/login.js +41 -17
  63. package/dist/auth/operations/login.js.map +1 -1
  64. package/dist/auth/operations/logout.d.ts +2 -2
  65. package/dist/auth/operations/logout.d.ts.map +1 -1
  66. package/dist/auth/operations/logout.js.map +1 -1
  67. package/dist/auth/operations/me.d.ts +3 -3
  68. package/dist/auth/operations/me.d.ts.map +1 -1
  69. package/dist/auth/operations/me.js +25 -10
  70. package/dist/auth/operations/me.js.map +1 -1
  71. package/dist/auth/operations/refresh.d.ts +3 -3
  72. package/dist/auth/operations/refresh.d.ts.map +1 -1
  73. package/dist/auth/operations/refresh.js +35 -18
  74. package/dist/auth/operations/refresh.js.map +1 -1
  75. package/dist/auth/operations/registerFirstUser.d.ts +4 -7
  76. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  77. package/dist/auth/operations/registerFirstUser.js.map +1 -1
  78. package/dist/auth/operations/resetPassword.d.ts +2 -2
  79. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  80. package/dist/auth/operations/resetPassword.js +1 -0
  81. package/dist/auth/operations/resetPassword.js.map +1 -1
  82. package/dist/auth/operations/unlock.d.ts +2 -2
  83. package/dist/auth/operations/unlock.d.ts.map +1 -1
  84. package/dist/auth/operations/unlock.js.map +1 -1
  85. package/dist/auth/operations/verifyEmail.d.ts +2 -2
  86. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  87. package/dist/auth/operations/verifyEmail.js.map +1 -1
  88. package/dist/auth/sendVerificationEmail.d.ts +2 -2
  89. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  90. package/dist/auth/sendVerificationEmail.js.map +1 -1
  91. package/dist/auth/strategies/apiKey.d.ts.map +1 -1
  92. package/dist/auth/strategies/apiKey.js +9 -3
  93. package/dist/auth/strategies/apiKey.js.map +1 -1
  94. package/dist/auth/strategies/jwt.d.ts.map +1 -1
  95. package/dist/auth/strategies/jwt.js +9 -3
  96. package/dist/auth/strategies/jwt.js.map +1 -1
  97. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts +3 -1
  98. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts.map +1 -1
  99. package/dist/auth/strategies/local/generatePasswordSaltHash.js +10 -7
  100. package/dist/auth/strategies/local/generatePasswordSaltHash.js.map +1 -1
  101. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +2 -2
  102. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  103. package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
  104. package/dist/auth/strategies/local/register.d.ts +2 -2
  105. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  106. package/dist/auth/strategies/local/register.js +19 -7
  107. package/dist/auth/strategies/local/register.js.map +1 -1
  108. package/dist/auth/strategies/local/resetLoginAttempts.d.ts +2 -2
  109. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  110. package/dist/auth/strategies/local/resetLoginAttempts.js.map +1 -1
  111. package/dist/auth/types.d.ts +21 -15
  112. package/dist/auth/types.d.ts.map +1 -1
  113. package/dist/auth/types.js.map +1 -1
  114. package/dist/collections/config/client.d.ts +7 -5
  115. package/dist/collections/config/client.d.ts.map +1 -1
  116. package/dist/collections/config/defaults.d.ts +8 -5
  117. package/dist/collections/config/defaults.d.ts.map +1 -1
  118. package/dist/collections/config/defaults.js +4 -1
  119. package/dist/collections/config/defaults.js.map +1 -1
  120. package/dist/collections/config/sanitize.d.ts.map +1 -1
  121. package/dist/collections/config/sanitize.js +3 -0
  122. package/dist/collections/config/sanitize.js.map +1 -1
  123. package/dist/collections/config/schema.d.ts.map +1 -1
  124. package/dist/collections/config/schema.js +8 -5
  125. package/dist/collections/config/schema.js.map +1 -1
  126. package/dist/collections/config/types.d.ts +50 -20
  127. package/dist/collections/config/types.d.ts.map +1 -1
  128. package/dist/collections/config/types.js.map +1 -1
  129. package/dist/collections/dataloader.d.ts.map +1 -1
  130. package/dist/collections/dataloader.js +1 -1
  131. package/dist/collections/dataloader.js.map +1 -1
  132. package/dist/collections/operations/count.d.ts +2 -2
  133. package/dist/collections/operations/count.d.ts.map +1 -1
  134. package/dist/collections/operations/count.js.map +1 -1
  135. package/dist/collections/operations/create.d.ts +2 -2
  136. package/dist/collections/operations/create.d.ts.map +1 -1
  137. package/dist/collections/operations/create.js.map +1 -1
  138. package/dist/collections/operations/delete.d.ts +2 -2
  139. package/dist/collections/operations/delete.d.ts.map +1 -1
  140. package/dist/collections/operations/delete.js.map +1 -1
  141. package/dist/collections/operations/deleteByID.d.ts +2 -2
  142. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  143. package/dist/collections/operations/deleteByID.js.map +1 -1
  144. package/dist/collections/operations/docAccess.d.ts +2 -2
  145. package/dist/collections/operations/docAccess.d.ts.map +1 -1
  146. package/dist/collections/operations/docAccess.js.map +1 -1
  147. package/dist/collections/operations/duplicate.d.ts +2 -2
  148. package/dist/collections/operations/duplicate.d.ts.map +1 -1
  149. package/dist/collections/operations/duplicate.js.map +1 -1
  150. package/dist/collections/operations/find.d.ts +2 -2
  151. package/dist/collections/operations/find.d.ts.map +1 -1
  152. package/dist/collections/operations/find.js.map +1 -1
  153. package/dist/collections/operations/findByID.d.ts +2 -2
  154. package/dist/collections/operations/findByID.d.ts.map +1 -1
  155. package/dist/collections/operations/findByID.js.map +1 -1
  156. package/dist/collections/operations/findVersionByID.d.ts +2 -2
  157. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  158. package/dist/collections/operations/findVersionByID.js.map +1 -1
  159. package/dist/collections/operations/findVersions.d.ts +2 -2
  160. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  161. package/dist/collections/operations/findVersions.js.map +1 -1
  162. package/dist/collections/operations/local/count.d.ts +2 -2
  163. package/dist/collections/operations/local/count.d.ts.map +1 -1
  164. package/dist/collections/operations/local/count.js.map +1 -1
  165. package/dist/collections/operations/local/create.d.ts +2 -2
  166. package/dist/collections/operations/local/create.d.ts.map +1 -1
  167. package/dist/collections/operations/local/create.js.map +1 -1
  168. package/dist/collections/operations/local/delete.d.ts +2 -2
  169. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  170. package/dist/collections/operations/local/delete.js.map +1 -1
  171. package/dist/collections/operations/local/duplicate.d.ts +2 -2
  172. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  173. package/dist/collections/operations/local/duplicate.js.map +1 -1
  174. package/dist/collections/operations/local/find.d.ts +2 -2
  175. package/dist/collections/operations/local/find.d.ts.map +1 -1
  176. package/dist/collections/operations/local/find.js.map +1 -1
  177. package/dist/collections/operations/local/findByID.d.ts +2 -2
  178. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  179. package/dist/collections/operations/local/findByID.js.map +1 -1
  180. package/dist/collections/operations/local/findVersionByID.d.ts +2 -2
  181. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  182. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  183. package/dist/collections/operations/local/findVersions.d.ts +2 -2
  184. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  185. package/dist/collections/operations/local/findVersions.js.map +1 -1
  186. package/dist/collections/operations/local/restoreVersion.d.ts +2 -2
  187. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  188. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  189. package/dist/collections/operations/local/update.d.ts +2 -2
  190. package/dist/collections/operations/local/update.d.ts.map +1 -1
  191. package/dist/collections/operations/local/update.js.map +1 -1
  192. package/dist/collections/operations/restoreVersion.d.ts +2 -2
  193. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  194. package/dist/collections/operations/restoreVersion.js.map +1 -1
  195. package/dist/collections/operations/update.d.ts +2 -2
  196. package/dist/collections/operations/update.d.ts.map +1 -1
  197. package/dist/collections/operations/update.js.map +1 -1
  198. package/dist/collections/operations/updateByID.d.ts +2 -2
  199. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  200. package/dist/collections/operations/updateByID.js +1 -0
  201. package/dist/collections/operations/updateByID.js.map +1 -1
  202. package/dist/collections/operations/utils.d.ts +2 -2
  203. package/dist/collections/operations/utils.d.ts.map +1 -1
  204. package/dist/collections/operations/utils.js.map +1 -1
  205. package/dist/config/schema.d.ts.map +1 -1
  206. package/dist/config/schema.js +4 -2
  207. package/dist/config/schema.js.map +1 -1
  208. package/dist/config/types.d.ts +14 -4
  209. package/dist/config/types.d.ts.map +1 -1
  210. package/dist/config/types.js.map +1 -1
  211. package/dist/database/migrations/migrate.js.map +1 -1
  212. package/dist/database/migrations/migrateDown.js.map +1 -1
  213. package/dist/database/migrations/migrateRefresh.js.map +1 -1
  214. package/dist/database/migrations/migrateReset.js.map +1 -1
  215. package/dist/database/queryValidation/validateQueryPaths.d.ts +2 -2
  216. package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
  217. package/dist/database/queryValidation/validateQueryPaths.js +3 -3
  218. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
  219. package/dist/database/queryValidation/validateSearchParams.d.ts +2 -2
  220. package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
  221. package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
  222. package/dist/database/types.d.ts +20 -20
  223. package/dist/database/types.d.ts.map +1 -1
  224. package/dist/database/types.js.map +1 -1
  225. package/dist/errors/APIError.d.ts.map +1 -1
  226. package/dist/errors/APIError.js +4 -1
  227. package/dist/errors/APIError.js.map +1 -1
  228. package/dist/errors/AuthenticationError.d.ts +1 -1
  229. package/dist/errors/AuthenticationError.d.ts.map +1 -1
  230. package/dist/errors/AuthenticationError.js +2 -2
  231. package/dist/errors/AuthenticationError.js.map +1 -1
  232. package/dist/errors/ValidationError.d.ts +13 -5
  233. package/dist/errors/ValidationError.d.ts.map +1 -1
  234. package/dist/errors/ValidationError.js +3 -3
  235. package/dist/errors/ValidationError.js.map +1 -1
  236. package/dist/fields/config/client.d.ts +84 -2
  237. package/dist/fields/config/client.d.ts.map +1 -1
  238. package/dist/fields/config/client.js +2 -1
  239. package/dist/fields/config/client.js.map +1 -1
  240. package/dist/fields/config/schema.d.ts.map +1 -1
  241. package/dist/fields/config/schema.js +1 -0
  242. package/dist/fields/config/schema.js.map +1 -1
  243. package/dist/fields/config/types.d.ts +19 -7
  244. package/dist/fields/config/types.d.ts.map +1 -1
  245. package/dist/fields/config/types.js.map +1 -1
  246. package/dist/fields/getDefaultValue.d.ts +2 -2
  247. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  248. package/dist/fields/getDefaultValue.js.map +1 -1
  249. package/dist/fields/hooks/afterChange/index.d.ts +2 -2
  250. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  251. package/dist/fields/hooks/afterChange/index.js.map +1 -1
  252. package/dist/fields/hooks/afterChange/promise.d.ts +2 -2
  253. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  254. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  255. package/dist/fields/hooks/afterChange/traverseFields.d.ts +2 -2
  256. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  257. package/dist/fields/hooks/afterChange/traverseFields.js.map +1 -1
  258. package/dist/fields/hooks/afterRead/index.d.ts +2 -2
  259. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  260. package/dist/fields/hooks/afterRead/index.js.map +1 -1
  261. package/dist/fields/hooks/afterRead/promise.d.ts +2 -2
  262. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  263. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  264. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +2 -2
  265. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  266. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -1
  267. package/dist/fields/hooks/afterRead/traverseFields.d.ts +2 -2
  268. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  269. package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
  270. package/dist/fields/hooks/beforeChange/index.d.ts +2 -2
  271. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  272. package/dist/fields/hooks/beforeChange/index.js +5 -1
  273. package/dist/fields/hooks/beforeChange/index.js.map +1 -1
  274. package/dist/fields/hooks/beforeChange/promise.d.ts +2 -2
  275. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  276. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  277. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +2 -2
  278. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  279. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
  280. package/dist/fields/hooks/beforeValidate/index.d.ts +2 -2
  281. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  282. package/dist/fields/hooks/beforeValidate/index.js.map +1 -1
  283. package/dist/fields/hooks/beforeValidate/promise.d.ts +2 -2
  284. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  285. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  286. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +2 -2
  287. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  288. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  289. package/dist/fields/validations.d.ts +5 -1
  290. package/dist/fields/validations.d.ts.map +1 -1
  291. package/dist/globals/config/types.d.ts +7 -7
  292. package/dist/globals/config/types.d.ts.map +1 -1
  293. package/dist/globals/config/types.js.map +1 -1
  294. package/dist/globals/operations/docAccess.d.ts +2 -2
  295. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  296. package/dist/globals/operations/docAccess.js.map +1 -1
  297. package/dist/globals/operations/findOne.d.ts +2 -2
  298. package/dist/globals/operations/findOne.d.ts.map +1 -1
  299. package/dist/globals/operations/findOne.js.map +1 -1
  300. package/dist/globals/operations/findVersionByID.d.ts +2 -2
  301. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  302. package/dist/globals/operations/findVersionByID.js.map +1 -1
  303. package/dist/globals/operations/findVersions.d.ts +2 -2
  304. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  305. package/dist/globals/operations/findVersions.js.map +1 -1
  306. package/dist/globals/operations/local/findOne.d.ts +2 -2
  307. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  308. package/dist/globals/operations/local/findOne.js.map +1 -1
  309. package/dist/globals/operations/local/findVersionByID.d.ts +2 -2
  310. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  311. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  312. package/dist/globals/operations/local/findVersions.d.ts +2 -2
  313. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  314. package/dist/globals/operations/local/findVersions.js.map +1 -1
  315. package/dist/globals/operations/local/restoreVersion.d.ts +2 -2
  316. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  317. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  318. package/dist/globals/operations/local/update.d.ts +2 -2
  319. package/dist/globals/operations/local/update.d.ts.map +1 -1
  320. package/dist/globals/operations/local/update.js.map +1 -1
  321. package/dist/globals/operations/restoreVersion.d.ts +2 -2
  322. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  323. package/dist/globals/operations/restoreVersion.js.map +1 -1
  324. package/dist/globals/operations/update.d.ts +2 -2
  325. package/dist/globals/operations/update.d.ts.map +1 -1
  326. package/dist/globals/operations/update.js.map +1 -1
  327. package/dist/index.d.ts +21 -1
  328. package/dist/index.d.ts.map +1 -1
  329. package/dist/index.js +2 -0
  330. package/dist/index.js.map +1 -1
  331. package/dist/preferences/deleteUserPreferences.d.ts +2 -2
  332. package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
  333. package/dist/preferences/deleteUserPreferences.js.map +1 -1
  334. package/dist/preferences/requestHandlers/delete.js.map +1 -1
  335. package/dist/preferences/requestHandlers/findOne.js.map +1 -1
  336. package/dist/preferences/requestHandlers/update.js.map +1 -1
  337. package/dist/preferences/types.d.ts +3 -3
  338. package/dist/preferences/types.d.ts.map +1 -1
  339. package/dist/preferences/types.js.map +1 -1
  340. package/dist/types/index.d.ts +16 -5
  341. package/dist/types/index.d.ts.map +1 -1
  342. package/dist/types/index.js.map +1 -1
  343. package/dist/uploads/deleteAssociatedFiles.d.ts +2 -2
  344. package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
  345. package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
  346. package/dist/uploads/docWithFilenameExists.d.ts +2 -2
  347. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  348. package/dist/uploads/docWithFilenameExists.js.map +1 -1
  349. package/dist/uploads/generateFileData.d.ts +2 -2
  350. package/dist/uploads/generateFileData.d.ts.map +1 -1
  351. package/dist/uploads/generateFileData.js.map +1 -1
  352. package/dist/uploads/getExternalFile.d.ts +2 -2
  353. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  354. package/dist/uploads/getExternalFile.js.map +1 -1
  355. package/dist/uploads/getFileByPath.d.ts +2 -2
  356. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  357. package/dist/uploads/getFileByPath.js.map +1 -1
  358. package/dist/uploads/getImageSize.d.ts +2 -2
  359. package/dist/uploads/getImageSize.d.ts.map +1 -1
  360. package/dist/uploads/getImageSize.js.map +1 -1
  361. package/dist/uploads/getSafeFilename.d.ts +2 -2
  362. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  363. package/dist/uploads/getSafeFilename.js.map +1 -1
  364. package/dist/uploads/imageResizer.d.ts +3 -3
  365. package/dist/uploads/imageResizer.d.ts.map +1 -1
  366. package/dist/uploads/imageResizer.js.map +1 -1
  367. package/dist/uploads/types.d.ts +2 -2
  368. package/dist/uploads/types.d.ts.map +1 -1
  369. package/dist/uploads/types.js.map +1 -1
  370. package/dist/uploads/unlinkTempFiles.d.ts +2 -2
  371. package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
  372. package/dist/uploads/unlinkTempFiles.js.map +1 -1
  373. package/dist/uploads/uploadFiles.d.ts +2 -2
  374. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  375. package/dist/uploads/uploadFiles.js.map +1 -1
  376. package/dist/utilities/commitTransaction.d.ts +2 -2
  377. package/dist/utilities/commitTransaction.d.ts.map +1 -1
  378. package/dist/utilities/commitTransaction.js.map +1 -1
  379. package/dist/utilities/configToJSONSchema.d.ts +1 -0
  380. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  381. package/dist/utilities/configToJSONSchema.js +104 -4
  382. package/dist/utilities/configToJSONSchema.js.map +1 -1
  383. package/dist/utilities/configToJSONSchema.spec.js +58 -0
  384. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  385. package/dist/utilities/createLocalReq.d.ts +3 -3
  386. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  387. package/dist/utilities/createLocalReq.js.map +1 -1
  388. package/dist/utilities/getEntityPolicies.d.ts +2 -2
  389. package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
  390. package/dist/utilities/getEntityPolicies.js.map +1 -1
  391. package/dist/utilities/initTransaction.d.ts +2 -2
  392. package/dist/utilities/initTransaction.d.ts.map +1 -1
  393. package/dist/utilities/initTransaction.js.map +1 -1
  394. package/dist/utilities/isEntityHidden.d.ts +2 -2
  395. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  396. package/dist/utilities/isEntityHidden.js.map +1 -1
  397. package/dist/utilities/killTransaction.d.ts +2 -2
  398. package/dist/utilities/killTransaction.d.ts.map +1 -1
  399. package/dist/utilities/killTransaction.js.map +1 -1
  400. package/dist/utilities/logger.js.map +1 -1
  401. package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
  402. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  403. package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
  404. package/dist/versions/deleteCollectionVersions.d.ts +2 -2
  405. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  406. package/dist/versions/deleteCollectionVersions.js.map +1 -1
  407. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +2 -2
  408. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  409. package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
  410. package/dist/versions/enforceMaxVersions.d.ts +2 -2
  411. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  412. package/dist/versions/enforceMaxVersions.js.map +1 -1
  413. package/dist/versions/getLatestCollectionVersion.d.ts +2 -2
  414. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  415. package/dist/versions/getLatestCollectionVersion.js.map +1 -1
  416. package/dist/versions/getLatestGlobalVersion.d.ts +2 -2
  417. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  418. package/dist/versions/getLatestGlobalVersion.js.map +1 -1
  419. package/dist/versions/saveVersion.d.ts +2 -2
  420. package/dist/versions/saveVersion.d.ts.map +1 -1
  421. package/dist/versions/saveVersion.js.map +1 -1
  422. package/package.json +2 -2
@@ -7,8 +7,9 @@ import { commitTransaction } from '../../utilities/commitTransaction.js';
7
7
  import { initTransaction } from '../../utilities/initTransaction.js';
8
8
  import { killTransaction } from '../../utilities/killTransaction.js';
9
9
  export const forgotPasswordOperation = async (incomingArgs)=>{
10
- if (!Object.prototype.hasOwnProperty.call(incomingArgs.data, 'email')) {
11
- throw new APIError('Missing email.', httpStatus.BAD_REQUEST);
10
+ const loginWithUsername = incomingArgs.collection?.config?.auth?.loginWithUsername;
11
+ if (!incomingArgs.data.email && !incomingArgs.data.username) {
12
+ throw new APIError(`Missing ${loginWithUsername ? 'username' : 'email'}.`, httpStatus.BAD_REQUEST);
12
13
  }
13
14
  let args = incomingArgs;
14
15
  try {
@@ -31,13 +32,17 @@ export const forgotPasswordOperation = async (incomingArgs)=>{
31
32
  // Forget password
32
33
  // /////////////////////////////////////
33
34
  let token = crypto.randomBytes(20).toString('hex');
34
- if (!data.email) {
35
- throw new APIError('Missing email.', httpStatus.BAD_REQUEST);
35
+ if (!data.email && !data.username) {
36
+ throw new APIError(`Missing ${loginWithUsername ? 'username' : 'email'}.`, httpStatus.BAD_REQUEST);
36
37
  }
37
38
  let user = await payload.db.findOne({
38
39
  collection: collectionConfig.slug,
39
40
  req,
40
- where: {
41
+ where: loginWithUsername && data?.username ? {
42
+ username: {
43
+ equals: data.username
44
+ }
45
+ } : {
41
46
  email: {
42
47
  equals: data.email.toLowerCase()
43
48
  }
@@ -82,7 +87,7 @@ export const forgotPasswordOperation = async (incomingArgs)=>{
82
87
  from: `"${email.defaultFromName}" <${email.defaultFromAddress}>`,
83
88
  html,
84
89
  subject,
85
- to: data.email
90
+ to: loginWithUsername ? user.email : data.email
86
91
  });
87
92
  }
88
93
  // /////////////////////////////////////
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/auth/operations/forgotPassword.ts"],"sourcesContent":["import crypto from 'crypto'\nimport httpStatus from 'http-status'\nimport { URL } from 'url'\n\nimport type { Collection } from '../../collections/config/types.js'\nimport type { PayloadRequestWithData } from '../../types/index.js'\n\nimport { buildAfterOperation } from '../../collections/operations/utils.js'\nimport { APIError } from '../../errors/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\n\nexport type Arguments = {\n collection: Collection\n data: {\n [key: string]: unknown\n email: string\n }\n disableEmail?: boolean\n expiration?: number\n req: PayloadRequestWithData\n}\n\nexport type Result = string\n\nexport const forgotPasswordOperation = async (incomingArgs: Arguments): Promise<null | string> => {\n if (!Object.prototype.hasOwnProperty.call(incomingArgs.data, 'email')) {\n throw new APIError('Missing email.', httpStatus.BAD_REQUEST)\n }\n\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: 'forgotPassword',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n collection: { config: collectionConfig },\n data,\n disableEmail,\n expiration,\n req: {\n payload: { config, email },\n payload,\n },\n req,\n } = args\n\n // /////////////////////////////////////\n // Forget password\n // /////////////////////////////////////\n\n let token: string = crypto.randomBytes(20).toString('hex')\n\n type UserDoc = {\n id: number | string\n resetPasswordExpiration?: string\n resetPasswordToken?: string\n }\n\n if (!data.email) {\n throw new APIError('Missing email.', httpStatus.BAD_REQUEST)\n }\n\n let user = await payload.db.findOne<UserDoc>({\n collection: collectionConfig.slug,\n req,\n where: { email: { equals: data.email.toLowerCase() } },\n })\n\n // We don't want to indicate specifically that an email was not found,\n // as doing so could lead to the exposure of registered emails.\n // Therefore, we prefer to fail silently.\n if (!user) return null\n\n user.resetPasswordToken = token\n user.resetPasswordExpiration = new Date(expiration || Date.now() + 3600000).toISOString() // 1 hour\n\n user = await payload.update({\n id: user.id,\n collection: collectionConfig.slug,\n data: user,\n req,\n })\n\n if (!disableEmail) {\n const protocol = new URL(req.url).protocol // includes the final :\n const serverURL =\n config.serverURL !== null && config.serverURL !== ''\n ? config.serverURL\n : `${protocol}//${req.headers.get('host')}`\n\n let html = `${req.t('authentication:youAreReceivingResetPassword')}\n <a href=\"${serverURL}${config.routes.admin}/${config.admin.routes.reset}/${token}\">${serverURL}${config.routes.admin}/${config.admin.routes.reset}/${token}</a>\n ${req.t('authentication:youDidNotRequestPassword')}`\n\n if (typeof collectionConfig.auth.forgotPassword.generateEmailHTML === 'function') {\n html = await collectionConfig.auth.forgotPassword.generateEmailHTML({\n req,\n token,\n user,\n })\n }\n\n let subject = req.t('authentication:resetYourPassword')\n\n if (typeof collectionConfig.auth.forgotPassword.generateEmailSubject === 'function') {\n subject = await collectionConfig.auth.forgotPassword.generateEmailSubject({\n req,\n token,\n user,\n })\n }\n\n await email.sendEmail({\n from: `\"${email.defaultFromName}\" <${email.defaultFromAddress}>`,\n html,\n subject,\n to: data.email,\n })\n }\n\n // /////////////////////////////////////\n // afterForgotPassword - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterForgotPassword.reduce(async (priorHook, hook) => {\n await priorHook\n await hook({ args, collection: args.collection?.config, context: req.context })\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n token = await buildAfterOperation({\n args,\n collection: args.collection?.config,\n operation: 'forgotPassword',\n result: token,\n })\n\n if (shouldCommit) await commitTransaction(req)\n\n return token\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["crypto","httpStatus","URL","buildAfterOperation","APIError","commitTransaction","initTransaction","killTransaction","forgotPasswordOperation","incomingArgs","Object","prototype","hasOwnProperty","call","data","BAD_REQUEST","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","disableEmail","expiration","payload","email","token","randomBytes","toString","user","db","findOne","slug","where","equals","toLowerCase","resetPasswordToken","resetPasswordExpiration","Date","now","toISOString","update","id","protocol","url","serverURL","headers","get","html","t","routes","admin","reset","auth","forgotPassword","generateEmailHTML","subject","generateEmailSubject","sendEmail","from","defaultFromName","defaultFromAddress","to","afterForgotPassword","result","error"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/auth/operations/forgotPassword.ts"],"sourcesContent":["import crypto from 'crypto'\nimport httpStatus from 'http-status'\nimport { URL } from 'url'\n\nimport type {\n AuthOperationsFromCollectionSlug,\n Collection,\n} from '../../collections/config/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\n\nimport { buildAfterOperation } from '../../collections/operations/utils.js'\nimport { APIError } from '../../errors/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\n\nexport type Arguments<TSlug extends CollectionSlug> = {\n collection: Collection\n data: {\n [key: string]: unknown\n } & AuthOperationsFromCollectionSlug<TSlug>['forgotPassword']\n disableEmail?: boolean\n expiration?: number\n req: PayloadRequest\n}\n\nexport type Result = string\n\nexport const forgotPasswordOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments<TSlug>,\n): Promise<null | string> => {\n const loginWithUsername = incomingArgs.collection?.config?.auth?.loginWithUsername\n\n if (!incomingArgs.data.email && !incomingArgs.data.username) {\n throw new APIError(\n `Missing ${loginWithUsername ? 'username' : 'email'}.`,\n httpStatus.BAD_REQUEST,\n )\n }\n\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: 'forgotPassword',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n collection: { config: collectionConfig },\n data,\n disableEmail,\n expiration,\n req: {\n payload: { config, email },\n payload,\n },\n req,\n } = args\n\n // /////////////////////////////////////\n // Forget password\n // /////////////////////////////////////\n\n let token: string = crypto.randomBytes(20).toString('hex')\n type UserDoc = {\n email?: string\n id: number | string\n resetPasswordExpiration?: string\n resetPasswordToken?: string\n }\n\n if (!data.email && !data.username) {\n throw new APIError(\n `Missing ${loginWithUsername ? 'username' : 'email'}.`,\n httpStatus.BAD_REQUEST,\n )\n }\n\n let user = await payload.db.findOne<UserDoc>({\n collection: collectionConfig.slug,\n req,\n where:\n loginWithUsername && data?.username\n ? { username: { equals: data.username } }\n : { email: { equals: data.email.toLowerCase() } },\n })\n\n // We don't want to indicate specifically that an email was not found,\n // as doing so could lead to the exposure of registered emails.\n // Therefore, we prefer to fail silently.\n if (!user) return null\n\n user.resetPasswordToken = token\n user.resetPasswordExpiration = new Date(expiration || Date.now() + 3600000).toISOString() // 1 hour\n\n user = await payload.update({\n id: user.id,\n collection: collectionConfig.slug,\n data: user,\n req,\n })\n\n if (!disableEmail) {\n const protocol = new URL(req.url).protocol // includes the final :\n const serverURL =\n config.serverURL !== null && config.serverURL !== ''\n ? config.serverURL\n : `${protocol}//${req.headers.get('host')}`\n\n let html = `${req.t('authentication:youAreReceivingResetPassword')}\n <a href=\"${serverURL}${config.routes.admin}/${config.admin.routes.reset}/${token}\">${serverURL}${config.routes.admin}/${config.admin.routes.reset}/${token}</a>\n ${req.t('authentication:youDidNotRequestPassword')}`\n\n if (typeof collectionConfig.auth.forgotPassword.generateEmailHTML === 'function') {\n html = await collectionConfig.auth.forgotPassword.generateEmailHTML({\n req,\n token,\n user,\n })\n }\n\n let subject = req.t('authentication:resetYourPassword')\n\n if (typeof collectionConfig.auth.forgotPassword.generateEmailSubject === 'function') {\n subject = await collectionConfig.auth.forgotPassword.generateEmailSubject({\n req,\n token,\n user,\n })\n }\n\n await email.sendEmail({\n from: `\"${email.defaultFromName}\" <${email.defaultFromAddress}>`,\n html,\n subject,\n to: loginWithUsername ? user.email : data.email,\n })\n }\n\n // /////////////////////////////////////\n // afterForgotPassword - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterForgotPassword.reduce(async (priorHook, hook) => {\n await priorHook\n await hook({ args, collection: args.collection?.config, context: req.context })\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n token = await buildAfterOperation({\n args,\n collection: args.collection?.config,\n operation: 'forgotPassword',\n result: token,\n })\n\n if (shouldCommit) await commitTransaction(req)\n\n return token\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["crypto","httpStatus","URL","buildAfterOperation","APIError","commitTransaction","initTransaction","killTransaction","forgotPasswordOperation","incomingArgs","loginWithUsername","collection","config","auth","data","email","username","BAD_REQUEST","args","shouldCommit","req","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","disableEmail","expiration","payload","token","randomBytes","toString","user","db","findOne","slug","where","equals","toLowerCase","resetPasswordToken","resetPasswordExpiration","Date","now","toISOString","update","id","protocol","url","serverURL","headers","get","html","t","routes","admin","reset","forgotPassword","generateEmailHTML","subject","generateEmailSubject","sendEmail","from","defaultFromName","defaultFromAddress","to","afterForgotPassword","result","error"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { PayloadRequestWithData } from '../../types/index.js';
1
+ import type { PayloadRequest } from '../../types/index.js';
2
2
  export declare const initOperation: (args: {
3
3
  collection: string;
4
- req: PayloadRequestWithData;
4
+ req: PayloadRequest;
5
5
  }) => Promise<boolean>;
6
6
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAElE,eAAO,MAAM,aAAa,SAAgB;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,sBAAsB,CAAA;CAC5B,KAAG,OAAO,CAAC,OAAO,CASlB,CAAA"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,eAAO,MAAM,aAAa,SAAgB;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC,OAAO,CASlB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/auth/operations/init.ts"],"sourcesContent":["import type { PayloadRequestWithData } from '../../types/index.js'\n\nexport const initOperation = async (args: {\n collection: string\n req: PayloadRequestWithData\n}): Promise<boolean> => {\n const { collection: slug, req } = args\n\n const doc = await req.payload.db.findOne({\n collection: slug,\n req,\n })\n\n return !!doc\n}\n"],"names":["initOperation","args","collection","slug","req","doc","payload","db","findOne"],"mappings":"AAEA,OAAO,MAAMA,gBAAgB,OAAOC;IAIlC,MAAM,EAAEC,YAAYC,IAAI,EAAEC,GAAG,EAAE,GAAGH;IAElC,MAAMI,MAAM,MAAMD,IAAIE,OAAO,CAACC,EAAE,CAACC,OAAO,CAAC;QACvCN,YAAYC;QACZC;IACF;IAEA,OAAO,CAAC,CAACC;AACX,EAAC"}
1
+ {"version":3,"sources":["../../../src/auth/operations/init.ts"],"sourcesContent":["import type { PayloadRequest } from '../../types/index.js'\n\nexport const initOperation = async (args: {\n collection: string\n req: PayloadRequest\n}): Promise<boolean> => {\n const { collection: slug, req } = args\n\n const doc = await req.payload.db.findOne({\n collection: slug,\n req,\n })\n\n return !!doc\n}\n"],"names":["initOperation","args","collection","slug","req","doc","payload","db","findOne"],"mappings":"AAEA,OAAO,MAAMA,gBAAgB,OAAOC;IAIlC,MAAM,EAAEC,YAAYC,IAAI,EAAEC,GAAG,EAAE,GAAGH;IAElC,MAAMI,MAAM,MAAMD,IAAIE,OAAO,CAACC,EAAE,CAACC,OAAO,CAAC;QACvCN,YAAYC;QACZC;IACF;IAEA,OAAO,CAAC,CAACC;AACX,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/auth/operations/local/auth.ts"],"sourcesContent":["import type { Payload } from '../../../index.js'\nimport type { PayloadRequestWithData } from '../../../types/index.js'\nimport type { AuthArgs, AuthResult } from '../auth.js'\n\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { auth as authOperation } from '../auth.js'\n\nexport const auth = async (payload: Payload, options: AuthArgs): Promise<AuthResult> => {\n const { headers } = options\n\n return await authOperation({\n headers,\n req: await createLocalReq({ req: options.req as PayloadRequestWithData }, payload),\n })\n}\n"],"names":["createLocalReq","auth","authOperation","payload","options","headers","req"],"mappings":"AAIA,SAASA,cAAc,QAAQ,uCAAsC;AACrE,SAASC,QAAQC,aAAa,QAAQ,aAAY;AAElD,OAAO,MAAMD,OAAO,OAAOE,SAAkBC;IAC3C,MAAM,EAAEC,OAAO,EAAE,GAAGD;IAEpB,OAAO,MAAMF,cAAc;QACzBG;QACAC,KAAK,MAAMN,eAAe;YAAEM,KAAKF,QAAQE,GAAG;QAA2B,GAAGH;IAC5E;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../src/auth/operations/local/auth.ts"],"sourcesContent":["import type { Payload } from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\nimport type { AuthArgs, AuthResult } from '../auth.js'\n\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { auth as authOperation } from '../auth.js'\n\nexport const auth = async (payload: Payload, options: AuthArgs): Promise<AuthResult> => {\n const { headers } = options\n\n return await authOperation({\n headers,\n req: await createLocalReq({ req: options.req as PayloadRequest }, payload),\n })\n}\n"],"names":["createLocalReq","auth","authOperation","payload","options","headers","req"],"mappings":"AAIA,SAASA,cAAc,QAAQ,uCAAsC;AACrE,SAASC,QAAQC,aAAa,QAAQ,aAAY;AAElD,OAAO,MAAMD,OAAO,OAAOE,SAAkBC;IAC3C,MAAM,EAAEC,OAAO,EAAE,GAAGD;IAEpB,OAAO,MAAMF,cAAc;QACzBG;QACAC,KAAK,MAAMN,eAAe;YAAEM,KAAKF,QAAQE,GAAG;QAAmB,GAAGH;IACpE;AACF,EAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { CollectionSlug, Payload, RequestContext } from '../../../index.js';
2
- import type { PayloadRequestWithData } from '../../../types/index.js';
2
+ import type { PayloadRequest } from '../../../types/index.js';
3
3
  import type { Result } from '../forgotPassword.js';
4
4
  export type Options<T extends CollectionSlug> = {
5
5
  collection: T;
@@ -9,7 +9,7 @@ export type Options<T extends CollectionSlug> = {
9
9
  };
10
10
  disableEmail?: boolean;
11
11
  expiration?: number;
12
- req?: PayloadRequestWithData;
12
+ req?: PayloadRequest;
13
13
  };
14
14
  declare function localForgotPassword<T extends CollectionSlug>(payload: Payload, options: Options<T>): Promise<Result>;
15
15
  export default localForgotPassword;
@@ -1 +1 @@
1
- {"version":3,"file":"forgotPassword.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/forgotPassword.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAMlD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,cAAc,IAAI;IAC9C,UAAU,EAAE,CAAC,CAAA;IACb,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,sBAAsB,CAAA;CAC7B,CAAA;AAED,iBAAe,mBAAmB,CAAC,CAAC,SAAS,cAAc,EACzD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"forgotPassword.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/forgotPassword.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAMlD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,cAAc,IAAI;IAC9C,UAAU,EAAE,CAAC,CAAA;IACb,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,iBAAe,mBAAmB,CAAC,CAAC,SAAS,cAAc,EACzD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,eAAe,mBAAmB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/auth/operations/local/forgotPassword.ts"],"sourcesContent":["import type { CollectionSlug, Payload, RequestContext } from '../../../index.js'\nimport type { PayloadRequestWithData } from '../../../types/index.js'\nimport type { Result } from '../forgotPassword.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { forgotPasswordOperation } from '../forgotPassword.js'\n\nexport type Options<T extends CollectionSlug> = {\n collection: T\n context?: RequestContext\n data: {\n email: string\n }\n disableEmail?: boolean\n expiration?: number\n req?: PayloadRequestWithData\n}\n\nasync function localForgotPassword<T extends CollectionSlug>(\n payload: Payload,\n options: Options<T>,\n): Promise<Result> {\n const { collection: collectionSlug, data, disableEmail, expiration } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(\n collectionSlug,\n )} can't be found. Forgot Password Operation.`,\n )\n }\n\n return forgotPasswordOperation({\n collection,\n data,\n disableEmail,\n expiration,\n req: await createLocalReq(options, payload),\n })\n}\n\nexport default localForgotPassword\n"],"names":["APIError","createLocalReq","forgotPasswordOperation","localForgotPassword","payload","options","collection","collectionSlug","data","disableEmail","expiration","collections","String","req"],"mappings":"AAIA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,uBAAuB,QAAQ,uBAAsB;AAa9D,eAAeC,oBACbC,OAAgB,EAChBC,OAAmB;IAEnB,MAAM,EAAEC,YAAYC,cAAc,EAAEC,IAAI,EAAEC,YAAY,EAAEC,UAAU,EAAE,GAAGL;IAEvE,MAAMC,aAAaF,QAAQO,WAAW,CAACJ,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEY,OAC1BL,gBACA,2CAA2C,CAAC;IAElD;IAEA,OAAOL,wBAAwB;QAC7BI;QACAE;QACAC;QACAC;QACAG,KAAK,MAAMZ,eAAeI,SAASD;IACrC;AACF;AAEA,eAAeD,oBAAmB"}
1
+ {"version":3,"sources":["../../../../src/auth/operations/local/forgotPassword.ts"],"sourcesContent":["import type { CollectionSlug, Payload, RequestContext } from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\nimport type { Result } from '../forgotPassword.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { forgotPasswordOperation } from '../forgotPassword.js'\n\nexport type Options<T extends CollectionSlug> = {\n collection: T\n context?: RequestContext\n data: {\n email: string\n }\n disableEmail?: boolean\n expiration?: number\n req?: PayloadRequest\n}\n\nasync function localForgotPassword<T extends CollectionSlug>(\n payload: Payload,\n options: Options<T>,\n): Promise<Result> {\n const { collection: collectionSlug, data, disableEmail, expiration } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(\n collectionSlug,\n )} can't be found. Forgot Password Operation.`,\n )\n }\n\n return forgotPasswordOperation({\n collection,\n data,\n disableEmail,\n expiration,\n req: await createLocalReq(options, payload),\n })\n}\n\nexport default localForgotPassword\n"],"names":["APIError","createLocalReq","forgotPasswordOperation","localForgotPassword","payload","options","collection","collectionSlug","data","disableEmail","expiration","collections","String","req"],"mappings":"AAIA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,uBAAuB,QAAQ,uBAAsB;AAa9D,eAAeC,oBACbC,OAAgB,EAChBC,OAAmB;IAEnB,MAAM,EAAEC,YAAYC,cAAc,EAAEC,IAAI,EAAEC,YAAY,EAAEC,UAAU,EAAE,GAAGL;IAEvE,MAAMC,aAAaF,QAAQO,WAAW,CAACJ,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEY,OAC1BL,gBACA,2CAA2C,CAAC;IAElD;IAEA,OAAOL,wBAAwB;QAC7BI;QACAE;QACAC;QACAC;QACAG,KAAK,MAAMZ,eAAeI,SAASD;IACrC;AACF;AAEA,eAAeD,oBAAmB"}
@@ -1,18 +1,15 @@
1
- import type { CollectionSlug, DataFromCollectionSlug, Payload, RequestContext } from '../../../index.js';
2
- import type { PayloadRequestWithData } from '../../../types/index.js';
1
+ import type { AuthOperationsFromCollectionSlug, CollectionSlug, DataFromCollectionSlug, Payload, RequestContext } from '../../../index.js';
2
+ import type { PayloadRequest } from '../../../types/index.js';
3
3
  import type { Result } from '../login.js';
4
4
  export type Options<TSlug extends CollectionSlug> = {
5
5
  collection: TSlug;
6
6
  context?: RequestContext;
7
- data: {
8
- email: string;
9
- password: string;
10
- };
7
+ data: AuthOperationsFromCollectionSlug<TSlug>['login'];
11
8
  depth?: number;
12
9
  fallbackLocale?: string;
13
10
  locale?: string;
14
11
  overrideAccess?: boolean;
15
- req?: PayloadRequestWithData;
12
+ req?: PayloadRequest;
16
13
  showHiddenFields?: boolean;
17
14
  };
18
15
  declare function localLogin<TSlug extends CollectionSlug>(payload: Payload, options: Options<TSlug>): Promise<Result & {
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,OAAO,EACP,cAAc,EACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAMzC,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,cAAc,IAAI;IAClD,UAAU,EAAE,KAAK,CAAA;IACjB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,sBAAsB,CAAA;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,iBAAe,UAAU,CAAC,KAAK,SAAS,cAAc,EACpD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,MAAM,GAAG;IAAE,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAA;CAAE,CAAC,CAiC3D;AAED,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gCAAgC,EAChC,cAAc,EACd,sBAAsB,EACtB,OAAO,EACP,cAAc,EACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAMzC,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,cAAc,IAAI;IAClD,UAAU,EAAE,KAAK,CAAA;IACjB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE,gCAAgC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAA;IACtD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,iBAAe,UAAU,CAAC,KAAK,SAAS,cAAc,EACpD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GACtB,OAAO,CAAC,MAAM,GAAG;IAAE,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAA;CAAE,CAAC,CAiC3D;AAED,eAAe,UAAU,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/auth/operations/local/login.ts"],"sourcesContent":["import type {\n CollectionSlug,\n DataFromCollectionSlug,\n Payload,\n RequestContext,\n} from '../../../index.js'\nimport type { PayloadRequestWithData } from '../../../types/index.js'\nimport type { Result } from '../login.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { loginOperation } from '../login.js'\n\nexport type Options<TSlug extends CollectionSlug> = {\n collection: TSlug\n context?: RequestContext\n data: {\n email: string\n password: string\n }\n depth?: number\n fallbackLocale?: string\n locale?: string\n overrideAccess?: boolean\n req?: PayloadRequestWithData\n showHiddenFields?: boolean\n}\n\nasync function localLogin<TSlug extends CollectionSlug>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<Result & { user: DataFromCollectionSlug<TSlug> }> {\n const {\n collection: collectionSlug,\n data,\n depth,\n overrideAccess = true,\n showHiddenFields,\n } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Login Operation.`,\n )\n }\n\n const args = {\n collection,\n data,\n depth,\n overrideAccess,\n req: await createLocalReq(options, payload),\n showHiddenFields,\n }\n\n const result = await loginOperation<TSlug>(args)\n\n if (collection.config.auth.removeTokenFromResponses) {\n delete result.token\n }\n\n return result\n}\n\nexport default localLogin\n"],"names":["APIError","createLocalReq","loginOperation","localLogin","payload","options","collection","collectionSlug","data","depth","overrideAccess","showHiddenFields","collections","String","args","req","result","config","auth","removeTokenFromResponses","token"],"mappings":"AASA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,cAAa;AAiB5C,eAAeC,WACbC,OAAgB,EAChBC,OAAuB;IAEvB,MAAM,EACJC,YAAYC,cAAc,EAC1BC,IAAI,EACJC,KAAK,EACLC,iBAAiB,IAAI,EACrBC,gBAAgB,EACjB,GAAGN;IAEJ,MAAMC,aAAaF,QAAQQ,WAAW,CAACL,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEa,OAAON,gBAAgB,iCAAiC,CAAC;IAEzF;IAEA,MAAMO,OAAO;QACXR;QACAE;QACAC;QACAC;QACAK,KAAK,MAAMd,eAAeI,SAASD;QACnCO;IACF;IAEA,MAAMK,SAAS,MAAMd,eAAsBY;IAE3C,IAAIR,WAAWW,MAAM,CAACC,IAAI,CAACC,wBAAwB,EAAE;QACnD,OAAOH,OAAOI,KAAK;IACrB;IAEA,OAAOJ;AACT;AAEA,eAAeb,WAAU"}
1
+ {"version":3,"sources":["../../../../src/auth/operations/local/login.ts"],"sourcesContent":["import type {\n AuthOperationsFromCollectionSlug,\n CollectionSlug,\n DataFromCollectionSlug,\n Payload,\n RequestContext,\n} from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\nimport type { Result } from '../login.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { loginOperation } from '../login.js'\n\nexport type Options<TSlug extends CollectionSlug> = {\n collection: TSlug\n context?: RequestContext\n data: AuthOperationsFromCollectionSlug<TSlug>['login']\n depth?: number\n fallbackLocale?: string\n locale?: string\n overrideAccess?: boolean\n req?: PayloadRequest\n showHiddenFields?: boolean\n}\n\nasync function localLogin<TSlug extends CollectionSlug>(\n payload: Payload,\n options: Options<TSlug>,\n): Promise<Result & { user: DataFromCollectionSlug<TSlug> }> {\n const {\n collection: collectionSlug,\n data,\n depth,\n overrideAccess = true,\n showHiddenFields,\n } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Login Operation.`,\n )\n }\n\n const args = {\n collection,\n data,\n depth,\n overrideAccess,\n req: await createLocalReq(options, payload),\n showHiddenFields,\n }\n\n const result = await loginOperation<TSlug>(args)\n\n if (collection.config.auth.removeTokenFromResponses) {\n delete result.token\n }\n\n return result\n}\n\nexport default localLogin\n"],"names":["APIError","createLocalReq","loginOperation","localLogin","payload","options","collection","collectionSlug","data","depth","overrideAccess","showHiddenFields","collections","String","args","req","result","config","auth","removeTokenFromResponses","token"],"mappings":"AAUA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,cAAa;AAc5C,eAAeC,WACbC,OAAgB,EAChBC,OAAuB;IAEvB,MAAM,EACJC,YAAYC,cAAc,EAC1BC,IAAI,EACJC,KAAK,EACLC,iBAAiB,IAAI,EACrBC,gBAAgB,EACjB,GAAGN;IAEJ,MAAMC,aAAaF,QAAQQ,WAAW,CAACL,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEa,OAAON,gBAAgB,iCAAiC,CAAC;IAEzF;IAEA,MAAMO,OAAO;QACXR;QACAE;QACAC;QACAC;QACAK,KAAK,MAAMd,eAAeI,SAASD;QACnCO;IACF;IAEA,MAAMK,SAAS,MAAMd,eAAsBY;IAE3C,IAAIR,WAAWW,MAAM,CAACC,IAAI,CAACC,wBAAwB,EAAE;QACnD,OAAOH,OAAOI,KAAK;IACrB;IAEA,OAAOJ;AACT;AAEA,eAAeb,WAAU"}
@@ -1,5 +1,5 @@
1
1
  import type { CollectionSlug, Payload, RequestContext } from '../../../index.js';
2
- import type { PayloadRequestWithData } from '../../../types/index.js';
2
+ import type { PayloadRequest } from '../../../types/index.js';
3
3
  import type { Result } from '../resetPassword.js';
4
4
  export type Options<T extends CollectionSlug> = {
5
5
  collection: T;
@@ -9,7 +9,7 @@ export type Options<T extends CollectionSlug> = {
9
9
  token: string;
10
10
  };
11
11
  overrideAccess: boolean;
12
- req?: PayloadRequestWithData;
12
+ req?: PayloadRequest;
13
13
  };
14
14
  declare function localResetPassword<T extends CollectionSlug>(payload: Payload, options: Options<T>): Promise<Result>;
15
15
  export default localResetPassword;
@@ -1 +1 @@
1
- {"version":3,"file":"resetPassword.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/resetPassword.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAMjD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,cAAc,IAAI;IAC9C,UAAU,EAAE,CAAC,CAAA;IACb,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,cAAc,EAAE,OAAO,CAAA;IACvB,GAAG,CAAC,EAAE,sBAAsB,CAAA;CAC7B,CAAA;AAED,iBAAe,kBAAkB,CAAC,CAAC,SAAS,cAAc,EACxD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED,eAAe,kBAAkB,CAAA"}
1
+ {"version":3,"file":"resetPassword.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/resetPassword.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAMjD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,cAAc,IAAI;IAC9C,UAAU,EAAE,CAAC,CAAA;IACb,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,cAAc,EAAE,OAAO,CAAA;IACvB,GAAG,CAAC,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,iBAAe,kBAAkB,CAAC,CAAC,SAAS,cAAc,EACxD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED,eAAe,kBAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/auth/operations/local/resetPassword.ts"],"sourcesContent":["import type { CollectionSlug, Payload, RequestContext } from '../../../index.js'\nimport type { PayloadRequestWithData } from '../../../types/index.js'\nimport type { Result } from '../resetPassword.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { resetPasswordOperation } from '../resetPassword.js'\n\nexport type Options<T extends CollectionSlug> = {\n collection: T\n context?: RequestContext\n data: {\n password: string\n token: string\n }\n overrideAccess: boolean\n req?: PayloadRequestWithData\n}\n\nasync function localResetPassword<T extends CollectionSlug>(\n payload: Payload,\n options: Options<T>,\n): Promise<Result> {\n const { collection: collectionSlug, data, overrideAccess } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(\n collectionSlug,\n )} can't be found. Reset Password Operation.`,\n )\n }\n\n const result = await resetPasswordOperation({\n collection,\n data,\n overrideAccess,\n req: await createLocalReq(options, payload),\n })\n\n if (collection.config.auth.removeTokenFromResponses) {\n delete result.token\n }\n\n return result\n}\n\nexport default localResetPassword\n"],"names":["APIError","createLocalReq","resetPasswordOperation","localResetPassword","payload","options","collection","collectionSlug","data","overrideAccess","collections","String","result","req","config","auth","removeTokenFromResponses","token"],"mappings":"AAIA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,sBAAsB,QAAQ,sBAAqB;AAa5D,eAAeC,mBACbC,OAAgB,EAChBC,OAAmB;IAEnB,MAAM,EAAEC,YAAYC,cAAc,EAAEC,IAAI,EAAEC,cAAc,EAAE,GAAGJ;IAE7D,MAAMC,aAAaF,QAAQM,WAAW,CAACH,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEW,OAC1BJ,gBACA,0CAA0C,CAAC;IAEjD;IAEA,MAAMK,SAAS,MAAMV,uBAAuB;QAC1CI;QACAE;QACAC;QACAI,KAAK,MAAMZ,eAAeI,SAASD;IACrC;IAEA,IAAIE,WAAWQ,MAAM,CAACC,IAAI,CAACC,wBAAwB,EAAE;QACnD,OAAOJ,OAAOK,KAAK;IACrB;IAEA,OAAOL;AACT;AAEA,eAAeT,mBAAkB"}
1
+ {"version":3,"sources":["../../../../src/auth/operations/local/resetPassword.ts"],"sourcesContent":["import type { CollectionSlug, Payload, RequestContext } from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\nimport type { Result } from '../resetPassword.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { resetPasswordOperation } from '../resetPassword.js'\n\nexport type Options<T extends CollectionSlug> = {\n collection: T\n context?: RequestContext\n data: {\n password: string\n token: string\n }\n overrideAccess: boolean\n req?: PayloadRequest\n}\n\nasync function localResetPassword<T extends CollectionSlug>(\n payload: Payload,\n options: Options<T>,\n): Promise<Result> {\n const { collection: collectionSlug, data, overrideAccess } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(\n collectionSlug,\n )} can't be found. Reset Password Operation.`,\n )\n }\n\n const result = await resetPasswordOperation({\n collection,\n data,\n overrideAccess,\n req: await createLocalReq(options, payload),\n })\n\n if (collection.config.auth.removeTokenFromResponses) {\n delete result.token\n }\n\n return result\n}\n\nexport default localResetPassword\n"],"names":["APIError","createLocalReq","resetPasswordOperation","localResetPassword","payload","options","collection","collectionSlug","data","overrideAccess","collections","String","result","req","config","auth","removeTokenFromResponses","token"],"mappings":"AAIA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,sBAAsB,QAAQ,sBAAqB;AAa5D,eAAeC,mBACbC,OAAgB,EAChBC,OAAmB;IAEnB,MAAM,EAAEC,YAAYC,cAAc,EAAEC,IAAI,EAAEC,cAAc,EAAE,GAAGJ;IAE7D,MAAMC,aAAaF,QAAQM,WAAW,CAACH,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEW,OAC1BJ,gBACA,0CAA0C,CAAC;IAEjD;IAEA,MAAMK,SAAS,MAAMV,uBAAuB;QAC1CI;QACAE;QACAC;QACAI,KAAK,MAAMZ,eAAeI,SAASD;IACrC;IAEA,IAAIE,WAAWQ,MAAM,CAACC,IAAI,CAACC,wBAAwB,EAAE;QACnD,OAAOJ,OAAOK,KAAK;IACrB;IAEA,OAAOL;AACT;AAEA,eAAeT,mBAAkB"}
@@ -1,5 +1,5 @@
1
1
  import type { CollectionSlug, Payload, RequestContext } from '../../../index.js';
2
- import type { PayloadRequestWithData } from '../../../types/index.js';
2
+ import type { PayloadRequest } from '../../../types/index.js';
3
3
  export type Options<T extends CollectionSlug> = {
4
4
  collection: T;
5
5
  context?: RequestContext;
@@ -7,7 +7,7 @@ export type Options<T extends CollectionSlug> = {
7
7
  email: any;
8
8
  };
9
9
  overrideAccess: boolean;
10
- req?: PayloadRequestWithData;
10
+ req?: PayloadRequest;
11
11
  };
12
12
  declare function localUnlock<T extends CollectionSlug>(payload: Payload, options: Options<T>): Promise<boolean>;
13
13
  export default localUnlock;
@@ -1 +1 @@
1
- {"version":3,"file":"unlock.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/unlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAMrE,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,cAAc,IAAI;IAC9C,UAAU,EAAE,CAAC,CAAA;IACb,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE;QACJ,KAAK,MAAA;KACN,CAAA;IACD,cAAc,EAAE,OAAO,CAAA;IACvB,GAAG,CAAC,EAAE,sBAAsB,CAAA;CAC7B,CAAA;AAED,iBAAe,WAAW,CAAC,CAAC,SAAS,cAAc,EACjD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,OAAO,CAAC,CAiBlB;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"unlock.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/unlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAM7D,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,cAAc,IAAI;IAC9C,UAAU,EAAE,CAAC,CAAA;IACb,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,IAAI,EAAE;QACJ,KAAK,MAAA;KACN,CAAA;IACD,cAAc,EAAE,OAAO,CAAA;IACvB,GAAG,CAAC,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,iBAAe,WAAW,CAAC,CAAC,SAAS,cAAc,EACjD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,OAAO,CAAC,CAiBlB;AAED,eAAe,WAAW,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/auth/operations/local/unlock.ts"],"sourcesContent":["import type { CollectionSlug, Payload, RequestContext } from '../../../index.js'\nimport type { PayloadRequestWithData } from '../../../types/index.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { unlockOperation } from '../unlock.js'\n\nexport type Options<T extends CollectionSlug> = {\n collection: T\n context?: RequestContext\n data: {\n email\n }\n overrideAccess: boolean\n req?: PayloadRequestWithData\n}\n\nasync function localUnlock<T extends CollectionSlug>(\n payload: Payload,\n options: Options<T>,\n): Promise<boolean> {\n const { collection: collectionSlug, data, overrideAccess = true } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Unlock Operation.`,\n )\n }\n\n return unlockOperation({\n collection,\n data,\n overrideAccess,\n req: await createLocalReq(options, payload),\n })\n}\n\nexport default localUnlock\n"],"names":["APIError","createLocalReq","unlockOperation","localUnlock","payload","options","collection","collectionSlug","data","overrideAccess","collections","String","req"],"mappings":"AAGA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,eAAc;AAY9C,eAAeC,YACbC,OAAgB,EAChBC,OAAmB;IAEnB,MAAM,EAAEC,YAAYC,cAAc,EAAEC,IAAI,EAAEC,iBAAiB,IAAI,EAAE,GAAGJ;IAEpE,MAAMC,aAAaF,QAAQM,WAAW,CAACH,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEW,OAAOJ,gBAAgB,kCAAkC,CAAC;IAE1F;IAEA,OAAOL,gBAAgB;QACrBI;QACAE;QACAC;QACAG,KAAK,MAAMX,eAAeI,SAASD;IACrC;AACF;AAEA,eAAeD,YAAW"}
1
+ {"version":3,"sources":["../../../../src/auth/operations/local/unlock.ts"],"sourcesContent":["import type { CollectionSlug, Payload, RequestContext } from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { unlockOperation } from '../unlock.js'\n\nexport type Options<T extends CollectionSlug> = {\n collection: T\n context?: RequestContext\n data: {\n email\n }\n overrideAccess: boolean\n req?: PayloadRequest\n}\n\nasync function localUnlock<T extends CollectionSlug>(\n payload: Payload,\n options: Options<T>,\n): Promise<boolean> {\n const { collection: collectionSlug, data, overrideAccess = true } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Unlock Operation.`,\n )\n }\n\n return unlockOperation({\n collection,\n data,\n overrideAccess,\n req: await createLocalReq(options, payload),\n })\n}\n\nexport default localUnlock\n"],"names":["APIError","createLocalReq","unlockOperation","localUnlock","payload","options","collection","collectionSlug","data","overrideAccess","collections","String","req"],"mappings":"AAGA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,eAAc;AAY9C,eAAeC,YACbC,OAAgB,EAChBC,OAAmB;IAEnB,MAAM,EAAEC,YAAYC,cAAc,EAAEC,IAAI,EAAEC,iBAAiB,IAAI,EAAE,GAAGJ;IAEpE,MAAMC,aAAaF,QAAQM,WAAW,CAACH,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEW,OAAOJ,gBAAgB,kCAAkC,CAAC;IAE1F;IAEA,OAAOL,gBAAgB;QACrBI;QACAE;QACAC;QACAG,KAAK,MAAMX,eAAeI,SAASD;IACrC;AACF;AAEA,eAAeD,YAAW"}
@@ -1,9 +1,9 @@
1
1
  import type { CollectionSlug, Payload, RequestContext } from '../../../index.js';
2
- import type { PayloadRequestWithData } from '../../../types/index.js';
2
+ import type { PayloadRequest } from '../../../types/index.js';
3
3
  export type Options<T extends CollectionSlug> = {
4
4
  collection: T;
5
5
  context?: RequestContext;
6
- req?: PayloadRequestWithData;
6
+ req?: PayloadRequest;
7
7
  token: string;
8
8
  };
9
9
  declare function localVerifyEmail<T extends CollectionSlug>(payload: Payload, options: Options<T>): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"verifyEmail.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/verifyEmail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAMrE,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,cAAc,IAAI;IAC9C,UAAU,EAAE,CAAC,CAAA;IACb,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,GAAG,CAAC,EAAE,sBAAsB,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,iBAAe,gBAAgB,CAAC,CAAC,SAAS,cAAc,EACtD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"verifyEmail.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/verifyEmail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAM7D,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,cAAc,IAAI;IAC9C,UAAU,EAAE,CAAC,CAAA;IACb,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,iBAAe,gBAAgB,CAAC,CAAC,SAAS,cAAc,EACtD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED,eAAe,gBAAgB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/auth/operations/local/verifyEmail.ts"],"sourcesContent":["import type { CollectionSlug, Payload, RequestContext } from '../../../index.js'\nimport type { PayloadRequestWithData } from '../../../types/index.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { verifyEmailOperation } from '../verifyEmail.js'\n\nexport type Options<T extends CollectionSlug> = {\n collection: T\n context?: RequestContext\n req?: PayloadRequestWithData\n token: string\n}\n\nasync function localVerifyEmail<T extends CollectionSlug>(\n payload: Payload,\n options: Options<T>,\n): Promise<boolean> {\n const { collection: collectionSlug, token } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Verify Email Operation.`,\n )\n }\n\n return verifyEmailOperation({\n collection,\n req: await createLocalReq(options, payload),\n token,\n })\n}\n\nexport default localVerifyEmail\n"],"names":["APIError","createLocalReq","verifyEmailOperation","localVerifyEmail","payload","options","collection","collectionSlug","token","collections","String","req"],"mappings":"AAGA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,oBAAoB,QAAQ,oBAAmB;AASxD,eAAeC,iBACbC,OAAgB,EAChBC,OAAmB;IAEnB,MAAM,EAAEC,YAAYC,cAAc,EAAEC,KAAK,EAAE,GAAGH;IAE9C,MAAMC,aAAaF,QAAQK,WAAW,CAACF,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEU,OAAOH,gBAAgB,wCAAwC,CAAC;IAEhG;IAEA,OAAOL,qBAAqB;QAC1BI;QACAK,KAAK,MAAMV,eAAeI,SAASD;QACnCI;IACF;AACF;AAEA,eAAeL,iBAAgB"}
1
+ {"version":3,"sources":["../../../../src/auth/operations/local/verifyEmail.ts"],"sourcesContent":["import type { CollectionSlug, Payload, RequestContext } from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\n\nimport { APIError } from '../../../errors/index.js'\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { verifyEmailOperation } from '../verifyEmail.js'\n\nexport type Options<T extends CollectionSlug> = {\n collection: T\n context?: RequestContext\n req?: PayloadRequest\n token: string\n}\n\nasync function localVerifyEmail<T extends CollectionSlug>(\n payload: Payload,\n options: Options<T>,\n): Promise<boolean> {\n const { collection: collectionSlug, token } = options\n\n const collection = payload.collections[collectionSlug]\n\n if (!collection) {\n throw new APIError(\n `The collection with slug ${String(collectionSlug)} can't be found. Verify Email Operation.`,\n )\n }\n\n return verifyEmailOperation({\n collection,\n req: await createLocalReq(options, payload),\n token,\n })\n}\n\nexport default localVerifyEmail\n"],"names":["APIError","createLocalReq","verifyEmailOperation","localVerifyEmail","payload","options","collection","collectionSlug","token","collections","String","req"],"mappings":"AAGA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,oBAAoB,QAAQ,oBAAmB;AASxD,eAAeC,iBACbC,OAAgB,EAChBC,OAAmB;IAEnB,MAAM,EAAEC,YAAYC,cAAc,EAAEC,KAAK,EAAE,GAAGH;IAE9C,MAAMC,aAAaF,QAAQK,WAAW,CAACF,eAAe;IAEtD,IAAI,CAACD,YAAY;QACf,MAAM,IAAIN,SACR,CAAC,yBAAyB,EAAEU,OAAOH,gBAAgB,wCAAwC,CAAC;IAEhG;IAEA,OAAOL,qBAAqB;QAC1BI;QACAK,KAAK,MAAMV,eAAeI,SAASD;QACnCI;IACF;AACF;AAEA,eAAeL,iBAAgB"}
@@ -1,24 +1,21 @@
1
- import type { Collection, DataFromCollectionSlug } from '../../collections/config/types.js';
1
+ import type { AuthOperationsFromCollectionSlug, Collection, DataFromCollectionSlug } from '../../collections/config/types.js';
2
2
  import type { CollectionSlug } from '../../index.js';
3
- import type { PayloadRequestWithData } from '../../types/index.js';
3
+ import type { PayloadRequest } from '../../types/index.js';
4
4
  import type { User } from '../types.js';
5
5
  export type Result = {
6
6
  exp?: number;
7
7
  token?: string;
8
8
  user?: User;
9
9
  };
10
- export type Arguments = {
10
+ export type Arguments<TSlug extends CollectionSlug> = {
11
11
  collection: Collection;
12
- data: {
13
- email: string;
14
- password: string;
15
- };
12
+ data: AuthOperationsFromCollectionSlug<TSlug>['login'];
16
13
  depth?: number;
17
14
  overrideAccess?: boolean;
18
- req: PayloadRequestWithData;
15
+ req: PayloadRequest;
19
16
  showHiddenFields?: boolean;
20
17
  };
21
- export declare const loginOperation: <TSlug extends CollectionSlug>(incomingArgs: Arguments) => Promise<Result & {
18
+ export declare const loginOperation: <TSlug extends CollectionSlug>(incomingArgs: Arguments<TSlug>) => Promise<Result & {
22
19
  user: DataFromCollectionSlug<TSlug>;
23
20
  }>;
24
21
  //# sourceMappingURL=login.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/login.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAevC,MAAM,MAAM,MAAM,GAAG;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,sBAAsB,CAAA;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,cAAc,GAAU,KAAK,SAAS,cAAc,gBACjD,SAAS,KACtB,OAAO,CAAC,MAAM,GAAG;IAAE,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAA;CAAE,CA4N1D,CAAA"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/login.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gCAAgC,EAChC,UAAU,EACV,sBAAsB,EACvB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAevC,MAAM,MAAM,MAAM,GAAG;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,cAAc,IAAI;IACpD,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,gCAAgC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAA;IACtD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,cAAc,GAAU,KAAK,SAAS,cAAc,gBACjD,SAAS,CAAC,KAAK,CAAC,KAC7B,OAAO,CAAC,MAAM,GAAG;IAAE,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAA;CAAE,CAkP1D,CAAA"}
@@ -32,35 +32,59 @@ export const loginOperation = async (incomingArgs)=>{
32
32
  // /////////////////////////////////////
33
33
  // Login
34
34
  // /////////////////////////////////////
35
+ let user;
36
+ const loginWithUsername = collectionConfig?.auth?.loginWithUsername;
35
37
  const { email: unsanitizedEmail, password } = data;
36
- if (typeof unsanitizedEmail !== 'string' || unsanitizedEmail.trim() === '') {
37
- throw new ValidationError([
38
- {
39
- field: 'email',
40
- message: req.i18n.t('validation:required')
41
- }
42
- ]);
38
+ const username = 'username' in data && data.username;
39
+ if (loginWithUsername && !username) {
40
+ throw new ValidationError({
41
+ collection: collectionConfig.slug,
42
+ errors: [
43
+ {
44
+ field: 'username',
45
+ message: req.i18n.t('validation:required')
46
+ }
47
+ ]
48
+ });
49
+ }
50
+ if (!loginWithUsername && (typeof unsanitizedEmail !== 'string' || unsanitizedEmail.trim() === '')) {
51
+ throw new ValidationError({
52
+ collection: collectionConfig.slug,
53
+ errors: [
54
+ {
55
+ field: 'email',
56
+ message: req.i18n.t('validation:required')
57
+ }
58
+ ]
59
+ });
43
60
  }
44
61
  if (typeof password !== 'string' || password.trim() === '') {
45
- throw new ValidationError([
46
- {
47
- field: 'password',
48
- message: req.i18n.t('validation:required')
49
- }
50
- ]);
62
+ throw new ValidationError({
63
+ collection: collectionConfig.slug,
64
+ errors: [
65
+ {
66
+ field: 'password',
67
+ message: req.i18n.t('validation:required')
68
+ }
69
+ ]
70
+ });
51
71
  }
52
72
  const email = unsanitizedEmail ? unsanitizedEmail.toLowerCase().trim() : null;
53
- let user = await payload.db.findOne({
73
+ user = await payload.db.findOne({
54
74
  collection: collectionConfig.slug,
55
75
  req,
56
- where: {
76
+ where: loginWithUsername && username ? {
77
+ username: {
78
+ equals: username
79
+ }
80
+ } : {
57
81
  email: {
58
- equals: email.toLowerCase()
82
+ equals: unsanitizedEmail.toLowerCase()
59
83
  }
60
84
  }
61
85
  });
62
86
  if (!user || args.collection.config.auth.verify && user._verified === false) {
63
- throw new AuthenticationError(req.t);
87
+ throw new AuthenticationError(req.t, loginWithUsername);
64
88
  }
65
89
  if (user && isLocked(user.lockUntil)) {
66
90
  throw new LockedAuth(req.t);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/auth/operations/login.ts"],"sourcesContent":["import jwt from 'jsonwebtoken'\n\nimport type { Collection, DataFromCollectionSlug } from '../../collections/config/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequestWithData } from '../../types/index.js'\nimport type { User } from '../types.js'\n\nimport { buildAfterOperation } from '../../collections/operations/utils.js'\nimport { AuthenticationError, LockedAuth, ValidationError } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport sanitizeInternalFields from '../../utilities/sanitizeInternalFields.js'\nimport { getFieldsToSign } from '../getFieldsToSign.js'\nimport isLocked from '../isLocked.js'\nimport { authenticateLocalStrategy } from '../strategies/local/authenticate.js'\nimport { incrementLoginAttempts } from '../strategies/local/incrementLoginAttempts.js'\nimport { resetLoginAttempts } from '../strategies/local/resetLoginAttempts.js'\n\nexport type Result = {\n exp?: number\n token?: string\n user?: User\n}\n\nexport type Arguments = {\n collection: Collection\n data: {\n email: string\n password: string\n }\n depth?: number\n overrideAccess?: boolean\n req: PayloadRequestWithData\n showHiddenFields?: boolean\n}\n\nexport const loginOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<Result & { user: 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: 'login',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n collection: { config: collectionConfig },\n data,\n depth,\n overrideAccess,\n req,\n req: {\n fallbackLocale,\n locale,\n payload,\n payload: { secret },\n },\n showHiddenFields,\n } = args\n\n // /////////////////////////////////////\n // Login\n // /////////////////////////////////////\n\n const { email: unsanitizedEmail, password } = data\n\n if (typeof unsanitizedEmail !== 'string' || unsanitizedEmail.trim() === '') {\n throw new ValidationError([{ field: 'email', message: req.i18n.t('validation:required') }])\n }\n if (typeof password !== 'string' || password.trim() === '') {\n throw new ValidationError([{ field: 'password', message: req.i18n.t('validation:required') }])\n }\n\n const email = unsanitizedEmail ? unsanitizedEmail.toLowerCase().trim() : null\n\n let user = await payload.db.findOne<any>({\n collection: collectionConfig.slug,\n req,\n where: { email: { equals: email.toLowerCase() } },\n })\n\n if (!user || (args.collection.config.auth.verify && user._verified === false)) {\n throw new AuthenticationError(req.t)\n }\n\n if (user && isLocked(user.lockUntil)) {\n throw new LockedAuth(req.t)\n }\n\n const authResult = await authenticateLocalStrategy({ doc: user, password })\n\n user = sanitizeInternalFields(user)\n\n const maxLoginAttemptsEnabled = args.collection.config.auth.maxLoginAttempts > 0\n\n if (!authResult) {\n if (maxLoginAttemptsEnabled) {\n await incrementLoginAttempts({\n collection: collectionConfig,\n doc: user,\n payload: req.payload,\n req,\n })\n }\n\n if (shouldCommit) await commitTransaction(req)\n\n throw new AuthenticationError(req.t)\n }\n\n if (maxLoginAttemptsEnabled) {\n await resetLoginAttempts({\n collection: collectionConfig,\n doc: user,\n payload: req.payload,\n req,\n })\n }\n\n const fieldsToSign = getFieldsToSign({\n collectionConfig,\n email,\n user,\n })\n\n // /////////////////////////////////////\n // beforeLogin - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeLogin.reduce(async (priorHook, hook) => {\n await priorHook\n\n user =\n (await hook({\n collection: args.collection?.config,\n context: args.req.context,\n req: args.req,\n user,\n })) || user\n }, Promise.resolve())\n\n const token = jwt.sign(fieldsToSign, secret, {\n expiresIn: collectionConfig.auth.tokenExpiration,\n })\n\n req.user = user\n\n // /////////////////////////////////////\n // afterLogin - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterLogin.reduce(async (priorHook, hook) => {\n await priorHook\n\n user =\n (await hook({\n collection: args.collection?.config,\n context: args.req.context,\n req: args.req,\n token,\n user,\n })) || user\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n user = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: user,\n draft: undefined,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n user =\n (await hook({\n collection: args.collection?.config,\n context: req.context,\n doc: user,\n req,\n })) || user\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n user =\n (await hook({\n collection: args.collection?.config,\n context: req.context,\n doc: user,\n req,\n })) || user\n }, Promise.resolve())\n\n let result: Result & { user: DataFromCollectionSlug<TSlug> } = {\n exp: (jwt.decode(token) as jwt.JwtPayload).exp,\n token,\n user,\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: args.collection?.config,\n operation: 'login',\n result,\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":["jwt","buildAfterOperation","AuthenticationError","LockedAuth","ValidationError","afterRead","commitTransaction","initTransaction","killTransaction","sanitizeInternalFields","getFieldsToSign","isLocked","authenticateLocalStrategy","incrementLoginAttempts","resetLoginAttempts","loginOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","data","depth","overrideAccess","fallbackLocale","locale","payload","secret","showHiddenFields","email","unsanitizedEmail","password","trim","field","message","i18n","t","toLowerCase","user","db","findOne","slug","where","equals","auth","verify","_verified","lockUntil","authResult","doc","maxLoginAttemptsEnabled","maxLoginAttempts","fieldsToSign","beforeLogin","token","sign","expiresIn","tokenExpiration","afterLogin","draft","undefined","global","result","exp","decode","error"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/auth/operations/login.ts"],"sourcesContent":["import jwt from 'jsonwebtoken'\n\nimport type {\n AuthOperationsFromCollectionSlug,\n Collection,\n DataFromCollectionSlug,\n} from '../../collections/config/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { User } from '../types.js'\n\nimport { buildAfterOperation } from '../../collections/operations/utils.js'\nimport { AuthenticationError, LockedAuth, ValidationError } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport sanitizeInternalFields from '../../utilities/sanitizeInternalFields.js'\nimport { getFieldsToSign } from '../getFieldsToSign.js'\nimport isLocked from '../isLocked.js'\nimport { authenticateLocalStrategy } from '../strategies/local/authenticate.js'\nimport { incrementLoginAttempts } from '../strategies/local/incrementLoginAttempts.js'\nimport { resetLoginAttempts } from '../strategies/local/resetLoginAttempts.js'\n\nexport type Result = {\n exp?: number\n token?: string\n user?: User\n}\n\nexport type Arguments<TSlug extends CollectionSlug> = {\n collection: Collection\n data: AuthOperationsFromCollectionSlug<TSlug>['login']\n depth?: number\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const loginOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments<TSlug>,\n): Promise<Result & { user: 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: 'login',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n collection: { config: collectionConfig },\n data,\n depth,\n overrideAccess,\n req,\n req: {\n fallbackLocale,\n locale,\n payload,\n payload: { secret },\n },\n showHiddenFields,\n } = args\n\n // /////////////////////////////////////\n // Login\n // /////////////////////////////////////\n\n let user\n const loginWithUsername = collectionConfig?.auth?.loginWithUsername\n const { email: unsanitizedEmail, password } = data\n const username = 'username' in data && data.username\n\n if (loginWithUsername && !username) {\n throw new ValidationError({\n collection: collectionConfig.slug,\n errors: [{ field: 'username', message: req.i18n.t('validation:required') }],\n })\n }\n\n if (\n !loginWithUsername &&\n (typeof unsanitizedEmail !== 'string' || unsanitizedEmail.trim() === '')\n ) {\n throw new ValidationError({\n collection: collectionConfig.slug,\n errors: [{ field: 'email', message: req.i18n.t('validation:required') }],\n })\n }\n if (typeof password !== 'string' || password.trim() === '') {\n throw new ValidationError({\n collection: collectionConfig.slug,\n errors: [{ field: 'password', message: req.i18n.t('validation:required') }],\n })\n }\n\n const email = unsanitizedEmail ? unsanitizedEmail.toLowerCase().trim() : null\n\n user = await payload.db.findOne<any>({\n collection: collectionConfig.slug,\n req,\n where:\n loginWithUsername && username\n ? { username: { equals: username } }\n : { email: { equals: unsanitizedEmail.toLowerCase() } },\n })\n\n if (!user || (args.collection.config.auth.verify && user._verified === false)) {\n throw new AuthenticationError(req.t, loginWithUsername)\n }\n\n if (user && isLocked(user.lockUntil)) {\n throw new LockedAuth(req.t)\n }\n\n const authResult = await authenticateLocalStrategy({ doc: user, password })\n\n user = sanitizeInternalFields(user)\n\n const maxLoginAttemptsEnabled = args.collection.config.auth.maxLoginAttempts > 0\n\n if (!authResult) {\n if (maxLoginAttemptsEnabled) {\n await incrementLoginAttempts({\n collection: collectionConfig,\n doc: user,\n payload: req.payload,\n req,\n })\n }\n\n if (shouldCommit) await commitTransaction(req)\n\n throw new AuthenticationError(req.t)\n }\n\n if (maxLoginAttemptsEnabled) {\n await resetLoginAttempts({\n collection: collectionConfig,\n doc: user,\n payload: req.payload,\n req,\n })\n }\n\n const fieldsToSign = getFieldsToSign({\n collectionConfig,\n email,\n user,\n })\n\n // /////////////////////////////////////\n // beforeLogin - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeLogin.reduce(async (priorHook, hook) => {\n await priorHook\n\n user =\n (await hook({\n collection: args.collection?.config,\n context: args.req.context,\n req: args.req,\n user,\n })) || user\n }, Promise.resolve())\n\n const token = jwt.sign(fieldsToSign, secret, {\n expiresIn: collectionConfig.auth.tokenExpiration,\n })\n\n req.user = user\n\n // /////////////////////////////////////\n // afterLogin - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterLogin.reduce(async (priorHook, hook) => {\n await priorHook\n\n user =\n (await hook({\n collection: args.collection?.config,\n context: args.req.context,\n req: args.req,\n token,\n user,\n })) || user\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n user = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: user,\n draft: undefined,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n user =\n (await hook({\n collection: args.collection?.config,\n context: req.context,\n doc: user,\n req,\n })) || user\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n user =\n (await hook({\n collection: args.collection?.config,\n context: req.context,\n doc: user,\n req,\n })) || user\n }, Promise.resolve())\n\n let result: Result & { user: DataFromCollectionSlug<TSlug> } = {\n exp: (jwt.decode(token) as jwt.JwtPayload).exp,\n token,\n user,\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: args.collection?.config,\n operation: 'login',\n result,\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":["jwt","buildAfterOperation","AuthenticationError","LockedAuth","ValidationError","afterRead","commitTransaction","initTransaction","killTransaction","sanitizeInternalFields","getFieldsToSign","isLocked","authenticateLocalStrategy","incrementLoginAttempts","resetLoginAttempts","loginOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","data","depth","overrideAccess","fallbackLocale","locale","payload","secret","showHiddenFields","user","loginWithUsername","auth","email","unsanitizedEmail","password","username","slug","errors","field","message","i18n","t","trim","toLowerCase","db","findOne","where","equals","verify","_verified","lockUntil","authResult","doc","maxLoginAttemptsEnabled","maxLoginAttempts","fieldsToSign","beforeLogin","token","sign","expiresIn","tokenExpiration","afterLogin","draft","undefined","global","result","exp","decode","error"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import type { Collection } from '../../collections/config/types.js';
2
- import type { PayloadRequestWithData } from '../../types/index.js';
2
+ import type { PayloadRequest } from '../../types/index.js';
3
3
  export type Arguments = {
4
4
  collection: Collection;
5
- req: PayloadRequestWithData;
5
+ req: PayloadRequest;
6
6
  };
7
7
  export declare const logoutOperation: (incomingArgs: Arguments) => Promise<boolean>;
8
8
  //# sourceMappingURL=logout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/logout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAIlE,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,GAAG,EAAE,sBAAsB,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,eAAe,iBAAwB,SAAS,KAAG,OAAO,CAAC,OAAO,CAwB9E,CAAA"}
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/logout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAI1D,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,eAAe,iBAAwB,SAAS,KAAG,OAAO,CAAC,OAAO,CAwB9E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/auth/operations/logout.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { Collection } from '../../collections/config/types.js'\nimport type { PayloadRequestWithData } from '../../types/index.js'\n\nimport { APIError } from '../../errors/index.js'\n\nexport type Arguments = {\n collection: Collection\n req: PayloadRequestWithData\n}\n\nexport const logoutOperation = async (incomingArgs: Arguments): Promise<boolean> => {\n let args = incomingArgs\n const {\n collection: { config: collectionConfig },\n req: { user },\n req,\n } = incomingArgs\n\n if (!user) throw new APIError('No User', httpStatus.BAD_REQUEST)\n if (user.collection !== collectionConfig.slug)\n throw new APIError('Incorrect collection', httpStatus.FORBIDDEN)\n\n await collectionConfig.hooks.afterLogout.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n collection: args.collection?.config,\n context: req.context,\n req,\n })) || args\n }, Promise.resolve())\n\n return true\n}\n"],"names":["httpStatus","APIError","logoutOperation","incomingArgs","args","collection","config","collectionConfig","req","user","BAD_REQUEST","slug","FORBIDDEN","hooks","afterLogout","reduce","priorHook","hook","context","Promise","resolve"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AAKpC,SAASC,QAAQ,QAAQ,wBAAuB;AAOhD,OAAO,MAAMC,kBAAkB,OAAOC;IACpC,IAAIC,OAAOD;IACX,MAAM,EACJE,YAAY,EAAEC,QAAQC,gBAAgB,EAAE,EACxCC,KAAK,EAAEC,IAAI,EAAE,EACbD,GAAG,EACJ,GAAGL;IAEJ,IAAI,CAACM,MAAM,MAAM,IAAIR,SAAS,WAAWD,WAAWU,WAAW;IAC/D,IAAID,KAAKJ,UAAU,KAAKE,iBAAiBI,IAAI,EAC3C,MAAM,IAAIV,SAAS,wBAAwBD,WAAWY,SAAS;IAEjE,MAAML,iBAAiBM,KAAK,CAACC,WAAW,CAACC,MAAM,CAAC,OAAOC,WAAWC;QAChE,MAAMD;QAENZ,OACE,AAAC,MAAMa,KAAK;YACVZ,YAAYD,KAAKC,UAAU,EAAEC;YAC7BY,SAASV,IAAIU,OAAO;YACpBV;QACF,MAAOJ;IACX,GAAGe,QAAQC,OAAO;IAElB,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/auth/operations/logout.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { Collection } from '../../collections/config/types.js'\nimport type { PayloadRequest } from '../../types/index.js'\n\nimport { APIError } from '../../errors/index.js'\n\nexport type Arguments = {\n collection: Collection\n req: PayloadRequest\n}\n\nexport const logoutOperation = async (incomingArgs: Arguments): Promise<boolean> => {\n let args = incomingArgs\n const {\n collection: { config: collectionConfig },\n req: { user },\n req,\n } = incomingArgs\n\n if (!user) throw new APIError('No User', httpStatus.BAD_REQUEST)\n if (user.collection !== collectionConfig.slug)\n throw new APIError('Incorrect collection', httpStatus.FORBIDDEN)\n\n await collectionConfig.hooks.afterLogout.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n collection: args.collection?.config,\n context: req.context,\n req,\n })) || args\n }, Promise.resolve())\n\n return true\n}\n"],"names":["httpStatus","APIError","logoutOperation","incomingArgs","args","collection","config","collectionConfig","req","user","BAD_REQUEST","slug","FORBIDDEN","hooks","afterLogout","reduce","priorHook","hook","context","Promise","resolve"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AAKpC,SAASC,QAAQ,QAAQ,wBAAuB;AAOhD,OAAO,MAAMC,kBAAkB,OAAOC;IACpC,IAAIC,OAAOD;IACX,MAAM,EACJE,YAAY,EAAEC,QAAQC,gBAAgB,EAAE,EACxCC,KAAK,EAAEC,IAAI,EAAE,EACbD,GAAG,EACJ,GAAGL;IAEJ,IAAI,CAACM,MAAM,MAAM,IAAIR,SAAS,WAAWD,WAAWU,WAAW;IAC/D,IAAID,KAAKJ,UAAU,KAAKE,iBAAiBI,IAAI,EAC3C,MAAM,IAAIV,SAAS,wBAAwBD,WAAWY,SAAS;IAEjE,MAAML,iBAAiBM,KAAK,CAACC,WAAW,CAACC,MAAM,CAAC,OAAOC,WAAWC;QAChE,MAAMD;QAENZ,OACE,AAAC,MAAMa,KAAK;YACVZ,YAAYD,KAAKC,UAAU,EAAEC;YAC7BY,SAASV,IAAIU,OAAO;YACpBV;QACF,MAAOJ;IACX,GAAGe,QAAQC,OAAO;IAElB,OAAO;AACT,EAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Collection } from '../../collections/config/types.js';
2
- import type { PayloadRequestWithData } from '../../types/index.js';
2
+ import type { PayloadRequest } from '../../types/index.js';
3
3
  import type { ClientUser } from '../types.js';
4
4
  export type MeOperationResult = {
5
5
  collection?: string;
@@ -11,7 +11,7 @@ export type MeOperationResult = {
11
11
  export type Arguments = {
12
12
  collection: Collection;
13
13
  currentToken?: string;
14
- req: PayloadRequestWithData;
14
+ req: PayloadRequest;
15
15
  };
16
- export declare const meOperation: ({ collection, currentToken, req, }: Arguments) => Promise<MeOperationResult>;
16
+ export declare const meOperation: (args: Arguments) => Promise<MeOperationResult>;
17
17
  //# sourceMappingURL=me.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"me.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/me.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,KAAK,EAAE,UAAU,EAAQ,MAAM,aAAa,CAAA;AAEnD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,GAAG,EAAE,sBAAsB,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,WAAW,uCAIrB,SAAS,KAAG,OAAO,CAAC,iBAAiB,CAwDvC,CAAA"}
1
+ {"version":3,"file":"me.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/me.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAQ,MAAM,aAAa,CAAA;AAEnD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,WAAW,SAAgB,SAAS,KAAG,OAAO,CAAC,iBAAiB,CA0E5E,CAAA"}