First Commit 09/10

# Conflicts:
#	PyroFetes/PyroFetes.csproj
This commit is contained in:
2025-10-09 17:12:17 +02:00
parent 0e19ef1ab7
commit 4e64112a31
49 changed files with 908 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
using FastEndpoints;
using Microsoft.EntityFrameworkCore;
using PyroFetes.DTO.Contact.Request;
using PyroFetes.DTO.Contact.Response;
namespace PyroFetes.Endpoints.Contact;
public class GetContactEndpoint(PyroFetesDbContext pyroFetesDbContext) : Endpoint <GetContactRequest, GetContactDto>
{
public override void Configure()
{
Get ("/api/contacts/{@Id}", x => new { x.Id });
AllowAnonymous();
}
public override async Task HandleAsync(GetContactRequest database, CancellationToken ct)
{
Models.Contact? databaseContact = await pyroFetesDbContext.Contacts.SingleOrDefaultAsync(x => x.Id == database.Id, cancellationToken: ct);
if (databaseContact == null)
{
await Send.NotFoundAsync(ct);
return;
}
GetContactDto dto = new()
{
Id = databaseContact.Id,
LastName = databaseContact.LastName,
FirstName = databaseContact.FirstName,
PhoneNumber = databaseContact.PhoneNumber,
Email = databaseContact.Email,
Address = databaseContact.Address,
Role = databaseContact.Role,
};
await Send.OkAsync(dto, ct);
}
}