Endpoint to see users list

This commit is contained in:
2026-02-21 19:06:04 +01:00
parent 7364a75a2c
commit 1c0fc26f7e
2 changed files with 39 additions and 0 deletions
@@ -0,0 +1,26 @@
using BeReadyBackend.DTO.Users;
using BeReadyBackend.Repositories;
using BeReadyBackend.Specifications.Users;
using FastEndpoints;
namespace BeReadyBackend.Endpoints.Users;
// TODO: Prendre directement dans le token (comme pour partout où je peux recup l'id du user d'ailleurs en vrai) !!
public class GetAllUserRequest
{
public int Id { get; set; }
}
public class GetAllUsersEndpoint(UsersRepository usersRepository) : Endpoint<GetAllUserRequest, List<GetUserDto>>
{
public override void Configure()
{
Get("/Users/");
AllowAnonymous();
}
public override async Task HandleAsync(GetAllUserRequest req, CancellationToken ct)
{
await Send.OkAsync(await usersRepository.ProjectToListAsync<GetUserDto>(new GetUserNotFriendSpec(req.Id), ct), ct);
}
}
@@ -0,0 +1,13 @@
using Ardalis.Specification;
using BeReadyBackend.Models;
namespace BeReadyBackend.Specifications.Users;
public class GetUserNotFriendSpec : Specification<User>
{
public GetUserNotFriendSpec(int userId)
{
Query
.Where(x => x.Id != userId);
}
}