mirror of https://github.com/Xhofe/alist
feat: cancel 2fa api
parent
d01958a6bf
commit
2b5da3ef34
|
@ -85,6 +85,19 @@ func UpdateUser(u *model.User) error {
|
||||||
return errors.WithStack(db.Save(u).Error)
|
return errors.WithStack(db.Save(u).Error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Cancel2FAByUser(u *model.User) error {
|
||||||
|
u.OtpSecret = ""
|
||||||
|
return errors.WithStack(UpdateUser(u))
|
||||||
|
}
|
||||||
|
|
||||||
|
func Cancel2FAById(id uint) error {
|
||||||
|
user, err := GetUserById(id)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return Cancel2FAByUser(user)
|
||||||
|
}
|
||||||
|
|
||||||
func GetUsers(pageIndex, pageSize int) ([]model.User, int64, error) {
|
func GetUsers(pageIndex, pageSize int) ([]model.User, int64, error) {
|
||||||
userDB := db.Model(&model.User{})
|
userDB := db.Model(&model.User{})
|
||||||
var count int64
|
var count int64
|
||||||
|
|
|
@ -64,6 +64,9 @@ func UpdateUser(c *gin.Context) {
|
||||||
if req.Password == "" {
|
if req.Password == "" {
|
||||||
req.Password = user.Password
|
req.Password = user.Password
|
||||||
}
|
}
|
||||||
|
if req.OtpSecret == "" {
|
||||||
|
req.OtpSecret = user.OtpSecret
|
||||||
|
}
|
||||||
if err := db.UpdateUser(&req); err != nil {
|
if err := db.UpdateUser(&req); err != nil {
|
||||||
common.ErrorResp(c, err, 500)
|
common.ErrorResp(c, err, 500)
|
||||||
} else {
|
} else {
|
||||||
|
@ -99,3 +102,17 @@ func GetUser(c *gin.Context) {
|
||||||
}
|
}
|
||||||
common.SuccessResp(c, user)
|
common.SuccessResp(c, user)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Cancel2FAById(c *gin.Context) {
|
||||||
|
idStr := c.Query("id")
|
||||||
|
id, err := strconv.Atoi(idStr)
|
||||||
|
if err != nil {
|
||||||
|
common.ErrorResp(c, err, 400)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := db.Cancel2FAById(uint(id)); err != nil {
|
||||||
|
common.ErrorResp(c, err, 500)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
common.SuccessResp(c)
|
||||||
|
}
|
||||||
|
|
|
@ -52,6 +52,7 @@ func admin(g *gin.RouterGroup) {
|
||||||
user.GET("/get", handles.GetUser)
|
user.GET("/get", handles.GetUser)
|
||||||
user.POST("/create", handles.CreateUser)
|
user.POST("/create", handles.CreateUser)
|
||||||
user.POST("/update", handles.UpdateUser)
|
user.POST("/update", handles.UpdateUser)
|
||||||
|
user.POST("/cancel_2fa", handles.Cancel2FAById)
|
||||||
user.POST("/delete", handles.DeleteUser)
|
user.POST("/delete", handles.DeleteUser)
|
||||||
|
|
||||||
storage := g.Group("/storage")
|
storage := g.Group("/storage")
|
||||||
|
|
Loading…
Reference in New Issue