| 
									
										
										
										
											2021-09-15 15:44:42 +02:00
										 |  |  | 'use strict'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const { toPlainObject } = require('lodash/fp'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const { checkBadRequest } = require('../../utils'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module.exports = ({ nexus, strapi }) => { | 
					
						
							|  |  |  |   const { nonNull } = nexus; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   return { | 
					
						
							|  |  |  |     type: 'UsersPermissionsLoginPayload', | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     args: { | 
					
						
							|  |  |  |       password: nonNull('String'), | 
					
						
							|  |  |  |       passwordConfirmation: nonNull('String'), | 
					
						
							|  |  |  |       code: nonNull('String'), | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     description: 'Reset user password. Confirm with a code (resetToken from forgotPassword)', | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     async resolve(parent, args, context) { | 
					
						
							|  |  |  |       const { koaContext } = context; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       koaContext.request.body = toPlainObject(args); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-08 23:33:39 +02:00
										 |  |  |       await strapi.plugin('users-permissions').controller('auth').resetPassword(koaContext); | 
					
						
							| 
									
										
										
										
											2021-09-15 15:44:42 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |       const output = koaContext.body; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       checkBadRequest(output); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       return { | 
					
						
							|  |  |  |         user: output.user || output, | 
					
						
							|  |  |  |         jwt: output.jwt, | 
					
						
							|  |  |  |       }; | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | }; |