Adds messages api
This commit is contained in:
33
src/Web/Messages/Handlers/GetMessagesByUser.cs
Normal file
33
src/Web/Messages/Handlers/GetMessagesByUser.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using FastEndpoints;
|
||||
using Hutopy.Web.Messages.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace Hutopy.Web.Messages.Handlers;
|
||||
|
||||
public record GetMessagesByUserRequest(
|
||||
[FromRoute] Guid UserId);
|
||||
|
||||
public class GetMessagesByUser(
|
||||
MessagingDbContext context)
|
||||
: EndpointWithoutRequest<List<Message>>
|
||||
{
|
||||
public override void Configure()
|
||||
{
|
||||
Tags("Messages");
|
||||
Get("/api/messages/by-user/{UserId:guid}");
|
||||
}
|
||||
|
||||
public override async Task HandleAsync(
|
||||
CancellationToken ct)
|
||||
{
|
||||
var userId = Route<Guid>("UserId");
|
||||
|
||||
var posts = await context
|
||||
.Messages
|
||||
.Where(c => c.CreatedBy == userId)
|
||||
.ToListAsync(cancellationToken: ct);
|
||||
|
||||
await SendAsync(posts, cancellation: ct);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user