encryptedPassportElement   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 75
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 18
dl 0
loc 75
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 2
1
<?php
2
3
namespace BPT\types;
4
5
use stdClass;
6
7
/**
8
 * Describes documents or other Telegram Passport elements shared with the bot by the user.
9
 */
10
class encryptedPassportElement extends types {
0 ignored issues
show
Bug introduced by
The type BPT\types\types was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
11
    /** Keep all properties which has sub properties */
12
    private const subs = [
13
        'array' => ['files' => 'BPT\types\passportFile', 'translation' => 'BPT\types\passportFile'],
14
        'front_side' => 'BPT\types\passportFile',
15
        'reverse_side' => 'BPT\types\passportFile',
16
        'selfie' => 'BPT\types\passportFile',
17
    ];
18
19
    /**
20
     * Element type. One of “personal_details”, “passport”, “driver_license”, “identity_card”,
21
     * “internal_passport”, “address”, “utility_bill”, “bank_statement”, “rental_agreement”,
22
     * “passport_registration”, “temporary_registration”, “phone_number”, “email”.
23
     */
24
    public string $type;
25
26
    /**
27
     * Optional. Base64-encoded encrypted Telegram Passport element data provided by the user; available only for
28
     * “personal_details”, “passport”, “driver_license”, “identity_card”, “internal_passport” and
29
     * “address” types. Can be decrypted and verified using the accompanying EncryptedCredentials.
30
     */
31
    public null|string $data = null;
32
33
    /** Optional. User's verified phone number, available only for “phone_number” type */
34
    public null|string $phone_number = null;
35
36
    /** Optional. User's verified email address, available only for “email” type */
37
    public null|string $email = null;
38
39
    /**
40
     * Optional. Array of encrypted files with documents provided by the user; available only for “utility_bill”,
41
     * “bank_statement”, “rental_agreement”, “passport_registration” and “temporary_registration”
42
     * types. Files can be decrypted and verified using the accompanying EncryptedCredentials.
43
     * @var passportFile[]
44
     */
45
    public null|array $files = null;
46
47
    /**
48
     * Optional. Encrypted file with the front side of the document, provided by the user; available only for
49
     * “passport”, “driver_license”, “identity_card” and “internal_passport”. The file can be
50
     * decrypted and verified using the accompanying EncryptedCredentials.
51
     */
52
    public null|passportFile $front_side = null;
53
54
    /**
55
     * Optional. Encrypted file with the reverse side of the document, provided by the user; available only for
56
     * “driver_license” and “identity_card”. The file can be decrypted and verified using the accompanying
57
     * EncryptedCredentials.
58
     */
59
    public null|passportFile $reverse_side = null;
60
61
    /**
62
     * Optional. Encrypted file with the selfie of the user holding a document, provided by the user; available if
63
     * requested for “passport”, “driver_license”, “identity_card” and “internal_passport”. The file
64
     * can be decrypted and verified using the accompanying EncryptedCredentials.
65
     */
66
    public null|passportFile $selfie = null;
67
68
    /**
69
     * Optional. Array of encrypted files with translated versions of documents provided by the user; available if
70
     * requested for “passport”, “driver_license”, “identity_card”, “internal_passport”,
71
     * “utility_bill”, “bank_statement”, “rental_agreement”, “passport_registration” and
72
     * “temporary_registration” types. Files can be decrypted and verified using the accompanying
73
     * EncryptedCredentials.
74
     * @var passportFile[]
75
     */
76
    public null|array $translation = null;
77
78
    /** Base64-encoded element hash for using in PassportElementErrorUnspecified */
79
    public string $hash;
80
81
82
    public function __construct(stdClass|null $object = null) {
83
        if ($object != null) {
84
            parent::__construct($object, self::subs);
85
        }
86
    }
87
}
88