Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
66.67% covered (warning)
66.67%
4 / 6
33.33% covered (danger)
33.33%
1 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
ImportFileModel
66.67% covered (warning)
66.67%
4 / 6
33.33% covered (danger)
33.33%
1 / 3
3.33
0.00% covered (danger)
0.00%
0 / 1
 casts
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
1
 newFactory
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 job
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3declare(strict_types=1);
4
5namespace ImovelZapAi\Importing\Infrastructure\Persistence\Eloquent;
6
7use Database\Factories\ImportFileFactory;
8use Illuminate\Database\Eloquent\Factories\HasFactory;
9use Illuminate\Database\Eloquent\Model;
10use Illuminate\Database\Eloquent\Relations\BelongsTo;
11use ImovelZapAi\Shared\Infrastructure\Persistence\Concerns\BelongsToTenant;
12use ImovelZapAi\Shared\Infrastructure\Persistence\Concerns\HasUuidPrimaryKey;
13
14class ImportFileModel extends Model
15{
16    use BelongsToTenant;
17    use HasFactory;
18    use HasUuidPrimaryKey;
19
20    protected $table = 'import_files';
21
22    protected $fillable = [
23        'tenant_id',
24        'import_job_id',
25        'original_name',
26        'mime_type',
27        'size_bytes',
28        'sha256',
29        'disk',
30        'path',
31        'metadata',
32    ];
33
34    protected function casts(): array
35    {
36        return [
37            'metadata' => 'array',
38            'size_bytes' => 'integer',
39        ];
40    }
41
42    protected static function newFactory(): ImportFileFactory
43    {
44        return ImportFileFactory::new();
45    }
46
47    public function job(): BelongsTo
48    {
49        return $this->belongsTo(ImportJobModel::class, 'import_job_id');
50    }
51}