Adds messages api
This commit is contained in:
34
src/Web/Messages/Handlers/PostMessage.cs
Normal file
34
src/Web/Messages/Handlers/PostMessage.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using FastEndpoints;
|
||||
using Hutopy.Web.Messages.Data;
|
||||
|
||||
namespace Hutopy.Web.Messages.Handlers;
|
||||
|
||||
public record PostMessageRequest(
|
||||
Guid ContentId,
|
||||
string Message);
|
||||
|
||||
public class PostMessage(
|
||||
MessagingDbContext context)
|
||||
: Endpoint<PostMessageRequest>
|
||||
{
|
||||
public override void Configure()
|
||||
{
|
||||
// TODO: Find how to specify the name we see in Swagger
|
||||
Tags("Messages");
|
||||
Post("/api/messages");
|
||||
}
|
||||
|
||||
public override async Task HandleAsync(
|
||||
PostMessageRequest req,
|
||||
CancellationToken ct)
|
||||
{
|
||||
await context.Messages.AddAsync(
|
||||
new Message {
|
||||
ContentId = req.ContentId,
|
||||
CreatedBy = User.GetUserId(),
|
||||
Value = req.Message },
|
||||
ct);
|
||||
|
||||
await context.SaveChangesAsync(ct);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user