Files
investbrain/app/Models/BackupImport.php
T

52 lines
1.1 KiB
PHP
Raw Normal View History

2024-10-24 14:48:24 -05:00
<?php
namespace App\Models;
use App\Jobs\BackupImportJob;
use Illuminate\Database\Eloquent\Concerns\HasUuids;
2025-01-28 17:14:49 -06:00
use Illuminate\Database\Eloquent\Model;
2024-10-24 14:48:24 -05:00
class BackupImport extends Model
{
use HasUuids;
protected $table = 'backup_import_jobs';
protected $fillable = [
'user_id',
'path',
'status', // pending, in_progress, success, failed
'message', // Import starting, Import is in progress, Importing portfolios, Importing transactions, Importing daily changes, Import completed successfully
'has_errors',
2025-01-28 17:14:49 -06:00
'completed_at',
2024-10-24 14:48:24 -05:00
];
protected static function boot()
{
parent::boot();
static::creating(function ($import) {
$import->status = 'pending';
$import->message = __('Import starting...');
});
2025-01-28 17:14:49 -06:00
2024-10-24 14:48:24 -05:00
static::created(function ($import) {
2025-01-28 17:14:49 -06:00
2024-10-24 14:48:24 -05:00
BackupImportJob::dispatch($import);
});
}
protected $hidden = [];
protected $appends = [];
protected function casts(): array
{
return [
2024-10-24 14:49:29 -05:00
'has_errors' => 'boolean',
2025-01-28 17:14:49 -06:00
'completed_at' => 'datetime',
2024-10-24 14:48:24 -05:00
];
}
}