return $response; }); $app->post('/venues', function ($request, $response, $args) { $parsedBody = $request->getParsedBody(); if ($parsedBody == null) { return err_general_error($response, "Provide a body to create a new venue"); } $venue = new Venue(); $venue->fromArray($parsedBody); if ($venue->validate()) { $venue->save(); } else { return err_general_error($response, "Validation failed"); } /* Response with resulting venue */ $response->getBody()->write($venue->toJSON()); return $response; }); $app->get('/venues/{id}', function ($request, $response, $args) { $id = $request->getAttribute('id'); $venue = VenueQuery::create()->findPK($id); if ($venue == null) { return err_general_error($response, "Venue Id {$id} not found"); } $response->getBody()->write($venue->toJSON()); return $response; }); $app->put('/venues/{id}', function ($request, $response, $args) { $id = $request->getAttribute('id'); $parsedBody = $request->getParsedBody(); if ($parsedBody == null) {