diff --git a/src/Controllers/ApiController.php b/src/Controllers/ApiController.php index 0b5ffca..c6b53dd 100755 --- a/src/Controllers/ApiController.php +++ b/src/Controllers/ApiController.php @@ -178,8 +178,12 @@ class ApiController $id = $serverModel->create($input); if (!empty($permissions)) { - $permModel = new ServerPermission(); - $permModel->save($id, $permissions); + try { + $permModel = new ServerPermission(); + $permModel->save($id, $permissions); + } catch (\Throwable $e) { + // Table may not exist yet + } } $this->view->json([ @@ -238,8 +242,12 @@ class ApiController $serverModel->update($id, $input); if (!empty($permissions)) { - $permModel = new ServerPermission(); - $permModel->save($id, $permissions); + try { + $permModel = new ServerPermission(); + $permModel->save($id, $permissions); + } catch (\Throwable $e) { + // Table may not exist yet + } } $this->view->json([ diff --git a/src/Controllers/ServerController.php b/src/Controllers/ServerController.php index ecfaeb6..eaa027f 100755 --- a/src/Controllers/ServerController.php +++ b/src/Controllers/ServerController.php @@ -163,12 +163,18 @@ class ServerController $id = $this->serverModel->create($data); if (!empty($permissions)) { - $permModel = new ServerPermission(); - $permModel->save($id, $permissions); + try { + $permModel = new ServerPermission(); + $permModel->save($id, $permissions); - $this->auditService->log('server_permissions_set', 'server', $id, [ - 'count' => count($permissions), - ]); + $this->auditService->log('server_permissions_set', 'server', $id, [ + 'count' => count($permissions), + ]); + } catch (\Throwable $e) { + $this->auditService->log('server_permissions_set_failed', 'server', $id, [ + 'error' => $e->getMessage(), + ]); + } } $this->auditService->log('server_created', 'server', $id, [ @@ -215,8 +221,12 @@ class ServerController $groups = $this->serverModel->getGroups(); - $permModel = new ServerPermission(); - $permissions = $permModel->getByServerId($id); + try { + $permModel = new ServerPermission(); + $permissions = $permModel->getByServerId($id); + } catch (\Throwable $e) { + $permissions = []; + } $this->view->display('servers.edit', [ 'title' => 'Edit ' . $server['name'] . ' - ServerManager', @@ -291,12 +301,18 @@ class ServerController $this->serverModel->update($id, $data); - $permModel = new ServerPermission(); - $permModel->save($id, $permissions); + try { + $permModel = new ServerPermission(); + $permModel->save($id, $permissions); - $this->auditService->log('server_permissions_set', 'server', $id, [ - 'count' => count($permissions), - ]); + $this->auditService->log('server_permissions_set', 'server', $id, [ + 'count' => count($permissions), + ]); + } catch (\Throwable $e) { + $this->auditService->log('server_permissions_set_failed', 'server', $id, [ + 'error' => $e->getMessage(), + ]); + } $this->auditService->log('server_updated', 'server', $id, [ 'name' => $data['name'], @@ -316,8 +332,12 @@ class ServerController $latestMetrics = $monitoringService->getLatestMetrics($id); $historicalMetrics = $monitoringService->getHistoricalMetrics($id, 24); - $permModel = new ServerPermission(); - $permissions = $permModel->getByServerId($id); + try { + $permModel = new ServerPermission(); + $permissions = $permModel->getByServerId($id); + } catch (\Throwable $e) { + $permissions = []; + } $this->view->display('servers.show', [ 'title' => $server['name'] . ' - ServerManager',