|
|
@@ -53,18 +53,18 @@ func (us *UserService) InfoByUsernamePassword(username, password string) *model.
|
|
53
|
53
|
}
|
|
54
|
54
|
|
|
55
|
55
|
// InfoByAccesstoken 根据accesstoken取用户信息
|
|
56
|
|
-func (us *UserService) InfoByAccessToken(token string) *model.User {
|
|
|
56
|
+func (us *UserService) InfoByAccessToken(token string) (*model.User, *model.UserToken) {
|
|
57
|
57
|
u := &model.User{}
|
|
58
|
58
|
ut := &model.UserToken{}
|
|
59
|
59
|
global.DB.Where("token = ?", token).First(ut)
|
|
60
|
60
|
if ut.Id == 0 {
|
|
61
|
|
- return u
|
|
|
61
|
+ return u, ut
|
|
62
|
62
|
}
|
|
63
|
63
|
if ut.ExpiredAt < time.Now().Unix() {
|
|
64
|
|
- return u
|
|
|
64
|
+ return u, ut
|
|
65
|
65
|
}
|
|
66
|
66
|
global.DB.Where("id = ?", ut.UserId).First(u)
|
|
67
|
|
- return u
|
|
|
67
|
+ return u, ut
|
|
68
|
68
|
}
|
|
69
|
69
|
|
|
70
|
70
|
// GenerateToken 生成token
|
|
|
@@ -217,8 +217,9 @@ func (us *UserService) Delete(u *model.User) error {
|
|
217
|
217
|
}
|
|
218
|
218
|
tx.Commit()
|
|
219
|
219
|
// 删除关联的peer
|
|
220
|
|
- return AllService.PeerService.EraseUserId(u.Id); err != nil {
|
|
221
|
|
- return errors.New("User deleted successfully, but failed to unlink peer.")
|
|
|
220
|
+ if err := AllService.PeerService.EraseUserId(u.Id); err != nil {
|
|
|
221
|
+ global.Logger.Warn("User deleted successfully, but failed to unlink peer.")
|
|
|
222
|
+ return nil
|
|
222
|
223
|
}
|
|
223
|
224
|
return nil
|
|
224
|
225
|
}
|
|
|
@@ -447,3 +448,13 @@ func (us *UserService) getAdminUserCount() int64 {
|
|
447
|
448
|
global.DB.Model(&model.User{}).Where("is_admin = ?", true).Count(&count)
|
|
448
|
449
|
return count
|
|
449
|
450
|
}
|
|
|
451
|
+
|
|
|
452
|
+func (us *UserService) RefreshAccessToken(ut *model.UserToken) {
|
|
|
453
|
+ ut.ExpiredAt = time.Now().Add(time.Hour * 24 * 7).Unix()
|
|
|
454
|
+ global.DB.Model(ut).Update("expired_at", ut.ExpiredAt)
|
|
|
455
|
+}
|
|
|
456
|
+func (us *UserService) AutoRefreshAccessToken(ut *model.UserToken) {
|
|
|
457
|
+ if ut.ExpiredAt-time.Now().Unix() < 86400 {
|
|
|
458
|
+ us.RefreshAccessToken(ut)
|
|
|
459
|
+ }
|
|
|
460
|
+}
|