2025-04-30 15:46:14 +08:00
|
|
|
package model
|
|
|
|
|
|
|
|
import (
|
|
|
|
"admin/internal/db"
|
|
|
|
"admin/internal/errcode"
|
|
|
|
"admin/internal/global"
|
|
|
|
"errors"
|
|
|
|
"gorm.io/gorm"
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
db.RegisterTableModels(Token{})
|
|
|
|
}
|
|
|
|
|
|
|
|
// Token token
|
|
|
|
type Token struct {
|
|
|
|
ID int `gorm:"primarykey" readonly:"true"`
|
|
|
|
Token string `gorm:"type:varchar(256);unique" required:"true"`
|
2025-05-14 18:09:20 +08:00
|
|
|
UserId int `gorm:"type:int(20);unique" name:"用户id" readonly:"true"`
|
2025-04-30 15:46:14 +08:00
|
|
|
ExpireAt time.Time `name:"到期时间" readonly:"true"`
|
|
|
|
CreatedAt time.Time `readonly:"true"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (m *Token) TableName() string {
|
|
|
|
return "token"
|
|
|
|
}
|
|
|
|
|
|
|
|
func (m *Token) GetId() int {
|
|
|
|
return m.ID
|
|
|
|
}
|
|
|
|
|
|
|
|
func (m *Token) GetByUserId(userId int) error {
|
|
|
|
err := global.GLOB_DB.Where("user_id=?", userId).First(m).Error
|
|
|
|
if err != nil {
|
|
|
|
if errors.Is(err, gorm.ErrRecordNotFound) {
|
|
|
|
return errcode.New(errcode.TokenInvalid, "user %v not found token", userId)
|
|
|
|
}
|
|
|
|
return errcode.New(errcode.TokenInvalid, "user %v found token error:%v", userId, err)
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|