using FastEndpoints; using Hutopy.Web.Common; using Hutopy.Web.Messages.Data; namespace Hutopy.Web.Messages.Handlers; public record PostMessageRequest( Guid SubjectId, string Message); public class PostMessage( MessagingDbContext context) : Endpoint { public override void Configure() { Post("/api/messages"); Options(o => o.WithTags("Messages")); } public override async Task HandleAsync( PostMessageRequest req, CancellationToken ct) { await context.Messages.AddAsync( new Message { Id = GuidHelper.GenerateUuidV7(), SubjectId = req.SubjectId, CreatedBy = User.GetUserId(), Value = req.Message }, ct); await context.SaveChangesAsync(ct); } }