示例#1
0
文件: user.go 项目: VincentYu/server
// 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,
	})

}
示例#2
0
func (a *Account) Login(c *gin.Context) {
	var param loginUser
	err := c.BindJSON(&param)
	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)

}