From b6047c9dc196181795c9eef9ab60020060654303 Mon Sep 17 00:00:00 2001 From: pancakes Date: Mon, 23 Dec 2024 00:21:14 +1000 Subject: [PATCH] [backend/api] Add IsAvatar and IsBanner to DriveFile --- .../Controllers/Web/DriveController.cs | 22 ++++++++++++++----- .../Schemas/Web/DriveFileResponse.cs | 2 ++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Iceshrimp.Backend/Controllers/Web/DriveController.cs b/Iceshrimp.Backend/Controllers/Web/DriveController.cs index b97d3e04..0ba0bcf8 100644 --- a/Iceshrimp.Backend/Controllers/Web/DriveController.cs +++ b/Iceshrimp.Backend/Controllers/Web/DriveController.cs @@ -140,7 +140,10 @@ public class DriveController( public async Task GetFileById(string id) { var user = HttpContext.GetUserOrFail(); - var file = await db.DriveFiles.FirstOrDefaultAsync(p => p.User == user && p.Id == id) + var file = await db.DriveFiles + .Include(p => p.UserAvatar) + .Include(p => p.UserBanner) + .FirstOrDefaultAsync(p => p.User == user && p.Id == id) ?? throw GracefulException.NotFound("File not found"); return new DriveFileResponse @@ -151,7 +154,9 @@ public class DriveController( Filename = file.Name, ContentType = file.Type, Description = file.Comment, - Sensitive = file.IsSensitive + Sensitive = file.IsSensitive, + IsAvatar = file.UserAvatar != null, + IsBanner = file.UserBanner != null }; } @@ -164,7 +169,10 @@ public class DriveController( public async Task GetFileByHash(string sha256) { var user = HttpContext.GetUserOrFail(); - var file = await db.DriveFiles.FirstOrDefaultAsync(p => p.User == user && p.Sha256 == sha256) + var file = await db.DriveFiles + .Include(p => p.UserAvatar) + .Include(p => p.UserBanner) + .FirstOrDefaultAsync(p => p.User == user && p.Sha256 == sha256) ?? throw GracefulException.NotFound("File not found"); return new DriveFileResponse @@ -175,7 +183,9 @@ public class DriveController( Filename = file.Name, ContentType = file.Type, Description = file.Comment, - Sensitive = file.IsSensitive + Sensitive = file.IsSensitive, + IsAvatar = file.UserAvatar != null, + IsBanner = file.UserBanner != null }; } @@ -279,7 +289,9 @@ public class DriveController( Filename = p.Name, ContentType = p.Type, Sensitive = p.IsSensitive, - Description = p.Comment + Description = p.Comment, + IsAvatar = p.UserAvatar != null, + IsBanner = p.UserBanner != null }) .ToListAsync(); diff --git a/Iceshrimp.Shared/Schemas/Web/DriveFileResponse.cs b/Iceshrimp.Shared/Schemas/Web/DriveFileResponse.cs index fa40dff5..86cfc3cb 100644 --- a/Iceshrimp.Shared/Schemas/Web/DriveFileResponse.cs +++ b/Iceshrimp.Shared/Schemas/Web/DriveFileResponse.cs @@ -11,6 +11,8 @@ public class DriveFileResponse : IIdentifiable public required string ContentType { get; set; } public required bool Sensitive { get; set; } public required string? Description { get; set; } + public required bool IsAvatar { get; set; } + public required bool IsBanner { get; set; } } public class DriveFolderResponse