public async Task CreateAsync(string userId, string refreshToken, string remoteIpAddress, string userAgent, TimeSpan refreshTokenLifetime) { var id = GenerateId(refreshToken); var entity = new RefreshTokenDetails { Id = id, UserId = userId, RefreshToken = refreshToken, DateCreated = DateTime.UtcNow, IpAddress = remoteIpAddress, UserAgent = userAgent, DateExpires = DateTime.UtcNow + refreshTokenLifetime }; await RavenDatabaseProvider.CreateEntity(entity); }
public async Task <IActionResult> Bootstrap() { try { RavenDatabaseProvider.EnsureDatabaseExists("smartbudget", true); InputUserRegistrationDto dto = new InputUserRegistrationDto { FirstName = "Admin", LastName = "Developer", Email = "*****@*****.**", Password = "******", ConfirmPassword = "******" }; var userLoginId = LoginProvider.GenerateId(dto.Email); var user = new User { FirstName = dto.FirstName, LastName = dto.LastName, Email = dto.Email, CreatedBy = "System", DateCreated = DateTime.UtcNow, Type = UserType.Admin }; await RavenDatabaseProvider.CreateEntity(user); var loginDetails = new LoginDetails { Id = userLoginId, UniqueId = dto.Email, UserId = user.Id, CreatedBy = "System", DateCreated = DateTime.UtcNow }; LoginProvider.SetPassword(loginDetails, dto.Password); await RavenDatabaseProvider.CreateEntity(loginDetails); return(Ok("Setup configurado com sucesso!")); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IActionResult> Register([FromBody] InputUserRegistrationDto dto) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var userLoginId = LoginProvider.GenerateId(dto.Email); if (await RavenDatabaseProvider.IsEntityExists(userLoginId)) { return(BadRequest($"{nameof(dto.Email)} already exists.")); } var user = new User { FirstName = dto.FirstName, LastName = dto.LastName, Email = dto.Email, CreatedBy = "System", DateCreated = DateTime.UtcNow }; await RavenDatabaseProvider.CreateEntity(user); var loginDetails = new LoginDetails { Id = userLoginId, UniqueId = dto.Email, UserId = user.Id, CreatedBy = "System", DateCreated = DateTime.UtcNow }; LoginProvider.SetPassword(loginDetails, dto.Password); await RavenDatabaseProvider.CreateEntity(loginDetails); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }