static function addRole($app) { // Validate parameters if (!v::key('role', v::stringType())->validate($app->request->post()) || !v::key('desc', v::stringType())->validate($app->request->post())) { // Validate input parameters return $app->render(400, array('msg' => 'Add role failed. Check your parameters and try again.')); } // Verify a unique slug $slug = self::makeSlug($app->request->post('role')); $existing = RoleData::selectRoleBySlug($slug); if ($existing) { return $app->render(400, array('msg' => 'Could not add role. A role with that name already exists.', 'role' => $existing)); } // Add the verifed role $roleId = RoleData::insertRole(array(":role" => $app->request->post('role'), ":slug" => self::makeSlug($app->request->post('role')), ":desc" => $app->request->post('desc'), ":created_user_id" => APIAuth::getUserId(), ":last_updated_by" => APIAuth::getUserId())); // Return success if ($roleId) { GroupData::addNewRoleToAdminGroup($roleId); $role = RoleData::getRole($roleId); return $app->render(200, array('role' => $role)); } else { return $app->render(400, array('msg' => 'Could not add new role.')); } }
static function assignRole($app) { if (!v::key('groupId', v::stringType())->validate($app->request->post()) || !v::key('roleId', v::stringType())->validate($app->request->post())) { return $app->render(400, array('msg' => 'Could not assign role from group. Check your parameters and try again.')); } $data = array(':auth_group_id' => $app->request->post('groupId'), ':auth_role_id' => $app->request->post('roleId'), ":created_user_id" => APIAuth::getUserId()); if (GroupData::insertRoleAssignment($data)) { return $app->render(200, array('msg' => 'Role has been assigned from group.')); } else { return $app->render(400, array('msg' => 'Could not assign role to group.')); } }