diff --git a/handlers/account.go b/handlers/account.go index cd45d42..164d945 100644 --- a/handlers/account.go +++ b/handlers/account.go @@ -37,7 +37,7 @@ func Register(w http.ResponseWriter, r *http.Request) { } user.Password = hashed user.ID = utils.GenerateUUID() - user.Role = "user" + user.Role = models.RoleUser if err := storage.AddUser(&user); err != nil { log.Println("POST [api/register] " + r.RemoteAddr + ": " + err.Error()) diff --git a/models/dbmodels.go b/models/dbmodels.go index ad8b428..1dd77fa 100644 --- a/models/dbmodels.go +++ b/models/dbmodels.go @@ -24,3 +24,21 @@ type ExpenseShare struct { UserID string `json:"user_id"` ShareCents int64 `json:"share_cents"` } + +type Role int + +const ( + RoleUser = iota + RoleAdmin +) + +func (r Role) String() string { + switch r { + case RoleUser: + return "user" + case RoleAdmin: + return "admin" + default: + return "unknown" + } +}