load(); return $app->json(array_values($todos)); } public function get(Application $app, $id) { /** @var \Model $model */ $model = $app['model']; $todos = $model->load(); $todo = $todos[$id] ?? NULL; return $app->json($todo); } public function put(Application $app, Request $request, int $id) { $sub = Request::create('/todos', 'POST', [], [], [], [], $request->getContent()); return $app->handle($sub, HttpKernelInterface::SUB_REQUEST); } public function post(Application $app, Request $request) { /** @var \Model $model */ $model = $app['model']; $data = json_decode($request->getContent(), true); $created = $model->save($data); return new Response('Saved', $created ? Response::HTTP_CREATED : Response::HTTP_OK); } public function delete(Application $app, int $id) { /** @var \Model $model */ $model = $app['model']; $deleted = $model->delete($id); return new Response( $deleted ? 'Deleted' : 'It was not there anyway', Response::HTTP_OK ); } }