From 0dfe788f7f1c6803707b4d309d494a45e76c2e74 Mon Sep 17 00:00:00 2001 From: pancakes Date: Mon, 16 Dec 2024 14:55:18 +1000 Subject: [PATCH] [backend/pages] Allow uploading files to the selected folder instead of just the root folder --- .../Core/ControllerModels/DriveControllerModel.cs | 4 ++++ Iceshrimp.Frontend/Pages/DrivePage.razor | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Iceshrimp.Frontend/Core/ControllerModels/DriveControllerModel.cs b/Iceshrimp.Frontend/Core/ControllerModels/DriveControllerModel.cs index bd912e54..9dd17f99 100644 --- a/Iceshrimp.Frontend/Core/ControllerModels/DriveControllerModel.cs +++ b/Iceshrimp.Frontend/Core/ControllerModels/DriveControllerModel.cs @@ -1,3 +1,4 @@ +using Iceshrimp.Frontend.Core.Miscellaneous; using Iceshrimp.Frontend.Core.Services; using Iceshrimp.Shared.Schemas.Web; using Microsoft.AspNetCore.Components.Forms; @@ -9,6 +10,9 @@ internal class DriveControllerModel(ApiClient api) public Task UploadFileAsync(IBrowserFile file) => api.CallAsync(HttpMethod.Post, "/drive", data: file); + public Task UploadFileToFolderAsync(IBrowserFile file, string folderId) => + api.CallAsync(HttpMethod.Post, "/drive", QueryString.Create("folderId", folderId), file); + public Task GetFileAsync(string id) => api.CallNullableAsync(HttpMethod.Get, $"/drive/{id}"); diff --git a/Iceshrimp.Frontend/Pages/DrivePage.razor b/Iceshrimp.Frontend/Pages/DrivePage.razor index 289a1544..b0369b14 100644 --- a/Iceshrimp.Frontend/Pages/DrivePage.razor +++ b/Iceshrimp.Frontend/Pages/DrivePage.razor @@ -129,7 +129,7 @@ private async Task Upload(InputFileChangeEventArgs e) { - var res = await Api.Drive.UploadFileAsync(e.File); + var res = Folder?.Id != null ? await Api.Drive.UploadFileToFolderAsync(e.File, Folder.Id) : await Api.Drive.UploadFileAsync(e.File); Folder!.Files.Add(res); StateHasChanged(); }