From a39a664525f55846dd5eea52fcc7009867835989 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Tue, 15 Nov 2022 10:19:32 +0100 Subject: [feature] Serialize local account role via API, and show it via web view (#1045) * [feature] Add 'role' field to api serialization of local accounts * [chore] Add a bit of license text while I'm here * [frogend] render account role on same line as username in web view of profile * style tweaking on role badges, general profile header layout * profile stats wrapping * don't render standard 'user' role on web view Co-authored-by: f0x --- internal/api/model/account.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'internal/api/model/account.go') diff --git a/internal/api/model/account.go b/internal/api/model/account.go index fb781d61f..c580d2b37 100644 --- a/internal/api/model/account.go +++ b/internal/api/model/account.go @@ -94,6 +94,10 @@ type Account struct { CustomCSS string `json:"custom_css,omitempty"` // Account has enabled RSS feed. EnableRSS bool `json:"enable_rss,omitempty"` + // Role of the account on this instance. + // Omitted for remote accounts. + // example: user + Role AccountRole `json:"role,omitempty"` } // AccountCreateRequest models account creation parameters. @@ -208,3 +212,16 @@ type AccountDeleteRequest struct { // Can be the ID of the account owner, or the ID of an admin account. DeleteOriginID string `form:"-" json:"-" xml:"-"` } + +// AccountRole models the role of an account. +// +// swagger:enum accountRole +// swagger:type string +type AccountRole string + +const ( + AccountRoleUser AccountRole = "user" // Standard user + AccountRoleModerator AccountRole = "moderator" // Moderator privileges + AccountRoleAdmin AccountRole = "admin" // Instance admin + AccountRoleUnknown AccountRole = "" // We don't know / remote account +) -- cgit v1.2.3