namespace IOL.GreatOffice.Api.Endpoints.Internal.Account; /// public class CreateInitialAccountRoute : RouteBaseAsync.WithoutRequest.WithActionResult { private readonly AppDbContext _context; private readonly UserService _userService; /// public CreateInitialAccountRoute(AppDbContext context, UserService userService) { _context = context; _userService = userService; } /// /// Create an initial user account. /// /// /// [AllowAnonymous] [HttpGet("~/_/account/create-initial")] public override async Task HandleAsync(CancellationToken cancellationToken = default) { if (_context.Users.Any()) { return NotFound(); } var user = new User("admin@ivarlovlie.no"); user.HashAndSetPassword("ivar123"); _context.Users.Add(user); await _context.SaveChangesAsync(cancellationToken); await _userService.LogInUser(HttpContext, user); return Redirect("/"); } }