func (this *RoleController) GetOne() { idStr := this.Ctx.Input.Params[":id"] id, err := strconv.ParseInt(idStr, 0, 64) if err != nil { beego.Debug("ParseRoleId:", err) this.RetError(errInputData) return } role := models.Role{} if code, err := role.FindById(id); err != nil { beego.Error("FindRoleById:", err) if code == models.ErrNotFound { this.RetError(errNoUser) } else { this.RetError(errDatabase) } return } beego.Debug("RoleInfo:", &role) role.ClearPass() this.Data["json"] = &models.RoleGetOneInfo{RoleInfo: &role} this.ServeJson() }
func (this *RoleController) Put() { token, e := this.ParseToken() if e != nil { this.RetError(e) return } idStr := this.Ctx.Input.Params[":id"] if token.Claims["id"] != idStr && token.Claims["id"] != "1" { this.RetError(errPermission) return } id, err := strconv.ParseInt(idStr, 0, 64) if err != nil { beego.Debug("ParseRoleId:", err) this.RetError(errInputData) return } form := models.RolePutForm{} err = json.Unmarshal(this.Ctx.Input.RequestBody, &form) if err != nil { beego.Debug("ParseRolePut:", err) this.RetError(errInputData) return } beego.Debug("ParseRolePut:", &form) role := models.Role{} if code, err := role.UpdateById(id, &form); err != nil { beego.Error("UpdateRoleById:", err) this.RetError(errDatabase) return } else if code == models.ErrNotFound { this.RetError(errNoUserChange) return } if code, err := role.FindById(id); err != nil { beego.Error("FindRoleById:", err) if code == models.ErrNotFound { this.RetError(errNoUser) } else { this.RetError(errDatabase) } return } beego.Debug("NewRoleInfo:", &role) role.ClearPass() this.Data["json"] = &models.RolePutInfo{RoleInfo: &role} this.ServeJson() }