diff --git a/app/Http/Controllers/DatabaseController.php b/app/Http/Controllers/DatabaseController.php index 4c02c8bc2..bddc7ffe6 100644 --- a/app/Http/Controllers/DatabaseController.php +++ b/app/Http/Controllers/DatabaseController.php @@ -26,7 +26,7 @@ class DatabaseController extends Controller return view('project.database.configuration', ['database' => $database]); } - public function backup_logs() + public function executions() { $backup_uuid = request()->route('backup_uuid'); $project = session('currentTeam')->load(['projects'])->projects->where('uuid', request()->route('project_uuid'))->first(); @@ -45,8 +45,8 @@ class DatabaseController extends Controller if (!$backup) { return redirect()->route('dashboard'); } - $backup_executions = collect($backup->executions)->sortByDesc('created_at'); - return view('project.database.backups.logs', ['database' => $database, 'backup' => $backup, 'backup_executions' => $backup_executions]); + $executions = collect($backup->executions)->sortByDesc('created_at'); + return view('project.database.backups.executions', ['database' => $database, 'backup' => $backup, 'executions' => $executions]); } public function backups() diff --git a/app/Http/Livewire/Project/Database/BackupExecutions.php b/app/Http/Livewire/Project/Database/BackupExecutions.php index a4d034ab9..93da317f7 100644 --- a/app/Http/Livewire/Project/Database/BackupExecutions.php +++ b/app/Http/Livewire/Project/Database/BackupExecutions.php @@ -12,6 +12,6 @@ class BackupExecutions extends Component public function refreshBackupExecutions(): void { - $this->executions = collect($this->backup->executions)->sortByDesc('created_at'); + $this->executions = $this->backup->executions; } } diff --git a/app/Jobs/DatabaseBackupJob.php b/app/Jobs/DatabaseBackupJob.php index c2c443d36..644b5978c 100644 --- a/app/Jobs/DatabaseBackupJob.php +++ b/app/Jobs/DatabaseBackupJob.php @@ -105,7 +105,7 @@ class DatabaseBackupJob implements ShouldQueue $this->backup_status = 'failed'; $this->add_to_backup_output($th->getMessage()); ray('Backup failed for ' . $this->database->uuid . ' at ' . $this->server->name . ':' . $this->backup_filename . '\n\nError:' . $th->getMessage()); - $this->team->notify(new BackupFailed($this->backup, $this->database)); + $this->team->notify(new BackupFailed($this->backup, $this->database, $this->backup_output)); } finally { $this->backup_log->update([ 'status' => $this->backup_status, diff --git a/app/Notifications/Database/BackupFailed.php b/app/Notifications/Database/BackupFailed.php index 839ec0da9..b47f03291 100644 --- a/app/Notifications/Database/BackupFailed.php +++ b/app/Notifications/Database/BackupFailed.php @@ -17,9 +17,9 @@ class BackupFailed extends Notification implements ShouldQueue public string $message = 'Backup FAILED'; - public function __construct(ScheduledDatabaseBackup $backup, public $database) + public function __construct(ScheduledDatabaseBackup $backup, public $database, public $output) { - $this->message = "❌ Database backup for {$database->name} with frequency of $backup->frequency was FAILED."; + $this->message = "❌ Database backup for {$database->name} with frequency of $backup->frequency was FAILED.\n\nReason: $output"; } public function via(object $notifiable): array diff --git a/resources/views/livewire/project/database/backup-executions.blade.php b/resources/views/livewire/project/database/backup-executions.blade.php index 1342b3997..0b7c09397 100644 --- a/resources/views/livewire/project/database/backup-executions.blade.php +++ b/resources/views/livewire/project/database/backup-executions.blade.php @@ -1,10 +1,11 @@ -
+
@forelse($executions as $execution)
data_get($execution,'status') === 'success', 'border-red-500' => data_get($execution,'status') === 'failed', ])> +
Started At: {{data_get($execution,'created_at')}}
Status: {{data_get($execution,'status')}}
@if(data_get($execution,'message'))
Message: {{data_get($execution,'message')}}
@@ -18,5 +19,4 @@ @empty
No executions found.
@endforelse -
diff --git a/resources/views/project/database/backups/logs.blade.php b/resources/views/project/database/backups/executions.blade.php similarity index 94% rename from resources/views/project/database/backups/logs.blade.php rename to resources/views/project/database/backups/executions.blade.php index 9f49f8049..78f1178c8 100644 --- a/resources/views/project/database/backups/logs.blade.php +++ b/resources/views/project/database/backups/executions.blade.php @@ -14,6 +14,6 @@

Executions

- +
diff --git a/routes/web.php b/routes/web.php index 3fc2e3450..cf5651250 100644 --- a/routes/web.php +++ b/routes/web.php @@ -64,7 +64,7 @@ Route::middleware(['auth'])->group(function () { // Databases Route::get('/project/{project_uuid}/{environment_name}/database/{database_uuid}', [DatabaseController::class, 'configuration'])->name('project.database.configuration'); Route::get('/project/{project_uuid}/{environment_name}/database/{database_uuid}/backups', [DatabaseController::class, 'backups'])->name('project.database.backups.all'); - Route::get('/project/{project_uuid}/{environment_name}/database/{database_uuid}/backups/{backup_uuid}', [DatabaseController::class, 'backup_logs'])->name('project.database.backups.logs'); + Route::get('/project/{project_uuid}/{environment_name}/database/{database_uuid}/backups/{backup_uuid}', [DatabaseController::class, 'executions'])->name('project.database.backups.executions'); }); Route::middleware(['auth'])->group(function () {