2025-06-06 18:30:12 +08:00

44 lines
1005 B
Go

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);index" required:"true"`
UserId int `gorm:"type:int(20);uniqueIndex:user" name:"用户id" readonly:"true"`
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
}