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