$app->get('/', function (Request $request, Response $response) use($app) { return $this->renderer->render($response, "/layout.html"); }); $app->get('/devices', function (Request $request, Response $response) use($app, $device) { $result = ['status' => 'error', 'message' => 'Runtime Error']; try { $result = ['status' => 'success', 'data' => $result = $device->fetchAll()]; } catch (\Exception $ex) { $result['message'] = $ex->getMessage(); } return new JsonModel($result); }); $app->get('/devices/{deviceId}', function (Request $request, Response $response) use($device) { $result = ['status' => 'error', 'message' => 'Runtime Error']; try { $deviceData = $device->fetchById($request->getAttribute('deviceId')); $result = ['status' => 'success', 'data' => $deviceData]; } catch (\Exception $ex) { $result['message'] = $ex->getMessage(); } return new JsonModel($result); }); $app->put('/devices/{deviceId}', function (Request $request, Response $response) use($device) { $result = ['status' => 'error', 'message' => 'Runtime Error']; try { $data = $request->getParsedBody(); if (is_array($data)) { if (isset($data['port']) && isset($data['status'])) { $result = ['status' => 'success']; $device->updateByPortId($request->getAttribute('deviceId'), $data['port'], $data['status']); } else {