// disable user func (u *User) Active(c *gin.Context) { if !isGranted(c, "user.active") { c.JSON(403, utils.NewNoAccessPermissionError("")) return } id := paramInt64(c, "id") var user models.User var data models.User if err := c.BindJSON(&data); err != nil { c.JSON(400, utils.NewInvalidJsonError()) return } if err := models.GetById(id, &user); err != nil { c.JSON(400, utils.NewNotFoundError()) return } fmt.Println("is active", data.IsActive) user.IsActive = data.IsActive if err := models.UpdateById(id, &user, "is_active"); err != nil { c.JSON(400, utils.NewError("update database failed - %s", err.Error())) return } c.JSON(200, gin.H{ "success": true, }) }
func (a *Account) Login(c *gin.Context) { var param loginUser err := c.BindJSON(¶m) if err != nil { c.JSON(400, utils.NewInvalidJsonError()) return } if err := param.CheckValid(); err != nil { c.JSON(400, err) return } user := models.GetUserByUserName(param.UserName) if user == nil { c.JSON(400, utils.NewError("user not exist")) return } if !user.IsValidPassword(param.Password) { c.JSON(400, utils.NewError("invalid password")) return } login := models.NewLogin(a.Config.TokenSecret, a.Config.TokenExpiredIn) token, err := login.GetToken(user) if err != nil { c.JSON(400, utils.NewError("gen token failed - %d -%s", user.Id, err.Error())) return } user.Token = token user.ExpiredIn = a.Config.TokenExpiredIn c.JSON(200, user) }