Merge pull request 'fix: handle missing server_permissions table gracefully' (#57) from feat/dashboard-aggregated-chart into master

Reviewed-on: #57
This commit was merged in pull request #57.
This commit is contained in:
2026-06-13 11:23:12 -04:00
2 changed files with 46 additions and 18 deletions

View File

@@ -178,8 +178,12 @@ class ApiController
$id = $serverModel->create($input);
if (!empty($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)) {
try {
$permModel = new ServerPermission();
$permModel->save($id, $permissions);
} catch (\Throwable $e) {
// Table may not exist yet
}
}
$this->view->json([

View File

@@ -163,12 +163,18 @@ class ServerController
$id = $this->serverModel->create($data);
if (!empty($permissions)) {
try {
$permModel = new ServerPermission();
$permModel->save($id, $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();
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);
try {
$permModel = new ServerPermission();
$permModel->save($id, $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);
try {
$permModel = new ServerPermission();
$permissions = $permModel->getByServerId($id);
} catch (\Throwable $e) {
$permissions = [];
}
$this->view->display('servers.show', [
'title' => $server['name'] . ' - ServerManager',