GetRemoteFile::typeSerialize()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 0
dl 0
loc 6
rs 10
c 0
b 0
f 0
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