Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 216
0.00% covered (danger)
0.00%
0 / 107
CRAP
0.00% covered (danger)
0.00%
0 / 1
Webhook
0.00% covered (danger)
0.00%
0 / 216
0.00% covered (danger)
0.00%
0 / 107
26082
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 46
0.00% covered (danger)
0.00%
0 / 1
2256
 __toString
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 swaggerTypes
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 swaggerFormats
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 attributeMap
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setters
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getters
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getModelName
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 listInvalidProperties
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
56
 valid
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getRequestId
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setRequestId
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getUrl
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setUrl
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getIp
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setIp
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getEnvironmentId
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setEnvironmentId
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getTag
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setTag
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getTime
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setTime
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getTimestamp
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setTimestamp
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getIpLocation
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setIpLocation
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getLinkedId
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setLinkedId
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getVisitorId
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setVisitorId
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getVisitorFound
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setVisitorFound
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getConfidence
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setConfidence
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getFirstSeenAt
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setFirstSeenAt
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getLastSeenAt
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setLastSeenAt
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getBrowserDetails
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setBrowserDetails
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getIncognito
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setIncognito
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getClientReferrer
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setClientReferrer
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getComponents
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setComponents
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getBot
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setBot
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getUserAgent
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setUserAgent
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getRootApps
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setRootApps
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getEmulator
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setEmulator
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getIpInfo
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setIpInfo
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getIpBlocklist
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setIpBlocklist
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getTor
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setTor
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getVpn
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setVpn
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getProxy
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setProxy
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getTampering
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setTampering
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getClonedApp
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setClonedApp
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getFactoryReset
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setFactoryReset
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getJailbroken
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setJailbroken
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getFrida
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setFrida
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getPrivacySettings
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setPrivacySettings
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getVirtualMachine
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setVirtualMachine
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getRawDeviceAttributes
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setRawDeviceAttributes
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getHighActivity
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setHighActivity
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getLocationSpoofing
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setLocationSpoofing
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getSuspectScore
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setSuspectScore
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getRemoteControl
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setRemoteControl
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getVelocity
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setVelocity
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getDeveloperTools
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setDeveloperTools
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getMitmAttack
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setMitmAttack
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getReplayed
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setReplayed
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getSdk
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setSdk
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getSupplementaryIds
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setSupplementaryIds
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getProximity
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setProximity
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 offsetExists
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 offsetGet
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
6
 offsetSet
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
 offsetUnset
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 toPrettyString
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2/**
3 * Webhook.
4 *
5 * @category Class
6 *
7 * @author   Swagger Codegen team
8 *
9 * @see     https://github.com/swagger-api/swagger-codegen
10 */
11
12/**
13 * Fingerprint Server API.
14 *
15 * Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device.
16 *
17 * OpenAPI spec version: 3
18 * Contact: support@fingerprint.com
19 * Generated by: https://github.com/swagger-api/swagger-codegen.git
20 * Swagger Codegen version: 3.0.34
21 */
22/**
23 * NOTE: This class is auto generated by the swagger code generator program.
24 * https://github.com/swagger-api/swagger-codegen
25 * Do not edit the class manually.
26 */
27
28namespace Fingerprint\ServerAPI\Model;
29
30use Fingerprint\ServerAPI\ObjectSerializer;
31
32/**
33 * Webhook Class Doc Comment.
34 *
35 * @category Class
36 *
37 * @author   Swagger Codegen team
38 *
39 * @see     https://github.com/swagger-api/swagger-codegen
40 */
41class Webhook implements ModelInterface, \ArrayAccess
42{
43    /**
44     * The original name of the model.
45     *
46     */
47    protected static string $swaggerModelName = 'Webhook';
48
49    /**
50     * Array of property to type mappings. Used for (de)serialization.
51     *
52     * @var string[]
53     */
54    protected static array $swaggerTypes = [
55        'request_id' => 'string',
56        'url' => 'string',
57        'ip' => 'string',
58        'environment_id' => 'string',
59        'tag' => 'array',
60        'time' => '\DateTime',
61        'timestamp' => 'int',
62        'ip_location' => '\Fingerprint\ServerAPI\Model\DeprecatedGeolocation',
63        'linked_id' => 'string',
64        'visitor_id' => 'string',
65        'visitor_found' => 'bool',
66        'confidence' => '\Fingerprint\ServerAPI\Model\IdentificationConfidence',
67        'first_seen_at' => '\Fingerprint\ServerAPI\Model\IdentificationSeenAt',
68        'last_seen_at' => '\Fingerprint\ServerAPI\Model\IdentificationSeenAt',
69        'browser_details' => '\Fingerprint\ServerAPI\Model\BrowserDetails',
70        'incognito' => 'bool',
71        'client_referrer' => 'string',
72        'components' => 'array',
73        'bot' => '\Fingerprint\ServerAPI\Model\BotdBot',
74        'user_agent' => 'string',
75        'root_apps' => '\Fingerprint\ServerAPI\Model\WebhookRootApps',
76        'emulator' => '\Fingerprint\ServerAPI\Model\WebhookEmulator',
77        'ip_info' => '\Fingerprint\ServerAPI\Model\WebhookIPInfo',
78        'ip_blocklist' => '\Fingerprint\ServerAPI\Model\WebhookIPBlocklist',
79        'tor' => '\Fingerprint\ServerAPI\Model\WebhookTor',
80        'vpn' => '\Fingerprint\ServerAPI\Model\WebhookVPN',
81        'proxy' => '\Fingerprint\ServerAPI\Model\WebhookProxy',
82        'tampering' => '\Fingerprint\ServerAPI\Model\WebhookTampering',
83        'cloned_app' => '\Fingerprint\ServerAPI\Model\WebhookClonedApp',
84        'factory_reset' => '\Fingerprint\ServerAPI\Model\WebhookFactoryReset',
85        'jailbroken' => '\Fingerprint\ServerAPI\Model\WebhookJailbroken',
86        'frida' => '\Fingerprint\ServerAPI\Model\WebhookFrida',
87        'privacy_settings' => '\Fingerprint\ServerAPI\Model\WebhookPrivacySettings',
88        'virtual_machine' => '\Fingerprint\ServerAPI\Model\WebhookVirtualMachine',
89        'raw_device_attributes' => 'array',
90        'high_activity' => '\Fingerprint\ServerAPI\Model\WebhookHighActivity',
91        'location_spoofing' => '\Fingerprint\ServerAPI\Model\WebhookLocationSpoofing',
92        'suspect_score' => '\Fingerprint\ServerAPI\Model\WebhookSuspectScore',
93        'remote_control' => '\Fingerprint\ServerAPI\Model\WebhookRemoteControl',
94        'velocity' => '\Fingerprint\ServerAPI\Model\WebhookVelocity',
95        'developer_tools' => '\Fingerprint\ServerAPI\Model\WebhookDeveloperTools',
96        'mitm_attack' => '\Fingerprint\ServerAPI\Model\WebhookMitMAttack',
97        'replayed' => 'bool',
98        'sdk' => '\Fingerprint\ServerAPI\Model\SDK',
99        'supplementary_ids' => '\Fingerprint\ServerAPI\Model\WebhookSupplementaryIDs',
100        'proximity' => '\Fingerprint\ServerAPI\Model\WebhookProximity'];
101
102    /**
103     * Array of property to format mappings. Used for (de)serialization.
104     *
105     * @var string[]
106     */
107    protected static array $swaggerFormats = [
108        'request_id' => null,
109        'url' => null,
110        'ip' => null,
111        'environment_id' => null,
112        'tag' => null,
113        'time' => 'date-time',
114        'timestamp' => 'int64',
115        'ip_location' => null,
116        'linked_id' => null,
117        'visitor_id' => null,
118        'visitor_found' => null,
119        'confidence' => null,
120        'first_seen_at' => null,
121        'last_seen_at' => null,
122        'browser_details' => null,
123        'incognito' => null,
124        'client_referrer' => null,
125        'components' => null,
126        'bot' => null,
127        'user_agent' => null,
128        'root_apps' => null,
129        'emulator' => null,
130        'ip_info' => null,
131        'ip_blocklist' => null,
132        'tor' => null,
133        'vpn' => null,
134        'proxy' => null,
135        'tampering' => null,
136        'cloned_app' => null,
137        'factory_reset' => null,
138        'jailbroken' => null,
139        'frida' => null,
140        'privacy_settings' => null,
141        'virtual_machine' => null,
142        'raw_device_attributes' => null,
143        'high_activity' => null,
144        'location_spoofing' => null,
145        'suspect_score' => null,
146        'remote_control' => null,
147        'velocity' => null,
148        'developer_tools' => null,
149        'mitm_attack' => null,
150        'replayed' => null,
151        'sdk' => null,
152        'supplementary_ids' => null,
153        'proximity' => null];
154
155    /**
156     * Array of attributes where the key is the local name,
157     * and the value is the original name.
158     *
159     * @var string[]
160     */
161    protected static array $attributeMap = [
162        'request_id' => 'requestId',
163        'url' => 'url',
164        'ip' => 'ip',
165        'environment_id' => 'environmentId',
166        'tag' => 'tag',
167        'time' => 'time',
168        'timestamp' => 'timestamp',
169        'ip_location' => 'ipLocation',
170        'linked_id' => 'linkedId',
171        'visitor_id' => 'visitorId',
172        'visitor_found' => 'visitorFound',
173        'confidence' => 'confidence',
174        'first_seen_at' => 'firstSeenAt',
175        'last_seen_at' => 'lastSeenAt',
176        'browser_details' => 'browserDetails',
177        'incognito' => 'incognito',
178        'client_referrer' => 'clientReferrer',
179        'components' => 'components',
180        'bot' => 'bot',
181        'user_agent' => 'userAgent',
182        'root_apps' => 'rootApps',
183        'emulator' => 'emulator',
184        'ip_info' => 'ipInfo',
185        'ip_blocklist' => 'ipBlocklist',
186        'tor' => 'tor',
187        'vpn' => 'vpn',
188        'proxy' => 'proxy',
189        'tampering' => 'tampering',
190        'cloned_app' => 'clonedApp',
191        'factory_reset' => 'factoryReset',
192        'jailbroken' => 'jailbroken',
193        'frida' => 'frida',
194        'privacy_settings' => 'privacySettings',
195        'virtual_machine' => 'virtualMachine',
196        'raw_device_attributes' => 'rawDeviceAttributes',
197        'high_activity' => 'highActivity',
198        'location_spoofing' => 'locationSpoofing',
199        'suspect_score' => 'suspectScore',
200        'remote_control' => 'remoteControl',
201        'velocity' => 'velocity',
202        'developer_tools' => 'developerTools',
203        'mitm_attack' => 'mitmAttack',
204        'replayed' => 'replayed',
205        'sdk' => 'sdk',
206        'supplementary_ids' => 'supplementaryIds',
207        'proximity' => 'proximity'];
208
209    /**
210     * Array of attributes to setter functions (for deserialization of responses).
211     *
212     * @var string[]
213     */
214    protected static array $setters = [
215        'request_id' => 'setRequestId',
216        'url' => 'setUrl',
217        'ip' => 'setIp',
218        'environment_id' => 'setEnvironmentId',
219        'tag' => 'setTag',
220        'time' => 'setTime',
221        'timestamp' => 'setTimestamp',
222        'ip_location' => 'setIpLocation',
223        'linked_id' => 'setLinkedId',
224        'visitor_id' => 'setVisitorId',
225        'visitor_found' => 'setVisitorFound',
226        'confidence' => 'setConfidence',
227        'first_seen_at' => 'setFirstSeenAt',
228        'last_seen_at' => 'setLastSeenAt',
229        'browser_details' => 'setBrowserDetails',
230        'incognito' => 'setIncognito',
231        'client_referrer' => 'setClientReferrer',
232        'components' => 'setComponents',
233        'bot' => 'setBot',
234        'user_agent' => 'setUserAgent',
235        'root_apps' => 'setRootApps',
236        'emulator' => 'setEmulator',
237        'ip_info' => 'setIpInfo',
238        'ip_blocklist' => 'setIpBlocklist',
239        'tor' => 'setTor',
240        'vpn' => 'setVpn',
241        'proxy' => 'setProxy',
242        'tampering' => 'setTampering',
243        'cloned_app' => 'setClonedApp',
244        'factory_reset' => 'setFactoryReset',
245        'jailbroken' => 'setJailbroken',
246        'frida' => 'setFrida',
247        'privacy_settings' => 'setPrivacySettings',
248        'virtual_machine' => 'setVirtualMachine',
249        'raw_device_attributes' => 'setRawDeviceAttributes',
250        'high_activity' => 'setHighActivity',
251        'location_spoofing' => 'setLocationSpoofing',
252        'suspect_score' => 'setSuspectScore',
253        'remote_control' => 'setRemoteControl',
254        'velocity' => 'setVelocity',
255        'developer_tools' => 'setDeveloperTools',
256        'mitm_attack' => 'setMitmAttack',
257        'replayed' => 'setReplayed',
258        'sdk' => 'setSdk',
259        'supplementary_ids' => 'setSupplementaryIds',
260        'proximity' => 'setProximity'];
261
262    /**
263     * Array of attributes to getter functions (for serialization of requests).
264     *
265     * @var string[]
266     */
267    protected static array $getters = [
268        'request_id' => 'getRequestId',
269        'url' => 'getUrl',
270        'ip' => 'getIp',
271        'environment_id' => 'getEnvironmentId',
272        'tag' => 'getTag',
273        'time' => 'getTime',
274        'timestamp' => 'getTimestamp',
275        'ip_location' => 'getIpLocation',
276        'linked_id' => 'getLinkedId',
277        'visitor_id' => 'getVisitorId',
278        'visitor_found' => 'getVisitorFound',
279        'confidence' => 'getConfidence',
280        'first_seen_at' => 'getFirstSeenAt',
281        'last_seen_at' => 'getLastSeenAt',
282        'browser_details' => 'getBrowserDetails',
283        'incognito' => 'getIncognito',
284        'client_referrer' => 'getClientReferrer',
285        'components' => 'getComponents',
286        'bot' => 'getBot',
287        'user_agent' => 'getUserAgent',
288        'root_apps' => 'getRootApps',
289        'emulator' => 'getEmulator',
290        'ip_info' => 'getIpInfo',
291        'ip_blocklist' => 'getIpBlocklist',
292        'tor' => 'getTor',
293        'vpn' => 'getVpn',
294        'proxy' => 'getProxy',
295        'tampering' => 'getTampering',
296        'cloned_app' => 'getClonedApp',
297        'factory_reset' => 'getFactoryReset',
298        'jailbroken' => 'getJailbroken',
299        'frida' => 'getFrida',
300        'privacy_settings' => 'getPrivacySettings',
301        'virtual_machine' => 'getVirtualMachine',
302        'raw_device_attributes' => 'getRawDeviceAttributes',
303        'high_activity' => 'getHighActivity',
304        'location_spoofing' => 'getLocationSpoofing',
305        'suspect_score' => 'getSuspectScore',
306        'remote_control' => 'getRemoteControl',
307        'velocity' => 'getVelocity',
308        'developer_tools' => 'getDeveloperTools',
309        'mitm_attack' => 'getMitmAttack',
310        'replayed' => 'getReplayed',
311        'sdk' => 'getSdk',
312        'supplementary_ids' => 'getSupplementaryIds',
313        'proximity' => 'getProximity'];
314
315    /**
316     * Associative array for storing property values.
317     *
318     * @var mixed[]
319     */
320    protected array $container = [];
321
322    /**
323     * Constructor.
324     *
325     * @param mixed[] $data Associated array of property values
326     *                      initializing the model
327     */
328    public function __construct(?array $data = null)
329    {
330        $this->container['request_id'] = isset($data['request_id']) ? $data['request_id'] : null;
331        $this->container['url'] = isset($data['url']) ? $data['url'] : null;
332        $this->container['ip'] = isset($data['ip']) ? $data['ip'] : null;
333        $this->container['environment_id'] = isset($data['environment_id']) ? $data['environment_id'] : null;
334        $this->container['tag'] = isset($data['tag']) ? $data['tag'] : null;
335        $this->container['time'] = isset($data['time']) ? $data['time'] : null;
336        $this->container['timestamp'] = isset($data['timestamp']) ? $data['timestamp'] : null;
337        $this->container['ip_location'] = isset($data['ip_location']) ? $data['ip_location'] : null;
338        $this->container['linked_id'] = isset($data['linked_id']) ? $data['linked_id'] : null;
339        $this->container['visitor_id'] = isset($data['visitor_id']) ? $data['visitor_id'] : null;
340        $this->container['visitor_found'] = isset($data['visitor_found']) ? $data['visitor_found'] : null;
341        $this->container['confidence'] = isset($data['confidence']) ? $data['confidence'] : null;
342        $this->container['first_seen_at'] = isset($data['first_seen_at']) ? $data['first_seen_at'] : null;
343        $this->container['last_seen_at'] = isset($data['last_seen_at']) ? $data['last_seen_at'] : null;
344        $this->container['browser_details'] = isset($data['browser_details']) ? $data['browser_details'] : null;
345        $this->container['incognito'] = isset($data['incognito']) ? $data['incognito'] : null;
346        $this->container['client_referrer'] = isset($data['client_referrer']) ? $data['client_referrer'] : null;
347        $this->container['components'] = isset($data['components']) ? $data['components'] : null;
348        $this->container['bot'] = isset($data['bot']) ? $data['bot'] : null;
349        $this->container['user_agent'] = isset($data['user_agent']) ? $data['user_agent'] : null;
350        $this->container['root_apps'] = isset($data['root_apps']) ? $data['root_apps'] : null;
351        $this->container['emulator'] = isset($data['emulator']) ? $data['emulator'] : null;
352        $this->container['ip_info'] = isset($data['ip_info']) ? $data['ip_info'] : null;
353        $this->container['ip_blocklist'] = isset($data['ip_blocklist']) ? $data['ip_blocklist'] : null;
354        $this->container['tor'] = isset($data['tor']) ? $data['tor'] : null;
355        $this->container['vpn'] = isset($data['vpn']) ? $data['vpn'] : null;
356        $this->container['proxy'] = isset($data['proxy']) ? $data['proxy'] : null;
357        $this->container['tampering'] = isset($data['tampering']) ? $data['tampering'] : null;
358        $this->container['cloned_app'] = isset($data['cloned_app']) ? $data['cloned_app'] : null;
359        $this->container['factory_reset'] = isset($data['factory_reset']) ? $data['factory_reset'] : null;
360        $this->container['jailbroken'] = isset($data['jailbroken']) ? $data['jailbroken'] : null;
361        $this->container['frida'] = isset($data['frida']) ? $data['frida'] : null;
362        $this->container['privacy_settings'] = isset($data['privacy_settings']) ? $data['privacy_settings'] : null;
363        $this->container['virtual_machine'] = isset($data['virtual_machine']) ? $data['virtual_machine'] : null;
364        $this->container['raw_device_attributes'] = isset($data['raw_device_attributes']) ? $data['raw_device_attributes'] : null;
365        $this->container['high_activity'] = isset($data['high_activity']) ? $data['high_activity'] : null;
366        $this->container['location_spoofing'] = isset($data['location_spoofing']) ? $data['location_spoofing'] : null;
367        $this->container['suspect_score'] = isset($data['suspect_score']) ? $data['suspect_score'] : null;
368        $this->container['remote_control'] = isset($data['remote_control']) ? $data['remote_control'] : null;
369        $this->container['velocity'] = isset($data['velocity']) ? $data['velocity'] : null;
370        $this->container['developer_tools'] = isset($data['developer_tools']) ? $data['developer_tools'] : null;
371        $this->container['mitm_attack'] = isset($data['mitm_attack']) ? $data['mitm_attack'] : null;
372        $this->container['replayed'] = isset($data['replayed']) ? $data['replayed'] : null;
373        $this->container['sdk'] = isset($data['sdk']) ? $data['sdk'] : null;
374        $this->container['supplementary_ids'] = isset($data['supplementary_ids']) ? $data['supplementary_ids'] : null;
375        $this->container['proximity'] = isset($data['proximity']) ? $data['proximity'] : null;
376    }
377
378    /**
379     * Gets the string presentation of the object.
380     *
381     */
382    public function __toString(): string
383    {
384        return json_encode(ObjectSerializer::sanitizeForSerialization($this));
385    }
386
387    /**
388     * Array of property to type mappings. Used for (de)serialization.
389     */
390    public static function swaggerTypes(): array
391    {
392        return self::$swaggerTypes;
393    }
394
395    /**
396     * Array of property to format mappings. Used for (de)serialization.
397     */
398    public static function swaggerFormats(): array
399    {
400        return self::$swaggerFormats;
401    }
402
403    /**
404     * Array of attributes where the key is the local name,
405     * and the value is the original name.
406     */
407    public static function attributeMap(): array
408    {
409        return self::$attributeMap;
410    }
411
412    /**
413     * Array of attributes to setter functions (for deserialization of responses).
414     */
415    public static function setters(): array
416    {
417        return self::$setters;
418    }
419
420    /**
421     * Array of attributes to getter functions (for serialization of requests).
422     */
423    public static function getters(): array
424    {
425        return self::$getters;
426    }
427
428    /**
429     * The original name of the model.
430     */
431    public function getModelName(): string
432    {
433        return self::$swaggerModelName;
434    }
435
436    /**
437     * Show all the invalid properties with reasons.
438     *
439     * @return array invalid properties with reasons
440     */
441    public function listInvalidProperties(): array
442    {
443        $invalidProperties = [];
444
445        if (null === $this->container['request_id']) {
446            $invalidProperties[] = "'request_id' can't be null";
447        }
448        if (null === $this->container['url']) {
449            $invalidProperties[] = "'url' can't be null";
450        }
451        if (null === $this->container['ip']) {
452            $invalidProperties[] = "'ip' can't be null";
453        }
454        if (null === $this->container['time']) {
455            $invalidProperties[] = "'time' can't be null";
456        }
457        if (null === $this->container['timestamp']) {
458            $invalidProperties[] = "'timestamp' can't be null";
459        }
460        if (null === $this->container['sdk']) {
461            $invalidProperties[] = "'sdk' can't be null";
462        }
463
464        return $invalidProperties;
465    }
466
467    /**
468     * Validate all the properties in the model
469     * return true if all passed.
470     *
471     * @return bool True if all properties are valid
472     */
473    public function valid(): bool
474    {
475        return 0 === count($this->listInvalidProperties());
476    }
477
478    /**
479     * Gets request_id.
480     */
481    public function getRequestId(): string
482    {
483        return $this->container['request_id'];
484    }
485
486    /**
487     * Sets request_id.
488     *
489     * @param string $request_id unique identifier of the user's request
490     *
491     * @return $this
492     */
493    public function setRequestId(string $request_id): self
494    {
495        $this->container['request_id'] = $request_id;
496
497        return $this;
498    }
499
500    /**
501     * Gets url.
502     */
503    public function getUrl(): string
504    {
505        return $this->container['url'];
506    }
507
508    /**
509     * Sets url.
510     *
511     * @param string $url page URL from which the request was sent
512     *
513     * @return $this
514     */
515    public function setUrl(string $url): self
516    {
517        $this->container['url'] = $url;
518
519        return $this;
520    }
521
522    /**
523     * Gets ip.
524     */
525    public function getIp(): string
526    {
527        return $this->container['ip'];
528    }
529
530    /**
531     * Sets ip.
532     *
533     * @param string $ip IP address of the requesting browser or bot
534     *
535     * @return $this
536     */
537    public function setIp(string $ip): self
538    {
539        $this->container['ip'] = $ip;
540
541        return $this;
542    }
543
544    /**
545     * Gets environment_id.
546     */
547    public function getEnvironmentId(): ?string
548    {
549        return $this->container['environment_id'];
550    }
551
552    /**
553     * Sets environment_id.
554     *
555     * @param ?string $environment_id environment ID of the event
556     *
557     * @return $this
558     */
559    public function setEnvironmentId(?string $environment_id): self
560    {
561        $this->container['environment_id'] = $environment_id;
562
563        return $this;
564    }
565
566    /**
567     * Gets tag.
568     */
569    public function getTag(): ?array
570    {
571        return $this->container['tag'];
572    }
573
574    /**
575     * Sets tag.
576     *
577     * @param ?array $tag tag
578     *
579     * @return $this
580     */
581    public function setTag(?array $tag): self
582    {
583        $this->container['tag'] = $tag;
584
585        return $this;
586    }
587
588    /**
589     * Gets time.
590     */
591    public function getTime(): \DateTime
592    {
593        return $this->container['time'];
594    }
595
596    /**
597     * Sets time.
598     *
599     * @param \DateTime $time Time expressed according to ISO 8601 in UTC format, when the request from the JS agent was made. We recommend to treat requests that are older than 2 minutes as malicious. Otherwise, request replay attacks are possible.
600     *
601     * @return $this
602     */
603    public function setTime(\DateTime $time): self
604    {
605        $this->container['time'] = $time;
606
607        return $this;
608    }
609
610    /**
611     * Gets timestamp.
612     */
613    public function getTimestamp(): int
614    {
615        return $this->container['timestamp'];
616    }
617
618    /**
619     * Sets timestamp.
620     *
621     * @param int $timestamp timestamp of the event with millisecond precision in Unix time
622     *
623     * @return $this
624     */
625    public function setTimestamp(int $timestamp): self
626    {
627        $this->container['timestamp'] = $timestamp;
628
629        return $this;
630    }
631
632    /**
633     * Gets ip_location.
634     */
635    public function getIpLocation(): ?DeprecatedGeolocation
636    {
637        return $this->container['ip_location'];
638    }
639
640    /**
641     * Sets ip_location.
642     *
643     * @param ?\Fingerprint\ServerAPI\Model\DeprecatedGeolocation $ip_location ip_location
644     *
645     * @return $this
646     */
647    public function setIpLocation(?DeprecatedGeolocation $ip_location): self
648    {
649        $this->container['ip_location'] = $ip_location;
650
651        return $this;
652    }
653
654    /**
655     * Gets linked_id.
656     */
657    public function getLinkedId(): ?string
658    {
659        return $this->container['linked_id'];
660    }
661
662    /**
663     * Sets linked_id.
664     *
665     * @param ?string $linked_id a customer-provided id that was sent with the request
666     *
667     * @return $this
668     */
669    public function setLinkedId(?string $linked_id): self
670    {
671        $this->container['linked_id'] = $linked_id;
672
673        return $this;
674    }
675
676    /**
677     * Gets visitor_id.
678     */
679    public function getVisitorId(): ?string
680    {
681        return $this->container['visitor_id'];
682    }
683
684    /**
685     * Sets visitor_id.
686     *
687     * @param ?string $visitor_id string of 20 characters that uniquely identifies the visitor's browser or mobile device
688     *
689     * @return $this
690     */
691    public function setVisitorId(?string $visitor_id): self
692    {
693        $this->container['visitor_id'] = $visitor_id;
694
695        return $this;
696    }
697
698    /**
699     * Gets visitor_found.
700     */
701    public function getVisitorFound(): ?bool
702    {
703        return $this->container['visitor_found'];
704    }
705
706    /**
707     * Sets visitor_found.
708     *
709     * @param ?bool $visitor_found attribute represents if a visitor had been identified before
710     *
711     * @return $this
712     */
713    public function setVisitorFound(?bool $visitor_found): self
714    {
715        $this->container['visitor_found'] = $visitor_found;
716
717        return $this;
718    }
719
720    /**
721     * Gets confidence.
722     */
723    public function getConfidence(): ?IdentificationConfidence
724    {
725        return $this->container['confidence'];
726    }
727
728    /**
729     * Sets confidence.
730     *
731     * @param ?\Fingerprint\ServerAPI\Model\IdentificationConfidence $confidence confidence
732     *
733     * @return $this
734     */
735    public function setConfidence(?IdentificationConfidence $confidence): self
736    {
737        $this->container['confidence'] = $confidence;
738
739        return $this;
740    }
741
742    /**
743     * Gets first_seen_at.
744     */
745    public function getFirstSeenAt(): ?IdentificationSeenAt
746    {
747        return $this->container['first_seen_at'];
748    }
749
750    /**
751     * Sets first_seen_at.
752     *
753     * @param ?\Fingerprint\ServerAPI\Model\IdentificationSeenAt $first_seen_at first_seen_at
754     *
755     * @return $this
756     */
757    public function setFirstSeenAt(?IdentificationSeenAt $first_seen_at): self
758    {
759        $this->container['first_seen_at'] = $first_seen_at;
760
761        return $this;
762    }
763
764    /**
765     * Gets last_seen_at.
766     */
767    public function getLastSeenAt(): ?IdentificationSeenAt
768    {
769        return $this->container['last_seen_at'];
770    }
771
772    /**
773     * Sets last_seen_at.
774     *
775     * @param ?\Fingerprint\ServerAPI\Model\IdentificationSeenAt $last_seen_at last_seen_at
776     *
777     * @return $this
778     */
779    public function setLastSeenAt(?IdentificationSeenAt $last_seen_at): self
780    {
781        $this->container['last_seen_at'] = $last_seen_at;
782
783        return $this;
784    }
785
786    /**
787     * Gets browser_details.
788     */
789    public function getBrowserDetails(): ?BrowserDetails
790    {
791        return $this->container['browser_details'];
792    }
793
794    /**
795     * Sets browser_details.
796     *
797     * @param ?\Fingerprint\ServerAPI\Model\BrowserDetails $browser_details browser_details
798     *
799     * @return $this
800     */
801    public function setBrowserDetails(?BrowserDetails $browser_details): self
802    {
803        $this->container['browser_details'] = $browser_details;
804
805        return $this;
806    }
807
808    /**
809     * Gets incognito.
810     */
811    public function getIncognito(): ?bool
812    {
813        return $this->container['incognito'];
814    }
815
816    /**
817     * Sets incognito.
818     *
819     * @param ?bool $incognito flag if user used incognito session
820     *
821     * @return $this
822     */
823    public function setIncognito(?bool $incognito): self
824    {
825        $this->container['incognito'] = $incognito;
826
827        return $this;
828    }
829
830    /**
831     * Gets client_referrer.
832     */
833    public function getClientReferrer(): ?string
834    {
835        return $this->container['client_referrer'];
836    }
837
838    /**
839     * Sets client_referrer.
840     *
841     * @param ?string $client_referrer client_referrer
842     *
843     * @return $this
844     */
845    public function setClientReferrer(?string $client_referrer): self
846    {
847        $this->container['client_referrer'] = $client_referrer;
848
849        return $this;
850    }
851
852    /**
853     * Gets components.
854     */
855    public function getComponents(): ?array
856    {
857        return $this->container['components'];
858    }
859
860    /**
861     * Sets components.
862     *
863     * @param ?array $components components
864     *
865     * @return $this
866     */
867    public function setComponents(?array $components): self
868    {
869        $this->container['components'] = $components;
870
871        return $this;
872    }
873
874    /**
875     * Gets bot.
876     */
877    public function getBot(): ?BotdBot
878    {
879        return $this->container['bot'];
880    }
881
882    /**
883     * Sets bot.
884     *
885     * @param ?\Fingerprint\ServerAPI\Model\BotdBot $bot bot
886     *
887     * @return $this
888     */
889    public function setBot(?BotdBot $bot): self
890    {
891        $this->container['bot'] = $bot;
892
893        return $this;
894    }
895
896    /**
897     * Gets user_agent.
898     */
899    public function getUserAgent(): ?string
900    {
901        return $this->container['user_agent'];
902    }
903
904    /**
905     * Sets user_agent.
906     *
907     * @param ?string $user_agent user_agent
908     *
909     * @return $this
910     */
911    public function setUserAgent(?string $user_agent): self
912    {
913        $this->container['user_agent'] = $user_agent;
914
915        return $this;
916    }
917
918    /**
919     * Gets root_apps.
920     */
921    public function getRootApps(): ?WebhookRootApps
922    {
923        return $this->container['root_apps'];
924    }
925
926    /**
927     * Sets root_apps.
928     *
929     * @param ?\Fingerprint\ServerAPI\Model\WebhookRootApps $root_apps root_apps
930     *
931     * @return $this
932     */
933    public function setRootApps(?WebhookRootApps $root_apps): self
934    {
935        $this->container['root_apps'] = $root_apps;
936
937        return $this;
938    }
939
940    /**
941     * Gets emulator.
942     */
943    public function getEmulator(): ?WebhookEmulator
944    {
945        return $this->container['emulator'];
946    }
947
948    /**
949     * Sets emulator.
950     *
951     * @param ?\Fingerprint\ServerAPI\Model\WebhookEmulator $emulator emulator
952     *
953     * @return $this
954     */
955    public function setEmulator(?WebhookEmulator $emulator): self
956    {
957        $this->container['emulator'] = $emulator;
958
959        return $this;
960    }
961
962    /**
963     * Gets ip_info.
964     */
965    public function getIpInfo(): ?WebhookIPInfo
966    {
967        return $this->container['ip_info'];
968    }
969
970    /**
971     * Sets ip_info.
972     *
973     * @param ?\Fingerprint\ServerAPI\Model\WebhookIPInfo $ip_info ip_info
974     *
975     * @return $this
976     */
977    public function setIpInfo(?WebhookIPInfo $ip_info): self
978    {
979        $this->container['ip_info'] = $ip_info;
980
981        return $this;
982    }
983
984    /**
985     * Gets ip_blocklist.
986     */
987    public function getIpBlocklist(): ?WebhookIPBlocklist
988    {
989        return $this->container['ip_blocklist'];
990    }
991
992    /**
993     * Sets ip_blocklist.
994     *
995     * @param ?\Fingerprint\ServerAPI\Model\WebhookIPBlocklist $ip_blocklist ip_blocklist
996     *
997     * @return $this
998     */
999    public function setIpBlocklist(?WebhookIPBlocklist $ip_blocklist): self
1000    {
1001        $this->container['ip_blocklist'] = $ip_blocklist;
1002
1003        return $this;
1004    }
1005
1006    /**
1007     * Gets tor.
1008     */
1009    public function getTor(): ?WebhookTor
1010    {
1011        return $this->container['tor'];
1012    }
1013
1014    /**
1015     * Sets tor.
1016     *
1017     * @param ?\Fingerprint\ServerAPI\Model\WebhookTor $tor tor
1018     *
1019     * @return $this
1020     */
1021    public function setTor(?WebhookTor $tor): self
1022    {
1023        $this->container['tor'] = $tor;
1024
1025        return $this;
1026    }
1027
1028    /**
1029     * Gets vpn.
1030     */
1031    public function getVpn(): ?WebhookVPN
1032    {
1033        return $this->container['vpn'];
1034    }
1035
1036    /**
1037     * Sets vpn.
1038     *
1039     * @param ?\Fingerprint\ServerAPI\Model\WebhookVPN $vpn vpn
1040     *
1041     * @return $this
1042     */
1043    public function setVpn(?WebhookVPN $vpn): self
1044    {
1045        $this->container['vpn'] = $vpn;
1046
1047        return $this;
1048    }
1049
1050    /**
1051     * Gets proxy.
1052     */
1053    public function getProxy(): ?WebhookProxy
1054    {
1055        return $this->container['proxy'];
1056    }
1057
1058    /**
1059     * Sets proxy.
1060     *
1061     * @param ?\Fingerprint\ServerAPI\Model\WebhookProxy $proxy proxy
1062     *
1063     * @return $this
1064     */
1065    public function setProxy(?WebhookProxy $proxy): self
1066    {
1067        $this->container['proxy'] = $proxy;
1068
1069        return $this;
1070    }
1071
1072    /**
1073     * Gets tampering.
1074     */
1075    public function getTampering(): ?WebhookTampering
1076    {
1077        return $this->container['tampering'];
1078    }
1079
1080    /**
1081     * Sets tampering.
1082     *
1083     * @param ?\Fingerprint\ServerAPI\Model\WebhookTampering $tampering tampering
1084     *
1085     * @return $this
1086     */
1087    public function setTampering(?WebhookTampering $tampering): self
1088    {
1089        $this->container['tampering'] = $tampering;
1090
1091        return $this;
1092    }
1093
1094    /**
1095     * Gets cloned_app.
1096     */
1097    public function getClonedApp(): ?WebhookClonedApp
1098    {
1099        return $this->container['cloned_app'];
1100    }
1101
1102    /**
1103     * Sets cloned_app.
1104     *
1105     * @param ?\Fingerprint\ServerAPI\Model\WebhookClonedApp $cloned_app cloned_app
1106     *
1107     * @return $this
1108     */
1109    public function setClonedApp(?WebhookClonedApp $cloned_app): self
1110    {
1111        $this->container['cloned_app'] = $cloned_app;
1112
1113        return $this;
1114    }
1115
1116    /**
1117     * Gets factory_reset.
1118     */
1119    public function getFactoryReset(): ?WebhookFactoryReset
1120    {
1121        return $this->container['factory_reset'];
1122    }
1123
1124    /**
1125     * Sets factory_reset.
1126     *
1127     * @param ?\Fingerprint\ServerAPI\Model\WebhookFactoryReset $factory_reset factory_reset
1128     *
1129     * @return $this
1130     */
1131    public function setFactoryReset(?WebhookFactoryReset $factory_reset): self
1132    {
1133        $this->container['factory_reset'] = $factory_reset;
1134
1135        return $this;
1136    }
1137
1138    /**
1139     * Gets jailbroken.
1140     */
1141    public function getJailbroken(): ?WebhookJailbroken
1142    {
1143        return $this->container['jailbroken'];
1144    }
1145
1146    /**
1147     * Sets jailbroken.
1148     *
1149     * @param ?\Fingerprint\ServerAPI\Model\WebhookJailbroken $jailbroken jailbroken
1150     *
1151     * @return $this
1152     */
1153    public function setJailbroken(?WebhookJailbroken $jailbroken): self
1154    {
1155        $this->container['jailbroken'] = $jailbroken;
1156
1157        return $this;
1158    }
1159
1160    /**
1161     * Gets frida.
1162     */
1163    public function getFrida(): ?WebhookFrida
1164    {
1165        return $this->container['frida'];
1166    }
1167
1168    /**
1169     * Sets frida.
1170     *
1171     * @param ?\Fingerprint\ServerAPI\Model\WebhookFrida $frida frida
1172     *
1173     * @return $this
1174     */
1175    public function setFrida(?WebhookFrida $frida): self
1176    {
1177        $this->container['frida'] = $frida;
1178
1179        return $this;
1180    }
1181
1182    /**
1183     * Gets privacy_settings.
1184     */
1185    public function getPrivacySettings(): ?WebhookPrivacySettings
1186    {
1187        return $this->container['privacy_settings'];
1188    }
1189
1190    /**
1191     * Sets privacy_settings.
1192     *
1193     * @param ?\Fingerprint\ServerAPI\Model\WebhookPrivacySettings $privacy_settings privacy_settings
1194     *
1195     * @return $this
1196     */
1197    public function setPrivacySettings(?WebhookPrivacySettings $privacy_settings): self
1198    {
1199        $this->container['privacy_settings'] = $privacy_settings;
1200
1201        return $this;
1202    }
1203
1204    /**
1205     * Gets virtual_machine.
1206     */
1207    public function getVirtualMachine(): ?WebhookVirtualMachine
1208    {
1209        return $this->container['virtual_machine'];
1210    }
1211
1212    /**
1213     * Sets virtual_machine.
1214     *
1215     * @param ?\Fingerprint\ServerAPI\Model\WebhookVirtualMachine $virtual_machine virtual_machine
1216     *
1217     * @return $this
1218     */
1219    public function setVirtualMachine(?WebhookVirtualMachine $virtual_machine): self
1220    {
1221        $this->container['virtual_machine'] = $virtual_machine;
1222
1223        return $this;
1224    }
1225
1226    /**
1227     * Gets raw_device_attributes.
1228     */
1229    public function getRawDeviceAttributes(): ?array
1230    {
1231        return $this->container['raw_device_attributes'];
1232    }
1233
1234    /**
1235     * Sets raw_device_attributes.
1236     *
1237     * @param ?array $raw_device_attributes raw_device_attributes
1238     *
1239     * @return $this
1240     */
1241    public function setRawDeviceAttributes(?array $raw_device_attributes): self
1242    {
1243        $this->container['raw_device_attributes'] = $raw_device_attributes;
1244
1245        return $this;
1246    }
1247
1248    /**
1249     * Gets high_activity.
1250     */
1251    public function getHighActivity(): ?WebhookHighActivity
1252    {
1253        return $this->container['high_activity'];
1254    }
1255
1256    /**
1257     * Sets high_activity.
1258     *
1259     * @param ?\Fingerprint\ServerAPI\Model\WebhookHighActivity $high_activity high_activity
1260     *
1261     * @return $this
1262     */
1263    public function setHighActivity(?WebhookHighActivity $high_activity): self
1264    {
1265        $this->container['high_activity'] = $high_activity;
1266
1267        return $this;
1268    }
1269
1270    /**
1271     * Gets location_spoofing.
1272     */
1273    public function getLocationSpoofing(): ?WebhookLocationSpoofing
1274    {
1275        return $this->container['location_spoofing'];
1276    }
1277
1278    /**
1279     * Sets location_spoofing.
1280     *
1281     * @param ?\Fingerprint\ServerAPI\Model\WebhookLocationSpoofing $location_spoofing location_spoofing
1282     *
1283     * @return $this
1284     */
1285    public function setLocationSpoofing(?WebhookLocationSpoofing $location_spoofing): self
1286    {
1287        $this->container['location_spoofing'] = $location_spoofing;
1288
1289        return $this;
1290    }
1291
1292    /**
1293     * Gets suspect_score.
1294     */
1295    public function getSuspectScore(): ?WebhookSuspectScore
1296    {
1297        return $this->container['suspect_score'];
1298    }
1299
1300    /**
1301     * Sets suspect_score.
1302     *
1303     * @param ?\Fingerprint\ServerAPI\Model\WebhookSuspectScore $suspect_score suspect_score
1304     *
1305     * @return $this
1306     */
1307    public function setSuspectScore(?WebhookSuspectScore $suspect_score): self
1308    {
1309        $this->container['suspect_score'] = $suspect_score;
1310
1311        return $this;
1312    }
1313
1314    /**
1315     * Gets remote_control.
1316     */
1317    public function getRemoteControl(): ?WebhookRemoteControl
1318    {
1319        return $this->container['remote_control'];
1320    }
1321
1322    /**
1323     * Sets remote_control.
1324     *
1325     * @param ?\Fingerprint\ServerAPI\Model\WebhookRemoteControl $remote_control remote_control
1326     *
1327     * @return $this
1328     */
1329    public function setRemoteControl(?WebhookRemoteControl $remote_control): self
1330    {
1331        $this->container['remote_control'] = $remote_control;
1332
1333        return $this;
1334    }
1335
1336    /**
1337     * Gets velocity.
1338     */
1339    public function getVelocity(): ?WebhookVelocity
1340    {
1341        return $this->container['velocity'];
1342    }
1343
1344    /**
1345     * Sets velocity.
1346     *
1347     * @param ?\Fingerprint\ServerAPI\Model\WebhookVelocity $velocity velocity
1348     *
1349     * @return $this
1350     */
1351    public function setVelocity(?WebhookVelocity $velocity): self
1352    {
1353        $this->container['velocity'] = $velocity;
1354
1355        return $this;
1356    }
1357
1358    /**
1359     * Gets developer_tools.
1360     */
1361    public function getDeveloperTools(): ?WebhookDeveloperTools
1362    {
1363        return $this->container['developer_tools'];
1364    }
1365
1366    /**
1367     * Sets developer_tools.
1368     *
1369     * @param ?\Fingerprint\ServerAPI\Model\WebhookDeveloperTools $developer_tools developer_tools
1370     *
1371     * @return $this
1372     */
1373    public function setDeveloperTools(?WebhookDeveloperTools $developer_tools): self
1374    {
1375        $this->container['developer_tools'] = $developer_tools;
1376
1377        return $this;
1378    }
1379
1380    /**
1381     * Gets mitm_attack.
1382     */
1383    public function getMitmAttack(): ?WebhookMitMAttack
1384    {
1385        return $this->container['mitm_attack'];
1386    }
1387
1388    /**
1389     * Sets mitm_attack.
1390     *
1391     * @param ?\Fingerprint\ServerAPI\Model\WebhookMitMAttack $mitm_attack mitm_attack
1392     *
1393     * @return $this
1394     */
1395    public function setMitmAttack(?WebhookMitMAttack $mitm_attack): self
1396    {
1397        $this->container['mitm_attack'] = $mitm_attack;
1398
1399        return $this;
1400    }
1401
1402    /**
1403     * Gets replayed.
1404     */
1405    public function getReplayed(): ?bool
1406    {
1407        return $this->container['replayed'];
1408    }
1409
1410    /**
1411     * Sets replayed.
1412     *
1413     * @param ?bool $replayed `true` if we determined that this payload was replayed, `false` otherwise
1414     *
1415     * @return $this
1416     */
1417    public function setReplayed(?bool $replayed): self
1418    {
1419        $this->container['replayed'] = $replayed;
1420
1421        return $this;
1422    }
1423
1424    /**
1425     * Gets sdk.
1426     */
1427    public function getSdk(): SDK
1428    {
1429        return $this->container['sdk'];
1430    }
1431
1432    /**
1433     * Sets sdk.
1434     *
1435     * @param SDK $sdk sdk
1436     *
1437     * @return $this
1438     */
1439    public function setSdk(SDK $sdk): self
1440    {
1441        $this->container['sdk'] = $sdk;
1442
1443        return $this;
1444    }
1445
1446    /**
1447     * Gets supplementary_ids.
1448     */
1449    public function getSupplementaryIds(): ?WebhookSupplementaryIDs
1450    {
1451        return $this->container['supplementary_ids'];
1452    }
1453
1454    /**
1455     * Sets supplementary_ids.
1456     *
1457     * @param ?\Fingerprint\ServerAPI\Model\WebhookSupplementaryIDs $supplementary_ids supplementary_ids
1458     *
1459     * @return $this
1460     */
1461    public function setSupplementaryIds(?WebhookSupplementaryIDs $supplementary_ids): self
1462    {
1463        $this->container['supplementary_ids'] = $supplementary_ids;
1464
1465        return $this;
1466    }
1467
1468    /**
1469     * Gets proximity.
1470     */
1471    public function getProximity(): ?WebhookProximity
1472    {
1473        return $this->container['proximity'];
1474    }
1475
1476    /**
1477     * Sets proximity.
1478     *
1479     * @param ?\Fingerprint\ServerAPI\Model\WebhookProximity $proximity proximity
1480     *
1481     * @return $this
1482     */
1483    public function setProximity(?WebhookProximity $proximity): self
1484    {
1485        $this->container['proximity'] = $proximity;
1486
1487        return $this;
1488    }
1489
1490    /**
1491     * Returns true if offset exists. False otherwise.
1492     *
1493     * @param int $offset Offset
1494     */
1495    public function offsetExists($offset): bool
1496    {
1497        return isset($this->container[$offset]);
1498    }
1499
1500    /**
1501     * Gets offset.
1502     *
1503     * @param int $offset Offset
1504     */
1505    public function offsetGet($offset): mixed
1506    {
1507        return isset($this->container[$offset]) ? $this->container[$offset] : null;
1508    }
1509
1510    /**
1511     * Sets value based on offset.
1512     *
1513     * @param int   $offset Offset
1514     * @param mixed $value  Value to be set
1515     */
1516    public function offsetSet($offset, mixed $value): void
1517    {
1518        if (is_null($offset)) {
1519            $this->container[] = $value;
1520        } else {
1521            $this->container[$offset] = $value;
1522        }
1523    }
1524
1525    /**
1526     * Unsets offset.
1527     *
1528     * @param int $offset Offset
1529     */
1530    public function offsetUnset($offset): void
1531    {
1532        unset($this->container[$offset]);
1533    }
1534
1535    /**
1536     * Gets the string presentation of the object in a pretty JSON format.
1537     *
1538     */
1539    public function toPrettyString(): string
1540    {
1541        return json_encode(
1542            ObjectSerializer::sanitizeForSerialization($this),
1543            JSON_PRETTY_PRINT
1544        );
1545    }
1546}