diff --git a/.changeset/kind-walls-accept.md b/.changeset/kind-walls-accept.md new file mode 100644 index 00000000..3286eb90 --- /dev/null +++ b/.changeset/kind-walls-accept.md @@ -0,0 +1,5 @@ +--- +"fingerprint-pro-server-api-python-sdk": patch +--- + +Correctly serialize nullable fields to `null` diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 00000000..88d22cdd --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,8 @@ +{ + "mode": "pre", + "tag": "dev", + "initialVersions": { + "fingerprint-pro-server-api-python-sdk": "8.2.0" + }, + "changesets": [] +} diff --git a/fingerprint_pro_server_api_sdk/base_model.py b/fingerprint_pro_server_api_sdk/base_model.py index 8f114226..3de213d1 100644 --- a/fingerprint_pro_server_api_sdk/base_model.py +++ b/fingerprint_pro_server_api_sdk/base_model.py @@ -7,6 +7,7 @@ class BaseModel: swagger_types: Dict[str, str] = {} attribute_map: Dict[str, str] = {} + nullable_map: Dict[str, bool] = {} def to_dict(self) -> Dict[str, Union[list, dict]]: """Returns the model properties as a dict""" @@ -28,6 +29,9 @@ def to_dict(self) -> Dict[str, Union[list, dict]]: value.items() )) elif value is None: + if self.nullable_map[attr]: + result[attr] = None + continue else: result[attr] = value diff --git a/fingerprint_pro_server_api_sdk/models/botd.py b/fingerprint_pro_server_api_sdk/models/botd.py index 0a0080cb..c29b4f2d 100644 --- a/fingerprint_pro_server_api_sdk/models/botd.py +++ b/fingerprint_pro_server_api_sdk/models/botd.py @@ -44,6 +44,17 @@ class Botd(BaseModel): 'request_id': 'str' } + nullable_map = { + 'bot': False, + 'meta': False, + 'linked_id': False, + 'url': False, + 'ip': False, + 'time': False, + 'user_agent': False, + 'request_id': False + } + attribute_map = { 'bot': 'bot', 'meta': 'meta', diff --git a/fingerprint_pro_server_api_sdk/models/botd_bot.py b/fingerprint_pro_server_api_sdk/models/botd_bot.py index 1b97d25d..cc2393e2 100644 --- a/fingerprint_pro_server_api_sdk/models/botd_bot.py +++ b/fingerprint_pro_server_api_sdk/models/botd_bot.py @@ -36,6 +36,11 @@ class BotdBot(BaseModel): 'type': 'str' } + nullable_map = { + 'result': False, + 'type': False + } + attribute_map = { 'result': 'result', 'type': 'type' diff --git a/fingerprint_pro_server_api_sdk/models/botd_bot_result.py b/fingerprint_pro_server_api_sdk/models/botd_bot_result.py index 5a6c3fa4..f3fcbf41 100644 --- a/fingerprint_pro_server_api_sdk/models/botd_bot_result.py +++ b/fingerprint_pro_server_api_sdk/models/botd_bot_result.py @@ -40,6 +40,9 @@ class BotdBotResult(BaseModel): swagger_types = { } + nullable_map = { + } + attribute_map = { } diff --git a/fingerprint_pro_server_api_sdk/models/browser_details.py b/fingerprint_pro_server_api_sdk/models/browser_details.py index 0acb32b8..d4defce9 100644 --- a/fingerprint_pro_server_api_sdk/models/browser_details.py +++ b/fingerprint_pro_server_api_sdk/models/browser_details.py @@ -37,6 +37,16 @@ class BrowserDetails(BaseModel): 'user_agent': 'str' } + nullable_map = { + 'browser_name': False, + 'browser_major_version': False, + 'browser_full_version': False, + 'os': False, + 'os_version': False, + 'device': False, + 'user_agent': False + } + attribute_map = { 'browser_name': 'browserName', 'browser_major_version': 'browserMajorVersion', diff --git a/fingerprint_pro_server_api_sdk/models/cloned_app.py b/fingerprint_pro_server_api_sdk/models/cloned_app.py index 44750f20..48bc1053 100644 --- a/fingerprint_pro_server_api_sdk/models/cloned_app.py +++ b/fingerprint_pro_server_api_sdk/models/cloned_app.py @@ -31,6 +31,10 @@ class ClonedApp(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/deprecated_geolocation.py b/fingerprint_pro_server_api_sdk/models/deprecated_geolocation.py index f786fbb8..b5641428 100644 --- a/fingerprint_pro_server_api_sdk/models/deprecated_geolocation.py +++ b/fingerprint_pro_server_api_sdk/models/deprecated_geolocation.py @@ -46,6 +46,18 @@ class DeprecatedGeolocation(BaseModel): 'subdivisions': 'GeolocationSubdivisions' } + nullable_map = { + 'accuracy_radius': False, + 'latitude': False, + 'longitude': False, + 'postal_code': False, + 'timezone': False, + 'city': False, + 'country': False, + 'continent': False, + 'subdivisions': False + } + attribute_map = { 'accuracy_radius': 'accuracyRadius', 'latitude': 'latitude', diff --git a/fingerprint_pro_server_api_sdk/models/developer_tools.py b/fingerprint_pro_server_api_sdk/models/developer_tools.py index 43a2e9e9..ebba504e 100644 --- a/fingerprint_pro_server_api_sdk/models/developer_tools.py +++ b/fingerprint_pro_server_api_sdk/models/developer_tools.py @@ -31,6 +31,10 @@ class DeveloperTools(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/emulator.py b/fingerprint_pro_server_api_sdk/models/emulator.py index 2690502a..f675b0cc 100644 --- a/fingerprint_pro_server_api_sdk/models/emulator.py +++ b/fingerprint_pro_server_api_sdk/models/emulator.py @@ -31,6 +31,10 @@ class Emulator(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/error.py b/fingerprint_pro_server_api_sdk/models/error.py index 033f5090..5f323177 100644 --- a/fingerprint_pro_server_api_sdk/models/error.py +++ b/fingerprint_pro_server_api_sdk/models/error.py @@ -33,6 +33,11 @@ class Error(BaseModel): 'message': 'str' } + nullable_map = { + 'code': False, + 'message': False + } + attribute_map = { 'code': 'code', 'message': 'message' diff --git a/fingerprint_pro_server_api_sdk/models/error_code.py b/fingerprint_pro_server_api_sdk/models/error_code.py index ae8f1a2b..6e105b07 100644 --- a/fingerprint_pro_server_api_sdk/models/error_code.py +++ b/fingerprint_pro_server_api_sdk/models/error_code.py @@ -49,6 +49,9 @@ class ErrorCode(BaseModel): swagger_types = { } + nullable_map = { + } + attribute_map = { } diff --git a/fingerprint_pro_server_api_sdk/models/error_response.py b/fingerprint_pro_server_api_sdk/models/error_response.py index b952d798..7f88a4a7 100644 --- a/fingerprint_pro_server_api_sdk/models/error_response.py +++ b/fingerprint_pro_server_api_sdk/models/error_response.py @@ -32,6 +32,10 @@ class ErrorResponse(BaseModel): 'error': 'Error' } + nullable_map = { + 'error': False + } + attribute_map = { 'error': 'error' } diff --git a/fingerprint_pro_server_api_sdk/models/events_get_response.py b/fingerprint_pro_server_api_sdk/models/events_get_response.py index 3cd82c84..2988c404 100644 --- a/fingerprint_pro_server_api_sdk/models/events_get_response.py +++ b/fingerprint_pro_server_api_sdk/models/events_get_response.py @@ -35,6 +35,10 @@ class EventsGetResponse(BaseModel): 'products': 'Products' } + nullable_map = { + 'products': False + } + attribute_map = { 'products': 'products' } diff --git a/fingerprint_pro_server_api_sdk/models/events_update_request.py b/fingerprint_pro_server_api_sdk/models/events_update_request.py index e397b901..f0e63649 100644 --- a/fingerprint_pro_server_api_sdk/models/events_update_request.py +++ b/fingerprint_pro_server_api_sdk/models/events_update_request.py @@ -34,6 +34,12 @@ class EventsUpdateRequest(BaseModel): 'suspect': 'bool' } + nullable_map = { + 'linked_id': False, + 'tag': False, + 'suspect': False + } + attribute_map = { 'linked_id': 'linkedId', 'tag': 'tag', diff --git a/fingerprint_pro_server_api_sdk/models/factory_reset.py b/fingerprint_pro_server_api_sdk/models/factory_reset.py index 4e11f4f8..6f908650 100644 --- a/fingerprint_pro_server_api_sdk/models/factory_reset.py +++ b/fingerprint_pro_server_api_sdk/models/factory_reset.py @@ -33,6 +33,11 @@ class FactoryReset(BaseModel): 'timestamp': 'int' } + nullable_map = { + 'time': False, + 'timestamp': False + } + attribute_map = { 'time': 'time', 'timestamp': 'timestamp' diff --git a/fingerprint_pro_server_api_sdk/models/frida.py b/fingerprint_pro_server_api_sdk/models/frida.py index b1aedca9..04fb841c 100644 --- a/fingerprint_pro_server_api_sdk/models/frida.py +++ b/fingerprint_pro_server_api_sdk/models/frida.py @@ -31,6 +31,10 @@ class Frida(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/geolocation.py b/fingerprint_pro_server_api_sdk/models/geolocation.py index 45995968..7b641c92 100644 --- a/fingerprint_pro_server_api_sdk/models/geolocation.py +++ b/fingerprint_pro_server_api_sdk/models/geolocation.py @@ -43,6 +43,18 @@ class Geolocation(BaseModel): 'subdivisions': 'GeolocationSubdivisions' } + nullable_map = { + 'accuracy_radius': False, + 'latitude': False, + 'longitude': False, + 'postal_code': False, + 'timezone': False, + 'city': False, + 'country': False, + 'continent': False, + 'subdivisions': False + } + attribute_map = { 'accuracy_radius': 'accuracyRadius', 'latitude': 'latitude', diff --git a/fingerprint_pro_server_api_sdk/models/geolocation_city.py b/fingerprint_pro_server_api_sdk/models/geolocation_city.py index 5fe5af2d..d15046e5 100644 --- a/fingerprint_pro_server_api_sdk/models/geolocation_city.py +++ b/fingerprint_pro_server_api_sdk/models/geolocation_city.py @@ -31,6 +31,10 @@ class GeolocationCity(BaseModel): 'name': 'str' } + nullable_map = { + 'name': False + } + attribute_map = { 'name': 'name' } diff --git a/fingerprint_pro_server_api_sdk/models/geolocation_continent.py b/fingerprint_pro_server_api_sdk/models/geolocation_continent.py index 64888787..45777614 100644 --- a/fingerprint_pro_server_api_sdk/models/geolocation_continent.py +++ b/fingerprint_pro_server_api_sdk/models/geolocation_continent.py @@ -32,6 +32,11 @@ class GeolocationContinent(BaseModel): 'name': 'str' } + nullable_map = { + 'code': False, + 'name': False + } + attribute_map = { 'code': 'code', 'name': 'name' diff --git a/fingerprint_pro_server_api_sdk/models/geolocation_country.py b/fingerprint_pro_server_api_sdk/models/geolocation_country.py index bbfb5bbb..2f780f82 100644 --- a/fingerprint_pro_server_api_sdk/models/geolocation_country.py +++ b/fingerprint_pro_server_api_sdk/models/geolocation_country.py @@ -32,6 +32,11 @@ class GeolocationCountry(BaseModel): 'name': 'str' } + nullable_map = { + 'code': False, + 'name': False + } + attribute_map = { 'code': 'code', 'name': 'name' diff --git a/fingerprint_pro_server_api_sdk/models/geolocation_subdivision.py b/fingerprint_pro_server_api_sdk/models/geolocation_subdivision.py index 7a6c99cd..1a65c716 100644 --- a/fingerprint_pro_server_api_sdk/models/geolocation_subdivision.py +++ b/fingerprint_pro_server_api_sdk/models/geolocation_subdivision.py @@ -32,6 +32,11 @@ class GeolocationSubdivision(BaseModel): 'name': 'str' } + nullable_map = { + 'iso_code': False, + 'name': False + } + attribute_map = { 'iso_code': 'isoCode', 'name': 'name' diff --git a/fingerprint_pro_server_api_sdk/models/geolocation_subdivisions.py b/fingerprint_pro_server_api_sdk/models/geolocation_subdivisions.py index 9573e33e..cf8d64ff 100644 --- a/fingerprint_pro_server_api_sdk/models/geolocation_subdivisions.py +++ b/fingerprint_pro_server_api_sdk/models/geolocation_subdivisions.py @@ -30,6 +30,9 @@ class GeolocationSubdivisions(BaseModel): swagger_types = { } + nullable_map = { + } + attribute_map = { } diff --git a/fingerprint_pro_server_api_sdk/models/high_activity.py b/fingerprint_pro_server_api_sdk/models/high_activity.py index d6559ee3..95449995 100644 --- a/fingerprint_pro_server_api_sdk/models/high_activity.py +++ b/fingerprint_pro_server_api_sdk/models/high_activity.py @@ -32,6 +32,11 @@ class HighActivity(BaseModel): 'daily_requests': 'int' } + nullable_map = { + 'result': False, + 'daily_requests': False + } + attribute_map = { 'result': 'result', 'daily_requests': 'dailyRequests' diff --git a/fingerprint_pro_server_api_sdk/models/identification.py b/fingerprint_pro_server_api_sdk/models/identification.py index 370fbbda..c296aa2a 100644 --- a/fingerprint_pro_server_api_sdk/models/identification.py +++ b/fingerprint_pro_server_api_sdk/models/identification.py @@ -55,6 +55,26 @@ class Identification(BaseModel): 'components': 'RawDeviceAttributes' } + nullable_map = { + 'visitor_id': False, + 'request_id': False, + 'browser_details': False, + 'incognito': False, + 'ip': False, + 'ip_location': False, + 'linked_id': False, + 'suspect': False, + 'timestamp': False, + 'time': False, + 'url': False, + 'tag': False, + 'confidence': False, + 'visitor_found': False, + 'first_seen_at': False, + 'last_seen_at': False, + 'components': False + } + attribute_map = { 'visitor_id': 'visitorId', 'request_id': 'requestId', diff --git a/fingerprint_pro_server_api_sdk/models/identification_confidence.py b/fingerprint_pro_server_api_sdk/models/identification_confidence.py index 060d88b1..0867bac1 100644 --- a/fingerprint_pro_server_api_sdk/models/identification_confidence.py +++ b/fingerprint_pro_server_api_sdk/models/identification_confidence.py @@ -33,6 +33,12 @@ class IdentificationConfidence(BaseModel): 'comment': 'str' } + nullable_map = { + 'score': False, + 'revision': False, + 'comment': False + } + attribute_map = { 'score': 'score', 'revision': 'revision', diff --git a/fingerprint_pro_server_api_sdk/models/identification_seen_at.py b/fingerprint_pro_server_api_sdk/models/identification_seen_at.py index 8c5bcc6a..98f60d3c 100644 --- a/fingerprint_pro_server_api_sdk/models/identification_seen_at.py +++ b/fingerprint_pro_server_api_sdk/models/identification_seen_at.py @@ -34,6 +34,11 @@ class IdentificationSeenAt(BaseModel): 'subscription': 'datetime' } + nullable_map = { + '_global': True, + 'subscription': True + } + attribute_map = { '_global': 'global', 'subscription': 'subscription' diff --git a/fingerprint_pro_server_api_sdk/models/incognito.py b/fingerprint_pro_server_api_sdk/models/incognito.py index 14ded3ec..0611720e 100644 --- a/fingerprint_pro_server_api_sdk/models/incognito.py +++ b/fingerprint_pro_server_api_sdk/models/incognito.py @@ -31,6 +31,10 @@ class Incognito(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/ip_blocklist.py b/fingerprint_pro_server_api_sdk/models/ip_blocklist.py index 978c3f3c..cfb31a95 100644 --- a/fingerprint_pro_server_api_sdk/models/ip_blocklist.py +++ b/fingerprint_pro_server_api_sdk/models/ip_blocklist.py @@ -33,6 +33,11 @@ class IPBlocklist(BaseModel): 'details': 'IPBlocklistDetails' } + nullable_map = { + 'result': False, + 'details': False + } + attribute_map = { 'result': 'result', 'details': 'details' diff --git a/fingerprint_pro_server_api_sdk/models/ip_blocklist_details.py b/fingerprint_pro_server_api_sdk/models/ip_blocklist_details.py index a2558892..e469dc0f 100644 --- a/fingerprint_pro_server_api_sdk/models/ip_blocklist_details.py +++ b/fingerprint_pro_server_api_sdk/models/ip_blocklist_details.py @@ -32,6 +32,11 @@ class IPBlocklistDetails(BaseModel): 'attack_source': 'bool' } + nullable_map = { + 'email_spam': False, + 'attack_source': False + } + attribute_map = { 'email_spam': 'emailSpam', 'attack_source': 'attackSource' diff --git a/fingerprint_pro_server_api_sdk/models/ip_info.py b/fingerprint_pro_server_api_sdk/models/ip_info.py index 0cc8ba9e..de3ae56f 100644 --- a/fingerprint_pro_server_api_sdk/models/ip_info.py +++ b/fingerprint_pro_server_api_sdk/models/ip_info.py @@ -37,6 +37,11 @@ class IPInfo(BaseModel): 'v6': 'IPInfoV6' } + nullable_map = { + 'v4': False, + 'v6': False + } + attribute_map = { 'v4': 'v4', 'v6': 'v6' diff --git a/fingerprint_pro_server_api_sdk/models/ip_info_asn.py b/fingerprint_pro_server_api_sdk/models/ip_info_asn.py index e7f5561f..f1eafa41 100644 --- a/fingerprint_pro_server_api_sdk/models/ip_info_asn.py +++ b/fingerprint_pro_server_api_sdk/models/ip_info_asn.py @@ -33,6 +33,12 @@ class IPInfoASN(BaseModel): 'network': 'str' } + nullable_map = { + 'asn': False, + 'name': False, + 'network': False + } + attribute_map = { 'asn': 'asn', 'name': 'name', diff --git a/fingerprint_pro_server_api_sdk/models/ip_info_data_center.py b/fingerprint_pro_server_api_sdk/models/ip_info_data_center.py index 0de738c2..748689b1 100644 --- a/fingerprint_pro_server_api_sdk/models/ip_info_data_center.py +++ b/fingerprint_pro_server_api_sdk/models/ip_info_data_center.py @@ -32,6 +32,11 @@ class IPInfoDataCenter(BaseModel): 'name': 'str' } + nullable_map = { + 'result': False, + 'name': False + } + attribute_map = { 'result': 'result', 'name': 'name' diff --git a/fingerprint_pro_server_api_sdk/models/ip_info_v4.py b/fingerprint_pro_server_api_sdk/models/ip_info_v4.py index 72cd3b2b..d7db0ca2 100644 --- a/fingerprint_pro_server_api_sdk/models/ip_info_v4.py +++ b/fingerprint_pro_server_api_sdk/models/ip_info_v4.py @@ -37,6 +37,13 @@ class IPInfoV4(BaseModel): 'datacenter': 'IPInfoDataCenter' } + nullable_map = { + 'address': False, + 'geolocation': False, + 'asn': False, + 'datacenter': False + } + attribute_map = { 'address': 'address', 'geolocation': 'geolocation', diff --git a/fingerprint_pro_server_api_sdk/models/ip_info_v6.py b/fingerprint_pro_server_api_sdk/models/ip_info_v6.py index 21e6c337..86864ad0 100644 --- a/fingerprint_pro_server_api_sdk/models/ip_info_v6.py +++ b/fingerprint_pro_server_api_sdk/models/ip_info_v6.py @@ -37,6 +37,13 @@ class IPInfoV6(BaseModel): 'datacenter': 'IPInfoDataCenter' } + nullable_map = { + 'address': False, + 'geolocation': False, + 'asn': False, + 'datacenter': False + } + attribute_map = { 'address': 'address', 'geolocation': 'geolocation', diff --git a/fingerprint_pro_server_api_sdk/models/jailbroken.py b/fingerprint_pro_server_api_sdk/models/jailbroken.py index 35219ac9..40338aa1 100644 --- a/fingerprint_pro_server_api_sdk/models/jailbroken.py +++ b/fingerprint_pro_server_api_sdk/models/jailbroken.py @@ -31,6 +31,10 @@ class Jailbroken(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/location_spoofing.py b/fingerprint_pro_server_api_sdk/models/location_spoofing.py index dc332814..3ebad167 100644 --- a/fingerprint_pro_server_api_sdk/models/location_spoofing.py +++ b/fingerprint_pro_server_api_sdk/models/location_spoofing.py @@ -31,6 +31,10 @@ class LocationSpoofing(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/privacy_settings.py b/fingerprint_pro_server_api_sdk/models/privacy_settings.py index be1a30e6..9a7e3fbf 100644 --- a/fingerprint_pro_server_api_sdk/models/privacy_settings.py +++ b/fingerprint_pro_server_api_sdk/models/privacy_settings.py @@ -31,6 +31,10 @@ class PrivacySettings(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/product_botd.py b/fingerprint_pro_server_api_sdk/models/product_botd.py index 71f34246..862496a2 100644 --- a/fingerprint_pro_server_api_sdk/models/product_botd.py +++ b/fingerprint_pro_server_api_sdk/models/product_botd.py @@ -34,6 +34,11 @@ class ProductBotd(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_cloned_app.py b/fingerprint_pro_server_api_sdk/models/product_cloned_app.py index 90b0b989..cd98b93e 100644 --- a/fingerprint_pro_server_api_sdk/models/product_cloned_app.py +++ b/fingerprint_pro_server_api_sdk/models/product_cloned_app.py @@ -34,6 +34,11 @@ class ProductClonedApp(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_developer_tools.py b/fingerprint_pro_server_api_sdk/models/product_developer_tools.py index 961c64b8..1cd65e04 100644 --- a/fingerprint_pro_server_api_sdk/models/product_developer_tools.py +++ b/fingerprint_pro_server_api_sdk/models/product_developer_tools.py @@ -34,6 +34,11 @@ class ProductDeveloperTools(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_emulator.py b/fingerprint_pro_server_api_sdk/models/product_emulator.py index 5308fe83..1349c462 100644 --- a/fingerprint_pro_server_api_sdk/models/product_emulator.py +++ b/fingerprint_pro_server_api_sdk/models/product_emulator.py @@ -34,6 +34,11 @@ class ProductEmulator(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_factory_reset.py b/fingerprint_pro_server_api_sdk/models/product_factory_reset.py index a705bab6..7af95329 100644 --- a/fingerprint_pro_server_api_sdk/models/product_factory_reset.py +++ b/fingerprint_pro_server_api_sdk/models/product_factory_reset.py @@ -34,6 +34,11 @@ class ProductFactoryReset(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_frida.py b/fingerprint_pro_server_api_sdk/models/product_frida.py index 26c2a0d1..0862c0ee 100644 --- a/fingerprint_pro_server_api_sdk/models/product_frida.py +++ b/fingerprint_pro_server_api_sdk/models/product_frida.py @@ -34,6 +34,11 @@ class ProductFrida(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_high_activity.py b/fingerprint_pro_server_api_sdk/models/product_high_activity.py index f937fc75..e8f2dc81 100644 --- a/fingerprint_pro_server_api_sdk/models/product_high_activity.py +++ b/fingerprint_pro_server_api_sdk/models/product_high_activity.py @@ -34,6 +34,11 @@ class ProductHighActivity(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_identification.py b/fingerprint_pro_server_api_sdk/models/product_identification.py index f5ae4621..de0b4dda 100644 --- a/fingerprint_pro_server_api_sdk/models/product_identification.py +++ b/fingerprint_pro_server_api_sdk/models/product_identification.py @@ -34,6 +34,11 @@ class ProductIdentification(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_incognito.py b/fingerprint_pro_server_api_sdk/models/product_incognito.py index 948720c6..461ee1b8 100644 --- a/fingerprint_pro_server_api_sdk/models/product_incognito.py +++ b/fingerprint_pro_server_api_sdk/models/product_incognito.py @@ -34,6 +34,11 @@ class ProductIncognito(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_ip_blocklist.py b/fingerprint_pro_server_api_sdk/models/product_ip_blocklist.py index c1edae88..0e3df50c 100644 --- a/fingerprint_pro_server_api_sdk/models/product_ip_blocklist.py +++ b/fingerprint_pro_server_api_sdk/models/product_ip_blocklist.py @@ -34,6 +34,11 @@ class ProductIPBlocklist(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_ip_info.py b/fingerprint_pro_server_api_sdk/models/product_ip_info.py index 94be65d0..863bb030 100644 --- a/fingerprint_pro_server_api_sdk/models/product_ip_info.py +++ b/fingerprint_pro_server_api_sdk/models/product_ip_info.py @@ -34,6 +34,11 @@ class ProductIPInfo(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_jailbroken.py b/fingerprint_pro_server_api_sdk/models/product_jailbroken.py index fef2c956..393b4e32 100644 --- a/fingerprint_pro_server_api_sdk/models/product_jailbroken.py +++ b/fingerprint_pro_server_api_sdk/models/product_jailbroken.py @@ -34,6 +34,11 @@ class ProductJailbroken(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_location_spoofing.py b/fingerprint_pro_server_api_sdk/models/product_location_spoofing.py index f5d12fac..740bebcc 100644 --- a/fingerprint_pro_server_api_sdk/models/product_location_spoofing.py +++ b/fingerprint_pro_server_api_sdk/models/product_location_spoofing.py @@ -34,6 +34,11 @@ class ProductLocationSpoofing(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_privacy_settings.py b/fingerprint_pro_server_api_sdk/models/product_privacy_settings.py index f3aaef79..b2b5984c 100644 --- a/fingerprint_pro_server_api_sdk/models/product_privacy_settings.py +++ b/fingerprint_pro_server_api_sdk/models/product_privacy_settings.py @@ -34,6 +34,11 @@ class ProductPrivacySettings(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_proxy.py b/fingerprint_pro_server_api_sdk/models/product_proxy.py index 85239399..a5867fab 100644 --- a/fingerprint_pro_server_api_sdk/models/product_proxy.py +++ b/fingerprint_pro_server_api_sdk/models/product_proxy.py @@ -34,6 +34,11 @@ class ProductProxy(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_raw_device_attributes.py b/fingerprint_pro_server_api_sdk/models/product_raw_device_attributes.py index ea84788d..6a9f94df 100644 --- a/fingerprint_pro_server_api_sdk/models/product_raw_device_attributes.py +++ b/fingerprint_pro_server_api_sdk/models/product_raw_device_attributes.py @@ -34,6 +34,11 @@ class ProductRawDeviceAttributes(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_remote_control.py b/fingerprint_pro_server_api_sdk/models/product_remote_control.py index d5f73d93..3a2eb63e 100644 --- a/fingerprint_pro_server_api_sdk/models/product_remote_control.py +++ b/fingerprint_pro_server_api_sdk/models/product_remote_control.py @@ -34,6 +34,11 @@ class ProductRemoteControl(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_root_apps.py b/fingerprint_pro_server_api_sdk/models/product_root_apps.py index be6726cc..d3e5cc86 100644 --- a/fingerprint_pro_server_api_sdk/models/product_root_apps.py +++ b/fingerprint_pro_server_api_sdk/models/product_root_apps.py @@ -34,6 +34,11 @@ class ProductRootApps(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_suspect_score.py b/fingerprint_pro_server_api_sdk/models/product_suspect_score.py index 77af729a..de6910b5 100644 --- a/fingerprint_pro_server_api_sdk/models/product_suspect_score.py +++ b/fingerprint_pro_server_api_sdk/models/product_suspect_score.py @@ -34,6 +34,11 @@ class ProductSuspectScore(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_tampering.py b/fingerprint_pro_server_api_sdk/models/product_tampering.py index b02620eb..828d15b0 100644 --- a/fingerprint_pro_server_api_sdk/models/product_tampering.py +++ b/fingerprint_pro_server_api_sdk/models/product_tampering.py @@ -34,6 +34,11 @@ class ProductTampering(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_tor.py b/fingerprint_pro_server_api_sdk/models/product_tor.py index cb683825..ae89d9e8 100644 --- a/fingerprint_pro_server_api_sdk/models/product_tor.py +++ b/fingerprint_pro_server_api_sdk/models/product_tor.py @@ -34,6 +34,11 @@ class ProductTor(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_velocity.py b/fingerprint_pro_server_api_sdk/models/product_velocity.py index 7a572b3a..46a633b6 100644 --- a/fingerprint_pro_server_api_sdk/models/product_velocity.py +++ b/fingerprint_pro_server_api_sdk/models/product_velocity.py @@ -34,6 +34,11 @@ class ProductVelocity(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_virtual_machine.py b/fingerprint_pro_server_api_sdk/models/product_virtual_machine.py index fbb622b4..ec55e77d 100644 --- a/fingerprint_pro_server_api_sdk/models/product_virtual_machine.py +++ b/fingerprint_pro_server_api_sdk/models/product_virtual_machine.py @@ -34,6 +34,11 @@ class ProductVirtualMachine(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/product_vpn.py b/fingerprint_pro_server_api_sdk/models/product_vpn.py index 04d07d1b..5ef9e9e9 100644 --- a/fingerprint_pro_server_api_sdk/models/product_vpn.py +++ b/fingerprint_pro_server_api_sdk/models/product_vpn.py @@ -34,6 +34,11 @@ class ProductVPN(BaseModel): 'error': 'Error' } + nullable_map = { + 'data': False, + 'error': False + } + attribute_map = { 'data': 'data', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/products.py b/fingerprint_pro_server_api_sdk/models/products.py index 3ef4d259..2ec11401 100644 --- a/fingerprint_pro_server_api_sdk/models/products.py +++ b/fingerprint_pro_server_api_sdk/models/products.py @@ -81,6 +81,33 @@ class Products(BaseModel): 'developer_tools': 'ProductDeveloperTools' } + nullable_map = { + 'identification': False, + 'botd': False, + 'root_apps': False, + 'emulator': False, + 'ip_info': False, + 'ip_blocklist': False, + 'tor': False, + 'vpn': False, + 'proxy': False, + 'incognito': False, + 'tampering': False, + 'cloned_app': False, + 'factory_reset': False, + 'jailbroken': False, + 'frida': False, + 'privacy_settings': False, + 'virtual_machine': False, + 'raw_device_attributes': False, + 'high_activity': False, + 'location_spoofing': False, + 'suspect_score': False, + 'remote_control': False, + 'velocity': False, + 'developer_tools': False + } + attribute_map = { 'identification': 'identification', 'botd': 'botd', diff --git a/fingerprint_pro_server_api_sdk/models/proxy.py b/fingerprint_pro_server_api_sdk/models/proxy.py index b49e0a23..0380d1ae 100644 --- a/fingerprint_pro_server_api_sdk/models/proxy.py +++ b/fingerprint_pro_server_api_sdk/models/proxy.py @@ -31,6 +31,10 @@ class Proxy(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/raw_device_attribute.py b/fingerprint_pro_server_api_sdk/models/raw_device_attribute.py index 60ec25da..ff5dc109 100644 --- a/fingerprint_pro_server_api_sdk/models/raw_device_attribute.py +++ b/fingerprint_pro_server_api_sdk/models/raw_device_attribute.py @@ -33,6 +33,11 @@ class RawDeviceAttribute(BaseModel): 'error': 'RawDeviceAttributeError' } + nullable_map = { + 'value': False, + 'error': False + } + attribute_map = { 'value': 'value', 'error': 'error' diff --git a/fingerprint_pro_server_api_sdk/models/raw_device_attribute_error.py b/fingerprint_pro_server_api_sdk/models/raw_device_attribute_error.py index 1eb17b94..4d954e73 100644 --- a/fingerprint_pro_server_api_sdk/models/raw_device_attribute_error.py +++ b/fingerprint_pro_server_api_sdk/models/raw_device_attribute_error.py @@ -32,6 +32,11 @@ class RawDeviceAttributeError(BaseModel): 'message': 'str' } + nullable_map = { + 'name': False, + 'message': False + } + attribute_map = { 'name': 'name', 'message': 'message' diff --git a/fingerprint_pro_server_api_sdk/models/raw_device_attributes.py b/fingerprint_pro_server_api_sdk/models/raw_device_attributes.py index 163fdc41..0401d7c6 100644 --- a/fingerprint_pro_server_api_sdk/models/raw_device_attributes.py +++ b/fingerprint_pro_server_api_sdk/models/raw_device_attributes.py @@ -33,6 +33,9 @@ class RawDeviceAttributes(dict): swagger_types = { } + nullable_map = { + } + attribute_map = { } diff --git a/fingerprint_pro_server_api_sdk/models/related_visitor.py b/fingerprint_pro_server_api_sdk/models/related_visitor.py index 0b8cc0ef..8caa29a6 100644 --- a/fingerprint_pro_server_api_sdk/models/related_visitor.py +++ b/fingerprint_pro_server_api_sdk/models/related_visitor.py @@ -31,6 +31,10 @@ class RelatedVisitor(BaseModel): 'visitor_id': 'str' } + nullable_map = { + 'visitor_id': False + } + attribute_map = { 'visitor_id': 'visitorId' } diff --git a/fingerprint_pro_server_api_sdk/models/related_visitors_response.py b/fingerprint_pro_server_api_sdk/models/related_visitors_response.py index 75c31004..8bd0bcc4 100644 --- a/fingerprint_pro_server_api_sdk/models/related_visitors_response.py +++ b/fingerprint_pro_server_api_sdk/models/related_visitors_response.py @@ -32,6 +32,10 @@ class RelatedVisitorsResponse(BaseModel): 'related_visitors': 'list[RelatedVisitor]' } + nullable_map = { + 'related_visitors': False + } + attribute_map = { 'related_visitors': 'relatedVisitors' } diff --git a/fingerprint_pro_server_api_sdk/models/remote_control.py b/fingerprint_pro_server_api_sdk/models/remote_control.py index dc9f8022..7e94872d 100644 --- a/fingerprint_pro_server_api_sdk/models/remote_control.py +++ b/fingerprint_pro_server_api_sdk/models/remote_control.py @@ -31,6 +31,10 @@ class RemoteControl(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/root_apps.py b/fingerprint_pro_server_api_sdk/models/root_apps.py index 8ffc78bb..879ac54c 100644 --- a/fingerprint_pro_server_api_sdk/models/root_apps.py +++ b/fingerprint_pro_server_api_sdk/models/root_apps.py @@ -31,6 +31,10 @@ class RootApps(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/suspect_score.py b/fingerprint_pro_server_api_sdk/models/suspect_score.py index c3b91662..854c54e8 100644 --- a/fingerprint_pro_server_api_sdk/models/suspect_score.py +++ b/fingerprint_pro_server_api_sdk/models/suspect_score.py @@ -31,6 +31,10 @@ class SuspectScore(BaseModel): 'result': 'int' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/tag.py b/fingerprint_pro_server_api_sdk/models/tag.py index 05a4b4ce..3a5e0323 100644 --- a/fingerprint_pro_server_api_sdk/models/tag.py +++ b/fingerprint_pro_server_api_sdk/models/tag.py @@ -33,6 +33,9 @@ class Tag(dict): swagger_types = { } + nullable_map = { + } + attribute_map = { } diff --git a/fingerprint_pro_server_api_sdk/models/tampering.py b/fingerprint_pro_server_api_sdk/models/tampering.py index a0c6c59f..5201994a 100644 --- a/fingerprint_pro_server_api_sdk/models/tampering.py +++ b/fingerprint_pro_server_api_sdk/models/tampering.py @@ -33,6 +33,12 @@ class Tampering(BaseModel): 'anti_detect_browser': 'bool' } + nullable_map = { + 'result': False, + 'anomaly_score': False, + 'anti_detect_browser': False + } + attribute_map = { 'result': 'result', 'anomaly_score': 'anomalyScore', diff --git a/fingerprint_pro_server_api_sdk/models/tor.py b/fingerprint_pro_server_api_sdk/models/tor.py index 4e96a69f..59678e85 100644 --- a/fingerprint_pro_server_api_sdk/models/tor.py +++ b/fingerprint_pro_server_api_sdk/models/tor.py @@ -31,6 +31,10 @@ class Tor(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/velocity.py b/fingerprint_pro_server_api_sdk/models/velocity.py index 6c2d4f38..79e68f88 100644 --- a/fingerprint_pro_server_api_sdk/models/velocity.py +++ b/fingerprint_pro_server_api_sdk/models/velocity.py @@ -47,6 +47,16 @@ class Velocity(BaseModel): 'distinct_visitor_id_by_linked_id': 'VelocityData' } + nullable_map = { + 'distinct_ip': False, + 'distinct_linked_id': False, + 'distinct_country': False, + 'events': False, + 'ip_events': False, + 'distinct_ip_by_linked_id': False, + 'distinct_visitor_id_by_linked_id': False + } + attribute_map = { 'distinct_ip': 'distinctIp', 'distinct_linked_id': 'distinctLinkedId', diff --git a/fingerprint_pro_server_api_sdk/models/velocity_data.py b/fingerprint_pro_server_api_sdk/models/velocity_data.py index e077e1b0..35e5c339 100644 --- a/fingerprint_pro_server_api_sdk/models/velocity_data.py +++ b/fingerprint_pro_server_api_sdk/models/velocity_data.py @@ -32,6 +32,10 @@ class VelocityData(BaseModel): 'intervals': 'VelocityIntervals' } + nullable_map = { + 'intervals': False + } + attribute_map = { 'intervals': 'intervals' } diff --git a/fingerprint_pro_server_api_sdk/models/velocity_intervals.py b/fingerprint_pro_server_api_sdk/models/velocity_intervals.py index 052f3b35..8a8a22c4 100644 --- a/fingerprint_pro_server_api_sdk/models/velocity_intervals.py +++ b/fingerprint_pro_server_api_sdk/models/velocity_intervals.py @@ -36,6 +36,12 @@ class VelocityIntervals(BaseModel): '_24h': 'int' } + nullable_map = { + '_5m': False, + '_1h': False, + '_24h': False + } + attribute_map = { '_5m': '5m', '_1h': '1h', diff --git a/fingerprint_pro_server_api_sdk/models/virtual_machine.py b/fingerprint_pro_server_api_sdk/models/virtual_machine.py index 58c8db7f..c387d5ee 100644 --- a/fingerprint_pro_server_api_sdk/models/virtual_machine.py +++ b/fingerprint_pro_server_api_sdk/models/virtual_machine.py @@ -31,6 +31,10 @@ class VirtualMachine(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/visit.py b/fingerprint_pro_server_api_sdk/models/visit.py index 6d7c98ae..3b5cccb0 100644 --- a/fingerprint_pro_server_api_sdk/models/visit.py +++ b/fingerprint_pro_server_api_sdk/models/visit.py @@ -53,6 +53,24 @@ class Visit(BaseModel): 'components': 'RawDeviceAttributes' } + nullable_map = { + 'request_id': False, + 'browser_details': False, + 'incognito': False, + 'ip': False, + 'ip_location': False, + 'linked_id': False, + 'timestamp': False, + 'time': False, + 'url': False, + 'tag': False, + 'confidence': False, + 'visitor_found': False, + 'first_seen_at': False, + 'last_seen_at': False, + 'components': False + } + attribute_map = { 'request_id': 'requestId', 'browser_details': 'browserDetails', diff --git a/fingerprint_pro_server_api_sdk/models/visitors_get_response.py b/fingerprint_pro_server_api_sdk/models/visitors_get_response.py index b25f55b0..039b42ba 100644 --- a/fingerprint_pro_server_api_sdk/models/visitors_get_response.py +++ b/fingerprint_pro_server_api_sdk/models/visitors_get_response.py @@ -38,6 +38,13 @@ class VisitorsGetResponse(BaseModel): 'pagination_key': 'str' } + nullable_map = { + 'visitor_id': False, + 'visits': False, + 'last_timestamp': False, + 'pagination_key': False + } + attribute_map = { 'visitor_id': 'visitorId', 'visits': 'visits', diff --git a/fingerprint_pro_server_api_sdk/models/vpn.py b/fingerprint_pro_server_api_sdk/models/vpn.py index 1d020140..64c3c784 100644 --- a/fingerprint_pro_server_api_sdk/models/vpn.py +++ b/fingerprint_pro_server_api_sdk/models/vpn.py @@ -37,6 +37,14 @@ class VPN(BaseModel): 'methods': 'VPNMethods' } + nullable_map = { + 'result': False, + 'confidence': False, + 'origin_timezone': False, + 'origin_country': False, + 'methods': False + } + attribute_map = { 'result': 'result', 'confidence': 'confidence', diff --git a/fingerprint_pro_server_api_sdk/models/vpn_confidence.py b/fingerprint_pro_server_api_sdk/models/vpn_confidence.py index 8dda168a..2e410924 100644 --- a/fingerprint_pro_server_api_sdk/models/vpn_confidence.py +++ b/fingerprint_pro_server_api_sdk/models/vpn_confidence.py @@ -40,6 +40,9 @@ class VPNConfidence(BaseModel): swagger_types = { } + nullable_map = { + } + attribute_map = { } diff --git a/fingerprint_pro_server_api_sdk/models/vpn_methods.py b/fingerprint_pro_server_api_sdk/models/vpn_methods.py index b5a8cdd4..54fb716a 100644 --- a/fingerprint_pro_server_api_sdk/models/vpn_methods.py +++ b/fingerprint_pro_server_api_sdk/models/vpn_methods.py @@ -35,6 +35,14 @@ class VPNMethods(BaseModel): 'relay': 'bool' } + nullable_map = { + 'timezone_mismatch': False, + 'public_vpn': False, + 'auxiliary_mobile': False, + 'os_mismatch': False, + 'relay': False + } + attribute_map = { 'timezone_mismatch': 'timezoneMismatch', 'public_vpn': 'publicVPN', diff --git a/fingerprint_pro_server_api_sdk/models/webhook.py b/fingerprint_pro_server_api_sdk/models/webhook.py index 4f474a67..a1dfb853 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook.py +++ b/fingerprint_pro_server_api_sdk/models/webhook.py @@ -100,6 +100,49 @@ class Webhook(BaseModel): 'developer_tools': 'WebhookDeveloperTools' } + nullable_map = { + 'request_id': False, + 'url': False, + 'ip': False, + 'tag': False, + 'time': False, + 'timestamp': False, + 'ip_location': False, + 'linked_id': False, + 'visitor_id': False, + 'visitor_found': False, + 'confidence': False, + 'first_seen_at': False, + 'last_seen_at': False, + 'browser_details': False, + 'incognito': False, + 'client_referrer': False, + 'components': False, + 'bot': False, + 'user_agent': False, + 'root_apps': False, + 'emulator': False, + 'ip_info': False, + 'ip_blocklist': False, + 'tor': False, + 'vpn': False, + 'proxy': False, + 'tampering': False, + 'cloned_app': False, + 'factory_reset': False, + 'jailbroken': False, + 'frida': False, + 'privacy_settings': False, + 'virtual_machine': False, + 'raw_device_attributes': False, + 'high_activity': False, + 'location_spoofing': False, + 'suspect_score': False, + 'remote_control': False, + 'velocity': False, + 'developer_tools': False + } + attribute_map = { 'request_id': 'requestId', 'url': 'url', diff --git a/fingerprint_pro_server_api_sdk/models/webhook_cloned_app.py b/fingerprint_pro_server_api_sdk/models/webhook_cloned_app.py index 2c2e83e5..f0096a83 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_cloned_app.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_cloned_app.py @@ -31,6 +31,10 @@ class WebhookClonedApp(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/webhook_developer_tools.py b/fingerprint_pro_server_api_sdk/models/webhook_developer_tools.py index c75c0695..8759c6fc 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_developer_tools.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_developer_tools.py @@ -31,6 +31,10 @@ class WebhookDeveloperTools(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/webhook_emulator.py b/fingerprint_pro_server_api_sdk/models/webhook_emulator.py index d997b7c2..b506655e 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_emulator.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_emulator.py @@ -31,6 +31,10 @@ class WebhookEmulator(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/webhook_factory_reset.py b/fingerprint_pro_server_api_sdk/models/webhook_factory_reset.py index d0c874ed..df2ae611 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_factory_reset.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_factory_reset.py @@ -33,6 +33,11 @@ class WebhookFactoryReset(BaseModel): 'timestamp': 'int' } + nullable_map = { + 'time': False, + 'timestamp': False + } + attribute_map = { 'time': 'time', 'timestamp': 'timestamp' diff --git a/fingerprint_pro_server_api_sdk/models/webhook_frida.py b/fingerprint_pro_server_api_sdk/models/webhook_frida.py index 31e65dcc..8de8c2b8 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_frida.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_frida.py @@ -31,6 +31,10 @@ class WebhookFrida(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/webhook_high_activity.py b/fingerprint_pro_server_api_sdk/models/webhook_high_activity.py index be754e4c..0a19d2a5 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_high_activity.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_high_activity.py @@ -32,6 +32,11 @@ class WebhookHighActivity(BaseModel): 'daily_requests': 'int' } + nullable_map = { + 'result': False, + 'daily_requests': False + } + attribute_map = { 'result': 'result', 'daily_requests': 'dailyRequests' diff --git a/fingerprint_pro_server_api_sdk/models/webhook_ip_blocklist.py b/fingerprint_pro_server_api_sdk/models/webhook_ip_blocklist.py index 86d2b68e..92854d34 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_ip_blocklist.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_ip_blocklist.py @@ -33,6 +33,11 @@ class WebhookIPBlocklist(BaseModel): 'details': 'IPBlocklistDetails' } + nullable_map = { + 'result': False, + 'details': False + } + attribute_map = { 'result': 'result', 'details': 'details' diff --git a/fingerprint_pro_server_api_sdk/models/webhook_ip_info.py b/fingerprint_pro_server_api_sdk/models/webhook_ip_info.py index 33ad4479..f7da18c5 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_ip_info.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_ip_info.py @@ -37,6 +37,11 @@ class WebhookIPInfo(BaseModel): 'v6': 'IPInfoV6' } + nullable_map = { + 'v4': False, + 'v6': False + } + attribute_map = { 'v4': 'v4', 'v6': 'v6' diff --git a/fingerprint_pro_server_api_sdk/models/webhook_jailbroken.py b/fingerprint_pro_server_api_sdk/models/webhook_jailbroken.py index 9af17442..fec77f9f 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_jailbroken.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_jailbroken.py @@ -31,6 +31,10 @@ class WebhookJailbroken(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/webhook_location_spoofing.py b/fingerprint_pro_server_api_sdk/models/webhook_location_spoofing.py index a0a75d23..46addf22 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_location_spoofing.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_location_spoofing.py @@ -31,6 +31,10 @@ class WebhookLocationSpoofing(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/webhook_privacy_settings.py b/fingerprint_pro_server_api_sdk/models/webhook_privacy_settings.py index 4a05f00b..060307cf 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_privacy_settings.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_privacy_settings.py @@ -31,6 +31,10 @@ class WebhookPrivacySettings(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/webhook_proxy.py b/fingerprint_pro_server_api_sdk/models/webhook_proxy.py index f1147e52..5dbb1827 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_proxy.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_proxy.py @@ -31,6 +31,10 @@ class WebhookProxy(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/webhook_raw_device_attributes.py b/fingerprint_pro_server_api_sdk/models/webhook_raw_device_attributes.py index 01c3f874..c4c42809 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_raw_device_attributes.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_raw_device_attributes.py @@ -33,6 +33,9 @@ class WebhookRawDeviceAttributes(dict): swagger_types = { } + nullable_map = { + } + attribute_map = { } diff --git a/fingerprint_pro_server_api_sdk/models/webhook_remote_control.py b/fingerprint_pro_server_api_sdk/models/webhook_remote_control.py index 4dea5c6d..3ac1f208 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_remote_control.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_remote_control.py @@ -31,6 +31,10 @@ class WebhookRemoteControl(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/webhook_root_apps.py b/fingerprint_pro_server_api_sdk/models/webhook_root_apps.py index aad1ea51..33323dce 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_root_apps.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_root_apps.py @@ -31,6 +31,10 @@ class WebhookRootApps(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/webhook_suspect_score.py b/fingerprint_pro_server_api_sdk/models/webhook_suspect_score.py index cc023f9b..f5904b72 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_suspect_score.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_suspect_score.py @@ -31,6 +31,10 @@ class WebhookSuspectScore(BaseModel): 'result': 'int' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/webhook_tampering.py b/fingerprint_pro_server_api_sdk/models/webhook_tampering.py index c60a80bf..b6981cb3 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_tampering.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_tampering.py @@ -33,6 +33,12 @@ class WebhookTampering(BaseModel): 'anti_detect_browser': 'bool' } + nullable_map = { + 'result': False, + 'anomaly_score': False, + 'anti_detect_browser': False + } + attribute_map = { 'result': 'result', 'anomaly_score': 'anomalyScore', diff --git a/fingerprint_pro_server_api_sdk/models/webhook_tor.py b/fingerprint_pro_server_api_sdk/models/webhook_tor.py index 1a0ed8ac..68de5bf4 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_tor.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_tor.py @@ -31,6 +31,10 @@ class WebhookTor(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/webhook_velocity.py b/fingerprint_pro_server_api_sdk/models/webhook_velocity.py index cd157a5c..7ed98224 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_velocity.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_velocity.py @@ -47,6 +47,16 @@ class WebhookVelocity(BaseModel): 'distinct_visitor_id_by_linked_id': 'VelocityData' } + nullable_map = { + 'distinct_ip': False, + 'distinct_linked_id': False, + 'distinct_country': False, + 'events': False, + 'ip_events': False, + 'distinct_ip_by_linked_id': False, + 'distinct_visitor_id_by_linked_id': False + } + attribute_map = { 'distinct_ip': 'distinctIp', 'distinct_linked_id': 'distinctLinkedId', diff --git a/fingerprint_pro_server_api_sdk/models/webhook_virtual_machine.py b/fingerprint_pro_server_api_sdk/models/webhook_virtual_machine.py index 9c846b59..27f458e4 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_virtual_machine.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_virtual_machine.py @@ -31,6 +31,10 @@ class WebhookVirtualMachine(BaseModel): 'result': 'bool' } + nullable_map = { + 'result': False + } + attribute_map = { 'result': 'result' } diff --git a/fingerprint_pro_server_api_sdk/models/webhook_vpn.py b/fingerprint_pro_server_api_sdk/models/webhook_vpn.py index 5e73cd70..f3a49a6d 100644 --- a/fingerprint_pro_server_api_sdk/models/webhook_vpn.py +++ b/fingerprint_pro_server_api_sdk/models/webhook_vpn.py @@ -37,6 +37,14 @@ class WebhookVPN(BaseModel): 'methods': 'VPNMethods' } + nullable_map = { + 'result': False, + 'confidence': False, + 'origin_timezone': False, + 'origin_country': False, + 'methods': False + } + attribute_map = { 'result': 'result', 'confidence': 'confidence', diff --git a/template/model.mustache b/template/model.mustache index 9863b16c..ce0672e7 100644 --- a/template/model.mustache +++ b/template/model.mustache @@ -47,6 +47,12 @@ class {{classname}}({{#parent}}{{parent}}{{/parent}}{{^parent}}BaseModel{{/paren {{/vars}} } + nullable_map = { +{{#vars}} + '{{name}}': {{#nullable}}True{{/nullable}}{{^nullable}}False{{/nullable}}{{#hasMore}},{{/hasMore}} +{{/vars}} + } + attribute_map = { {{#vars}} '{{name}}': '{{baseName}}'{{#hasMore}},{{/hasMore}} diff --git a/test/test_base_model.py b/test/test_base_model.py index 520bd6cd..e6991853 100644 --- a/test/test_base_model.py +++ b/test/test_base_model.py @@ -21,6 +21,13 @@ class ExampleModel(BaseModel): 'sub_model': 'sub_model' } + nullable_map: Dict[str, str] = { + 'name': False, + 'details': False, + 'items': False, + 'sub_model': False + } + def __init__(self, name=None, details=None, items=None, sub_model=None): self.name = name self.details = details @@ -40,6 +47,11 @@ class SubModel(BaseModel): 'value': 'value' } + nullable_map: Dict[str, str] = { + 'id': False, + 'value': False + } + def __init__(self, id=None, value=None): self.id = id self.value = value diff --git a/test/test_fingerprint_api.py b/test/test_fingerprint_api.py index fbf65e5c..ede0b5b0 100644 --- a/test/test_fingerprint_api.py +++ b/test/test_fingerprint_api.py @@ -11,8 +11,10 @@ """ import io +import json import os import unittest +from datetime import datetime import urllib3 @@ -246,6 +248,9 @@ def test_get_event_correct_data(self): preload_content=True, timeout=None) event_response = self.api.get_event(MOCK_GET_EVENT_200) + event_response_dict = event_response.to_dict() + self.assertIsNone(event_response_dict["products"]["identification"]["data"]["last_seen_at"]["_global"]) + self.assertIsNone(event_response_dict["products"]["identification"]["data"]["last_seen_at"]["subscription"]) self.assertIsInstance(event_response.products.raw_device_attributes.data, RawDeviceAttributes) def test_get_event_errors_200(self):