fix: handle missing server_permissions table gracefully #57
@@ -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([
|
||||
|
||||
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user