}); $app->get('/shift/{id}', function ($request, $response, $args) { $api = new App\Api\ShiftApi(); $response->setContent(json_encode($api->get($args['id']))); return $response; }); $app->get('/weekly-summary', function ($request, $response) use($app) { $api = new App\Api\ShiftApi(); $response->setContent(json_encode($api->getWeeklySummary($app->user->getId()))); return $response; }); $app->post('/shift', function ($request, $response) use($app) { $api = new App\Api\ShiftApi(); $response->setContent(json_encode($api->save(['manager_id' => $app->user->getId(), 'employee_id' => $request->get('employee_id'), 'break' => $request->get('break'), 'start_time' => new DateTime($request->get('start_time')), 'end_time' => new DateTime($request->get('end_time')), 'created_at' => new DateTime()]))); return $response; }); $app->put('/shift', function ($request, $response) use($app) { $api = new App\Api\ShiftApi(); $response->setContent(json_encode($api->save(['id' => $request->get('id'), 'manager_id' => $request->get('manager_id'), 'employee_id' => $request->get('employee_id'), 'break' => $request->get('break'), 'start_time' => new DateTime($request->get('start_time')), 'end_time' => new DateTime($request->get('end_time'))]))); return $response; }); // Main routes. $app->get('/', function ($request, $response) { $response->setContent(file_get_contents('view/index.html')); return $response; }); // Middleware $stack = (new Stack\Builder())->push('App\\Middleware\\Auth'); // Resolve and run. $app = $stack->resolve($app); Stack\Run($app);