-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathAcsEntrance.php
More file actions
111 lines (108 loc) · 4.67 KB
/
Copy pathAcsEntrance.php
File metadata and controls
111 lines (108 loc) · 4.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?php
namespace Seam\Objects;
class AcsEntrance
{
public static function from_json(mixed $json): AcsEntrance|null
{
if (!$json) {
return null;
}
return new self(
acs_entrance_id: $json->acs_entrance_id,
acs_system_id: $json->acs_system_id,
connected_account_id: $json->connected_account_id,
created_at: $json->created_at,
display_name: $json->display_name,
errors: array_map(
fn($e) => AcsEntranceErrors::from_json($e),
$json->errors ?? [],
),
space_ids: $json->space_ids,
warnings: array_map(
fn($w) => AcsEntranceWarnings::from_json($w),
$json->warnings ?? [],
),
assa_abloy_vostio_metadata: isset($json->assa_abloy_vostio_metadata)
? AcsEntranceAssaAbloyVostioMetadata::from_json(
$json->assa_abloy_vostio_metadata,
)
: null,
avigilon_alta_metadata: isset($json->avigilon_alta_metadata)
? AcsEntranceAvigilonAltaMetadata::from_json(
$json->avigilon_alta_metadata,
)
: null,
brivo_metadata: isset($json->brivo_metadata)
? AcsEntranceBrivoMetadata::from_json($json->brivo_metadata)
: null,
can_belong_to_reservation: $json->can_belong_to_reservation ?? null,
can_unlock_with_card: $json->can_unlock_with_card ?? null,
can_unlock_with_cloud_key: $json->can_unlock_with_cloud_key ?? null,
can_unlock_with_code: $json->can_unlock_with_code ?? null,
can_unlock_with_mobile_key: $json->can_unlock_with_mobile_key ??
null,
dormakaba_ambiance_metadata: isset(
$json->dormakaba_ambiance_metadata,
)
? AcsEntranceDormakabaAmbianceMetadata::from_json(
$json->dormakaba_ambiance_metadata,
)
: null,
dormakaba_community_metadata: isset(
$json->dormakaba_community_metadata,
)
? AcsEntranceDormakabaCommunityMetadata::from_json(
$json->dormakaba_community_metadata,
)
: null,
hotek_metadata: isset($json->hotek_metadata)
? AcsEntranceHotekMetadata::from_json($json->hotek_metadata)
: null,
is_locked: $json->is_locked ?? null,
latch_metadata: isset($json->latch_metadata)
? AcsEntranceLatchMetadata::from_json($json->latch_metadata)
: null,
salto_ks_metadata: isset($json->salto_ks_metadata)
? AcsEntranceSaltoKsMetadata::from_json(
$json->salto_ks_metadata,
)
: null,
salto_space_metadata: isset($json->salto_space_metadata)
? AcsEntranceSaltoSpaceMetadata::from_json(
$json->salto_space_metadata,
)
: null,
visionline_metadata: isset($json->visionline_metadata)
? AcsEntranceVisionlineMetadata::from_json(
$json->visionline_metadata,
)
: null,
);
}
public function __construct(
public string $acs_entrance_id,
public string $acs_system_id,
public string $connected_account_id,
public string $created_at,
public string $display_name,
public array $errors,
public array $space_ids,
public array $warnings,
public AcsEntranceAssaAbloyVostioMetadata|null $assa_abloy_vostio_metadata,
public AcsEntranceAvigilonAltaMetadata|null $avigilon_alta_metadata,
public AcsEntranceBrivoMetadata|null $brivo_metadata,
public bool|null $can_belong_to_reservation,
public bool|null $can_unlock_with_card,
public bool|null $can_unlock_with_cloud_key,
public bool|null $can_unlock_with_code,
public bool|null $can_unlock_with_mobile_key,
public AcsEntranceDormakabaAmbianceMetadata|null $dormakaba_ambiance_metadata,
public AcsEntranceDormakabaCommunityMetadata|null $dormakaba_community_metadata,
public AcsEntranceHotekMetadata|null $hotek_metadata,
public bool|null $is_locked,
public AcsEntranceLatchMetadata|null $latch_metadata,
public AcsEntranceSaltoKsMetadata|null $salto_ks_metadata,
public AcsEntranceSaltoSpaceMetadata|null $salto_space_metadata,
public AcsEntranceVisionlineMetadata|null $visionline_metadata,
) {}
}