/** * @param $matchId * @return MatchResult */ private static function getSimpleResult($matchId) { return MatchResult::teams()->where(['id' => $matchId])->first(); }
$api->get('/leagues', function ($request, $response, $args) { return Responder::getJsonResponse(League::all(), $response); }); $api->get('/leagues/{id}', function ($request, $response, $args) { return Responder::getJsonResponse(League::with('rounds')->where(['id' => $args['id']])->first(), $response); }); $api->get('/leagues/{id}/rounds/{roundId}', function ($request, $response, $args) { return Responder::getJsonResponse(LeagueRound::complete()->where(['id' => $args['roundId']])->first(), $response); }); $api->put('/leagues/{id}/rounds/{roundId}/simulate', function ($request, $response, $args) { return Responder::getJsonResponse(MatchSimulator::simulateRound($args['roundId']), $response); }); $api->get('/matches', function ($request, $response, $args) { return Responder::getJsonResponse(Match::teams()->get(), $response); }); $api->post('/matches', function ($request, $response, $args) { $json = $request->getBody(); $json = json_decode($json, true); return Responder::getJsonResponse(Match::create($json), $response); }); $api->get('/matches/{id}', function ($request, $response, $args) { return Responder::getJsonResponse(Match::complete()->where(['id' => $args['id']])->first(), $response); }); $api->get('/matches/{id}/result', function ($request, $response, $args) { $result = MatchResult::complete()->where(['id' => $args['id']])->first(); return Responder::getJsonResponse($result, $response); }); $api->put('/matches/{id}/simulate', function ($request, $response, $args) { return Responder::getJsonResponse(MatchSimulator::simulateCompleteResult($args['id']), $response); }); $api->run();