From 5f604b3052dab1d51dc130df2470bf330b283ec6 Mon Sep 17 00:00:00 2001 From: ivar Date: Tue, 19 Mar 2024 01:02:22 +0100 Subject: Max lenghts on db schema Use latest temporal from cdn Implement majority of translation functionality Major refinements/bugs --- code/api/Endpoints/Account/CreateEndpoint.cs | 84 ++++++++++++---------------- 1 file changed, 37 insertions(+), 47 deletions(-) (limited to 'code/api/Endpoints/Account/CreateEndpoint.cs') diff --git a/code/api/Endpoints/Account/CreateEndpoint.cs b/code/api/Endpoints/Account/CreateEndpoint.cs index 4cea8f1..59d954c 100644 --- a/code/api/Endpoints/Account/CreateEndpoint.cs +++ b/code/api/Endpoints/Account/CreateEndpoint.cs @@ -1,52 +1,42 @@ -namespace I2R.Storage.Api.Endpoints.Account; +namespace Quality.Storage.Api.Endpoints.Account; -public class CreateEndpoint : EndpointBase +public class CreateEndpoint(AppDatabase database, UserService userService, IStringLocalizer localizer) : EndpointBase { - private readonly AppDatabase _database; - private readonly UserService _userService; - private readonly IStringLocalizer _localizer; + public new class Request + { + public string Username { get; set; } + public string Password { get; set; } + public string FirstName { get; set; } + public string LastName { get; set; } + } - public CreateEndpoint(AppDatabase database, UserService userService, IStringLocalizer localizer) { - _database = database; - _userService = userService; - _localizer = localizer; - } + public new class Response + { + public Guid Id { get; set; } + public string Username { get; set; } + public UserRole Role { get; set; } + } - public new class Request - { - public string Username { get; set; } - public string Password { get; set; } - public string FirstName { get; set; } - public string LastName { get; set; } - } + [AllowAnonymous] + [HttpPost("~/account/create")] + public ActionResult Handle([FromBody] Request request) { + if (!userService.CanCreateAccount(request.Username)) { + return BadRequest(localizer["That username is already taken"]); + } - public new class Response - { - public Guid Id { get; set; } - public string Username { get; set; } - public EUserRole Role { get; set; } - } - - [AllowAnonymous] - [HttpPost("~/account/create")] - public ActionResult Handle([FromBody] Request request) { - if (!_userService.CanCreateAccount(request.Username)) { - return BadRequest(_localizer["That username is already taken"]); - } - - var user = new User() { - Username = request.Username, - Password = PasswordHelper.HashPassword(request.Password), - LastName = request.LastName, - FirstName = request.FirstName, - Role = EUserRole.LEAST_PRIVILEGED, - }; - _database.Users.Add(user); - _database.SaveChanges(); - return Ok(new Response { - Id = user.Id, - Username = user.Username, - Role = user.Role - }); - } -} \ No newline at end of file + var user = new User { + Username = request.Username, + Password = PasswordHelper.HashPassword(request.Password), + LastName = request.LastName, + FirstName = request.FirstName, + Role = UserRole.LEAST_PRIVILEGED, + }; + database.Users.Add(user); + database.SaveChanges(); + return Ok(new Response { + Id = user.Id, + Username = user.Username, + Role = user.Role + }); + } +} -- cgit v1.3