public async Task <IActionResult> SendVerificationEmail() { FirebaseUser user = HttpContext.GetFirebaseUser(); SendVerificationEmailCommand model = new SendVerificationEmailCommand() { idToken = user.Token }; ResultWrapper <SendVerificationEmailOutput> result = new ResultWrapper <SendVerificationEmailOutput>(); result = await _mediator.Send(model); if (result.Status) { SendVerificationEmailEvent opEvent = new SendVerificationEmailEvent() { Request = model, Response = result.Result }; await _mediator.Publish(opEvent); } return(Ok(result)); }
public async Task <ResultWrapper <SendVerificationEmailOutput> > Handle(SendVerificationEmailCommand request, CancellationToken cancellationToken) { ResultWrapper <SendVerificationEmailOutput> verificationResult = new ResultWrapper <SendVerificationEmailOutput>(); SendVerificationEmailRequest verificationReq = new SendVerificationEmailRequest() { requestType = FireBaseRequestEnum.VERIFY_EMAIL.ToString(), idToken = request.idToken }; ResultWrapper <SendVerificationEmailResponse> verificationEmailResult = await _fireBaseTool.SendEmailVerification(verificationReq); if (!verificationEmailResult.Status) { verificationResult.Status = false; verificationResult.Message = verificationEmailResult.Message; return(verificationResult); } verificationResult.Status = true; verificationResult.Result = new SendVerificationEmailOutput() { Email = verificationEmailResult.Result.email, }; return(verificationResult); }