/
dimamir
/
coolify
Обзор
Документация
Войти
/
dimamir
/
coolify
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
app/Models/ScheduledDatabaseBackup.php
56 строк
1 KB
Andras Bacsai
pint
17 окт 2024, 23:08
17 окт 2024, 23:08
b75c2dc
Код
Авторство
О чём код?
<?php namespace App\Models; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasOne; use Illuminate\Database\Eloquent\Relations\MorphTo; class ScheduledDatabaseBackup extends BaseModel { protected $guarded = []; public function database(): MorphTo { return $this->morphTo(); } public function latest_log(): HasOne { return $this->hasOne(ScheduledDatabaseBackupExecution::class)->latest(); } public function executions(): HasMany { // Last execution first return $this->hasMany(ScheduledDatabaseBackupExecution::class)->orderBy('created_at', 'desc'); } public function s3() { return $this->belongsTo(S3Storage::class, 's3_storage_id'); } public function get_last_days_backup_status($days = 7) { return $this->hasMany(ScheduledDatabaseBackupExecution::class)->where('created_at', '>=', now()->subDays($days))->get(); } public function server() { if ($this->database) { if ($this->database instanceof ServiceDatabase) { $destination = data_get($this->database->service, 'destination'); $server = data_get($destination, 'server'); } else { $destination = data_get($this->database, 'destination'); $server = data_get($destination, 'server'); } if ($server) { return $server; } } return null; } }