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"` UserId int `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 }