next-terminal/server/model/user.go
2022-10-23 20:05:13 +08:00

39 lines
1.4 KiB
Go

package model
import (
"next-terminal/server/common"
)
type User struct {
ID string `gorm:"primary_key,type:varchar(36)" json:"id"`
Username string `gorm:"index,type:varchar(200)" json:"username"`
Password string `gorm:"type:varchar(500)" json:"password"`
Nickname string `gorm:"type:varchar(500)" json:"nickname"`
TOTPSecret string `json:"-"`
Online *bool `json:"online"`
Status string `gorm:"type:varchar(10)" json:"status"`
Created common.JsonTime `json:"created"`
Type string `gorm:"type:varchar(20)" json:"type"`
Mail string `gorm:"type:varchar(500)" json:"mail"`
Source string `gorm:"type:varchar(20)" json:"source"`
Roles []string `gorm:"-" json:"roles"`
}
type UserForPage struct {
ID string `json:"id"`
Username string `json:"username"`
Nickname string `json:"nickname"`
TOTPSecret string `json:"totpSecret"`
Mail string `json:"mail"`
Online bool `json:"online"`
Status string `json:"status"`
Created common.JsonTime `json:"created"`
Type string `json:"type"`
Source string `json:"source"`
SharerAssetCount int64 `json:"sharerAssetCount"`
}
func (r *User) TableName() string {
return "users"
}