@php $databasePageItems = [ ['label' => 'Configuration', 'route' => 'project.database.configuration', 'active' => request()->routeIs('project.database.configuration')], [ 'label' => 'Backups', 'route' => 'project.database.backup.index', 'active' => request()->routeIs('project.database.backup.*'), 'visible' => $database->isBackupSolutionAvailable(), ], ['label' => 'Logs', 'route' => 'project.database.logs', 'active' => request()->routeIs('project.database.logs')], ['label' => 'Terminal', 'route' => 'project.database.command', 'active' => request()->routeIs('project.database.command'), 'navigate' => false, 'visible' => auth()->user()?->can('canAccessTerminal')], ]; $databaseConfigurationItems = [ ['label' => 'General', 'route' => 'project.database.configuration', 'active' => request()->routeIs('project.database.configuration')], ['label' => 'Environment Variables', 'route' => 'project.database.environment-variables', 'active' => request()->routeIs('project.database.environment-variables')], ['label' => 'Servers', 'route' => 'project.database.servers', 'active' => request()->routeIs('project.database.servers')], ['label' => 'Persistent Storage', 'route' => 'project.database.persistent-storage', 'active' => request()->routeIs('project.database.persistent-storage')], ['label' => 'Import Backup', 'route' => 'project.database.import-backup', 'active' => request()->routeIs('project.database.import-backup'), 'visible' => auth()->user()?->can('update', $database)], ['label' => 'Webhooks', 'route' => 'project.database.webhooks', 'active' => request()->routeIs('project.database.webhooks')], ['label' => 'Healthcheck', 'route' => 'project.database.healthcheck', 'active' => request()->routeIs('project.database.healthcheck')], ['label' => 'Resource Limits', 'route' => 'project.database.resource-limits', 'active' => request()->routeIs('project.database.resource-limits')], ['label' => 'Resource Operations', 'route' => 'project.database.resource-operations', 'active' => request()->routeIs('project.database.resource-operations')], ['label' => 'Metrics', 'route' => 'project.database.metrics', 'active' => request()->routeIs('project.database.metrics')], ['label' => 'Tags', 'route' => 'project.database.tags', 'active' => request()->routeIs('project.database.tags')], ['label' => 'Danger Zone', 'route' => 'project.database.danger', 'active' => request()->routeIs('project.database.danger')], ]; $databasePageItems = array_values(array_filter($databasePageItems, fn (array $item): bool => $item['visible'] ?? true)); $databaseConfigurationItems = array_values(array_filter($databaseConfigurationItems, fn (array $item): bool => $item['visible'] ?? true)); $activeDatabaseConfigurationItem = collect($databaseConfigurationItems)->firstWhere('active', true); $activeDatabasePageItem = collect($databasePageItems)->firstWhere('active', true); $activeDatabaseMobileItem = $activeDatabaseConfigurationItem ?? $activeDatabasePageItem ?? $databasePageItems[0]; $activeDatabaseMobileGroup = $activeDatabaseConfigurationItem ? 'configuration' : 'database'; $activeDatabaseMobileNavigation = ($activeDatabaseMobileItem['navigate'] ?? true) ? 'navigate' : 'location'; $activeDatabaseMobileValue = $activeDatabaseMobileNavigation.'|'.$activeDatabaseMobileGroup.'|'.route($activeDatabaseMobileItem['route'], $parameters); $databaseMobileMenuChangeHandler = <<<'JS' const value = $event.target.value; if (!value) { return; } if (value.startsWith('navigate|')) { const url = value.split('|').slice(2).join('|'); window.Livewire?.navigate ? window.Livewire.navigate(url) : window.location.href = url; return; } if (value.startsWith('location|')) { const url = value.split('|').slice(2).join('|'); window.location.href = url; return; } resetToCurrent(); if (value.startsWith('external:')) { window.open(value.slice(9), '_blank', 'noopener'); return; } document.getElementById(`database-${value.slice(7)}-trigger`)?.click(); JS; @endphp Database Startup
@if ($database->destination->server->isFunctional())
Actions
@if (!str($database->status)->startsWith('exited')) Stop @else @endif
@endif
Configuration @if ($database->isBackupSolutionAvailable()) Backups @endif Logs @can('canAccessTerminal') Terminal @endcan
@if ($database->destination->server->isFunctional())
@if (!str($database->status)->startsWith('exited')) Restart Stop @else Start @endif
@script @endscript
@else
Underlying server is not functional.
@endif
@if ($database->destination->server->isFunctional()) @endif