From 735bdfe09a34f476285d341113af8070c4dd675a Mon Sep 17 00:00:00 2001 From: pancakes Date: Mon, 30 Dec 2024 13:19:40 +1000 Subject: [PATCH] [backend/api] Add polls to CreateNote --- Iceshrimp.Backend/Controllers/Web/NoteController.cs | 12 +++++++++++- Iceshrimp.Shared/Schemas/Web/NoteCreateRequest.cs | 8 ++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/Iceshrimp.Backend/Controllers/Web/NoteController.cs b/Iceshrimp.Backend/Controllers/Web/NoteController.cs index 23f9ac1b..464c1e76 100644 --- a/Iceshrimp.Backend/Controllers/Web/NoteController.cs +++ b/Iceshrimp.Backend/Controllers/Web/NoteController.cs @@ -555,6 +555,15 @@ public class NoteController( ? await db.DriveFiles.Where(p => request.MediaIds.Contains(p.Id)).ToListAsync() : null; + var poll = request.Poll != null + ? new Poll + { + ExpiresAt = request.Poll.ExpiresAt, + Multiple = request.Poll.Multiple, + Choices = request.Poll.Choices, + } + : null; + var note = await noteSvc.CreateNoteAsync(new NoteService.NoteCreationData { User = user, @@ -563,7 +572,8 @@ public class NoteController( Cw = request.Cw, Reply = reply, Renote = renote, - Attachments = attachments + Attachments = attachments, + Poll = poll }); if (request.IdempotencyKey != null) diff --git a/Iceshrimp.Shared/Schemas/Web/NoteCreateRequest.cs b/Iceshrimp.Shared/Schemas/Web/NoteCreateRequest.cs index 13279852..1722a8fd 100644 --- a/Iceshrimp.Shared/Schemas/Web/NoteCreateRequest.cs +++ b/Iceshrimp.Shared/Schemas/Web/NoteCreateRequest.cs @@ -9,4 +9,12 @@ public class NoteCreateRequest public List? MediaIds { get; set; } public required NoteVisibility Visibility { get; set; } public string? IdempotencyKey { get; set; } + public PollRequest? Poll { get; set; } +} + +public class PollRequest +{ + public required DateTime? ExpiresAt { get; set; } + public required bool Multiple { get; set; } + public required List Choices { get; set; } } \ No newline at end of file