2024-11-07 19:07:41 +00:00
|
|
|
package models
|
|
|
|
|
|
|
|
const (
|
|
|
|
UserRoleUser = "user"
|
|
|
|
UserRoleAdmin = "admin"
|
|
|
|
)
|
|
|
|
|
|
|
|
type User struct {
|
2024-11-09 10:33:07 +00:00
|
|
|
Model
|
2024-11-07 19:07:41 +00:00
|
|
|
|
|
|
|
Name string `json:"name"`
|
|
|
|
Username string `json:"username" gorm:"unique"`
|
|
|
|
Password string `json:"-"`
|
|
|
|
Email string `json:"email" gorm:"unique"`
|
|
|
|
Role string `json:"role" gorm:"default:user;not null;index:users_role_idx;type:varchar(8)"`
|
|
|
|
|
2024-11-12 19:15:13 +07:00
|
|
|
Teams []*Team `json:"teams" gorm:"many2many:team_members"`
|
|
|
|
|
2024-11-07 19:07:41 +00:00
|
|
|
Timestamps
|
|
|
|
SoftDeletes
|
|
|
|
}
|
|
|
|
|
|
|
|
type UserSession struct {
|
|
|
|
ID string `json:"id" gorm:"primarykey;type:varchar(40)"`
|
|
|
|
UserID string `json:"userId" gorm:"type:varchar(26)"`
|
|
|
|
User User `json:"user"`
|
|
|
|
|
|
|
|
Timestamps
|
|
|
|
SoftDeletes
|
|
|
|
}
|