photoprism/internal/entity/auth_user_fixtures.go
Michael Mayer 85561547cc Auth: Add "PHOTOPRISM_ADMIN_USER" option and refactor user table #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-02 21:30:50 +02:00

85 lines
1.7 KiB
Go

package entity
import (
"github.com/photoprism/photoprism/internal/acl"
"github.com/photoprism/photoprism/pkg/rnd"
)
type UserMap map[string]User
func (m UserMap) Get(name string) User {
if result, ok := m[name]; ok {
return result
}
return User{}
}
func (m UserMap) Pointer(name string) *User {
if result, ok := m[name]; ok {
return &result
}
return &User{}
}
var UserFixtures = UserMap{
"alice": {
ID: 5,
UserUID: "uqxetse3cy5eo9z2",
UserSlug: "alice",
Username: "alice",
Email: "alice@example.com",
UserRole: acl.RoleAdmin.String(),
SuperAdmin: true,
DisplayName: "Alice",
CanLogin: true,
CanInvite: true,
InviteToken: rnd.GenerateToken(8),
},
"bob": {
ID: 7,
UserUID: "uqxc08w3d0ej2283",
UserSlug: "bob",
Username: "bob",
Email: "bob@example.com",
UserRole: acl.RoleEditor.String(),
SuperAdmin: false,
DisplayName: "Bob",
CanLogin: true,
CanInvite: false,
},
"friend": {
ID: 8,
UserUID: "uqxqg7i1kperxvu7",
UserSlug: "friend",
Username: "friend",
Email: "friend@example.com",
UserRole: acl.RoleViewer.String(),
SuperAdmin: false,
DisplayName: "Guy Friend",
CanLogin: true,
CanInvite: false,
},
"deleted": {
ID: 10000008,
UserUID: "uqxqg7i1kperxvu8",
UserSlug: "deleted",
Username: "deleted",
Email: "",
DisplayName: "Deleted User",
SuperAdmin: false,
UserRole: acl.RoleGuest.String(),
CanLogin: false,
CanInvite: false,
DeletedAt: &deleteTime,
},
}
// CreateUserFixtures inserts known entities into the database for testing.
func CreateUserFixtures() {
for _, entity := range UserFixtures {
Db().Create(&entity)
}
}