using FastEndpoints; using Microsoft.EntityFrameworkCore; using Socialize.Api.Data; using Socialize.Api.Modules.Feedback.Contracts; using Socialize.Api.Modules.Identity.Contracts; namespace Socialize.Api.Modules.Feedback.Handlers; public class ListDeveloperFeedbackHandler(AppDbContext dbContext) : EndpointWithoutRequest> { public override void Configure() { Get("/api/feedback"); Roles(KnownRoles.Developer); Options(o => o.WithTags("Feedback")); } public override async Task HandleAsync(CancellationToken ct) { List reports = await dbContext.FeedbackReports .Include(report => report.Tags) .Include(report => report.Screenshot) .OrderByDescending(report => report.LastActivityAt) .Select(report => report.ToDto()) .ToListAsync(ct); await SendOkAsync(reports, ct); } }