Files
BeReadyBackend/BeReadyBackend/Endpoints/Achievements/GetUserAchievementsEndpoint.cs
T

27 lines
875 B
C#

using BeReadyBackend.DTO.Achievements;
using BeReadyBackend.Repositories;
using BeReadyBackend.Services;
using BeReadyBackend.Specifications.UserAchievements;
using FastEndpoints;
namespace BeReadyBackend.Endpoints.Achievements;
public class GetUserAchievementsEndpoint(
UserAchievementsRepository userAchievementsRepository,
UserService userService)
: EndpointWithoutRequest<List<GetAchievementDto>>
{
public override void Configure()
{
Get("/Achievements/Users/");
}
public override async Task HandleAsync(CancellationToken ct)
{
int userId = userService.GetUserIdFromToken();
List<GetAchievementDto> userAchievements = await userAchievementsRepository.ProjectToListAsync<GetAchievementDto>(new GetUserAchievementByUserIdSpec(userId), ct);
await Send.OkAsync(userAchievements, ct);
}
}