| 
									
										
										
										
											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: { | 
					
						
							|  |  |  |       confirmation: nonNull('String'), | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     description: 'Confirm an email users email address', | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     async resolve(parent, args, context) { | 
					
						
							|  |  |  |       const { koaContext } = context; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-08 12:17:16 +07:00
										 |  |  |       koaContext.query = toPlainObject(args); | 
					
						
							| 
									
										
										
										
											2021-09-15 15:44:42 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |       await strapi | 
					
						
							|  |  |  |         .plugin('users-permissions') | 
					
						
							|  |  |  |         .controller('auth') | 
					
						
							|  |  |  |         .emailConfirmation(koaContext, null, true); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       const output = koaContext.body; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       checkBadRequest(output); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       return { | 
					
						
							|  |  |  |         user: output.user || output, | 
					
						
							|  |  |  |         jwt: output.jwt, | 
					
						
							|  |  |  |       }; | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | }; |