/** * Creates a scoreboard in a group * * @param array $groupData * @param type $name * @param type $description * @param type $alias */ public static function createGroupScoreboard(array $groupData, $name = null, $description = null, $alias = null) { if (is_null($name)) { $name = Utils::CreateRandomString(); } if (is_null($description)) { $description = Utils::CreateRandomString(); } if (is_null($alias)) { $alias = Utils::CreateRandomString(); } $request = new Request(array("auth_token" => OmegaupTestCase::login($groupData["owner"]), "group_alias" => $groupData["group"]->alias, "name" => $name, "alias" => $alias, "description" => $description)); $response = GroupController::apiCreateScoreboard($request); $scoreboards = GroupsScoreboardsDAO::search(new GroupsScoreboards(array("alias" => $alias))); return array("request" => $request, "response" => $response, "scoreboard" => $scoreboards[0]); }
/** * Creates a scoreboard in a group * * @param array $groupData * @param type $name * @param type $description * @param type $alias */ public static function createGroupScoreboard(array $groupData, $name = null, $description = null, $alias = null) { if (is_null($name)) { $name = Utils::CreateRandomString(); } if (is_null($description)) { $description = Utils::CreateRandomString(); } if (is_null($alias)) { $alias = Utils::CreateRandomString(); } $request = new Request(array('auth_token' => OmegaupTestCase::login($groupData['owner']), 'group_alias' => $groupData['group']->alias, 'name' => $name, 'alias' => $alias, 'description' => $description)); $response = GroupController::apiCreateScoreboard($request); $scoreboards = GroupsScoreboardsDAO::search(new GroupsScoreboards(array('alias' => $alias))); return array('request' => $request, 'response' => $response, 'scoreboard' => $scoreboards[0]); }
/** * Details of a scoreboard * * @param Request $r */ public static function apiList(Request $r) { GroupController::validateGroup($r); $response = array(); $response["scoreboards"] = array(); try { $key = new GroupsScoreboards(array("group_id" => $r["group"]->group_id)); $scoreboards = GroupsScoreboardsDAO::search($key); foreach ($scoreboards as $scoreboard) { $response["scoreboards"][] = $scoreboard->asArray(); } } catch (Exception $ex) { throw new InvalidDatabaseOperationException($ex); } $response["status"] = "ok"; return $response; }
/** * Test add a scoreboard */ public function testCreateScoreboard() { $groupData = GroupsFactory::createGroup(); $name = Utils::CreateRandomString(); $description = Utils::CreateRandomString(); $alias = Utils::CreateRandomString(); $response = GroupController::apiCreateScoreboard(new Request(array('auth_token' => self::login($groupData['owner']), 'group_alias' => $groupData['group']->alias, 'name' => $name, 'alias' => $alias, 'description' => $description))); $this->assertEquals('ok', $response['status']); $groupScoreboards = GroupsScoreboardsDAO::search(new GroupsScoreboards(array('alias' => $alias))); $groupScoreboard = $groupScoreboards[0]; $this->assertNotNull($groupScoreboard); $this->assertEquals($description, $groupScoreboard->getDescription()); $this->assertEquals($groupData['group']->group_id, $groupScoreboard->getGroupId()); }
/** * Details of a group (users in a group) * * @param Request $r */ public static function apiDetails(Request $r) { self::validateGroupAndOwner($r); $response = array(); $response["group"] = array(); $response["users"] = array(); $response["scoreboards"] = array(); try { $response["group"] = $r["group"]->asArray(); $userGroups = GroupsUsersDAO::search(new GroupsUsers(array("group_id" => $r["group"]->group_id))); foreach ($userGroups as $userGroup) { $r["user"] = UsersDAO::getByPK($userGroup->user_id); $userProfile = UserController::getProfile($r); $response["users"][] = $userProfile; } $scoreboards = GroupsScoreboardsDAO::search(new GroupsScoreboards(array("group_id" => $r["group"]->group_id))); foreach ($scoreboards as $scoreboard) { $response["scoreboards"][] = $scoreboard->asArray(); } } catch (Exception $ex) { throw new InvalidDatabaseOperationException($ex); } $response["status"] = "ok"; return $response; }
/** * Test add a scoreboard */ public function testCreateScoreboard() { $groupData = GroupsFactory::createGroup(); $name = Utils::CreateRandomString(); $description = Utils::CreateRandomString(); $alias = Utils::CreateRandomString(); $response = GroupController::apiCreateScoreboard(new Request(array("auth_token" => self::login($groupData["owner"]), "group_alias" => $groupData["group"]->alias, "name" => $name, "alias" => $alias, "description" => $description))); $this->assertEquals("ok", $response["status"]); $groupScoreboards = GroupsScoreboardsDAO::search(new GroupsScoreboards(array("alias" => $alias))); $groupScoreboard = $groupScoreboards[0]; $this->assertNotNull($groupScoreboard); $this->assertEquals($description, $groupScoreboard->getDescription()); $this->assertEquals($groupData["group"]->group_id, $groupScoreboard->getGroupId()); }
/** * Details of a group (scoreboards) * * @param Request $r */ public static function apiDetails(Request $r) { self::validateGroupAndOwner($r); $response = array(); try { $response['group'] = $r['group']->asArray(); $scoreboards = GroupsScoreboardsDAO::search(new GroupsScoreboards(array('group_id' => $r['group']->group_id))); $response['scoreboards'] = array(); foreach ($scoreboards as $scoreboard) { $response['scoreboards'][] = $scoreboard->asArray(); } } catch (Exception $ex) { throw new InvalidDatabaseOperationException($ex); } $response['status'] = 'ok'; return $response; }