21 lines
491 B
Go
21 lines
491 B
Go
package models
|
|
|
|
import "time"
|
|
|
|
type Role string
|
|
|
|
const (
|
|
RoleAdmin Role = "admin"
|
|
RoleUser Role = "user"
|
|
)
|
|
|
|
type User struct {
|
|
ID uint `gorm:"primaryKey"`
|
|
Username string `gorm:"uniqueIndex;size:255;not null"`
|
|
Password string `gorm:"not null"`
|
|
Role Role `gorm:"type:varchar(16);not null;default:'user'"`
|
|
Devices []Device `gorm:"many2many:user_devices;joinForeignKey:ID;joinReferences:GUID"`
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
}
|