feat: token and reset

This commit is contained in:
Noah Hsu
2022-06-28 14:18:10 +08:00
parent 7903ed1f52
commit 5dbf5db4ff
7 changed files with 89 additions and 25 deletions

View File

@ -12,12 +12,17 @@ import (
var userCache = cache.NewMemCache(cache.WithShards[*model.User](2))
var userG singleflight.Group[*model.User]
var guest *model.User
var admin *model.User
func GetAdmin() (*model.User, error) {
if admin != nil {
return admin, nil
}
user := model.User{Role: model.ADMIN}
if err := db.Where(user).Take(&user).Error; err != nil {
return nil, err
}
admin = &user
return &user, nil
}
@ -73,6 +78,9 @@ func UpdateUser(u *model.User) error {
if u.IsGuest() {
guest = nil
}
if u.IsAdmin() {
admin = nil
}
return errors.WithStack(db.Save(u).Error)
}