diff --git a/pkg/user/is_admin_test.go b/pkg/user/is_admin_test.go new file mode 100644 index 000000000..2d49ba3d8 --- /dev/null +++ b/pkg/user/is_admin_test.go @@ -0,0 +1,35 @@ +// Vikunja is a to-do list application to facilitate your life. +// Copyright 2018-present Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +package user + +import ( + "testing" + + "code.vikunja.io/api/pkg/db" + "github.com/stretchr/testify/assert" +) + +func TestUser_IsAdminField(t *testing.T) { + db.LoadAndAssertFixtures(t) + s := db.NewSession() + defer s.Close() + + u := &User{ID: 1} + _, err := s.Get(u) + assert.NoError(t, err) + assert.False(t, u.IsAdmin, "fixture user 1 should not be admin by default") +} diff --git a/pkg/user/user.go b/pkg/user/user.go index e4032d233..8127193ef 100644 --- a/pkg/user/user.go +++ b/pkg/user/user.go @@ -94,6 +94,9 @@ type User struct { Status Status `xorm:"default 0" json:"-"` + // Whether this user is a site-wide admin. Managed via CLI only. + IsAdmin bool `xorm:"not null default false" json:"-"` + AvatarProvider string `xorm:"varchar(255) null" json:"-"` AvatarFileID int64 `xorm:"null" json:"-"`