Passed
Push — master ( e1e86f...c6853e )
by Curtis
05:23 queued 11s
created

CreateDB::handle()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 2
c 1
b 0
f 0
dl 0
loc 6
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
namespace App\Jobs\Tenant;
4
5
use Illuminate\Bus\Queueable;
6
use Illuminate\Contracts\Queue\ShouldQueue;
7
use Illuminate\Foundation\Bus\Dispatchable;
8
use Illuminate\Queue\InteractsWithQueue;
9
use Illuminate\Queue\SerializesModels;
10
use Illuminate\Support\Facades\DB;
11
use LaravelEnso\Companies\App\Models\Company;
12
use LaravelEnso\Multitenancy\App\Services\Tenant;
13
use LaravelEnso\Multitenancy\App\Traits\TenantResolver;
14
15
class CreateDB implements ShouldQueue
16
{
17
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels, TenantResolver;
0 ignored issues
show
introduced by
The trait Illuminate\Queue\SerializesModels requires some properties which are not provided by App\Jobs\Tenant\CreateDB: $id, $relations, $class, $keyBy
Loading history...
18
    private $tenant;
19
20
    /**
21
     * Create a new job instance.
22
     *
23
     * @return void
24
     */
25
    public function __construct(Company $tenant)
26
    {
27
        //
28
        $this->tenant = $tenant;
29
    }
30
31
    /**
32
     * Execute the job.
33
     *
34
     * @return void
35
     */
36
    public function handle()
37
    {
38
        //
39
        Tenant::set($this->tenant);
40
41
        DB::statement('CREATE DATABASE '.$this->tenantDatabase());
42
    }
43
}
44