/** * 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()); }
/** * Create a scoreboard set to a group * * @param Request $r */ public static function apiCreateScoreboard(Request $r) { self::validateGroup($r); Validators::isValidAlias($r["alias"], "alias", true); Validators::isStringNonEmpty($r["name"], "name", true); Validators::isStringNonEmpty($r["description"], "description", false); try { $groupScoreboard = new GroupsScoreboards(array("group_id" => $r["group"]->group_id, "name" => $r["name"], "description" => $r["description"], "alias" => $r["alias"], "create_time" => gmdate('Y-m-d H:i:s', time()))); GroupsScoreboardsDAO::save($groupScoreboard); self::$log->info("New scoreboard created " . $r["alias"]); } catch (Exception $ex) { throw new InvalidDatabaseOperationException($ex); } return array("status" => "ok"); }
/** * 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()); }
/** * Create a scoreboard set to a group * * @param Request $r */ public static function apiCreateScoreboard(Request $r) { self::validateGroup($r); Validators::isValidAlias($r['alias'], 'alias', true); Validators::isStringNonEmpty($r['name'], 'name', true); Validators::isStringNonEmpty($r['description'], 'description', false); try { $groupScoreboard = new GroupsScoreboards(array('group_id' => $r['group']->group_id, 'name' => $r['name'], 'description' => $r['description'], 'alias' => $r['alias'], 'create_time' => gmdate('Y-m-d H:i:s', time()))); GroupsScoreboardsDAO::save($groupScoreboard); self::$log->info('New scoreboard created ' . $r['alias']); } catch (Exception $ex) { throw new InvalidDatabaseOperationException($ex); } return array('status' => 'ok'); }