diff --git a/Iceshrimp.Backend/Controllers/Web/Renderers/UserProfileRenderer.cs b/Iceshrimp.Backend/Controllers/Web/Renderers/UserProfileRenderer.cs index 64e271d4..a8595f17 100644 --- a/Iceshrimp.Backend/Controllers/Web/Renderers/UserProfileRenderer.cs +++ b/Iceshrimp.Backend/Controllers/Web/Renderers/UserProfileRenderer.cs @@ -47,6 +47,12 @@ public class UserProfileRenderer(DatabaseContext db) Verified = p.IsVerified }); + var role = user.IsAdmin + ? Role.Admin + : user.IsModerator + ? Role.Moderator + : Role.None; + return new UserProfileResponse { Id = user.Id, @@ -56,7 +62,8 @@ public class UserProfileRenderer(DatabaseContext db) Location = user.UserProfile?.Location, Followers = followers, Following = following, - Relations = relations + Relations = relations, + Role = role }; } diff --git a/Iceshrimp.Shared/Schemas/Web/UserProfileResponse.cs b/Iceshrimp.Shared/Schemas/Web/UserProfileResponse.cs index 07354dda..5c174935 100644 --- a/Iceshrimp.Shared/Schemas/Web/UserProfileResponse.cs +++ b/Iceshrimp.Shared/Schemas/Web/UserProfileResponse.cs @@ -10,6 +10,7 @@ public class UserProfileResponse public required int? Followers { get; set; } public required int? Following { get; set; } public required Relations Relations { get; set; } + public required Role Role { get; set; } } [Flags] @@ -25,6 +26,13 @@ public enum Relations Muting = 64 } +public enum Role +{ + None = 0, + Moderator = 1, + Admin = 2 +} + public class UserProfileField { public required string Name { get; set; }