Adds streaming to GetContents
This commit is contained in:
16
src/Web/Messages/DependencyInjection.cs
Normal file
16
src/Web/Messages/DependencyInjection.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using Hutopy.Web.Messages.Data;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace Hutopy.Web.Messages;
|
||||
|
||||
public static class DependencyInjection
|
||||
{
|
||||
public static IServiceCollection AddMessagingModule(
|
||||
this IServiceCollection services,
|
||||
Action<DbContextOptionsBuilder>? configureAction = null)
|
||||
{
|
||||
services.AddDbContext<MessagingDbContext>(configureAction);
|
||||
|
||||
return services;
|
||||
}
|
||||
}
|
||||
@@ -4,9 +4,14 @@ using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace Hutopy.Web.Messages.Handlers;
|
||||
|
||||
public sealed class GetMessagesRequest
|
||||
{
|
||||
public Guid SubjectId { get; set; }
|
||||
}
|
||||
|
||||
public class GetMessages(
|
||||
MessagingDbContext context)
|
||||
: EndpointWithoutRequest<List<Message>>
|
||||
: Endpoint<GetMessagesRequest, List<Message>>
|
||||
{
|
||||
public override void Configure()
|
||||
{
|
||||
@@ -16,13 +21,12 @@ public class GetMessages(
|
||||
}
|
||||
|
||||
public override async Task HandleAsync(
|
||||
GetMessagesRequest req,
|
||||
CancellationToken ct)
|
||||
{
|
||||
var subjectId = Route<Guid>("SubjectId");
|
||||
|
||||
var comments = await context
|
||||
.Messages
|
||||
.Where(c => c.SubjectId == subjectId)
|
||||
.Where(c => c.SubjectId == req.SubjectId)
|
||||
.ToListAsync(cancellationToken: ct);
|
||||
|
||||
await SendAsync(comments, cancellation: ct);
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
using FastEndpoints;
|
||||
using Hutopy.Web.Messages.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace Hutopy.Web.Messages.Handlers;
|
||||
|
||||
public sealed class GetMessagesByUserRequest
|
||||
{
|
||||
public Guid UserId { get; set; }
|
||||
}
|
||||
|
||||
public class GetMessagesByUser(
|
||||
MessagingDbContext context)
|
||||
: EndpointWithoutRequest<List<Message>>
|
||||
: Endpoint<GetMessagesByUserRequest, List<Message>>
|
||||
{
|
||||
public override void Configure()
|
||||
{
|
||||
@@ -16,13 +20,12 @@ public class GetMessagesByUser(
|
||||
}
|
||||
|
||||
public override async Task HandleAsync(
|
||||
GetMessagesByUserRequest req,
|
||||
CancellationToken ct)
|
||||
{
|
||||
var userId = Route<Guid>("UserId");
|
||||
|
||||
var posts = await context
|
||||
.Messages
|
||||
.Where(c => c.CreatedBy == userId)
|
||||
.Where(c => c.CreatedBy == req.UserId)
|
||||
.ToListAsync(cancellationToken: ct);
|
||||
|
||||
await SendAsync(posts, cancellation: ct);
|
||||
|
||||
Reference in New Issue
Block a user