[backend/api] Add IsAvatar and IsBanner to DriveFile

This commit is contained in:
pancakes 2024-12-23 00:21:14 +10:00 committed by Laura Hausmann
parent 877d195fd7
commit b6047c9dc1
No known key found for this signature in database
GPG key ID: D044E84C5BE01605
2 changed files with 19 additions and 5 deletions

View file

@ -140,7 +140,10 @@ public class DriveController(
public async Task<DriveFileResponse> GetFileById(string id) public async Task<DriveFileResponse> GetFileById(string id)
{ {
var user = HttpContext.GetUserOrFail(); 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"); ?? throw GracefulException.NotFound("File not found");
return new DriveFileResponse return new DriveFileResponse
@ -151,7 +154,9 @@ public class DriveController(
Filename = file.Name, Filename = file.Name,
ContentType = file.Type, ContentType = file.Type,
Description = file.Comment, 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<DriveFileResponse> GetFileByHash(string sha256) public async Task<DriveFileResponse> GetFileByHash(string sha256)
{ {
var user = HttpContext.GetUserOrFail(); 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"); ?? throw GracefulException.NotFound("File not found");
return new DriveFileResponse return new DriveFileResponse
@ -175,7 +183,9 @@ public class DriveController(
Filename = file.Name, Filename = file.Name,
ContentType = file.Type, ContentType = file.Type,
Description = file.Comment, 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, Filename = p.Name,
ContentType = p.Type, ContentType = p.Type,
Sensitive = p.IsSensitive, Sensitive = p.IsSensitive,
Description = p.Comment Description = p.Comment,
IsAvatar = p.UserAvatar != null,
IsBanner = p.UserBanner != null
}) })
.ToListAsync(); .ToListAsync();

View file

@ -11,6 +11,8 @@ public class DriveFileResponse : IIdentifiable
public required string ContentType { get; set; } public required string ContentType { get; set; }
public required bool Sensitive { get; set; } public required bool Sensitive { get; set; }
public required string? Description { get; set; } public required string? Description { get; set; }
public required bool IsAvatar { get; set; }
public required bool IsBanner { get; set; }
} }
public class DriveFolderResponse public class DriveFolderResponse