[backend/pages] Allow uploading files to the selected folder instead of just the root folder

This commit is contained in:
pancakes 2024-12-16 14:55:18 +10:00 committed by Laura Hausmann
parent 078f344a26
commit 0dfe788f7f
No known key found for this signature in database
GPG key ID: D044E84C5BE01605
2 changed files with 5 additions and 1 deletions

View file

@ -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<DriveFileResponse> UploadFileAsync(IBrowserFile file) =>
api.CallAsync<DriveFileResponse>(HttpMethod.Post, "/drive", data: file);
public Task<DriveFileResponse> UploadFileToFolderAsync(IBrowserFile file, string folderId) =>
api.CallAsync<DriveFileResponse>(HttpMethod.Post, "/drive", QueryString.Create("folderId", folderId), file);
public Task<DriveFileResponse?> GetFileAsync(string id) =>
api.CallNullableAsync<DriveFileResponse>(HttpMethod.Get, $"/drive/{id}");

View file

@ -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();
}