From c9b282a90e14bafff2b6e3d1fc29d6cf06eaba72 Mon Sep 17 00:00:00 2001 From: Lilian Date: Fri, 28 Jun 2024 00:44:26 +0200 Subject: [PATCH] [frontend/api] Add EmojiControllerModel --- .../ControllerModels/EmojiControllerModel.cs | 20 ++++++++++++++++++ .../Core/Services/ApiService.cs | 21 ++++++++++--------- 2 files changed, 31 insertions(+), 10 deletions(-) create mode 100644 Iceshrimp.Frontend/Core/ControllerModels/EmojiControllerModel.cs diff --git a/Iceshrimp.Frontend/Core/ControllerModels/EmojiControllerModel.cs b/Iceshrimp.Frontend/Core/ControllerModels/EmojiControllerModel.cs new file mode 100644 index 00000000..99bd1782 --- /dev/null +++ b/Iceshrimp.Frontend/Core/ControllerModels/EmojiControllerModel.cs @@ -0,0 +1,20 @@ +using Iceshrimp.Frontend.Core.Services; +using Iceshrimp.Shared.Schemas; +using Microsoft.AspNetCore.Components.Forms; + +namespace Iceshrimp.Frontend.Core.ControllerModels; + +internal class EmojiControllerModel(ApiClient api) +{ + public Task> GetAllEmoji() => + api.Call>(HttpMethod.Get, "/emoji"); + + public Task UploadEmoji(IBrowserFile file) => + api.Call(HttpMethod.Post, "/emoji", data: file); + + public Task UpdateEmoji(string id, EmojiResponse emoji) => + api.CallNullable(HttpMethod.Patch, $"/emoji/{id}", data: emoji); + + public Task GetEmoji(string id) => + api.CallNullable(HttpMethod.Get, $"/emoji/{id}"); +} diff --git a/Iceshrimp.Frontend/Core/Services/ApiService.cs b/Iceshrimp.Frontend/Core/Services/ApiService.cs index f6a37c72..2a253075 100644 --- a/Iceshrimp.Frontend/Core/Services/ApiService.cs +++ b/Iceshrimp.Frontend/Core/Services/ApiService.cs @@ -4,15 +4,16 @@ namespace Iceshrimp.Frontend.Core.Services; internal class ApiService(ApiClient client) { - public readonly NoteControllerModel Notes = new(client); - public readonly UserControllerModel Users = new(client); - public readonly AuthControllerModel Auth = new(client); - public readonly DriveControllerModel Drive = new(client); - public readonly AdminControllerModel Admin = new(client); - public readonly SearchControllerModel Search = new(client); - public readonly SettingsControllerModel Settings = new(client); - public readonly TimelineControllerModel Timelines = new(client); - public readonly NotificationControllerModel Notifications = new(client); + public readonly NoteControllerModel Notes = new(client); + public readonly UserControllerModel Users = new(client); + public readonly AuthControllerModel Auth = new(client); + public readonly DriveControllerModel Drive = new(client); + public readonly AdminControllerModel Admin = new(client); + public readonly SearchControllerModel Search = new(client); + public readonly SettingsControllerModel Settings = new(client); + public readonly TimelineControllerModel Timelines = new(client); + public readonly NotificationControllerModel Notifications = new(client); + public readonly EmojiControllerModel Emoji = new(client); - public void SetBearerToken(string token) => client.SetToken(token); + public void SetBearerToken(string token) => client.SetToken(token); } \ No newline at end of file