diff --git a/Iceshrimp.Backend/Controllers/Web/InstanceController.cs b/Iceshrimp.Backend/Controllers/Web/InstanceController.cs index fcc4f186..77e3a947 100644 --- a/Iceshrimp.Backend/Controllers/Web/InstanceController.cs +++ b/Iceshrimp.Backend/Controllers/Web/InstanceController.cs @@ -34,8 +34,14 @@ public class InstanceController( { var limits = new Limitations { NoteLength = instanceConfig.Value.CharacterLimit }; - var iconId = await meta.GetAsync(MetaEntity.IconFileId); - var iconUrl = await db.DriveFiles.Where(p => p.Id == iconId).Select(p => p.PublicUrl).FirstOrDefaultAsync(); + var (iconId, bannerId) = await meta.GetManyAsync(MetaEntity.IconFileId, MetaEntity.BannerFileId); + + var iconUrl = await db.DriveFiles.Where(p => p.Id == iconId) + .Select(p => p.PublicUrl ?? p.RawAccessUrl) + .FirstOrDefaultAsync(); + var bannerUrl = await db.DriveFiles.Where(p => p.Id == bannerId) + .Select(p => p.PublicUrl ?? p.RawAccessUrl) + .FirstOrDefaultAsync(); return new InstanceResponse { @@ -44,6 +50,7 @@ public class InstanceController( Registration = (Registrations)securityConfig.Value.Registrations, Name = await meta.GetAsync(MetaEntity.InstanceName), IconUrl = iconUrl, + BannerUrl = bannerUrl, Limits = limits }; } diff --git a/Iceshrimp.Shared/Schemas/Web/InstanceResponse.cs b/Iceshrimp.Shared/Schemas/Web/InstanceResponse.cs index c280b311..1aa75ce2 100644 --- a/Iceshrimp.Shared/Schemas/Web/InstanceResponse.cs +++ b/Iceshrimp.Shared/Schemas/Web/InstanceResponse.cs @@ -7,6 +7,7 @@ public class InstanceResponse public required Registrations Registration { get; set; } public required string? Name { get; set; } public required string? IconUrl { get; set; } + public required string? BannerUrl { get; set; } public required Limitations Limits { get; set; } }