token.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package model
  2. import (
  3. _ "gorm.io/driver/sqlite"
  4. )
  5. type Token struct {
  6. Id int `json:"id"`
  7. UserId int `json:"user_id"`
  8. Key string `json:"key"`
  9. Status int `json:"status" gorm:"default:1"`
  10. Name string `json:"name" gorm:"unique;index"`
  11. CreatedTime int64 `json:"created_time" gorm:"bigint"`
  12. AccessedTime int64 `json:"accessed_time" gorm:"bigint"`
  13. }
  14. func GetAllUserTokens(userId int, startIdx int, num int) ([]*Token, error) {
  15. var tokens []*Token
  16. var err error
  17. err = DB.Where("userId = ?", userId).Order("id desc").Limit(num).Offset(startIdx).Omit("key").Find(&tokens).Error
  18. return tokens, err
  19. }
  20. func SearchUserTokens(userId int, keyword string) (tokens []*Token, err error) {
  21. err = DB.Where("userId = ?", userId).Omit("key").Where("id = ? or name LIKE ?", keyword, keyword+"%").Find(&tokens).Error
  22. return tokens, err
  23. }
  24. func GetTokenById(id int) (*Token, error) {
  25. token := Token{Id: id}
  26. var err error = nil
  27. err = DB.Omit("key").Select([]string{"id", "type"}).First(&token, "id = ?", id).Error
  28. return &token, err
  29. }
  30. func (token *Token) Insert() error {
  31. var err error
  32. err = DB.Create(token).Error
  33. return err
  34. }
  35. func (token *Token) Update() error {
  36. var err error
  37. err = DB.Model(token).Updates(token).Error
  38. return err
  39. }
  40. func (token *Token) Delete() error {
  41. var err error
  42. err = DB.Delete(token).Error
  43. return err
  44. }