feat: cancel 2fa api

pull/1604/head
Noah Hsu 2022-08-07 11:59:33 +08:00
parent d01958a6bf
commit 2b5da3ef34
3 changed files with 31 additions and 0 deletions

View File

@ -85,6 +85,19 @@ func UpdateUser(u *model.User) 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) {
userDB := db.Model(&model.User{})
var count int64

View File

@ -64,6 +64,9 @@ func UpdateUser(c *gin.Context) {
if req.Password == "" {
req.Password = user.Password
}
if req.OtpSecret == "" {
req.OtpSecret = user.OtpSecret
}
if err := db.UpdateUser(&req); err != nil {
common.ErrorResp(c, err, 500)
} else {
@ -99,3 +102,17 @@ func GetUser(c *gin.Context) {
}
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)
}

View File

@ -52,6 +52,7 @@ func admin(g *gin.RouterGroup) {
user.GET("/get", handles.GetUser)
user.POST("/create", handles.CreateUser)
user.POST("/update", handles.UpdateUser)
user.POST("/cancel_2fa", handles.Cancel2FAById)
user.POST("/delete", handles.DeleteUser)
storage := g.Group("/storage")