Beispiel #1
0
        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);
        }
Beispiel #2
0
        public async Task <IActionResult> Post(CreateOtpData data)
        {
            await _otpService.CreateOtp(data);

            return(NoContent());
        }