GetRemoteFile   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 15
dl 0
loc 45
rs 10
c 0
b 0
f 0
wmc 5

5 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A getFileType() 0 3 1
A typeSerialize() 0 6 1
A getRemoteFileId() 0 3 1
A fromArray() 0 5 1
1
<?php
2
3
/**
4
 * This phpFile is auto-generated.
5
 */
6
7
declare(strict_types=1);
8
9
namespace PHPTdGram\Schema;
10
11
/**
12
 * Returns information about a file by its remote ID; this is an offline request. Can be used to register a URL as a file for further uploading, or sending as a message. Even the request succeeds, the file can be used only if it is still accessible to the user. For example, if the file is from a message, then the message must be not deleted and accessible to the user. If the file database is disabled, then the corresponding object with the file must be preloaded by the client.
13
 */
14
class GetRemoteFile extends TdFunction
15
{
16
    public const TYPE_NAME = 'getRemoteFile';
17
18
    /**
19
     * Remote identifier of the file to get.
20
     */
21
    protected string $remoteFileId;
22
23
    /**
24
     * File type, if known.
25
     */
26
    protected FileType $fileType;
27
28
    public function __construct(string $remoteFileId, FileType $fileType)
29
    {
30
        $this->remoteFileId = $remoteFileId;
31
        $this->fileType     = $fileType;
32
    }
33
34
    public static function fromArray(array $array): GetRemoteFile
35
    {
36
        return new static(
37
            $array['remote_file_id'],
38
            TdSchemaRegistry::fromArray($array['file_type']),
39
        );
40
    }
41
42
    public function typeSerialize(): array
43
    {
44
        return [
45
            '@type'          => static::TYPE_NAME,
46
            'remote_file_id' => $this->remoteFileId,
47
            'file_type'      => $this->fileType->typeSerialize(),
48
        ];
49
    }
50
51
    public function getRemoteFileId(): string
52
    {
53
        return $this->remoteFileId;
54
    }
55
56
    public function getFileType(): FileType
57
    {
58
        return $this->fileType;
59
    }
60
}
61