namespace TestWeb.Core.Users; using Infra; public static class CreateUserEndpoint { public record Request(string UserName); public class RequestValidator : AbstractValidator { public RequestValidator() { RuleFor(x => x.UserName).NotEmpty().MaximumLength(250); } } public record Response(int Id); public static async Task> Handle(Request request, AppDbContext db, CancellationToken ct) { var row = new User { Username = request.UserName, DisplayName = request.UserName, Password = string.Empty }; await db.Users.AddAsync(row, ct); await db.SaveChangesAsync(ct); var response = new Response(row.Id); return TypedResults.Ok(response); } }