using FastEndpoints; using PyroFetes.DTO.Communication.Request; using PyroFetes.DTO.Communication.Response; namespace PyroFetes.Endpoints.Communication; public class CreateCommunicationEndpoint(PyroFetesDbContext pyroFetesDbContext) : Endpoint { public override void Configure() { Post("/api/communications"); AllowAnonymous(); } public override async Task HandleAsync(CreateCommunicationDto req, CancellationToken ct) { Models.Communication communication = new() { Calling = req.Calling, Email = req.Email, Meeting = req.Meeting }; pyroFetesDbContext.Add(communication); await pyroFetesDbContext.SaveChangesAsync(ct); GetCommunicationDto response = new() { Calling = req.Calling, Email = req.Email, Meeting = req.Meeting }; await Send.OkAsync(response, ct); } }