Test Failed
Push — master ( 276ee0...707900 )
by Pavel
06:09
created

CreateBackupJob::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 1
nc 1
nop 1
dl 0
loc 3
c 1
b 0
f 0
cc 1
rs 10
1
<?php
2
3
namespace PavelMironchik\LaravelBackupPanel\Jobs;
4
5
use Illuminate\Bus\Queueable;
6
use Illuminate\Queue\InteractsWithQueue;
7
use Illuminate\Contracts\Queue\ShouldQueue;
8
use Illuminate\Foundation\Bus\Dispatchable;
9
use Spatie\Backup\Tasks\Backup\BackupJobFactory;
10
11
class CreateBackupJob implements ShouldQueue
12
{
13
    use Dispatchable, InteractsWithQueue, Queueable;
14
15
    protected $option;
16
17
    public function __construct($option = '')
18
    {
19
        $this->option = $option;
20
    }
21
22
    public function handle()
23
    {
24
        $backupJob = BackupJobFactory::createFromArray(config('backup'));
25
26
        if ($this->option === 'only-db') {
27
            $backupJob->dontBackupFilesystem();
28
        }
29
30
        if ($this->option === 'only-files') {
31
            $backupJob->dontBackupDatabases();
32
        }
33
34
        if (! empty($this->option)) {
35
            $prefix = str_replace('_', '-', $this->option).'-';
36
37
            $backupJob->setFilename($prefix.date('Y-m-d-H-i-s').'.zip');
38
        }
39
40
        $backupJob->run();
41
    }
42
}
43