Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 5
CRAP
0.00% covered (danger)
0.00%
0 / 1
ExternalFile
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 5
30
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getId
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getFile
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getFileUri
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 refreshFile
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2namespace Apie\IntegrationTests\Apie\TypeDemo\Resources;
3
4use Apie\Core\Attributes\AllowMultipart;
5use Apie\Core\Attributes\FakeCount;
6use Apie\Core\Attributes\RemovalCheck;
7use Apie\Core\Attributes\StaticCheck;
8use Apie\Core\Entities\EntityInterface;
9use Apie\Core\FileStorage\StoredFile;
10use Apie\Core\ValueObjects\FileUri;
11use Apie\Core\ValueObjects\Uri;
12use Apie\IntegrationTests\Apie\TypeDemo\Identifiers\ExternalFileIdentifier;
13use Psr\Http\Message\UploadedFileInterface;
14
15#[RemovalCheck(new StaticCheck())]
16#[FakeCount(0)]
17#[AllowMultipart]
18final class ExternalFile implements EntityInterface
19{
20    private StoredFile $file;
21    private Uri $fileUri;
22
23    public function __construct(
24        private ExternalFileIdentifier $id,
25        FileUri $fileUri
26    ) {
27        $this->file = StoredFile::createFromUploadedFile($fileUri);
28        $this->fileUri = new Uri($fileUri->toNative());
29    }
30
31    public function getId(): ExternalFileIdentifier
32    {
33        return $this->id;
34    }
35
36    public function getFile(): UploadedFileInterface
37    {
38        return $this->file;
39    }
40
41    public function getFileUri(): Uri
42    {
43        return $this->fileUri;
44    }
45
46    public function refreshFile(): void
47    {
48        $this->file = StoredFile::createFromUploadedFile(new FileUri($this->fileUri));
49    }
50}