Watch
1
0
Fork
You've already forked test-web
0

Initial commit
All checks were successful
Build / build (push) Successful in 52s

This commit is contained in:
Chris 2026-05-30 12:26:50 +01:00 • committed by Chris Dill
commit 0e79a8eb5e
43 changed files with 1282 additions and 0 deletions

View file

@ -0,0 +1,40 @@
using TestWeb.Infra;
using TestWeb.Utils;
namespace TestWeb.Core.Users;
public static class UpdateUserEndpoint
{
public record Request(string DisplayName);
public class RequestValidator : AbstractValidator<Request>
{
public RequestValidator()
{
RuleFor(x => x.DisplayName).NotEmpty().MaximumLength(250);
}
}
public static async Task<Results<Ok, NotFound>> Handle(
int id,
Request request,
AppDbContext db,
CancellationToken ct)
{
var result = await db.Users
.Where(x => x.Id == id)
.SingleOrDefaultAsync(ct);
if (result == null)
{
return TypedResults.NotFound();
}
result.DisplayName = request.DisplayName;
result.LastUpdated = DateTime.UtcNow;
await db.SaveChangesAsync(ct);
return TypedResults.Ok();
}
}