Files
ApiEfCoreLibrary/ApiEfCoreLibrary/Endpoints/User/CreateUserEndpoint.cs

40 lines
1.0 KiB
C#

using ApiEfCoreLibrary.DTO.User.Request;
using ApiEfCoreLibrary.DTO.User.Response;
namespace ApiEfCoreLibrary.Endpoints.User;
using FastEndpoints;
public class CreateUserEndpoint(LibraryDbContext database) : Endpoint<CreateUserDto, GetUserDto>
{
public override void Configure()
{
Post("/users");
Roles("admin");
}
public override async Task HandleAsync(CreateUserDto req, CancellationToken ct)
{
Models.User user = new Models.User()
{
Name = req.Name,
FirstName = req.FirstName,
Email = req.Email,
BirthDate = req.BirthDate,
};
database.Users.Add(user);
await database.SaveChangesAsync(ct);
GetUserDto responseDto = new()
{
Id = user.Id,
Name = user.Name,
FirstName = user.FirstName,
Email = user.Email,
BirthDate = user.BirthDate
};
await Send.OkAsync(responseDto, ct);
}
}