public async Task CreateOtp(CreateOtpData data) { var user = await _userRepository.GetByMobileNumber(data.MobileNumber); if (user == null) { var newUserId = await _userRepository.GetNextKey(); user = new Models.User(newUserId, data.MobileNumber); } var otp = ROP.Common.Helpers.RandomGenerator.GetDigits(OtpLength); user.AddOtp(otp); await _userRepository.CreateOrModify(user); //todo: add send otp to queue await _smsService.SendVerificationCode(data.MobileNumber, otp); }
public async Task <IActionResult> Post(CreateOtpData data) { await _otpService.CreateOtp(data); return(NoContent()); }