From ca7837d05db905c1d89d2056dec026e7fd6d33bc Mon Sep 17 00:00:00 2001 From: fern-api <115122769+fern-api[bot]@users.noreply.github.com> Date: Thu, 16 May 2024 14:30:14 +0000 Subject: [PATCH] SDK regeneration --- poetry.lock | 2 +- pyproject.toml | 2 +- src/schematic/accounts/client.py | 341 +++--- .../accounts/types/count_api_keys_params.py | 10 +- .../accounts/types/count_api_keys_response.py | 10 +- .../types/count_api_requests_params.py | 10 +- .../types/count_api_requests_response.py | 10 +- .../accounts/types/create_api_key_response.py | 10 +- .../types/create_environment_response.py | 10 +- .../accounts/types/delete_api_key_response.py | 10 +- .../types/delete_environment_response.py | 10 +- .../accounts/types/get_api_key_response.py | 10 +- .../types/get_api_request_response.py | 10 +- .../types/get_environment_response.py | 10 +- .../accounts/types/list_api_keys_params.py | 10 +- .../accounts/types/list_api_keys_response.py | 10 +- .../types/list_api_requests_params.py | 10 +- .../types/list_api_requests_response.py | 10 +- .../accounts/types/update_api_key_response.py | 10 +- .../types/update_environment_response.py | 10 +- src/schematic/billing/client.py | 81 +- .../billing/types/list_products_params.py | 10 +- .../billing/types/list_products_response.py | 10 +- .../types/upsert_billing_product_response.py | 10 +- .../upsert_billing_subscription_response.py | 10 +- src/schematic/companies/client.py | 1049 +++++++++-------- .../companies/types/count_companies_params.py | 10 +- .../types/count_companies_response.py | 10 +- .../count_entity_key_definitions_params.py | 10 +- .../count_entity_key_definitions_response.py | 10 +- .../count_entity_trait_definitions_params.py | 10 +- ...count_entity_trait_definitions_response.py | 10 +- .../companies/types/count_users_params.py | 10 +- .../companies/types/count_users_response.py | 10 +- .../types/create_company_response.py | 10 +- .../companies/types/create_user_response.py | 10 +- .../types/delete_company_by_keys_response.py | 10 +- .../delete_company_membership_response.py | 10 +- .../types/delete_company_response.py | 10 +- .../types/delete_user_by_keys_response.py | 10 +- .../companies/types/delete_user_response.py | 10 +- .../get_active_company_subscription_params.py | 10 +- ...et_active_company_subscription_response.py | 10 +- .../companies/types/get_company_response.py | 10 +- .../get_entity_trait_definition_response.py | 10 +- .../types/get_entity_trait_values_params.py | 10 +- .../types/get_entity_trait_values_response.py | 10 +- ...t_or_create_company_membership_response.py | 10 +- ...create_entity_trait_definition_response.py | 10 +- .../companies/types/get_user_response.py | 10 +- .../companies/types/list_companies_params.py | 10 +- .../types/list_companies_response.py | 10 +- .../types/list_company_memberships_params.py | 10 +- .../list_company_memberships_response.py | 10 +- .../types/list_company_plans_params.py | 10 +- .../types/list_company_plans_response.py | 10 +- .../list_entity_key_definitions_params.py | 10 +- .../list_entity_key_definitions_response.py | 10 +- .../list_entity_trait_definitions_params.py | 10 +- .../list_entity_trait_definitions_response.py | 10 +- .../companies/types/list_users_params.py | 10 +- .../companies/types/list_users_response.py | 10 +- .../companies/types/lookup_company_params.py | 10 +- .../types/lookup_company_response.py | 10 +- .../companies/types/lookup_user_params.py | 10 +- .../companies/types/lookup_user_response.py | 10 +- ...update_entity_trait_definition_response.py | 10 +- .../types/upsert_company_response.py | 10 +- .../types/upsert_company_trait_response.py | 10 +- .../companies/types/upsert_user_response.py | 10 +- .../types/upsert_user_trait_response.py | 10 +- src/schematic/core/__init__.py | 5 +- src/schematic/core/client_wrapper.py | 2 +- src/schematic/core/pydantic_utilities.py | 16 + src/schematic/core/query_encoder.py | 33 + src/schematic/entitlements/client.py | 765 ++++++------ .../types/count_company_overrides_params.py | 10 +- .../types/count_company_overrides_response.py | 10 +- .../types/count_feature_companies_params.py | 10 +- .../types/count_feature_companies_response.py | 10 +- .../types/count_feature_usage_params.py | 10 +- .../types/count_feature_usage_response.py | 10 +- .../types/count_feature_users_params.py | 10 +- .../types/count_feature_users_response.py | 10 +- .../types/count_plan_entitlements_params.py | 10 +- .../types/count_plan_entitlements_response.py | 10 +- .../types/create_company_override_response.py | 10 +- .../types/create_plan_entitlement_response.py | 10 +- .../types/delete_company_override_response.py | 10 +- .../types/delete_plan_entitlement_response.py | 10 +- .../types/get_company_override_response.py | 10 +- .../get_feature_usage_by_company_params.py | 10 +- .../get_feature_usage_by_company_response.py | 10 +- .../types/get_plan_entitlement_response.py | 10 +- .../types/list_company_overrides_params.py | 10 +- .../types/list_company_overrides_response.py | 10 +- .../types/list_feature_companies_params.py | 10 +- .../types/list_feature_companies_response.py | 10 +- .../types/list_feature_usage_params.py | 10 +- .../types/list_feature_usage_response.py | 10 +- .../types/list_feature_users_params.py | 10 +- .../types/list_feature_users_response.py | 10 +- .../types/list_plan_entitlements_params.py | 10 +- .../types/list_plan_entitlements_response.py | 10 +- .../types/update_company_override_response.py | 10 +- .../types/update_plan_entitlement_response.py | 10 +- src/schematic/events/client.py | 245 ++-- .../types/create_event_batch_response.py | 10 +- .../events/types/create_event_response.py | 10 +- .../events/types/get_event_response.py | 10 +- .../types/get_event_summaries_params.py | 10 +- .../types/get_event_summaries_response.py | 10 +- .../get_event_summary_by_subtype_response.py | 10 +- .../events/types/list_events_params.py | 10 +- .../events/types/list_events_response.py | 10 +- .../events/types/list_metric_counts_params.py | 10 +- .../types/list_metric_counts_response.py | 10 +- src/schematic/features/client.py | 621 +++++----- .../features/types/check_flag_response.py | 10 +- .../features/types/check_flags_response.py | 10 +- .../count_audience_companies_response.py | 10 +- .../types/count_audience_users_response.py | 10 +- .../features/types/count_features_params.py | 10 +- .../features/types/count_features_response.py | 10 +- .../types/count_flag_checks_params.py | 10 +- .../types/count_flag_checks_response.py | 10 +- .../features/types/count_flags_params.py | 10 +- .../features/types/count_flags_response.py | 10 +- .../features/types/create_feature_response.py | 10 +- .../features/types/create_flag_response.py | 10 +- .../features/types/delete_feature_response.py | 10 +- .../features/types/delete_flag_response.py | 10 +- .../features/types/get_feature_response.py | 10 +- .../features/types/get_flag_check_response.py | 10 +- .../features/types/get_flag_response.py | 10 +- .../types/get_latest_flag_checks_params.py | 10 +- .../types/get_latest_flag_checks_response.py | 10 +- .../types/list_audience_companies_response.py | 10 +- .../types/list_audience_users_response.py | 10 +- .../features/types/list_features_params.py | 10 +- .../features/types/list_features_response.py | 10 +- .../features/types/list_flag_checks_params.py | 10 +- .../types/list_flag_checks_response.py | 10 +- .../features/types/list_flags_params.py | 10 +- .../features/types/list_flags_response.py | 10 +- .../features/types/update_feature_response.py | 10 +- .../features/types/update_flag_response.py | 10 +- .../types/update_flag_rules_response.py | 10 +- src/schematic/plans/client.py | 213 ++-- .../plans/types/count_plans_params.py | 10 +- .../plans/types/count_plans_response.py | 10 +- .../plans/types/create_plan_response.py | 10 +- .../plans/types/delete_audience_response.py | 10 +- .../plans/types/delete_plan_response.py | 10 +- .../plans/types/get_audience_response.py | 10 +- .../plans/types/get_plan_response.py | 10 +- .../plans/types/list_plans_params.py | 10 +- .../plans/types/list_plans_response.py | 10 +- .../plans/types/update_audience_response.py | 10 +- .../plans/types/update_plan_response.py | 10 +- src/schematic/types/api_error.py | 10 +- .../types/api_key_create_response_data.py | 10 +- .../api_key_request_list_response_data.py | 10 +- .../types/api_key_request_response_data.py | 10 +- src/schematic/types/api_key_response_data.py | 10 +- src/schematic/types/audience_request_body.py | 10 +- .../types/billing_product_response_data.py | 10 +- .../billing_subscription_response_data.py | 10 +- .../types/check_flag_output_with_flag_key.py | 10 +- .../types/check_flag_request_body.py | 10 +- .../types/check_flag_response_data.py | 10 +- .../types/check_flags_response_data.py | 10 +- .../types/company_detail_response_data.py | 10 +- ...company_membership_detail_response_data.py | 10 +- .../types/company_membership_response_data.py | 10 +- .../types/company_override_response_data.py | 10 +- .../types/company_plan_response_data.py | 10 +- src/schematic/types/company_response_data.py | 10 +- .../company_subscription_response_data.py | 10 +- src/schematic/types/count_response.py | 10 +- .../types/create_event_request_body.py | 10 +- .../types/create_flag_request_body.py | 10 +- ..._or_update_condition_group_request_body.py | 10 +- ...create_or_update_condition_request_body.py | 10 +- .../create_or_update_flag_request_body.py | 10 +- .../create_or_update_rule_request_body.py | 10 +- src/schematic/types/create_req_common.py | 10 +- src/schematic/types/delete_response.py | 10 +- .../entity_key_definition_response_data.py | 10 +- .../types/entity_key_detail_response_data.py | 10 +- .../types/entity_key_response_data.py | 10 +- .../entity_trait_definition_response_data.py | 10 +- .../entity_trait_detail_response_data.py | 10 +- .../types/entity_trait_response_data.py | 10 +- src/schematic/types/entity_trait_value.py | 10 +- .../types/environment_detail_response_data.py | 10 +- .../types/environment_response_data.py | 10 +- src/schematic/types/event_body_identify.py | 10 +- .../types/event_body_identify_company.py | 10 +- src/schematic/types/event_body_track.py | 10 +- .../types/event_detail_response_data.py | 10 +- src/schematic/types/event_response_data.py | 10 +- .../types/event_summary_response_data.py | 10 +- .../types/feature_company_response_data.py | 10 +- .../feature_company_user_response_data.py | 10 +- .../types/feature_detail_response_data.py | 10 +- src/schematic/types/feature_response_data.py | 10 +- .../feature_usage_detail_response_data.py | 10 +- .../types/feature_usage_response_data.py | 10 +- .../flag_check_log_detail_response_data.py | 10 +- .../types/flag_check_log_response_data.py | 10 +- .../types/flag_detail_response_data.py | 10 +- src/schematic/types/flag_response_data.py | 10 +- src/schematic/types/keys_request_body.py | 10 +- .../metric_counts_hourly_response_data.py | 10 +- src/schematic/types/pagination_filter.py | 10 +- .../plan_audience_detail_response_data.py | 10 +- .../types/plan_audience_response_data.py | 10 +- .../types/plan_detail_response_data.py | 10 +- .../types/plan_entitlement_response_data.py | 10 +- src/schematic/types/plan_response_data.py | 10 +- src/schematic/types/preview_object.py | 10 +- .../types/raw_event_batch_response_data.py | 10 +- .../types/raw_event_response_data.py | 10 +- .../rule_condition_detail_response_data.py | 10 +- ...le_condition_group_detail_response_data.py | 10 +- .../rule_condition_group_response_data.py | 10 +- .../rule_condition_resource_response_data.py | 10 +- .../types/rule_condition_response_data.py | 10 +- .../types/rule_detail_response_data.py | 10 +- src/schematic/types/rule_response_data.py | 10 +- .../types/rules_detail_response_data.py | 10 +- src/schematic/types/update_req_common.py | 10 +- .../types/update_rule_request_body.py | 10 +- .../types/upsert_company_request_body.py | 10 +- .../types/upsert_trait_request_body.py | 10 +- .../types/upsert_user_request_body.py | 10 +- .../types/upsert_user_sub_request_body.py | 10 +- .../types/user_detail_response_data.py | 10 +- src/schematic/types/user_response_data.py | 10 +- 240 files changed, 3516 insertions(+), 2129 deletions(-) create mode 100644 src/schematic/core/query_encoder.py diff --git a/poetry.lock b/poetry.lock index 397785f..035104e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. [[package]] name = "annotated-types" diff --git a/pyproject.toml b/pyproject.toml index 9021679..16a1adf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "schematichq" -version = "0.0.6" +version = "0.0.7" description = "" readme = "README.md" authors = [] diff --git a/src/schematic/accounts/client.py b/src/schematic/accounts/client.py index a4f9c3a..43bc665 100644 --- a/src/schematic/accounts/client.py +++ b/src/schematic/accounts/client.py @@ -8,6 +8,7 @@ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper from ..core.jsonable_encoder import jsonable_encoder from ..core.pydantic_utilities import pydantic_v1 +from ..core.query_encoder import encode_query from ..core.remove_none_from_dict import remove_none_from_dict from ..core.request_options import RequestOptions from ..errors.bad_request_error import BadRequestError @@ -84,19 +85,21 @@ def list_api_keys( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api-keys"), - params=jsonable_encoder( - remove_none_from_dict( - { - "environment_id": environment_id, - "require_environment": require_environment, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "environment_id": environment_id, + "require_environment": require_environment, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -177,8 +180,10 @@ def create_api_key( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api-keys"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -253,8 +258,10 @@ def get_api_key( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"api-keys/{jsonable_encoder(api_key_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -337,8 +344,10 @@ def update_api_key( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"api-keys/{jsonable_encoder(api_key_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -415,8 +424,10 @@ def delete_api_key( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"api-keys/{jsonable_encoder(api_key_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -496,19 +507,21 @@ def count_api_keys( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api-keys/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "environment_id": environment_id, - "require_environment": require_environment, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "environment_id": environment_id, + "require_environment": require_environment, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -590,20 +603,22 @@ def list_api_requests( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api-requests"), - params=jsonable_encoder( - remove_none_from_dict( - { - "q": q, - "request_type": request_type, - "environment_id": environment_id, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "q": q, + "request_type": request_type, + "environment_id": environment_id, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -673,8 +688,10 @@ def get_api_request( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"api-requests/{jsonable_encoder(api_request_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -755,20 +772,22 @@ def count_api_requests( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api-requests/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "q": q, - "request_type": request_type, - "environment_id": environment_id, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "q": q, + "request_type": request_type, + "environment_id": environment_id, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -842,8 +861,10 @@ def create_environment( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder({"environment_type": environment_type, "name": name}) if request_options is None or request_options.get("additional_body_parameters") is None @@ -918,8 +939,10 @@ def get_environment( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"environments/{jsonable_encoder(environment_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -1002,8 +1025,10 @@ def update_environment( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"environments/{jsonable_encoder(environment_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -1080,8 +1105,10 @@ def delete_environment( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"environments/{jsonable_encoder(environment_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -1166,19 +1193,21 @@ async def list_api_keys( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api-keys"), - params=jsonable_encoder( - remove_none_from_dict( - { - "environment_id": environment_id, - "require_environment": require_environment, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "environment_id": environment_id, + "require_environment": require_environment, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1259,8 +1288,10 @@ async def create_api_key( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api-keys"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -1335,8 +1366,10 @@ async def get_api_key( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"api-keys/{jsonable_encoder(api_key_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -1419,8 +1452,10 @@ async def update_api_key( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"api-keys/{jsonable_encoder(api_key_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -1497,8 +1532,10 @@ async def delete_api_key( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"api-keys/{jsonable_encoder(api_key_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -1578,19 +1615,21 @@ async def count_api_keys( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api-keys/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "environment_id": environment_id, - "require_environment": require_environment, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "environment_id": environment_id, + "require_environment": require_environment, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1672,20 +1711,22 @@ async def list_api_requests( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api-requests"), - params=jsonable_encoder( - remove_none_from_dict( - { - "q": q, - "request_type": request_type, - "environment_id": environment_id, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "q": q, + "request_type": request_type, + "environment_id": environment_id, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1755,8 +1796,10 @@ async def get_api_request( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"api-requests/{jsonable_encoder(api_request_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -1837,20 +1880,22 @@ async def count_api_requests( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api-requests/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "q": q, - "request_type": request_type, - "environment_id": environment_id, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "q": q, + "request_type": request_type, + "environment_id": environment_id, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1924,8 +1969,10 @@ async def create_environment( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder({"environment_type": environment_type, "name": name}) if request_options is None or request_options.get("additional_body_parameters") is None @@ -2000,8 +2047,10 @@ async def get_environment( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"environments/{jsonable_encoder(environment_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -2084,8 +2133,10 @@ async def update_environment( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"environments/{jsonable_encoder(environment_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -2162,8 +2213,10 @@ async def delete_environment( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"environments/{jsonable_encoder(environment_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( diff --git a/src/schematic/accounts/types/count_api_keys_params.py b/src/schematic/accounts/types/count_api_keys_params.py index 3fdfe79..22d2ed9 100644 --- a/src/schematic/accounts/types/count_api_keys_params.py +++ b/src/schematic/accounts/types/count_api_keys_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CountApiKeysParams(pydantic_v1.BaseModel): @@ -22,8 +22,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/accounts/types/count_api_keys_response.py b/src/schematic/accounts/types/count_api_keys_response.py index 3d1537b..f902987 100644 --- a/src/schematic/accounts/types/count_api_keys_response.py +++ b/src/schematic/accounts/types/count_api_keys_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.count_response import CountResponse from .count_api_keys_params import CountApiKeysParams @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/accounts/types/count_api_requests_params.py b/src/schematic/accounts/types/count_api_requests_params.py index 8ab22ae..e8af850 100644 --- a/src/schematic/accounts/types/count_api_requests_params.py +++ b/src/schematic/accounts/types/count_api_requests_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CountApiRequestsParams(pydantic_v1.BaseModel): @@ -23,8 +23,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/accounts/types/count_api_requests_response.py b/src/schematic/accounts/types/count_api_requests_response.py index 4e46539..30d37c8 100644 --- a/src/schematic/accounts/types/count_api_requests_response.py +++ b/src/schematic/accounts/types/count_api_requests_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.count_response import CountResponse from .count_api_requests_params import CountApiRequestsParams @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/accounts/types/create_api_key_response.py b/src/schematic/accounts/types/create_api_key_response.py index 8cb028b..4f99434 100644 --- a/src/schematic/accounts/types/create_api_key_response.py +++ b/src/schematic/accounts/types/create_api_key_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.api_key_create_response_data import ApiKeyCreateResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/accounts/types/create_environment_response.py b/src/schematic/accounts/types/create_environment_response.py index 944f44f..4b48f36 100644 --- a/src/schematic/accounts/types/create_environment_response.py +++ b/src/schematic/accounts/types/create_environment_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.environment_detail_response_data import EnvironmentDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/accounts/types/delete_api_key_response.py b/src/schematic/accounts/types/delete_api_key_response.py index 34b157d..8b2f065 100644 --- a/src/schematic/accounts/types/delete_api_key_response.py +++ b/src/schematic/accounts/types/delete_api_key_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.delete_response import DeleteResponse @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/accounts/types/delete_environment_response.py b/src/schematic/accounts/types/delete_environment_response.py index 1301fb3..1986f00 100644 --- a/src/schematic/accounts/types/delete_environment_response.py +++ b/src/schematic/accounts/types/delete_environment_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.delete_response import DeleteResponse @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/accounts/types/get_api_key_response.py b/src/schematic/accounts/types/get_api_key_response.py index d398b0d..60ae517 100644 --- a/src/schematic/accounts/types/get_api_key_response.py +++ b/src/schematic/accounts/types/get_api_key_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.api_key_response_data import ApiKeyResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/accounts/types/get_api_request_response.py b/src/schematic/accounts/types/get_api_request_response.py index 29449c4..9f38387 100644 --- a/src/schematic/accounts/types/get_api_request_response.py +++ b/src/schematic/accounts/types/get_api_request_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.api_key_request_response_data import ApiKeyRequestResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/accounts/types/get_environment_response.py b/src/schematic/accounts/types/get_environment_response.py index 1fd9959..da4b451 100644 --- a/src/schematic/accounts/types/get_environment_response.py +++ b/src/schematic/accounts/types/get_environment_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.environment_response_data import EnvironmentResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/accounts/types/list_api_keys_params.py b/src/schematic/accounts/types/list_api_keys_params.py index ee99fa0..0b8e538 100644 --- a/src/schematic/accounts/types/list_api_keys_params.py +++ b/src/schematic/accounts/types/list_api_keys_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListApiKeysParams(pydantic_v1.BaseModel): @@ -22,8 +22,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/accounts/types/list_api_keys_response.py b/src/schematic/accounts/types/list_api_keys_response.py index b3db6ee..a0effed 100644 --- a/src/schematic/accounts/types/list_api_keys_response.py +++ b/src/schematic/accounts/types/list_api_keys_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.api_key_response_data import ApiKeyResponseData from .list_api_keys_params import ListApiKeysParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/accounts/types/list_api_requests_params.py b/src/schematic/accounts/types/list_api_requests_params.py index 0ef25e1..a5513f6 100644 --- a/src/schematic/accounts/types/list_api_requests_params.py +++ b/src/schematic/accounts/types/list_api_requests_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListApiRequestsParams(pydantic_v1.BaseModel): @@ -23,8 +23,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/accounts/types/list_api_requests_response.py b/src/schematic/accounts/types/list_api_requests_response.py index c88232c..07d25e5 100644 --- a/src/schematic/accounts/types/list_api_requests_response.py +++ b/src/schematic/accounts/types/list_api_requests_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.api_key_request_list_response_data import ApiKeyRequestListResponseData from .list_api_requests_params import ListApiRequestsParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/accounts/types/update_api_key_response.py b/src/schematic/accounts/types/update_api_key_response.py index bb4920f..b46acab 100644 --- a/src/schematic/accounts/types/update_api_key_response.py +++ b/src/schematic/accounts/types/update_api_key_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.api_key_response_data import ApiKeyResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/accounts/types/update_environment_response.py b/src/schematic/accounts/types/update_environment_response.py index c6b0b7e..acb6a29 100644 --- a/src/schematic/accounts/types/update_environment_response.py +++ b/src/schematic/accounts/types/update_environment_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.environment_response_data import EnvironmentResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/billing/client.py b/src/schematic/billing/client.py index e871a65..57cd801 100644 --- a/src/schematic/billing/client.py +++ b/src/schematic/billing/client.py @@ -9,6 +9,7 @@ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper from ..core.jsonable_encoder import jsonable_encoder from ..core.pydantic_utilities import pydantic_v1 +from ..core.query_encoder import encode_query from ..core.remove_none_from_dict import remove_none_from_dict from ..core.request_options import RequestOptions from ..errors.bad_request_error import BadRequestError @@ -77,8 +78,10 @@ def upsert_billing_product( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "billing/product/upsert"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder( {"currency": currency, "external_id": external_id, "name": name, "price": price, "quantity": quantity} @@ -172,19 +175,21 @@ def list_products( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "billing/products"), - params=jsonable_encoder( - remove_none_from_dict( - { - "ids": ids, - "name": name, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "ids": ids, + "name": name, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -270,8 +275,10 @@ def upsert_billing_subscription( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "billing/subscription/upsert"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder( { @@ -381,8 +388,10 @@ async def upsert_billing_product( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "billing/product/upsert"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder( {"currency": currency, "external_id": external_id, "name": name, "price": price, "quantity": quantity} @@ -476,19 +485,21 @@ async def list_products( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "billing/products"), - params=jsonable_encoder( - remove_none_from_dict( - { - "ids": ids, - "name": name, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "ids": ids, + "name": name, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -574,8 +585,10 @@ async def upsert_billing_subscription( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "billing/subscription/upsert"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder( { diff --git a/src/schematic/billing/types/list_products_params.py b/src/schematic/billing/types/list_products_params.py index 86b1fc7..67a1ec5 100644 --- a/src/schematic/billing/types/list_products_params.py +++ b/src/schematic/billing/types/list_products_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListProductsParams(pydantic_v1.BaseModel): @@ -22,8 +22,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/billing/types/list_products_response.py b/src/schematic/billing/types/list_products_response.py index cffd314..094d35b 100644 --- a/src/schematic/billing/types/list_products_response.py +++ b/src/schematic/billing/types/list_products_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.billing_product_response_data import BillingProductResponseData from .list_products_params import ListProductsParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/billing/types/upsert_billing_product_response.py b/src/schematic/billing/types/upsert_billing_product_response.py index cae4e9e..35fdfeb 100644 --- a/src/schematic/billing/types/upsert_billing_product_response.py +++ b/src/schematic/billing/types/upsert_billing_product_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.billing_product_response_data import BillingProductResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/billing/types/upsert_billing_subscription_response.py b/src/schematic/billing/types/upsert_billing_subscription_response.py index 92281e7..28a3941 100644 --- a/src/schematic/billing/types/upsert_billing_subscription_response.py +++ b/src/schematic/billing/types/upsert_billing_subscription_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.billing_subscription_response_data import BillingSubscriptionResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/client.py b/src/schematic/companies/client.py index cdb66db..0bdeae8 100644 --- a/src/schematic/companies/client.py +++ b/src/schematic/companies/client.py @@ -9,6 +9,7 @@ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper from ..core.jsonable_encoder import jsonable_encoder from ..core.pydantic_utilities import pydantic_v1 +from ..core.query_encoder import encode_query from ..core.remove_none_from_dict import remove_none_from_dict from ..core.request_options import RequestOptions from ..errors.bad_request_error import BadRequestError @@ -116,21 +117,23 @@ def list_companies( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "companies"), - params=jsonable_encoder( - remove_none_from_dict( - { - "ids": ids, - "plan_id": plan_id, - "q": q, - "without_feature_override_for": without_feature_override_for, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "ids": ids, + "plan_id": plan_id, + "q": q, + "without_feature_override_for": without_feature_override_for, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -227,8 +230,10 @@ def upsert_company( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "companies"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -303,8 +308,10 @@ def get_company( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"companies/{jsonable_encoder(company_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -373,8 +380,10 @@ def delete_company( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"companies/{jsonable_encoder(company_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -460,21 +469,23 @@ def count_companies( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "companies/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "ids": ids, - "plan_id": plan_id, - "q": q, - "without_feature_override_for": without_feature_override_for, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "ids": ids, + "plan_id": plan_id, + "q": q, + "without_feature_override_for": without_feature_override_for, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -571,8 +582,10 @@ def create_company( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "companies/create"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -645,8 +658,10 @@ def delete_company_by_keys( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "companies/delete"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -719,16 +734,18 @@ def lookup_company( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "companies/lookup"), - params=jsonable_encoder( - remove_none_from_dict( - { - "keys": jsonable_encoder(keys), - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "keys": jsonable_encoder(keys), + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -807,19 +824,21 @@ def list_company_memberships( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "company-memberships"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "user_id": user_id, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "user_id": user_id, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -889,8 +908,10 @@ def get_or_create_company_membership( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "company-memberships"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder({"company_id": company_id, "user_id": user_id}) if request_options is None or request_options.get("additional_body_parameters") is None @@ -966,8 +987,10 @@ def delete_company_membership( f"{self._client_wrapper.get_base_url()}/", f"company-memberships/{jsonable_encoder(company_membership_id)}", ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -1045,19 +1068,21 @@ def list_company_plans( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "company-plans"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "plan_id": plan_id, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "plan_id": plan_id, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1135,18 +1160,20 @@ def get_active_company_subscription( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "company-subscriptions"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1189,7 +1216,7 @@ def upsert_company_trait( keys: typing.Dict[str, typing.Any], trait: str, incr: typing.Optional[int] = OMIT, - set: typing.Optional[str] = OMIT, + set_: typing.Optional[str] = OMIT, update_only: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> UpsertCompanyTraitResponse: @@ -1205,7 +1232,7 @@ def upsert_company_trait( incr : typing.Optional[int] Amount to increment the trait by (positive or negative) - set : typing.Optional[str] + set_ : typing.Optional[str] Value to set the trait to update_only : typing.Optional[bool] @@ -1234,15 +1261,17 @@ def upsert_company_trait( _request: typing.Dict[str, typing.Any] = {"keys": keys, "trait": trait} if incr is not OMIT: _request["incr"] = incr - if set is not OMIT: - _request["set"] = set + if set_ is not OMIT: + _request["set"] = set_ if update_only is not OMIT: _request["update_only"] = update_only _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "company-traits"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -1329,20 +1358,22 @@ def list_entity_key_definitions( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "entity-key-definitions"), - params=jsonable_encoder( - remove_none_from_dict( - { - "entity_type": entity_type, - "ids": ids, - "key": key, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "entity_type": entity_type, + "ids": ids, + "key": key, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1424,20 +1455,22 @@ def count_entity_key_definitions( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "entity-key-definitions/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "entity_type": entity_type, - "ids": ids, - "key": key, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "entity_type": entity_type, + "ids": ids, + "key": key, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1522,21 +1555,23 @@ def list_entity_trait_definitions( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "entity-trait-definitions"), - params=jsonable_encoder( - remove_none_from_dict( - { - "entity_type": entity_type, - "ids": ids, - "trait_type": trait_type, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "entity_type": entity_type, + "ids": ids, + "trait_type": trait_type, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1624,8 +1659,10 @@ def get_or_create_entity_trait_definition( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "entity-trait-definitions"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -1701,8 +1738,10 @@ def get_entity_trait_definition( f"{self._client_wrapper.get_base_url()}/", f"entity-trait-definitions/{jsonable_encoder(entity_trait_definition_id)}", ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -1785,8 +1824,10 @@ def update_entity_trait_definition( f"{self._client_wrapper.get_base_url()}/", f"entity-trait-definitions/{jsonable_encoder(entity_trait_definition_id)}", ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -1878,21 +1919,23 @@ def count_entity_trait_definitions( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "entity-trait-definitions/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "entity_type": entity_type, - "ids": ids, - "trait_type": trait_type, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "entity_type": entity_type, + "ids": ids, + "trait_type": trait_type, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1973,19 +2016,21 @@ def get_entity_trait_values( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "entity-trait-values"), - params=jsonable_encoder( - remove_none_from_dict( - { - "definition_id": definition_id, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "definition_id": definition_id, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -2028,7 +2073,7 @@ def upsert_user_trait( keys: typing.Dict[str, typing.Any], trait: str, incr: typing.Optional[int] = OMIT, - set: typing.Optional[str] = OMIT, + set_: typing.Optional[str] = OMIT, update_only: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> UpsertUserTraitResponse: @@ -2044,7 +2089,7 @@ def upsert_user_trait( incr : typing.Optional[int] Amount to increment the trait by (positive or negative) - set : typing.Optional[str] + set_ : typing.Optional[str] Value to set the trait to update_only : typing.Optional[bool] @@ -2073,15 +2118,17 @@ def upsert_user_trait( _request: typing.Dict[str, typing.Any] = {"keys": keys, "trait": trait} if incr is not OMIT: _request["incr"] = incr - if set is not OMIT: - _request["set"] = set + if set_ is not OMIT: + _request["set"] = set_ if update_only is not OMIT: _request["update_only"] = update_only _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "user-traits"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -2172,21 +2219,23 @@ def list_users( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "users"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "ids": ids, - "plan_id": plan_id, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "ids": ids, + "plan_id": plan_id, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -2289,8 +2338,10 @@ def upsert_user( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "users"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -2361,8 +2412,10 @@ def get_user(self, user_id: str, *, request_options: typing.Optional[RequestOpti _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"users/{jsonable_encoder(user_id)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -2429,8 +2482,10 @@ def delete_user( _response = self._client_wrapper.httpx_client.request( method="DELETE", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"users/{jsonable_encoder(user_id)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -2515,21 +2570,23 @@ def count_users( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "users/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "ids": ids, - "plan_id": plan_id, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "ids": ids, + "plan_id": plan_id, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -2632,8 +2689,10 @@ def create_user( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "users/create"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -2706,8 +2765,10 @@ def delete_user_by_keys( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "users/delete"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -2780,16 +2841,18 @@ def lookup_user( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "users/lookup"), - params=jsonable_encoder( - remove_none_from_dict( - { - "keys": jsonable_encoder(keys), - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "keys": jsonable_encoder(keys), + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -2881,21 +2944,23 @@ async def list_companies( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "companies"), - params=jsonable_encoder( - remove_none_from_dict( - { - "ids": ids, - "plan_id": plan_id, - "q": q, - "without_feature_override_for": without_feature_override_for, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "ids": ids, + "plan_id": plan_id, + "q": q, + "without_feature_override_for": without_feature_override_for, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -2992,8 +3057,10 @@ async def upsert_company( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "companies"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -3068,8 +3135,10 @@ async def get_company( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"companies/{jsonable_encoder(company_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -3138,8 +3207,10 @@ async def delete_company( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"companies/{jsonable_encoder(company_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -3225,21 +3296,23 @@ async def count_companies( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "companies/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "ids": ids, - "plan_id": plan_id, - "q": q, - "without_feature_override_for": without_feature_override_for, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "ids": ids, + "plan_id": plan_id, + "q": q, + "without_feature_override_for": without_feature_override_for, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -3336,8 +3409,10 @@ async def create_company( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "companies/create"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -3410,8 +3485,10 @@ async def delete_company_by_keys( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "companies/delete"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -3484,16 +3561,18 @@ async def lookup_company( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "companies/lookup"), - params=jsonable_encoder( - remove_none_from_dict( - { - "keys": jsonable_encoder(keys), - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "keys": jsonable_encoder(keys), + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -3572,19 +3651,21 @@ async def list_company_memberships( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "company-memberships"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "user_id": user_id, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "user_id": user_id, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -3654,8 +3735,10 @@ async def get_or_create_company_membership( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "company-memberships"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder({"company_id": company_id, "user_id": user_id}) if request_options is None or request_options.get("additional_body_parameters") is None @@ -3731,8 +3814,10 @@ async def delete_company_membership( f"{self._client_wrapper.get_base_url()}/", f"company-memberships/{jsonable_encoder(company_membership_id)}", ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -3810,19 +3895,21 @@ async def list_company_plans( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "company-plans"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "plan_id": plan_id, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "plan_id": plan_id, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -3900,18 +3987,20 @@ async def get_active_company_subscription( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "company-subscriptions"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -3954,7 +4043,7 @@ async def upsert_company_trait( keys: typing.Dict[str, typing.Any], trait: str, incr: typing.Optional[int] = OMIT, - set: typing.Optional[str] = OMIT, + set_: typing.Optional[str] = OMIT, update_only: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> UpsertCompanyTraitResponse: @@ -3970,7 +4059,7 @@ async def upsert_company_trait( incr : typing.Optional[int] Amount to increment the trait by (positive or negative) - set : typing.Optional[str] + set_ : typing.Optional[str] Value to set the trait to update_only : typing.Optional[bool] @@ -3999,15 +4088,17 @@ async def upsert_company_trait( _request: typing.Dict[str, typing.Any] = {"keys": keys, "trait": trait} if incr is not OMIT: _request["incr"] = incr - if set is not OMIT: - _request["set"] = set + if set_ is not OMIT: + _request["set"] = set_ if update_only is not OMIT: _request["update_only"] = update_only _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "company-traits"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -4094,20 +4185,22 @@ async def list_entity_key_definitions( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "entity-key-definitions"), - params=jsonable_encoder( - remove_none_from_dict( - { - "entity_type": entity_type, - "ids": ids, - "key": key, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "entity_type": entity_type, + "ids": ids, + "key": key, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -4189,20 +4282,22 @@ async def count_entity_key_definitions( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "entity-key-definitions/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "entity_type": entity_type, - "ids": ids, - "key": key, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "entity_type": entity_type, + "ids": ids, + "key": key, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -4287,21 +4382,23 @@ async def list_entity_trait_definitions( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "entity-trait-definitions"), - params=jsonable_encoder( - remove_none_from_dict( - { - "entity_type": entity_type, - "ids": ids, - "trait_type": trait_type, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "entity_type": entity_type, + "ids": ids, + "trait_type": trait_type, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -4389,8 +4486,10 @@ async def get_or_create_entity_trait_definition( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "entity-trait-definitions"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -4466,8 +4565,10 @@ async def get_entity_trait_definition( f"{self._client_wrapper.get_base_url()}/", f"entity-trait-definitions/{jsonable_encoder(entity_trait_definition_id)}", ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -4550,8 +4651,10 @@ async def update_entity_trait_definition( f"{self._client_wrapper.get_base_url()}/", f"entity-trait-definitions/{jsonable_encoder(entity_trait_definition_id)}", ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -4643,21 +4746,23 @@ async def count_entity_trait_definitions( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "entity-trait-definitions/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "entity_type": entity_type, - "ids": ids, - "trait_type": trait_type, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "entity_type": entity_type, + "ids": ids, + "trait_type": trait_type, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -4738,19 +4843,21 @@ async def get_entity_trait_values( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "entity-trait-values"), - params=jsonable_encoder( - remove_none_from_dict( - { - "definition_id": definition_id, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "definition_id": definition_id, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -4793,7 +4900,7 @@ async def upsert_user_trait( keys: typing.Dict[str, typing.Any], trait: str, incr: typing.Optional[int] = OMIT, - set: typing.Optional[str] = OMIT, + set_: typing.Optional[str] = OMIT, update_only: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> UpsertUserTraitResponse: @@ -4809,7 +4916,7 @@ async def upsert_user_trait( incr : typing.Optional[int] Amount to increment the trait by (positive or negative) - set : typing.Optional[str] + set_ : typing.Optional[str] Value to set the trait to update_only : typing.Optional[bool] @@ -4838,15 +4945,17 @@ async def upsert_user_trait( _request: typing.Dict[str, typing.Any] = {"keys": keys, "trait": trait} if incr is not OMIT: _request["incr"] = incr - if set is not OMIT: - _request["set"] = set + if set_ is not OMIT: + _request["set"] = set_ if update_only is not OMIT: _request["update_only"] = update_only _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "user-traits"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -4937,21 +5046,23 @@ async def list_users( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "users"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "ids": ids, - "plan_id": plan_id, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "ids": ids, + "plan_id": plan_id, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -5054,8 +5165,10 @@ async def upsert_user( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "users"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -5128,8 +5241,10 @@ async def get_user( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"users/{jsonable_encoder(user_id)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -5196,8 +5311,10 @@ async def delete_user( _response = await self._client_wrapper.httpx_client.request( method="DELETE", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"users/{jsonable_encoder(user_id)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -5282,21 +5399,23 @@ async def count_users( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "users/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "ids": ids, - "plan_id": plan_id, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "ids": ids, + "plan_id": plan_id, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -5399,8 +5518,10 @@ async def create_user( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "users/create"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -5473,8 +5594,10 @@ async def delete_user_by_keys( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "users/delete"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -5547,16 +5670,18 @@ async def lookup_user( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "users/lookup"), - params=jsonable_encoder( - remove_none_from_dict( - { - "keys": jsonable_encoder(keys), - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "keys": jsonable_encoder(keys), + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( diff --git a/src/schematic/companies/types/count_companies_params.py b/src/schematic/companies/types/count_companies_params.py index 7093cae..90b5844 100644 --- a/src/schematic/companies/types/count_companies_params.py +++ b/src/schematic/companies/types/count_companies_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CountCompaniesParams(pydantic_v1.BaseModel): @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/count_companies_response.py b/src/schematic/companies/types/count_companies_response.py index ea649ef..fc84ace 100644 --- a/src/schematic/companies/types/count_companies_response.py +++ b/src/schematic/companies/types/count_companies_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.count_response import CountResponse from .count_companies_params import CountCompaniesParams @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/count_entity_key_definitions_params.py b/src/schematic/companies/types/count_entity_key_definitions_params.py index bd5bc50..9c207d2 100644 --- a/src/schematic/companies/types/count_entity_key_definitions_params.py +++ b/src/schematic/companies/types/count_entity_key_definitions_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CountEntityKeyDefinitionsParams(pydantic_v1.BaseModel): @@ -23,8 +23,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/count_entity_key_definitions_response.py b/src/schematic/companies/types/count_entity_key_definitions_response.py index b2db057..bc7e71b 100644 --- a/src/schematic/companies/types/count_entity_key_definitions_response.py +++ b/src/schematic/companies/types/count_entity_key_definitions_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.count_response import CountResponse from .count_entity_key_definitions_params import CountEntityKeyDefinitionsParams @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/count_entity_trait_definitions_params.py b/src/schematic/companies/types/count_entity_trait_definitions_params.py index 93d4915..af2c1fe 100644 --- a/src/schematic/companies/types/count_entity_trait_definitions_params.py +++ b/src/schematic/companies/types/count_entity_trait_definitions_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CountEntityTraitDefinitionsParams(pydantic_v1.BaseModel): @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/count_entity_trait_definitions_response.py b/src/schematic/companies/types/count_entity_trait_definitions_response.py index 473841b..5ea8921 100644 --- a/src/schematic/companies/types/count_entity_trait_definitions_response.py +++ b/src/schematic/companies/types/count_entity_trait_definitions_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.count_response import CountResponse from .count_entity_trait_definitions_params import CountEntityTraitDefinitionsParams @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/count_users_params.py b/src/schematic/companies/types/count_users_params.py index 4165ecd..bb4de7b 100644 --- a/src/schematic/companies/types/count_users_params.py +++ b/src/schematic/companies/types/count_users_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CountUsersParams(pydantic_v1.BaseModel): @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/count_users_response.py b/src/schematic/companies/types/count_users_response.py index fea7ecc..0edfb85 100644 --- a/src/schematic/companies/types/count_users_response.py +++ b/src/schematic/companies/types/count_users_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.count_response import CountResponse from .count_users_params import CountUsersParams @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/create_company_response.py b/src/schematic/companies/types/create_company_response.py index 284f728..3c51efe 100644 --- a/src/schematic/companies/types/create_company_response.py +++ b/src/schematic/companies/types/create_company_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.company_detail_response_data import CompanyDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/create_user_response.py b/src/schematic/companies/types/create_user_response.py index cb991b8..47e26eb 100644 --- a/src/schematic/companies/types/create_user_response.py +++ b/src/schematic/companies/types/create_user_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.user_detail_response_data import UserDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/delete_company_by_keys_response.py b/src/schematic/companies/types/delete_company_by_keys_response.py index 657a2fe..2c0e9cd 100644 --- a/src/schematic/companies/types/delete_company_by_keys_response.py +++ b/src/schematic/companies/types/delete_company_by_keys_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.company_response_data import CompanyResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/delete_company_membership_response.py b/src/schematic/companies/types/delete_company_membership_response.py index 86246b7..70c10cd 100644 --- a/src/schematic/companies/types/delete_company_membership_response.py +++ b/src/schematic/companies/types/delete_company_membership_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.delete_response import DeleteResponse @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/delete_company_response.py b/src/schematic/companies/types/delete_company_response.py index 957dbe1..8a0fc6c 100644 --- a/src/schematic/companies/types/delete_company_response.py +++ b/src/schematic/companies/types/delete_company_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.delete_response import DeleteResponse @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/delete_user_by_keys_response.py b/src/schematic/companies/types/delete_user_by_keys_response.py index b0fefa7..202ba59 100644 --- a/src/schematic/companies/types/delete_user_by_keys_response.py +++ b/src/schematic/companies/types/delete_user_by_keys_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.user_response_data import UserResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/delete_user_response.py b/src/schematic/companies/types/delete_user_response.py index 92ba93a..87e075b 100644 --- a/src/schematic/companies/types/delete_user_response.py +++ b/src/schematic/companies/types/delete_user_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.delete_response import DeleteResponse @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/get_active_company_subscription_params.py b/src/schematic/companies/types/get_active_company_subscription_params.py index e076afb..cb869f2 100644 --- a/src/schematic/companies/types/get_active_company_subscription_params.py +++ b/src/schematic/companies/types/get_active_company_subscription_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class GetActiveCompanySubscriptionParams(pydantic_v1.BaseModel): @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/get_active_company_subscription_response.py b/src/schematic/companies/types/get_active_company_subscription_response.py index 71796d2..21df1ec 100644 --- a/src/schematic/companies/types/get_active_company_subscription_response.py +++ b/src/schematic/companies/types/get_active_company_subscription_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.company_subscription_response_data import CompanySubscriptionResponseData from .get_active_company_subscription_params import GetActiveCompanySubscriptionParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/get_company_response.py b/src/schematic/companies/types/get_company_response.py index f4850b8..10d62fa 100644 --- a/src/schematic/companies/types/get_company_response.py +++ b/src/schematic/companies/types/get_company_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.company_detail_response_data import CompanyDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/get_entity_trait_definition_response.py b/src/schematic/companies/types/get_entity_trait_definition_response.py index 9b008be..1f7d6d3 100644 --- a/src/schematic/companies/types/get_entity_trait_definition_response.py +++ b/src/schematic/companies/types/get_entity_trait_definition_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.entity_trait_definition_response_data import EntityTraitDefinitionResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/get_entity_trait_values_params.py b/src/schematic/companies/types/get_entity_trait_values_params.py index 063dd88..3035d50 100644 --- a/src/schematic/companies/types/get_entity_trait_values_params.py +++ b/src/schematic/companies/types/get_entity_trait_values_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class GetEntityTraitValuesParams(pydantic_v1.BaseModel): @@ -22,8 +22,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/get_entity_trait_values_response.py b/src/schematic/companies/types/get_entity_trait_values_response.py index 9460a76..7673b73 100644 --- a/src/schematic/companies/types/get_entity_trait_values_response.py +++ b/src/schematic/companies/types/get_entity_trait_values_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.entity_trait_value import EntityTraitValue from .get_entity_trait_values_params import GetEntityTraitValuesParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/get_or_create_company_membership_response.py b/src/schematic/companies/types/get_or_create_company_membership_response.py index 51dcc50..11ec13d 100644 --- a/src/schematic/companies/types/get_or_create_company_membership_response.py +++ b/src/schematic/companies/types/get_or_create_company_membership_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.company_membership_detail_response_data import CompanyMembershipDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/get_or_create_entity_trait_definition_response.py b/src/schematic/companies/types/get_or_create_entity_trait_definition_response.py index 2d1adab..fcb124c 100644 --- a/src/schematic/companies/types/get_or_create_entity_trait_definition_response.py +++ b/src/schematic/companies/types/get_or_create_entity_trait_definition_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.entity_trait_definition_response_data import EntityTraitDefinitionResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/get_user_response.py b/src/schematic/companies/types/get_user_response.py index fa27768..e87d8f8 100644 --- a/src/schematic/companies/types/get_user_response.py +++ b/src/schematic/companies/types/get_user_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.user_detail_response_data import UserDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/list_companies_params.py b/src/schematic/companies/types/list_companies_params.py index c0d9292..88dee2a 100644 --- a/src/schematic/companies/types/list_companies_params.py +++ b/src/schematic/companies/types/list_companies_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListCompaniesParams(pydantic_v1.BaseModel): @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/list_companies_response.py b/src/schematic/companies/types/list_companies_response.py index f9aa237..19cbe1e 100644 --- a/src/schematic/companies/types/list_companies_response.py +++ b/src/schematic/companies/types/list_companies_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.company_detail_response_data import CompanyDetailResponseData from .list_companies_params import ListCompaniesParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/list_company_memberships_params.py b/src/schematic/companies/types/list_company_memberships_params.py index d617071..ecb39cb 100644 --- a/src/schematic/companies/types/list_company_memberships_params.py +++ b/src/schematic/companies/types/list_company_memberships_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListCompanyMembershipsParams(pydantic_v1.BaseModel): @@ -22,8 +22,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/list_company_memberships_response.py b/src/schematic/companies/types/list_company_memberships_response.py index 2bdc56e..3053403 100644 --- a/src/schematic/companies/types/list_company_memberships_response.py +++ b/src/schematic/companies/types/list_company_memberships_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.company_membership_detail_response_data import CompanyMembershipDetailResponseData from .list_company_memberships_params import ListCompanyMembershipsParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/list_company_plans_params.py b/src/schematic/companies/types/list_company_plans_params.py index ea3136f..0f4e8d4 100644 --- a/src/schematic/companies/types/list_company_plans_params.py +++ b/src/schematic/companies/types/list_company_plans_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListCompanyPlansParams(pydantic_v1.BaseModel): @@ -22,8 +22,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/list_company_plans_response.py b/src/schematic/companies/types/list_company_plans_response.py index 43bfbcf..fdba27c 100644 --- a/src/schematic/companies/types/list_company_plans_response.py +++ b/src/schematic/companies/types/list_company_plans_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.company_plan_response_data import CompanyPlanResponseData from .list_company_plans_params import ListCompanyPlansParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/list_entity_key_definitions_params.py b/src/schematic/companies/types/list_entity_key_definitions_params.py index ec14f46..cadda77 100644 --- a/src/schematic/companies/types/list_entity_key_definitions_params.py +++ b/src/schematic/companies/types/list_entity_key_definitions_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListEntityKeyDefinitionsParams(pydantic_v1.BaseModel): @@ -23,8 +23,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/list_entity_key_definitions_response.py b/src/schematic/companies/types/list_entity_key_definitions_response.py index 382be0b..c3e2a5f 100644 --- a/src/schematic/companies/types/list_entity_key_definitions_response.py +++ b/src/schematic/companies/types/list_entity_key_definitions_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.entity_key_definition_response_data import EntityKeyDefinitionResponseData from .list_entity_key_definitions_params import ListEntityKeyDefinitionsParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/list_entity_trait_definitions_params.py b/src/schematic/companies/types/list_entity_trait_definitions_params.py index 36f8947..983c890 100644 --- a/src/schematic/companies/types/list_entity_trait_definitions_params.py +++ b/src/schematic/companies/types/list_entity_trait_definitions_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListEntityTraitDefinitionsParams(pydantic_v1.BaseModel): @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/list_entity_trait_definitions_response.py b/src/schematic/companies/types/list_entity_trait_definitions_response.py index 92c85a1..5cd035b 100644 --- a/src/schematic/companies/types/list_entity_trait_definitions_response.py +++ b/src/schematic/companies/types/list_entity_trait_definitions_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.entity_trait_definition_response_data import EntityTraitDefinitionResponseData from .list_entity_trait_definitions_params import ListEntityTraitDefinitionsParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/list_users_params.py b/src/schematic/companies/types/list_users_params.py index 073aa1a..a7cb520 100644 --- a/src/schematic/companies/types/list_users_params.py +++ b/src/schematic/companies/types/list_users_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListUsersParams(pydantic_v1.BaseModel): @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/list_users_response.py b/src/schematic/companies/types/list_users_response.py index 28e1326..8d8e720 100644 --- a/src/schematic/companies/types/list_users_response.py +++ b/src/schematic/companies/types/list_users_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.user_detail_response_data import UserDetailResponseData from .list_users_params import ListUsersParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/lookup_company_params.py b/src/schematic/companies/types/lookup_company_params.py index 85abc0a..227ed12 100644 --- a/src/schematic/companies/types/lookup_company_params.py +++ b/src/schematic/companies/types/lookup_company_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class LookupCompanyParams(pydantic_v1.BaseModel): @@ -19,8 +19,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/lookup_company_response.py b/src/schematic/companies/types/lookup_company_response.py index 385e020..897d7c5 100644 --- a/src/schematic/companies/types/lookup_company_response.py +++ b/src/schematic/companies/types/lookup_company_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.company_detail_response_data import CompanyDetailResponseData from .lookup_company_params import LookupCompanyParams @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/lookup_user_params.py b/src/schematic/companies/types/lookup_user_params.py index 531701a..070a56f 100644 --- a/src/schematic/companies/types/lookup_user_params.py +++ b/src/schematic/companies/types/lookup_user_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class LookupUserParams(pydantic_v1.BaseModel): @@ -19,8 +19,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/lookup_user_response.py b/src/schematic/companies/types/lookup_user_response.py index 622b235..10c0e42 100644 --- a/src/schematic/companies/types/lookup_user_response.py +++ b/src/schematic/companies/types/lookup_user_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.user_detail_response_data import UserDetailResponseData from .lookup_user_params import LookupUserParams @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/update_entity_trait_definition_response.py b/src/schematic/companies/types/update_entity_trait_definition_response.py index 0967f6d..064019c 100644 --- a/src/schematic/companies/types/update_entity_trait_definition_response.py +++ b/src/schematic/companies/types/update_entity_trait_definition_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.entity_trait_definition_response_data import EntityTraitDefinitionResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/upsert_company_response.py b/src/schematic/companies/types/upsert_company_response.py index 697871b..10258c7 100644 --- a/src/schematic/companies/types/upsert_company_response.py +++ b/src/schematic/companies/types/upsert_company_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.company_detail_response_data import CompanyDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/upsert_company_trait_response.py b/src/schematic/companies/types/upsert_company_trait_response.py index eec82f3..466227b 100644 --- a/src/schematic/companies/types/upsert_company_trait_response.py +++ b/src/schematic/companies/types/upsert_company_trait_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.company_detail_response_data import CompanyDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/upsert_user_response.py b/src/schematic/companies/types/upsert_user_response.py index ffa105e..be019a9 100644 --- a/src/schematic/companies/types/upsert_user_response.py +++ b/src/schematic/companies/types/upsert_user_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.user_detail_response_data import UserDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/companies/types/upsert_user_trait_response.py b/src/schematic/companies/types/upsert_user_trait_response.py index b7f54bc..9b04564 100644 --- a/src/schematic/companies/types/upsert_user_trait_response.py +++ b/src/schematic/companies/types/upsert_user_trait_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.user_detail_response_data import UserDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/core/__init__.py b/src/schematic/core/__init__.py index 78a7f80..58ad52a 100644 --- a/src/schematic/core/__init__.py +++ b/src/schematic/core/__init__.py @@ -6,7 +6,8 @@ from .file import File, convert_file_dict_to_httpx_tuples from .http_client import AsyncHttpClient, HttpClient from .jsonable_encoder import jsonable_encoder -from .pydantic_utilities import pydantic_v1 +from .pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 +from .query_encoder import encode_query from .remove_none_from_dict import remove_none_from_dict from .request_options import RequestOptions @@ -20,6 +21,8 @@ "RequestOptions", "SyncClientWrapper", "convert_file_dict_to_httpx_tuples", + "deep_union_pydantic_dicts", + "encode_query", "jsonable_encoder", "pydantic_v1", "remove_none_from_dict", diff --git a/src/schematic/core/client_wrapper.py b/src/schematic/core/client_wrapper.py index 08d2f35..fb2d3da 100644 --- a/src/schematic/core/client_wrapper.py +++ b/src/schematic/core/client_wrapper.py @@ -17,7 +17,7 @@ def get_headers(self) -> typing.Dict[str, str]: headers: typing.Dict[str, str] = { "X-Fern-Language": "Python", "X-Fern-SDK-Name": "schematichq", - "X-Fern-SDK-Version": "0.0.6", + "X-Fern-SDK-Version": "0.0.7", } headers["X-Schematic-Api-Key"] = self.api_key return headers diff --git a/src/schematic/core/pydantic_utilities.py b/src/schematic/core/pydantic_utilities.py index 952b5f2..a72c1a5 100644 --- a/src/schematic/core/pydantic_utilities.py +++ b/src/schematic/core/pydantic_utilities.py @@ -1,5 +1,7 @@ # This file was auto-generated by Fern from our API Definition. +import typing + import pydantic IS_PYDANTIC_V2 = pydantic.VERSION.startswith("2.") @@ -9,4 +11,18 @@ else: import pydantic as pydantic_v1 # type: ignore # nopycln: import + +def deep_union_pydantic_dicts( + source: typing.Dict[str, typing.Any], destination: typing.Dict[str, typing.Any] +) -> typing.Dict[str, typing.Any]: + for key, value in source.items(): + if isinstance(value, dict): + node = destination.setdefault(key, {}) + deep_union_pydantic_dicts(value, node) + else: + destination[key] = value + + return destination + + __all__ = ["pydantic_v1"] diff --git a/src/schematic/core/query_encoder.py b/src/schematic/core/query_encoder.py new file mode 100644 index 0000000..ac7e257 --- /dev/null +++ b/src/schematic/core/query_encoder.py @@ -0,0 +1,33 @@ +# This file was auto-generated by Fern from our API Definition. + +from collections import ChainMap +from typing import Any, Dict, Optional + +from .pydantic_utilities import pydantic_v1 + + +# Flattens dicts to be of the form {"key[subkey][subkey2]": value} where value is not a dict +def traverse_query_dict(dict_flat: Dict[str, Any], key_prefix: Optional[str] = None) -> Dict[str, Any]: + result = {} + for k, v in dict_flat.items(): + key = f"{key_prefix}[{k}]" if key_prefix is not None else k + if isinstance(v, dict): + result.update(traverse_query_dict(v, key)) + else: + result[key] = v + return result + + +def single_query_encoder(query_key: str, query_value: Any) -> Dict[str, Any]: + if isinstance(query_value, pydantic_v1.BaseModel) or isinstance(query_value, dict): + if isinstance(query_value, pydantic_v1.BaseModel): + obj_dict = query_value.dict(by_alias=True) + else: + obj_dict = query_value + return traverse_query_dict(obj_dict, query_key) + + return {query_key: query_value} + + +def encode_query(query: Dict[str, Any]) -> Dict[str, Any]: + return dict(ChainMap(*[single_query_encoder(k, v) for k, v in query.items()])) diff --git a/src/schematic/entitlements/client.py b/src/schematic/entitlements/client.py index 0ef9568..596fcc4 100644 --- a/src/schematic/entitlements/client.py +++ b/src/schematic/entitlements/client.py @@ -8,6 +8,7 @@ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper from ..core.jsonable_encoder import jsonable_encoder from ..core.pydantic_utilities import pydantic_v1 +from ..core.query_encoder import encode_query from ..core.remove_none_from_dict import remove_none_from_dict from ..core.request_options import RequestOptions from ..errors.bad_request_error import BadRequestError @@ -103,22 +104,24 @@ def list_company_overrides( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "company-overrides"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "company_ids": company_ids, - "feature_id": feature_id, - "feature_ids": feature_ids, - "ids": ids, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "company_ids": company_ids, + "feature_id": feature_id, + "feature_ids": feature_ids, + "ids": ids, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -221,8 +224,10 @@ def create_company_override( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "company-overrides"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -297,8 +302,10 @@ def get_company_override( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"company-overrides/{jsonable_encoder(company_override_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -395,8 +402,10 @@ def update_company_override( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"company-overrides/{jsonable_encoder(company_override_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -473,8 +482,10 @@ def delete_company_override( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"company-overrides/{jsonable_encoder(company_override_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -561,22 +572,24 @@ def count_company_overrides( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "company-overrides/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "company_ids": company_ids, - "feature_id": feature_id, - "feature_ids": feature_ids, - "ids": ids, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "company_ids": company_ids, + "feature_id": feature_id, + "feature_ids": feature_ids, + "ids": ids, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -657,19 +670,21 @@ def list_feature_companies( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "feature-companies"), - params=jsonable_encoder( - remove_none_from_dict( - { - "feature_id": feature_id, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "feature_id": feature_id, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -750,19 +765,21 @@ def count_feature_companies( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "feature-companies/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "feature_id": feature_id, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "feature_id": feature_id, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -847,21 +864,23 @@ def list_feature_usage( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "feature-usage"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "company_keys": jsonable_encoder(company_keys), - "feature_ids": feature_ids, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "company_keys": jsonable_encoder(company_keys), + "feature_ids": feature_ids, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -946,21 +965,23 @@ def count_feature_usage( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "feature-usage/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "company_keys": jsonable_encoder(company_keys), - "feature_ids": feature_ids, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "company_keys": jsonable_encoder(company_keys), + "feature_ids": feature_ids, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1041,19 +1062,21 @@ def list_feature_users( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "feature-users"), - params=jsonable_encoder( - remove_none_from_dict( - { - "feature_id": feature_id, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "feature_id": feature_id, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1134,19 +1157,21 @@ def count_feature_users( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "feature-users/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "feature_id": feature_id, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "feature_id": feature_id, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1234,22 +1259,24 @@ def list_plan_entitlements( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "plan-entitlements"), - params=jsonable_encoder( - remove_none_from_dict( - { - "feature_id": feature_id, - "feature_ids": feature_ids, - "ids": ids, - "plan_id": plan_id, - "plan_ids": plan_ids, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "feature_id": feature_id, + "feature_ids": feature_ids, + "ids": ids, + "plan_id": plan_id, + "plan_ids": plan_ids, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1352,8 +1379,10 @@ def create_plan_entitlement( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "plan-entitlements"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -1428,8 +1457,10 @@ def get_plan_entitlement( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"plan-entitlements/{jsonable_encoder(plan_entitlement_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -1526,8 +1557,10 @@ def update_plan_entitlement( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"plan-entitlements/{jsonable_encoder(plan_entitlement_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -1604,8 +1637,10 @@ def delete_plan_entitlement( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"plan-entitlements/{jsonable_encoder(plan_entitlement_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -1692,22 +1727,24 @@ def count_plan_entitlements( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "plan-entitlements/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "feature_id": feature_id, - "feature_ids": feature_ids, - "ids": ids, - "plan_id": plan_id, - "plan_ids": plan_ids, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "feature_id": feature_id, + "feature_ids": feature_ids, + "ids": ids, + "plan_id": plan_id, + "plan_ids": plan_ids, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1775,16 +1812,18 @@ def get_feature_usage_by_company( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "usage-by-company"), - params=jsonable_encoder( - remove_none_from_dict( - { - "keys": jsonable_encoder(keys), - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "keys": jsonable_encoder(keys), + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1877,22 +1916,24 @@ async def list_company_overrides( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "company-overrides"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "company_ids": company_ids, - "feature_id": feature_id, - "feature_ids": feature_ids, - "ids": ids, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "company_ids": company_ids, + "feature_id": feature_id, + "feature_ids": feature_ids, + "ids": ids, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1995,8 +2036,10 @@ async def create_company_override( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "company-overrides"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -2071,8 +2114,10 @@ async def get_company_override( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"company-overrides/{jsonable_encoder(company_override_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -2169,8 +2214,10 @@ async def update_company_override( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"company-overrides/{jsonable_encoder(company_override_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -2247,8 +2294,10 @@ async def delete_company_override( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"company-overrides/{jsonable_encoder(company_override_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -2335,22 +2384,24 @@ async def count_company_overrides( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "company-overrides/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "company_ids": company_ids, - "feature_id": feature_id, - "feature_ids": feature_ids, - "ids": ids, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "company_ids": company_ids, + "feature_id": feature_id, + "feature_ids": feature_ids, + "ids": ids, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -2431,19 +2482,21 @@ async def list_feature_companies( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "feature-companies"), - params=jsonable_encoder( - remove_none_from_dict( - { - "feature_id": feature_id, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "feature_id": feature_id, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -2524,19 +2577,21 @@ async def count_feature_companies( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "feature-companies/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "feature_id": feature_id, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "feature_id": feature_id, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -2621,21 +2676,23 @@ async def list_feature_usage( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "feature-usage"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "company_keys": jsonable_encoder(company_keys), - "feature_ids": feature_ids, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "company_keys": jsonable_encoder(company_keys), + "feature_ids": feature_ids, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -2720,21 +2777,23 @@ async def count_feature_usage( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "feature-usage/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "company_keys": jsonable_encoder(company_keys), - "feature_ids": feature_ids, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "company_keys": jsonable_encoder(company_keys), + "feature_ids": feature_ids, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -2815,19 +2874,21 @@ async def list_feature_users( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "feature-users"), - params=jsonable_encoder( - remove_none_from_dict( - { - "feature_id": feature_id, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "feature_id": feature_id, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -2908,19 +2969,21 @@ async def count_feature_users( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "feature-users/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "feature_id": feature_id, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "feature_id": feature_id, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -3008,22 +3071,24 @@ async def list_plan_entitlements( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "plan-entitlements"), - params=jsonable_encoder( - remove_none_from_dict( - { - "feature_id": feature_id, - "feature_ids": feature_ids, - "ids": ids, - "plan_id": plan_id, - "plan_ids": plan_ids, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "feature_id": feature_id, + "feature_ids": feature_ids, + "ids": ids, + "plan_id": plan_id, + "plan_ids": plan_ids, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -3126,8 +3191,10 @@ async def create_plan_entitlement( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "plan-entitlements"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -3202,8 +3269,10 @@ async def get_plan_entitlement( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"plan-entitlements/{jsonable_encoder(plan_entitlement_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -3300,8 +3369,10 @@ async def update_plan_entitlement( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"plan-entitlements/{jsonable_encoder(plan_entitlement_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -3378,8 +3449,10 @@ async def delete_plan_entitlement( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"plan-entitlements/{jsonable_encoder(plan_entitlement_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -3466,22 +3539,24 @@ async def count_plan_entitlements( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "plan-entitlements/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "feature_id": feature_id, - "feature_ids": feature_ids, - "ids": ids, - "plan_id": plan_id, - "plan_ids": plan_ids, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "feature_id": feature_id, + "feature_ids": feature_ids, + "ids": ids, + "plan_id": plan_id, + "plan_ids": plan_ids, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -3549,16 +3624,18 @@ async def get_feature_usage_by_company( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "usage-by-company"), - params=jsonable_encoder( - remove_none_from_dict( - { - "keys": jsonable_encoder(keys), - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "keys": jsonable_encoder(keys), + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( diff --git a/src/schematic/entitlements/types/count_company_overrides_params.py b/src/schematic/entitlements/types/count_company_overrides_params.py index b29005d..91bb80f 100644 --- a/src/schematic/entitlements/types/count_company_overrides_params.py +++ b/src/schematic/entitlements/types/count_company_overrides_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CountCompanyOverridesParams(pydantic_v1.BaseModel): @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/count_company_overrides_response.py b/src/schematic/entitlements/types/count_company_overrides_response.py index d529309..ca91114 100644 --- a/src/schematic/entitlements/types/count_company_overrides_response.py +++ b/src/schematic/entitlements/types/count_company_overrides_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.count_response import CountResponse from .count_company_overrides_params import CountCompanyOverridesParams @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/count_feature_companies_params.py b/src/schematic/entitlements/types/count_feature_companies_params.py index 5c75036..8e8566e 100644 --- a/src/schematic/entitlements/types/count_feature_companies_params.py +++ b/src/schematic/entitlements/types/count_feature_companies_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CountFeatureCompaniesParams(pydantic_v1.BaseModel): @@ -22,8 +22,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/count_feature_companies_response.py b/src/schematic/entitlements/types/count_feature_companies_response.py index 3f9cc0c..b12b167 100644 --- a/src/schematic/entitlements/types/count_feature_companies_response.py +++ b/src/schematic/entitlements/types/count_feature_companies_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.count_response import CountResponse from .count_feature_companies_params import CountFeatureCompaniesParams @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/count_feature_usage_params.py b/src/schematic/entitlements/types/count_feature_usage_params.py index 3142ebc..b734cb9 100644 --- a/src/schematic/entitlements/types/count_feature_usage_params.py +++ b/src/schematic/entitlements/types/count_feature_usage_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CountFeatureUsageParams(pydantic_v1.BaseModel): @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/count_feature_usage_response.py b/src/schematic/entitlements/types/count_feature_usage_response.py index 4dfcb29..7460ca0 100644 --- a/src/schematic/entitlements/types/count_feature_usage_response.py +++ b/src/schematic/entitlements/types/count_feature_usage_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.count_response import CountResponse from .count_feature_usage_params import CountFeatureUsageParams @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/count_feature_users_params.py b/src/schematic/entitlements/types/count_feature_users_params.py index 9b78f1e..6f4ea82 100644 --- a/src/schematic/entitlements/types/count_feature_users_params.py +++ b/src/schematic/entitlements/types/count_feature_users_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CountFeatureUsersParams(pydantic_v1.BaseModel): @@ -22,8 +22,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/count_feature_users_response.py b/src/schematic/entitlements/types/count_feature_users_response.py index 13ff92c..aba3d83 100644 --- a/src/schematic/entitlements/types/count_feature_users_response.py +++ b/src/schematic/entitlements/types/count_feature_users_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.count_response import CountResponse from .count_feature_users_params import CountFeatureUsersParams @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/count_plan_entitlements_params.py b/src/schematic/entitlements/types/count_plan_entitlements_params.py index aced95e..b70c87e 100644 --- a/src/schematic/entitlements/types/count_plan_entitlements_params.py +++ b/src/schematic/entitlements/types/count_plan_entitlements_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CountPlanEntitlementsParams(pydantic_v1.BaseModel): @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/count_plan_entitlements_response.py b/src/schematic/entitlements/types/count_plan_entitlements_response.py index cdb93e6..3d7ac75 100644 --- a/src/schematic/entitlements/types/count_plan_entitlements_response.py +++ b/src/schematic/entitlements/types/count_plan_entitlements_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.count_response import CountResponse from .count_plan_entitlements_params import CountPlanEntitlementsParams @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/create_company_override_response.py b/src/schematic/entitlements/types/create_company_override_response.py index 898d5cc..a6591f9 100644 --- a/src/schematic/entitlements/types/create_company_override_response.py +++ b/src/schematic/entitlements/types/create_company_override_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.company_override_response_data import CompanyOverrideResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/create_plan_entitlement_response.py b/src/schematic/entitlements/types/create_plan_entitlement_response.py index 63277eb..dfa47e8 100644 --- a/src/schematic/entitlements/types/create_plan_entitlement_response.py +++ b/src/schematic/entitlements/types/create_plan_entitlement_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.plan_entitlement_response_data import PlanEntitlementResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/delete_company_override_response.py b/src/schematic/entitlements/types/delete_company_override_response.py index 066f713..30d0693 100644 --- a/src/schematic/entitlements/types/delete_company_override_response.py +++ b/src/schematic/entitlements/types/delete_company_override_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.delete_response import DeleteResponse @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/delete_plan_entitlement_response.py b/src/schematic/entitlements/types/delete_plan_entitlement_response.py index 2897577..2684928 100644 --- a/src/schematic/entitlements/types/delete_plan_entitlement_response.py +++ b/src/schematic/entitlements/types/delete_plan_entitlement_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.delete_response import DeleteResponse @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/get_company_override_response.py b/src/schematic/entitlements/types/get_company_override_response.py index 5217b4d..8c2e167 100644 --- a/src/schematic/entitlements/types/get_company_override_response.py +++ b/src/schematic/entitlements/types/get_company_override_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.company_override_response_data import CompanyOverrideResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/get_feature_usage_by_company_params.py b/src/schematic/entitlements/types/get_feature_usage_by_company_params.py index eafa0c0..7e52791 100644 --- a/src/schematic/entitlements/types/get_feature_usage_by_company_params.py +++ b/src/schematic/entitlements/types/get_feature_usage_by_company_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class GetFeatureUsageByCompanyParams(pydantic_v1.BaseModel): @@ -19,8 +19,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/get_feature_usage_by_company_response.py b/src/schematic/entitlements/types/get_feature_usage_by_company_response.py index cf0d104..6cb3f0d 100644 --- a/src/schematic/entitlements/types/get_feature_usage_by_company_response.py +++ b/src/schematic/entitlements/types/get_feature_usage_by_company_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.feature_usage_detail_response_data import FeatureUsageDetailResponseData from .get_feature_usage_by_company_params import GetFeatureUsageByCompanyParams @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/get_plan_entitlement_response.py b/src/schematic/entitlements/types/get_plan_entitlement_response.py index 72528a5..8cb271b 100644 --- a/src/schematic/entitlements/types/get_plan_entitlement_response.py +++ b/src/schematic/entitlements/types/get_plan_entitlement_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.plan_entitlement_response_data import PlanEntitlementResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/list_company_overrides_params.py b/src/schematic/entitlements/types/list_company_overrides_params.py index c7e07ee..e3ba94f 100644 --- a/src/schematic/entitlements/types/list_company_overrides_params.py +++ b/src/schematic/entitlements/types/list_company_overrides_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListCompanyOverridesParams(pydantic_v1.BaseModel): @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/list_company_overrides_response.py b/src/schematic/entitlements/types/list_company_overrides_response.py index 150a61d..c5e130d 100644 --- a/src/schematic/entitlements/types/list_company_overrides_response.py +++ b/src/schematic/entitlements/types/list_company_overrides_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.company_override_response_data import CompanyOverrideResponseData from .list_company_overrides_params import ListCompanyOverridesParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/list_feature_companies_params.py b/src/schematic/entitlements/types/list_feature_companies_params.py index 9acab16..c2d5804 100644 --- a/src/schematic/entitlements/types/list_feature_companies_params.py +++ b/src/schematic/entitlements/types/list_feature_companies_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListFeatureCompaniesParams(pydantic_v1.BaseModel): @@ -22,8 +22,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/list_feature_companies_response.py b/src/schematic/entitlements/types/list_feature_companies_response.py index 2f0d0c5..b369f43 100644 --- a/src/schematic/entitlements/types/list_feature_companies_response.py +++ b/src/schematic/entitlements/types/list_feature_companies_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.feature_company_response_data import FeatureCompanyResponseData from .list_feature_companies_params import ListFeatureCompaniesParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/list_feature_usage_params.py b/src/schematic/entitlements/types/list_feature_usage_params.py index ccc71cb..a6e5957 100644 --- a/src/schematic/entitlements/types/list_feature_usage_params.py +++ b/src/schematic/entitlements/types/list_feature_usage_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListFeatureUsageParams(pydantic_v1.BaseModel): @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/list_feature_usage_response.py b/src/schematic/entitlements/types/list_feature_usage_response.py index 637a6cf..ba176dc 100644 --- a/src/schematic/entitlements/types/list_feature_usage_response.py +++ b/src/schematic/entitlements/types/list_feature_usage_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.feature_usage_response_data import FeatureUsageResponseData from .list_feature_usage_params import ListFeatureUsageParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/list_feature_users_params.py b/src/schematic/entitlements/types/list_feature_users_params.py index 1b6c97a..3580956 100644 --- a/src/schematic/entitlements/types/list_feature_users_params.py +++ b/src/schematic/entitlements/types/list_feature_users_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListFeatureUsersParams(pydantic_v1.BaseModel): @@ -22,8 +22,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/list_feature_users_response.py b/src/schematic/entitlements/types/list_feature_users_response.py index 56b022b..3ce9a7c 100644 --- a/src/schematic/entitlements/types/list_feature_users_response.py +++ b/src/schematic/entitlements/types/list_feature_users_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.feature_company_user_response_data import FeatureCompanyUserResponseData from .list_feature_users_params import ListFeatureUsersParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/list_plan_entitlements_params.py b/src/schematic/entitlements/types/list_plan_entitlements_params.py index 529b596..74ff283 100644 --- a/src/schematic/entitlements/types/list_plan_entitlements_params.py +++ b/src/schematic/entitlements/types/list_plan_entitlements_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListPlanEntitlementsParams(pydantic_v1.BaseModel): @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/list_plan_entitlements_response.py b/src/schematic/entitlements/types/list_plan_entitlements_response.py index f3c1ec2..f71c0b3 100644 --- a/src/schematic/entitlements/types/list_plan_entitlements_response.py +++ b/src/schematic/entitlements/types/list_plan_entitlements_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.plan_entitlement_response_data import PlanEntitlementResponseData from .list_plan_entitlements_params import ListPlanEntitlementsParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/update_company_override_response.py b/src/schematic/entitlements/types/update_company_override_response.py index e02f030..ad365bd 100644 --- a/src/schematic/entitlements/types/update_company_override_response.py +++ b/src/schematic/entitlements/types/update_company_override_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.company_override_response_data import CompanyOverrideResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/entitlements/types/update_plan_entitlement_response.py b/src/schematic/entitlements/types/update_plan_entitlement_response.py index cc2cd2f..aed406d 100644 --- a/src/schematic/entitlements/types/update_plan_entitlement_response.py +++ b/src/schematic/entitlements/types/update_plan_entitlement_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.plan_entitlement_response_data import PlanEntitlementResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/events/client.py b/src/schematic/events/client.py index ef077f3..1a6a8b5 100644 --- a/src/schematic/events/client.py +++ b/src/schematic/events/client.py @@ -10,6 +10,7 @@ from ..core.datetime_utils import serialize_datetime from ..core.jsonable_encoder import jsonable_encoder from ..core.pydantic_utilities import pydantic_v1 +from ..core.query_encoder import encode_query from ..core.remove_none_from_dict import remove_none_from_dict from ..core.request_options import RequestOptions from ..errors.bad_request_error import BadRequestError @@ -75,8 +76,10 @@ def create_event_batch( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "event-batch"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder({"events": events}) if request_options is None or request_options.get("additional_body_parameters") is None @@ -160,19 +163,21 @@ def get_event_summaries( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "event-types"), - params=jsonable_encoder( - remove_none_from_dict( - { - "q": q, - "event_subtypes": event_subtypes, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "q": q, + "event_subtypes": event_subtypes, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -240,8 +245,10 @@ def get_event_summary_by_subtype( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"event-types/{jsonable_encoder(key)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -322,20 +329,22 @@ def list_events( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "events"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "user_id": user_id, - "event_subtype": event_subtype, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "user_id": user_id, + "event_subtype": event_subtype, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -418,8 +427,10 @@ def create_event( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "events"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -490,8 +501,10 @@ def get_event(self, event_id: str, *, request_options: typing.Optional[RequestOp _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"events/{jsonable_encoder(event_id)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -587,25 +600,27 @@ def list_metric_counts( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "metric-counts"), - params=jsonable_encoder( - remove_none_from_dict( - { - "start_time": serialize_datetime(start_time) if start_time is not None else None, - "end_time": serialize_datetime(end_time) if end_time is not None else None, - "event_subtype": event_subtype, - "event_subtypes": event_subtypes, - "company_id": company_id, - "company_ids": company_ids, - "user_id": user_id, - "limit": limit, - "offset": offset, - "grouping": grouping, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "start_time": serialize_datetime(start_time) if start_time is not None else None, + "end_time": serialize_datetime(end_time) if end_time is not None else None, + "event_subtype": event_subtype, + "event_subtypes": event_subtypes, + "company_id": company_id, + "company_ids": company_ids, + "user_id": user_id, + "limit": limit, + "offset": offset, + "grouping": grouping, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -685,8 +700,10 @@ async def create_event_batch( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "event-batch"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder({"events": events}) if request_options is None or request_options.get("additional_body_parameters") is None @@ -770,19 +787,21 @@ async def get_event_summaries( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "event-types"), - params=jsonable_encoder( - remove_none_from_dict( - { - "q": q, - "event_subtypes": event_subtypes, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "q": q, + "event_subtypes": event_subtypes, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -850,8 +869,10 @@ async def get_event_summary_by_subtype( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"event-types/{jsonable_encoder(key)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -932,20 +953,22 @@ async def list_events( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "events"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "user_id": user_id, - "event_subtype": event_subtype, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "user_id": user_id, + "event_subtype": event_subtype, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1028,8 +1051,10 @@ async def create_event( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "events"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -1102,8 +1127,10 @@ async def get_event( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"events/{jsonable_encoder(event_id)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -1199,25 +1226,27 @@ async def list_metric_counts( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "metric-counts"), - params=jsonable_encoder( - remove_none_from_dict( - { - "start_time": serialize_datetime(start_time) if start_time is not None else None, - "end_time": serialize_datetime(end_time) if end_time is not None else None, - "event_subtype": event_subtype, - "event_subtypes": event_subtypes, - "company_id": company_id, - "company_ids": company_ids, - "user_id": user_id, - "limit": limit, - "offset": offset, - "grouping": grouping, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "start_time": serialize_datetime(start_time) if start_time is not None else None, + "end_time": serialize_datetime(end_time) if end_time is not None else None, + "event_subtype": event_subtype, + "event_subtypes": event_subtypes, + "company_id": company_id, + "company_ids": company_ids, + "user_id": user_id, + "limit": limit, + "offset": offset, + "grouping": grouping, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( diff --git a/src/schematic/events/types/create_event_batch_response.py b/src/schematic/events/types/create_event_batch_response.py index c1e7dd1..6a011da 100644 --- a/src/schematic/events/types/create_event_batch_response.py +++ b/src/schematic/events/types/create_event_batch_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.raw_event_batch_response_data import RawEventBatchResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/events/types/create_event_response.py b/src/schematic/events/types/create_event_response.py index f7e9c15..a7aabea 100644 --- a/src/schematic/events/types/create_event_response.py +++ b/src/schematic/events/types/create_event_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.raw_event_response_data import RawEventResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/events/types/get_event_response.py b/src/schematic/events/types/get_event_response.py index 47137f2..0cca644 100644 --- a/src/schematic/events/types/get_event_response.py +++ b/src/schematic/events/types/get_event_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.event_detail_response_data import EventDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/events/types/get_event_summaries_params.py b/src/schematic/events/types/get_event_summaries_params.py index b4c70a3..c341843 100644 --- a/src/schematic/events/types/get_event_summaries_params.py +++ b/src/schematic/events/types/get_event_summaries_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class GetEventSummariesParams(pydantic_v1.BaseModel): @@ -22,8 +22,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/events/types/get_event_summaries_response.py b/src/schematic/events/types/get_event_summaries_response.py index 929fc47..0124cdc 100644 --- a/src/schematic/events/types/get_event_summaries_response.py +++ b/src/schematic/events/types/get_event_summaries_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.event_summary_response_data import EventSummaryResponseData from .get_event_summaries_params import GetEventSummariesParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/events/types/get_event_summary_by_subtype_response.py b/src/schematic/events/types/get_event_summary_by_subtype_response.py index acb0e59..5d4cf4d 100644 --- a/src/schematic/events/types/get_event_summary_by_subtype_response.py +++ b/src/schematic/events/types/get_event_summary_by_subtype_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.event_summary_response_data import EventSummaryResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/events/types/list_events_params.py b/src/schematic/events/types/list_events_params.py index 2bd29e5..92f47ee 100644 --- a/src/schematic/events/types/list_events_params.py +++ b/src/schematic/events/types/list_events_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListEventsParams(pydantic_v1.BaseModel): @@ -23,8 +23,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/events/types/list_events_response.py b/src/schematic/events/types/list_events_response.py index b63e508..7d39ccb 100644 --- a/src/schematic/events/types/list_events_response.py +++ b/src/schematic/events/types/list_events_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.event_detail_response_data import EventDetailResponseData from .list_events_params import ListEventsParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/events/types/list_metric_counts_params.py b/src/schematic/events/types/list_metric_counts_params.py index 54af9cd..ec9d053 100644 --- a/src/schematic/events/types/list_metric_counts_params.py +++ b/src/schematic/events/types/list_metric_counts_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListMetricCountsParams(pydantic_v1.BaseModel): @@ -28,8 +28,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/events/types/list_metric_counts_response.py b/src/schematic/events/types/list_metric_counts_response.py index 8a7726a..03726b8 100644 --- a/src/schematic/events/types/list_metric_counts_response.py +++ b/src/schematic/events/types/list_metric_counts_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.metric_counts_hourly_response_data import MetricCountsHourlyResponseData from .list_metric_counts_params import ListMetricCountsParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/client.py b/src/schematic/features/client.py index 464efbc..e1bf9ed 100644 --- a/src/schematic/features/client.py +++ b/src/schematic/features/client.py @@ -8,6 +8,7 @@ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper from ..core.jsonable_encoder import jsonable_encoder from ..core.pydantic_utilities import pydantic_v1 +from ..core.query_encoder import encode_query from ..core.remove_none_from_dict import remove_none_from_dict from ..core.request_options import RequestOptions from ..errors.bad_request_error import BadRequestError @@ -131,8 +132,10 @@ def count_audience_companies( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "audience/count-companies"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -251,8 +254,10 @@ def count_audience_users( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "audience/count-users"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -371,8 +376,10 @@ def list_audience_companies( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "audience/get-companies"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -491,8 +498,10 @@ def list_audience_users( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "audience/get-users"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -584,21 +593,23 @@ def list_features( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "features"), - params=jsonable_encoder( - remove_none_from_dict( - { - "ids": ids, - "q": q, - "without_company_override_for": without_company_override_for, - "without_plan_entitlement_for": without_plan_entitlement_for, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "ids": ids, + "q": q, + "without_company_override_for": without_company_override_for, + "without_plan_entitlement_for": without_plan_entitlement_for, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -701,8 +712,10 @@ def create_feature( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "features"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -777,8 +790,10 @@ def get_feature( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"features/{jsonable_encoder(feature_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -886,8 +901,10 @@ def update_feature( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"features/{jsonable_encoder(feature_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -964,8 +981,10 @@ def delete_feature( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"features/{jsonable_encoder(feature_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -1051,21 +1070,23 @@ def count_features( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "features/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "ids": ids, - "q": q, - "without_company_override_for": without_company_override_for, - "without_plan_entitlement_for": without_plan_entitlement_for, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "ids": ids, + "q": q, + "without_company_override_for": without_company_override_for, + "without_plan_entitlement_for": without_plan_entitlement_for, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1147,20 +1168,22 @@ def list_flag_checks( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "flag-checks"), - params=jsonable_encoder( - remove_none_from_dict( - { - "flag_id": flag_id, - "flag_ids": flag_ids, - "id": id, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "flag_id": flag_id, + "flag_ids": flag_ids, + "id": id, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1230,8 +1253,10 @@ def get_flag_check( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"flag-checks/{jsonable_encoder(flag_check_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -1312,20 +1337,22 @@ def count_flag_checks( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "flag-checks/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "flag_id": flag_id, - "flag_ids": flag_ids, - "id": id, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "flag_id": flag_id, + "flag_ids": flag_ids, + "id": id, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1407,20 +1434,22 @@ def get_latest_flag_checks( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "flag-checks/latest"), - params=jsonable_encoder( - remove_none_from_dict( - { - "flag_id": flag_id, - "flag_ids": flag_ids, - "id": id, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "flag_id": flag_id, + "flag_ids": flag_ids, + "id": id, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1502,20 +1531,22 @@ def list_flags( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "flags"), - params=jsonable_encoder( - remove_none_from_dict( - { - "feature_id": feature_id, - "ids": ids, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "feature_id": feature_id, + "ids": ids, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1613,8 +1644,10 @@ def create_flag( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "flags"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -1685,8 +1718,10 @@ def get_flag(self, flag_id: str, *, request_options: typing.Optional[RequestOpti _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"flags/{jsonable_encoder(flag_id)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -1788,8 +1823,10 @@ def update_flag( _response = self._client_wrapper.httpx_client.request( method="PUT", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"flags/{jsonable_encoder(flag_id)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -1864,8 +1901,10 @@ def delete_flag( _response = self._client_wrapper.httpx_client.request( method="DELETE", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"flags/{jsonable_encoder(flag_id)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -1972,8 +2011,10 @@ def update_flag_rules( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"flags/{jsonable_encoder(flag_id)}/rules" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder({"rules": rules}) if request_options is None or request_options.get("additional_body_parameters") is None @@ -2062,8 +2103,10 @@ def check_flag( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"flags/{jsonable_encoder(key)}/check"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -2144,8 +2187,10 @@ def check_flags( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "flags/check"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -2232,20 +2277,22 @@ def count_flags( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "flags/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "feature_id": feature_id, - "ids": ids, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "feature_id": feature_id, + "ids": ids, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -2364,8 +2411,10 @@ async def count_audience_companies( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "audience/count-companies"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -2484,8 +2533,10 @@ async def count_audience_users( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "audience/count-users"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -2604,8 +2655,10 @@ async def list_audience_companies( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "audience/get-companies"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -2724,8 +2777,10 @@ async def list_audience_users( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "audience/get-users"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -2817,21 +2872,23 @@ async def list_features( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "features"), - params=jsonable_encoder( - remove_none_from_dict( - { - "ids": ids, - "q": q, - "without_company_override_for": without_company_override_for, - "without_plan_entitlement_for": without_plan_entitlement_for, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "ids": ids, + "q": q, + "without_company_override_for": without_company_override_for, + "without_plan_entitlement_for": without_plan_entitlement_for, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -2934,8 +2991,10 @@ async def create_feature( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "features"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -3010,8 +3069,10 @@ async def get_feature( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"features/{jsonable_encoder(feature_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -3119,8 +3180,10 @@ async def update_feature( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"features/{jsonable_encoder(feature_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -3197,8 +3260,10 @@ async def delete_feature( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"features/{jsonable_encoder(feature_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -3284,21 +3349,23 @@ async def count_features( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "features/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "ids": ids, - "q": q, - "without_company_override_for": without_company_override_for, - "without_plan_entitlement_for": without_plan_entitlement_for, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "ids": ids, + "q": q, + "without_company_override_for": without_company_override_for, + "without_plan_entitlement_for": without_plan_entitlement_for, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -3380,20 +3447,22 @@ async def list_flag_checks( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "flag-checks"), - params=jsonable_encoder( - remove_none_from_dict( - { - "flag_id": flag_id, - "flag_ids": flag_ids, - "id": id, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "flag_id": flag_id, + "flag_ids": flag_ids, + "id": id, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -3463,8 +3532,10 @@ async def get_flag_check( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"flag-checks/{jsonable_encoder(flag_check_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -3545,20 +3616,22 @@ async def count_flag_checks( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "flag-checks/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "flag_id": flag_id, - "flag_ids": flag_ids, - "id": id, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "flag_id": flag_id, + "flag_ids": flag_ids, + "id": id, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -3640,20 +3713,22 @@ async def get_latest_flag_checks( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "flag-checks/latest"), - params=jsonable_encoder( - remove_none_from_dict( - { - "flag_id": flag_id, - "flag_ids": flag_ids, - "id": id, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "flag_id": flag_id, + "flag_ids": flag_ids, + "id": id, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -3735,20 +3810,22 @@ async def list_flags( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "flags"), - params=jsonable_encoder( - remove_none_from_dict( - { - "feature_id": feature_id, - "ids": ids, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "feature_id": feature_id, + "ids": ids, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -3846,8 +3923,10 @@ async def create_flag( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "flags"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -3920,8 +3999,10 @@ async def get_flag( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"flags/{jsonable_encoder(flag_id)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -4023,8 +4104,10 @@ async def update_flag( _response = await self._client_wrapper.httpx_client.request( method="PUT", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"flags/{jsonable_encoder(flag_id)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -4099,8 +4182,10 @@ async def delete_flag( _response = await self._client_wrapper.httpx_client.request( method="DELETE", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"flags/{jsonable_encoder(flag_id)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -4207,8 +4292,10 @@ async def update_flag_rules( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"flags/{jsonable_encoder(flag_id)}/rules" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder({"rules": rules}) if request_options is None or request_options.get("additional_body_parameters") is None @@ -4297,8 +4384,10 @@ async def check_flag( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"flags/{jsonable_encoder(key)}/check"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -4379,8 +4468,10 @@ async def check_flags( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "flags/check"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -4467,20 +4558,22 @@ async def count_flags( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "flags/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "feature_id": feature_id, - "ids": ids, - "q": q, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "feature_id": feature_id, + "ids": ids, + "q": q, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( diff --git a/src/schematic/features/types/check_flag_response.py b/src/schematic/features/types/check_flag_response.py index 83da347..8d9289e 100644 --- a/src/schematic/features/types/check_flag_response.py +++ b/src/schematic/features/types/check_flag_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.check_flag_response_data import CheckFlagResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/check_flags_response.py b/src/schematic/features/types/check_flags_response.py index f3548fe..15c3819 100644 --- a/src/schematic/features/types/check_flags_response.py +++ b/src/schematic/features/types/check_flags_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.check_flags_response_data import CheckFlagsResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/count_audience_companies_response.py b/src/schematic/features/types/count_audience_companies_response.py index 7af21d3..265d8d1 100644 --- a/src/schematic/features/types/count_audience_companies_response.py +++ b/src/schematic/features/types/count_audience_companies_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.count_response import CountResponse @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/count_audience_users_response.py b/src/schematic/features/types/count_audience_users_response.py index 0937fa5..45453f3 100644 --- a/src/schematic/features/types/count_audience_users_response.py +++ b/src/schematic/features/types/count_audience_users_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.count_response import CountResponse @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/count_features_params.py b/src/schematic/features/types/count_features_params.py index 914251e..e259fcd 100644 --- a/src/schematic/features/types/count_features_params.py +++ b/src/schematic/features/types/count_features_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CountFeaturesParams(pydantic_v1.BaseModel): @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/count_features_response.py b/src/schematic/features/types/count_features_response.py index ffd3700..65c7e9c 100644 --- a/src/schematic/features/types/count_features_response.py +++ b/src/schematic/features/types/count_features_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.count_response import CountResponse from .count_features_params import CountFeaturesParams @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/count_flag_checks_params.py b/src/schematic/features/types/count_flag_checks_params.py index e9e547f..7a52bfe 100644 --- a/src/schematic/features/types/count_flag_checks_params.py +++ b/src/schematic/features/types/count_flag_checks_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CountFlagChecksParams(pydantic_v1.BaseModel): @@ -23,8 +23,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/count_flag_checks_response.py b/src/schematic/features/types/count_flag_checks_response.py index 8a54d75..3800160 100644 --- a/src/schematic/features/types/count_flag_checks_response.py +++ b/src/schematic/features/types/count_flag_checks_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.count_response import CountResponse from .count_flag_checks_params import CountFlagChecksParams @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/count_flags_params.py b/src/schematic/features/types/count_flags_params.py index bdbec6b..7948ff6 100644 --- a/src/schematic/features/types/count_flags_params.py +++ b/src/schematic/features/types/count_flags_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CountFlagsParams(pydantic_v1.BaseModel): @@ -23,8 +23,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/count_flags_response.py b/src/schematic/features/types/count_flags_response.py index c9eb9aa..2bbbe0b 100644 --- a/src/schematic/features/types/count_flags_response.py +++ b/src/schematic/features/types/count_flags_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.count_response import CountResponse from .count_flags_params import CountFlagsParams @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/create_feature_response.py b/src/schematic/features/types/create_feature_response.py index 0d4e4bd..15c3aa3 100644 --- a/src/schematic/features/types/create_feature_response.py +++ b/src/schematic/features/types/create_feature_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.feature_detail_response_data import FeatureDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/create_flag_response.py b/src/schematic/features/types/create_flag_response.py index 822d0fa..76e6659 100644 --- a/src/schematic/features/types/create_flag_response.py +++ b/src/schematic/features/types/create_flag_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.flag_detail_response_data import FlagDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/delete_feature_response.py b/src/schematic/features/types/delete_feature_response.py index 9a39a44..61343d8 100644 --- a/src/schematic/features/types/delete_feature_response.py +++ b/src/schematic/features/types/delete_feature_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.delete_response import DeleteResponse @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/delete_flag_response.py b/src/schematic/features/types/delete_flag_response.py index 6cabdd9..5ed1e7b 100644 --- a/src/schematic/features/types/delete_flag_response.py +++ b/src/schematic/features/types/delete_flag_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.delete_response import DeleteResponse @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/get_feature_response.py b/src/schematic/features/types/get_feature_response.py index 77dbacf..f97e407 100644 --- a/src/schematic/features/types/get_feature_response.py +++ b/src/schematic/features/types/get_feature_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.feature_detail_response_data import FeatureDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/get_flag_check_response.py b/src/schematic/features/types/get_flag_check_response.py index 8846a86..d0712b4 100644 --- a/src/schematic/features/types/get_flag_check_response.py +++ b/src/schematic/features/types/get_flag_check_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.flag_check_log_detail_response_data import FlagCheckLogDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/get_flag_response.py b/src/schematic/features/types/get_flag_response.py index 15741c3..fe52bdc 100644 --- a/src/schematic/features/types/get_flag_response.py +++ b/src/schematic/features/types/get_flag_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.flag_detail_response_data import FlagDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/get_latest_flag_checks_params.py b/src/schematic/features/types/get_latest_flag_checks_params.py index abbcefa..f0c14ad 100644 --- a/src/schematic/features/types/get_latest_flag_checks_params.py +++ b/src/schematic/features/types/get_latest_flag_checks_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class GetLatestFlagChecksParams(pydantic_v1.BaseModel): @@ -23,8 +23,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/get_latest_flag_checks_response.py b/src/schematic/features/types/get_latest_flag_checks_response.py index d6be634..e58bcb3 100644 --- a/src/schematic/features/types/get_latest_flag_checks_response.py +++ b/src/schematic/features/types/get_latest_flag_checks_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.flag_check_log_response_data import FlagCheckLogResponseData from .get_latest_flag_checks_params import GetLatestFlagChecksParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/list_audience_companies_response.py b/src/schematic/features/types/list_audience_companies_response.py index ad84510..c1480a2 100644 --- a/src/schematic/features/types/list_audience_companies_response.py +++ b/src/schematic/features/types/list_audience_companies_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.company_detail_response_data import CompanyDetailResponseData @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/list_audience_users_response.py b/src/schematic/features/types/list_audience_users_response.py index fe71712..40e86d0 100644 --- a/src/schematic/features/types/list_audience_users_response.py +++ b/src/schematic/features/types/list_audience_users_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.user_detail_response_data import UserDetailResponseData @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/list_features_params.py b/src/schematic/features/types/list_features_params.py index 9939936..91602a5 100644 --- a/src/schematic/features/types/list_features_params.py +++ b/src/schematic/features/types/list_features_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListFeaturesParams(pydantic_v1.BaseModel): @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/list_features_response.py b/src/schematic/features/types/list_features_response.py index 67d365c..18101e1 100644 --- a/src/schematic/features/types/list_features_response.py +++ b/src/schematic/features/types/list_features_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.feature_detail_response_data import FeatureDetailResponseData from .list_features_params import ListFeaturesParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/list_flag_checks_params.py b/src/schematic/features/types/list_flag_checks_params.py index ec198c2..e9c77e3 100644 --- a/src/schematic/features/types/list_flag_checks_params.py +++ b/src/schematic/features/types/list_flag_checks_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListFlagChecksParams(pydantic_v1.BaseModel): @@ -23,8 +23,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/list_flag_checks_response.py b/src/schematic/features/types/list_flag_checks_response.py index 2a4a760..1497b1f 100644 --- a/src/schematic/features/types/list_flag_checks_response.py +++ b/src/schematic/features/types/list_flag_checks_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.flag_check_log_detail_response_data import FlagCheckLogDetailResponseData from .list_flag_checks_params import ListFlagChecksParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/list_flags_params.py b/src/schematic/features/types/list_flags_params.py index d7bf613..9ab3de4 100644 --- a/src/schematic/features/types/list_flags_params.py +++ b/src/schematic/features/types/list_flags_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListFlagsParams(pydantic_v1.BaseModel): @@ -23,8 +23,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/list_flags_response.py b/src/schematic/features/types/list_flags_response.py index c7459c3..96d59dc 100644 --- a/src/schematic/features/types/list_flags_response.py +++ b/src/schematic/features/types/list_flags_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.flag_detail_response_data import FlagDetailResponseData from .list_flags_params import ListFlagsParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/update_feature_response.py b/src/schematic/features/types/update_feature_response.py index 89cf7c3..e013c2b 100644 --- a/src/schematic/features/types/update_feature_response.py +++ b/src/schematic/features/types/update_feature_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.feature_detail_response_data import FeatureDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/update_flag_response.py b/src/schematic/features/types/update_flag_response.py index a195037..578ccb2 100644 --- a/src/schematic/features/types/update_flag_response.py +++ b/src/schematic/features/types/update_flag_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.flag_detail_response_data import FlagDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/features/types/update_flag_rules_response.py b/src/schematic/features/types/update_flag_rules_response.py index 4ccb17a..40c3a46 100644 --- a/src/schematic/features/types/update_flag_rules_response.py +++ b/src/schematic/features/types/update_flag_rules_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.rules_detail_response_data import RulesDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/plans/client.py b/src/schematic/plans/client.py index b150d21..ac5f71e 100644 --- a/src/schematic/plans/client.py +++ b/src/schematic/plans/client.py @@ -8,6 +8,7 @@ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper from ..core.jsonable_encoder import jsonable_encoder from ..core.pydantic_utilities import pydantic_v1 +from ..core.query_encoder import encode_query from ..core.remove_none_from_dict import remove_none_from_dict from ..core.request_options import RequestOptions from ..errors.bad_request_error import BadRequestError @@ -71,8 +72,10 @@ def get_audience( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"plan-audiences/{jsonable_encoder(plan_audience_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -174,8 +177,10 @@ def update_audience( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"plan-audiences/{jsonable_encoder(plan_audience_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder({"condition_groups": condition_groups, "conditions": conditions}) if request_options is None or request_options.get("additional_body_parameters") is None @@ -252,8 +257,10 @@ def delete_audience( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"plan-audiences/{jsonable_encoder(plan_audience_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -338,21 +345,23 @@ def list_plans( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "plans"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "ids": ids, - "q": q, - "without_entitlement_for": without_entitlement_for, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "ids": ids, + "q": q, + "without_entitlement_for": without_entitlement_for, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -430,8 +439,10 @@ def create_plan( _response = self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "plans"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder({"description": description, "name": name, "plan_type": plan_type}) if request_options is None or request_options.get("additional_body_parameters") is None @@ -502,8 +513,10 @@ def get_plan(self, plan_id: str, *, request_options: typing.Optional[RequestOpti _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"plans/{jsonable_encoder(plan_id)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -588,8 +601,10 @@ def update_plan( _response = self._client_wrapper.httpx_client.request( method="PUT", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"plans/{jsonable_encoder(plan_id)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -664,8 +679,10 @@ def delete_plan( _response = self._client_wrapper.httpx_client.request( method="DELETE", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"plans/{jsonable_encoder(plan_id)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -750,21 +767,23 @@ def count_plans( _response = self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "plans/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "ids": ids, - "q": q, - "without_entitlement_for": without_entitlement_for, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "ids": ids, + "q": q, + "without_entitlement_for": without_entitlement_for, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -839,8 +858,10 @@ async def get_audience( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"plan-audiences/{jsonable_encoder(plan_audience_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -942,8 +963,10 @@ async def update_audience( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"plan-audiences/{jsonable_encoder(plan_audience_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder({"condition_groups": condition_groups, "conditions": conditions}) if request_options is None or request_options.get("additional_body_parameters") is None @@ -1020,8 +1043,10 @@ async def delete_audience( url=urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"plan-audiences/{jsonable_encoder(plan_audience_id)}" ), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -1106,21 +1131,23 @@ async def list_plans( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "plans"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "ids": ids, - "q": q, - "without_entitlement_for": without_entitlement_for, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "ids": ids, + "q": q, + "without_entitlement_for": without_entitlement_for, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( @@ -1198,8 +1225,10 @@ async def create_plan( _response = await self._client_wrapper.httpx_client.request( method="POST", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "plans"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder({"description": description, "name": name, "plan_type": plan_type}) if request_options is None or request_options.get("additional_body_parameters") is None @@ -1272,8 +1301,10 @@ async def get_plan( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"plans/{jsonable_encoder(plan_id)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -1358,8 +1389,10 @@ async def update_plan( _response = await self._client_wrapper.httpx_client.request( method="PUT", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"plans/{jsonable_encoder(plan_id)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), json=jsonable_encoder(_request) if request_options is None or request_options.get("additional_body_parameters") is None @@ -1434,8 +1467,10 @@ async def delete_plan( _response = await self._client_wrapper.httpx_client.request( method="DELETE", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"plans/{jsonable_encoder(plan_id)}"), - params=jsonable_encoder( - request_options.get("additional_query_parameters") if request_options is not None else None + params=encode_query( + jsonable_encoder( + request_options.get("additional_query_parameters") if request_options is not None else None + ) ), headers=jsonable_encoder( remove_none_from_dict( @@ -1520,21 +1555,23 @@ async def count_plans( _response = await self._client_wrapper.httpx_client.request( method="GET", url=urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "plans/count"), - params=jsonable_encoder( - remove_none_from_dict( - { - "company_id": company_id, - "ids": ids, - "q": q, - "without_entitlement_for": without_entitlement_for, - "limit": limit, - "offset": offset, - **( - request_options.get("additional_query_parameters", {}) - if request_options is not None - else {} - ), - } + params=encode_query( + jsonable_encoder( + remove_none_from_dict( + { + "company_id": company_id, + "ids": ids, + "q": q, + "without_entitlement_for": without_entitlement_for, + "limit": limit, + "offset": offset, + **( + request_options.get("additional_query_parameters", {}) + if request_options is not None + else {} + ), + } + ) ) ), headers=jsonable_encoder( diff --git a/src/schematic/plans/types/count_plans_params.py b/src/schematic/plans/types/count_plans_params.py index 9cf2f87..ad7d321 100644 --- a/src/schematic/plans/types/count_plans_params.py +++ b/src/schematic/plans/types/count_plans_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CountPlansParams(pydantic_v1.BaseModel): @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/plans/types/count_plans_response.py b/src/schematic/plans/types/count_plans_response.py index 1e39015..5cfeb40 100644 --- a/src/schematic/plans/types/count_plans_response.py +++ b/src/schematic/plans/types/count_plans_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.count_response import CountResponse from .count_plans_params import CountPlansParams @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/plans/types/create_plan_response.py b/src/schematic/plans/types/create_plan_response.py index 6cc920b..21ec338 100644 --- a/src/schematic/plans/types/create_plan_response.py +++ b/src/schematic/plans/types/create_plan_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.plan_detail_response_data import PlanDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/plans/types/delete_audience_response.py b/src/schematic/plans/types/delete_audience_response.py index 855dd39..f01e2f3 100644 --- a/src/schematic/plans/types/delete_audience_response.py +++ b/src/schematic/plans/types/delete_audience_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.delete_response import DeleteResponse @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/plans/types/delete_plan_response.py b/src/schematic/plans/types/delete_plan_response.py index 7121cff..d28b94d 100644 --- a/src/schematic/plans/types/delete_plan_response.py +++ b/src/schematic/plans/types/delete_plan_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.delete_response import DeleteResponse @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/plans/types/get_audience_response.py b/src/schematic/plans/types/get_audience_response.py index 4810515..90f9d8c 100644 --- a/src/schematic/plans/types/get_audience_response.py +++ b/src/schematic/plans/types/get_audience_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.plan_audience_detail_response_data import PlanAudienceDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/plans/types/get_plan_response.py b/src/schematic/plans/types/get_plan_response.py index 92356ef..e27071f 100644 --- a/src/schematic/plans/types/get_plan_response.py +++ b/src/schematic/plans/types/get_plan_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.plan_detail_response_data import PlanDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/plans/types/list_plans_params.py b/src/schematic/plans/types/list_plans_params.py index f4edbe3..71e99f6 100644 --- a/src/schematic/plans/types/list_plans_params.py +++ b/src/schematic/plans/types/list_plans_params.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ListPlansParams(pydantic_v1.BaseModel): @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/plans/types/list_plans_response.py b/src/schematic/plans/types/list_plans_response.py index 0c6643b..6d1124f 100644 --- a/src/schematic/plans/types/list_plans_response.py +++ b/src/schematic/plans/types/list_plans_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.plan_detail_response_data import PlanDetailResponseData from .list_plans_params import ListPlansParams @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/plans/types/update_audience_response.py b/src/schematic/plans/types/update_audience_response.py index af1d368..07567f9 100644 --- a/src/schematic/plans/types/update_audience_response.py +++ b/src/schematic/plans/types/update_audience_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.plan_audience_detail_response_data import PlanAudienceDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/plans/types/update_plan_response.py b/src/schematic/plans/types/update_plan_response.py index 0484560..9430abb 100644 --- a/src/schematic/plans/types/update_plan_response.py +++ b/src/schematic/plans/types/update_plan_response.py @@ -4,7 +4,7 @@ import typing from ...core.datetime_utils import serialize_datetime -from ...core.pydantic_utilities import pydantic_v1 +from ...core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from ...types.plan_detail_response_data import PlanDetailResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/api_error.py b/src/schematic/types/api_error.py index 8815bd6..6c4fac2 100644 --- a/src/schematic/types/api_error.py +++ b/src/schematic/types/api_error.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ApiError(pydantic_v1.BaseModel): @@ -18,8 +18,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/api_key_create_response_data.py b/src/schematic/types/api_key_create_response_data.py index 12beee0..5cec1fd 100644 --- a/src/schematic/types/api_key_create_response_data.py +++ b/src/schematic/types/api_key_create_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ApiKeyCreateResponseData(pydantic_v1.BaseModel): @@ -27,8 +27,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/api_key_request_list_response_data.py b/src/schematic/types/api_key_request_list_response_data.py index 007a62a..349bb01 100644 --- a/src/schematic/types/api_key_request_list_response_data.py +++ b/src/schematic/types/api_key_request_list_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ApiKeyRequestListResponseData(pydantic_v1.BaseModel): @@ -30,8 +30,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/api_key_request_response_data.py b/src/schematic/types/api_key_request_response_data.py index f3102c8..c80098d 100644 --- a/src/schematic/types/api_key_request_response_data.py +++ b/src/schematic/types/api_key_request_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ApiKeyRequestResponseData(pydantic_v1.BaseModel): @@ -37,8 +37,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/api_key_response_data.py b/src/schematic/types/api_key_response_data.py index 15fafef..8c90d5a 100644 --- a/src/schematic/types/api_key_response_data.py +++ b/src/schematic/types/api_key_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class ApiKeyResponseData(pydantic_v1.BaseModel): @@ -26,8 +26,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/audience_request_body.py b/src/schematic/types/audience_request_body.py index dd9d722..1fe6297 100644 --- a/src/schematic/types/audience_request_body.py +++ b/src/schematic/types/audience_request_body.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .create_or_update_condition_group_request_body import CreateOrUpdateConditionGroupRequestBody from .create_or_update_condition_request_body import CreateOrUpdateConditionRequestBody @@ -29,8 +29,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/billing_product_response_data.py b/src/schematic/types/billing_product_response_data.py index 045c6da..2f97f8c 100644 --- a/src/schematic/types/billing_product_response_data.py +++ b/src/schematic/types/billing_product_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class BillingProductResponseData(pydantic_v1.BaseModel): @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/billing_subscription_response_data.py b/src/schematic/types/billing_subscription_response_data.py index 1c58665..8be217d 100644 --- a/src/schematic/types/billing_subscription_response_data.py +++ b/src/schematic/types/billing_subscription_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class BillingSubscriptionResponseData(pydantic_v1.BaseModel): @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/check_flag_output_with_flag_key.py b/src/schematic/types/check_flag_output_with_flag_key.py index 9c59dfb..4388964 100644 --- a/src/schematic/types/check_flag_output_with_flag_key.py +++ b/src/schematic/types/check_flag_output_with_flag_key.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CheckFlagOutputWithFlagKey(pydantic_v1.BaseModel): @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/check_flag_request_body.py b/src/schematic/types/check_flag_request_body.py index 8b865b7..681604b 100644 --- a/src/schematic/types/check_flag_request_body.py +++ b/src/schematic/types/check_flag_request_body.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CheckFlagRequestBody(pydantic_v1.BaseModel): @@ -16,8 +16,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/check_flag_response_data.py b/src/schematic/types/check_flag_response_data.py index a5b250c..8c664a8 100644 --- a/src/schematic/types/check_flag_response_data.py +++ b/src/schematic/types/check_flag_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CheckFlagResponseData(pydantic_v1.BaseModel): @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/check_flags_response_data.py b/src/schematic/types/check_flags_response_data.py index ce0fa5f..7a340ae 100644 --- a/src/schematic/types/check_flags_response_data.py +++ b/src/schematic/types/check_flags_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .check_flag_output_with_flag_key import CheckFlagOutputWithFlagKey @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/company_detail_response_data.py b/src/schematic/types/company_detail_response_data.py index 09ad304..150521c 100644 --- a/src/schematic/types/company_detail_response_data.py +++ b/src/schematic/types/company_detail_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .entity_key_detail_response_data import EntityKeyDetailResponseData from .entity_trait_detail_response_data import EntityTraitDetailResponseData from .preview_object import PreviewObject @@ -33,8 +33,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/company_membership_detail_response_data.py b/src/schematic/types/company_membership_detail_response_data.py index 8a76f35..7d1b8a6 100644 --- a/src/schematic/types/company_membership_detail_response_data.py +++ b/src/schematic/types/company_membership_detail_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .company_response_data import CompanyResponseData @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/company_membership_response_data.py b/src/schematic/types/company_membership_response_data.py index fd7e83f..ef194e7 100644 --- a/src/schematic/types/company_membership_response_data.py +++ b/src/schematic/types/company_membership_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CompanyMembershipResponseData(pydantic_v1.BaseModel): @@ -19,8 +19,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/company_override_response_data.py b/src/schematic/types/company_override_response_data.py index 95c1094..2202559 100644 --- a/src/schematic/types/company_override_response_data.py +++ b/src/schematic/types/company_override_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .company_detail_response_data import CompanyDetailResponseData from .entity_trait_definition_response_data import EntityTraitDefinitionResponseData from .feature_response_data import FeatureResponseData @@ -36,8 +36,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/company_plan_response_data.py b/src/schematic/types/company_plan_response_data.py index 14dfd4b..4d1db94 100644 --- a/src/schematic/types/company_plan_response_data.py +++ b/src/schematic/types/company_plan_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CompanyPlanResponseData(pydantic_v1.BaseModel): @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/company_response_data.py b/src/schematic/types/company_response_data.py index fd5f312..9e072aa 100644 --- a/src/schematic/types/company_response_data.py +++ b/src/schematic/types/company_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CompanyResponseData(pydantic_v1.BaseModel): @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/company_subscription_response_data.py b/src/schematic/types/company_subscription_response_data.py index 75108c2..44313fd 100644 --- a/src/schematic/types/company_subscription_response_data.py +++ b/src/schematic/types/company_subscription_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .billing_product_response_data import BillingProductResponseData @@ -19,8 +19,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/count_response.py b/src/schematic/types/count_response.py index ea3c891..c9ca1f1 100644 --- a/src/schematic/types/count_response.py +++ b/src/schematic/types/count_response.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CountResponse(pydantic_v1.BaseModel): @@ -19,8 +19,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/create_event_request_body.py b/src/schematic/types/create_event_request_body.py index 9ee9565..7dd0d40 100644 --- a/src/schematic/types/create_event_request_body.py +++ b/src/schematic/types/create_event_request_body.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .create_event_request_body_event_type import CreateEventRequestBodyEventType from .event_body import EventBody @@ -26,8 +26,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/create_flag_request_body.py b/src/schematic/types/create_flag_request_body.py index 62776cc..ce25c1f 100644 --- a/src/schematic/types/create_flag_request_body.py +++ b/src/schematic/types/create_flag_request_body.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CreateFlagRequestBody(pydantic_v1.BaseModel): @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/create_or_update_condition_group_request_body.py b/src/schematic/types/create_or_update_condition_group_request_body.py index a04db8b..b7a773a 100644 --- a/src/schematic/types/create_or_update_condition_group_request_body.py +++ b/src/schematic/types/create_or_update_condition_group_request_body.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .create_or_update_condition_request_body import CreateOrUpdateConditionRequestBody @@ -19,8 +19,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/create_or_update_condition_request_body.py b/src/schematic/types/create_or_update_condition_request_body.py index f958376..cfb8a60 100644 --- a/src/schematic/types/create_or_update_condition_request_body.py +++ b/src/schematic/types/create_or_update_condition_request_body.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .create_or_update_condition_request_body_condition_type import CreateOrUpdateConditionRequestBodyConditionType from .create_or_update_condition_request_body_metric_period import CreateOrUpdateConditionRequestBodyMetricPeriod from .create_or_update_condition_request_body_operator import CreateOrUpdateConditionRequestBodyOperator @@ -54,8 +54,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/create_or_update_flag_request_body.py b/src/schematic/types/create_or_update_flag_request_body.py index 189b84c..f55067a 100644 --- a/src/schematic/types/create_or_update_flag_request_body.py +++ b/src/schematic/types/create_or_update_flag_request_body.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class CreateOrUpdateFlagRequestBody(pydantic_v1.BaseModel): @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/create_or_update_rule_request_body.py b/src/schematic/types/create_or_update_rule_request_body.py index b7cf1b4..7e5f7bb 100644 --- a/src/schematic/types/create_or_update_rule_request_body.py +++ b/src/schematic/types/create_or_update_rule_request_body.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .create_or_update_condition_group_request_body import CreateOrUpdateConditionGroupRequestBody from .create_or_update_condition_request_body import CreateOrUpdateConditionRequestBody from .create_or_update_rule_request_body_rule_type import CreateOrUpdateRuleRequestBodyRuleType @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/create_req_common.py b/src/schematic/types/create_req_common.py index 7d4dbdd..0cfd81a 100644 --- a/src/schematic/types/create_req_common.py +++ b/src/schematic/types/create_req_common.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .create_req_common_metric_period import CreateReqCommonMetricPeriod from .create_req_common_value_type import CreateReqCommonValueType @@ -22,8 +22,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/delete_response.py b/src/schematic/types/delete_response.py index e09b55a..545e663 100644 --- a/src/schematic/types/delete_response.py +++ b/src/schematic/types/delete_response.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class DeleteResponse(pydantic_v1.BaseModel): @@ -18,8 +18,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/entity_key_definition_response_data.py b/src/schematic/types/entity_key_definition_response_data.py index d8aff0a..9f3962d 100644 --- a/src/schematic/types/entity_key_definition_response_data.py +++ b/src/schematic/types/entity_key_definition_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class EntityKeyDefinitionResponseData(pydantic_v1.BaseModel): @@ -19,8 +19,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/entity_key_detail_response_data.py b/src/schematic/types/entity_key_detail_response_data.py index 3969c4a..37c48ca 100644 --- a/src/schematic/types/entity_key_detail_response_data.py +++ b/src/schematic/types/entity_key_detail_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .entity_key_definition_response_data import EntityKeyDefinitionResponseData @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/entity_key_response_data.py b/src/schematic/types/entity_key_response_data.py index 3f6f7d9..884c4b3 100644 --- a/src/schematic/types/entity_key_response_data.py +++ b/src/schematic/types/entity_key_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class EntityKeyResponseData(pydantic_v1.BaseModel): @@ -23,8 +23,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/entity_trait_definition_response_data.py b/src/schematic/types/entity_trait_definition_response_data.py index 27e2419..d7dbd1f 100644 --- a/src/schematic/types/entity_trait_definition_response_data.py +++ b/src/schematic/types/entity_trait_definition_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class EntityTraitDefinitionResponseData(pydantic_v1.BaseModel): @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/entity_trait_detail_response_data.py b/src/schematic/types/entity_trait_detail_response_data.py index 89d06d0..68b82f8 100644 --- a/src/schematic/types/entity_trait_detail_response_data.py +++ b/src/schematic/types/entity_trait_detail_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .entity_trait_definition_response_data import EntityTraitDefinitionResponseData @@ -22,8 +22,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/entity_trait_response_data.py b/src/schematic/types/entity_trait_response_data.py index 5c10b46..5d6f0d5 100644 --- a/src/schematic/types/entity_trait_response_data.py +++ b/src/schematic/types/entity_trait_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class EntityTraitResponseData(pydantic_v1.BaseModel): @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/entity_trait_value.py b/src/schematic/types/entity_trait_value.py index b1b6928..084ae58 100644 --- a/src/schematic/types/entity_trait_value.py +++ b/src/schematic/types/entity_trait_value.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class EntityTraitValue(pydantic_v1.BaseModel): @@ -16,8 +16,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/environment_detail_response_data.py b/src/schematic/types/environment_detail_response_data.py index d5b32c2..37c42d8 100644 --- a/src/schematic/types/environment_detail_response_data.py +++ b/src/schematic/types/environment_detail_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .api_key_response_data import ApiKeyResponseData @@ -25,8 +25,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/environment_response_data.py b/src/schematic/types/environment_response_data.py index b5686c0..d14dc43 100644 --- a/src/schematic/types/environment_response_data.py +++ b/src/schematic/types/environment_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class EnvironmentResponseData(pydantic_v1.BaseModel): @@ -19,8 +19,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/event_body_identify.py b/src/schematic/types/event_body_identify.py index 794f541..9dad905 100644 --- a/src/schematic/types/event_body_identify.py +++ b/src/schematic/types/event_body_identify.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .event_body_identify_company import EventBodyIdentifyCompany @@ -34,8 +34,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/event_body_identify_company.py b/src/schematic/types/event_body_identify_company.py index 288c55d..ed45b70 100644 --- a/src/schematic/types/event_body_identify_company.py +++ b/src/schematic/types/event_body_identify_company.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class EventBodyIdentifyCompany(pydantic_v1.BaseModel): @@ -32,8 +32,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/event_body_track.py b/src/schematic/types/event_body_track.py index 978f4c2..e75ab01 100644 --- a/src/schematic/types/event_body_track.py +++ b/src/schematic/types/event_body_track.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class EventBodyTrack(pydantic_v1.BaseModel): @@ -33,8 +33,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/event_detail_response_data.py b/src/schematic/types/event_detail_response_data.py index ad0f40e..2bdf3a7 100644 --- a/src/schematic/types/event_detail_response_data.py +++ b/src/schematic/types/event_detail_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .preview_object import PreviewObject @@ -36,8 +36,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/event_response_data.py b/src/schematic/types/event_response_data.py index ec036b6..1259ae9 100644 --- a/src/schematic/types/event_response_data.py +++ b/src/schematic/types/event_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class EventResponseData(pydantic_v1.BaseModel): @@ -32,8 +32,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/event_summary_response_data.py b/src/schematic/types/event_summary_response_data.py index 7a984c6..7a112f6 100644 --- a/src/schematic/types/event_summary_response_data.py +++ b/src/schematic/types/event_summary_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class EventSummaryResponseData(pydantic_v1.BaseModel): @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/feature_company_response_data.py b/src/schematic/types/feature_company_response_data.py index 2c012ef..3355a11 100644 --- a/src/schematic/types/feature_company_response_data.py +++ b/src/schematic/types/feature_company_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .company_detail_response_data import CompanyDetailResponseData from .feature_detail_response_data import FeatureDetailResponseData from .plan_response_data import PlanResponseData @@ -41,8 +41,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/feature_company_user_response_data.py b/src/schematic/types/feature_company_user_response_data.py index cb5268b..fd6f2a2 100644 --- a/src/schematic/types/feature_company_user_response_data.py +++ b/src/schematic/types/feature_company_user_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .company_detail_response_data import CompanyDetailResponseData from .feature_detail_response_data import FeatureDetailResponseData from .plan_response_data import PlanResponseData @@ -44,8 +44,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/feature_detail_response_data.py b/src/schematic/types/feature_detail_response_data.py index b636b1e..b4d5b70 100644 --- a/src/schematic/types/feature_detail_response_data.py +++ b/src/schematic/types/feature_detail_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .entity_trait_definition_response_data import EntityTraitDefinitionResponseData from .event_summary_response_data import EventSummaryResponseData from .flag_detail_response_data import FlagDetailResponseData @@ -31,8 +31,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/feature_response_data.py b/src/schematic/types/feature_response_data.py index 79f9212..354769b 100644 --- a/src/schematic/types/feature_response_data.py +++ b/src/schematic/types/feature_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class FeatureResponseData(pydantic_v1.BaseModel): @@ -23,8 +23,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/feature_usage_detail_response_data.py b/src/schematic/types/feature_usage_detail_response_data.py index 76df2ed..d81c3e0 100644 --- a/src/schematic/types/feature_usage_detail_response_data.py +++ b/src/schematic/types/feature_usage_detail_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .feature_usage_response_data import FeatureUsageResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/feature_usage_response_data.py b/src/schematic/types/feature_usage_response_data.py index dc082b5..8034de6 100644 --- a/src/schematic/types/feature_usage_response_data.py +++ b/src/schematic/types/feature_usage_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .feature_detail_response_data import FeatureDetailResponseData from .plan_response_data import PlanResponseData @@ -39,8 +39,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/flag_check_log_detail_response_data.py b/src/schematic/types/flag_check_log_detail_response_data.py index bcdbb69..d1d55d4 100644 --- a/src/schematic/types/flag_check_log_detail_response_data.py +++ b/src/schematic/types/flag_check_log_detail_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .company_response_data import CompanyResponseData from .environment_response_data import EnvironmentResponseData from .flag_response_data import FlagResponseData @@ -39,8 +39,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/flag_check_log_response_data.py b/src/schematic/types/flag_check_log_response_data.py index 9b7bf7a..2071417 100644 --- a/src/schematic/types/flag_check_log_response_data.py +++ b/src/schematic/types/flag_check_log_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class FlagCheckLogResponseData(pydantic_v1.BaseModel): @@ -29,8 +29,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/flag_detail_response_data.py b/src/schematic/types/flag_detail_response_data.py index 4c31dea..55447c9 100644 --- a/src/schematic/types/flag_detail_response_data.py +++ b/src/schematic/types/flag_detail_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .feature_response_data import FeatureResponseData from .flag_check_log_response_data import FlagCheckLogResponseData from .rule_detail_response_data import RuleDetailResponseData @@ -29,8 +29,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/flag_response_data.py b/src/schematic/types/flag_response_data.py index 63b9ee3..5e2a668 100644 --- a/src/schematic/types/flag_response_data.py +++ b/src/schematic/types/flag_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class FlagResponseData(pydantic_v1.BaseModel): @@ -23,8 +23,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/keys_request_body.py b/src/schematic/types/keys_request_body.py index fcdf5b4..4782547 100644 --- a/src/schematic/types/keys_request_body.py +++ b/src/schematic/types/keys_request_body.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class KeysRequestBody(pydantic_v1.BaseModel): @@ -15,8 +15,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/metric_counts_hourly_response_data.py b/src/schematic/types/metric_counts_hourly_response_data.py index 85eb871..4ccadb1 100644 --- a/src/schematic/types/metric_counts_hourly_response_data.py +++ b/src/schematic/types/metric_counts_hourly_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class MetricCountsHourlyResponseData(pydantic_v1.BaseModel): @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/pagination_filter.py b/src/schematic/types/pagination_filter.py index 4c566d9..6a79c38 100644 --- a/src/schematic/types/pagination_filter.py +++ b/src/schematic/types/pagination_filter.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class PaginationFilter(pydantic_v1.BaseModel): @@ -23,8 +23,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/plan_audience_detail_response_data.py b/src/schematic/types/plan_audience_detail_response_data.py index 2dbef7e..aa02277 100644 --- a/src/schematic/types/plan_audience_detail_response_data.py +++ b/src/schematic/types/plan_audience_detail_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .rule_condition_detail_response_data import RuleConditionDetailResponseData from .rule_condition_group_detail_response_data import RuleConditionGroupDetailResponseData @@ -32,8 +32,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/plan_audience_response_data.py b/src/schematic/types/plan_audience_response_data.py index 10b3479..d902f34 100644 --- a/src/schematic/types/plan_audience_response_data.py +++ b/src/schematic/types/plan_audience_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class PlanAudienceResponseData(pydantic_v1.BaseModel): @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/plan_detail_response_data.py b/src/schematic/types/plan_detail_response_data.py index a82f13f..6249a8d 100644 --- a/src/schematic/types/plan_detail_response_data.py +++ b/src/schematic/types/plan_detail_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .feature_detail_response_data import FeatureDetailResponseData @@ -27,8 +27,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/plan_entitlement_response_data.py b/src/schematic/types/plan_entitlement_response_data.py index 02ad4c3..6c97315 100644 --- a/src/schematic/types/plan_entitlement_response_data.py +++ b/src/schematic/types/plan_entitlement_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .entity_trait_definition_response_data import EntityTraitDefinitionResponseData from .feature_response_data import FeatureResponseData from .plan_response_data import PlanResponseData @@ -36,8 +36,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/plan_response_data.py b/src/schematic/types/plan_response_data.py index 04a607a..3b25069 100644 --- a/src/schematic/types/plan_response_data.py +++ b/src/schematic/types/plan_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class PlanResponseData(pydantic_v1.BaseModel): @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/preview_object.py b/src/schematic/types/preview_object.py index e186f47..ea8ac1f 100644 --- a/src/schematic/types/preview_object.py +++ b/src/schematic/types/preview_object.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class PreviewObject(pydantic_v1.BaseModel): @@ -17,8 +17,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/raw_event_batch_response_data.py b/src/schematic/types/raw_event_batch_response_data.py index 9d15b7c..e020ce9 100644 --- a/src/schematic/types/raw_event_batch_response_data.py +++ b/src/schematic/types/raw_event_batch_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .raw_event_response_data import RawEventResponseData @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/raw_event_response_data.py b/src/schematic/types/raw_event_response_data.py index 9f387f2..2b2d26b 100644 --- a/src/schematic/types/raw_event_response_data.py +++ b/src/schematic/types/raw_event_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class RawEventResponseData(pydantic_v1.BaseModel): @@ -19,8 +19,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/rule_condition_detail_response_data.py b/src/schematic/types/rule_condition_detail_response_data.py index 03adfa4..02e93ec 100644 --- a/src/schematic/types/rule_condition_detail_response_data.py +++ b/src/schematic/types/rule_condition_detail_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .entity_trait_definition_response_data import EntityTraitDefinitionResponseData from .rule_condition_resource_response_data import RuleConditionResourceResponseData @@ -37,8 +37,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/rule_condition_group_detail_response_data.py b/src/schematic/types/rule_condition_group_detail_response_data.py index 64879b8..72b1112 100644 --- a/src/schematic/types/rule_condition_group_detail_response_data.py +++ b/src/schematic/types/rule_condition_group_detail_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .rule_condition_detail_response_data import RuleConditionDetailResponseData @@ -23,8 +23,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/rule_condition_group_response_data.py b/src/schematic/types/rule_condition_group_response_data.py index 7ad4bae..5d91181 100644 --- a/src/schematic/types/rule_condition_group_response_data.py +++ b/src/schematic/types/rule_condition_group_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class RuleConditionGroupResponseData(pydantic_v1.BaseModel): @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/rule_condition_resource_response_data.py b/src/schematic/types/rule_condition_resource_response_data.py index bbaa0b6..2f724db 100644 --- a/src/schematic/types/rule_condition_resource_response_data.py +++ b/src/schematic/types/rule_condition_resource_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class RuleConditionResourceResponseData(pydantic_v1.BaseModel): @@ -16,8 +16,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/rule_condition_response_data.py b/src/schematic/types/rule_condition_response_data.py index d6b3829..12618bd 100644 --- a/src/schematic/types/rule_condition_response_data.py +++ b/src/schematic/types/rule_condition_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class RuleConditionResponseData(pydantic_v1.BaseModel): @@ -32,8 +32,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/rule_detail_response_data.py b/src/schematic/types/rule_detail_response_data.py index d88d189..093552d 100644 --- a/src/schematic/types/rule_detail_response_data.py +++ b/src/schematic/types/rule_detail_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .rule_condition_detail_response_data import RuleConditionDetailResponseData from .rule_condition_group_detail_response_data import RuleConditionGroupDetailResponseData @@ -28,8 +28,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/rule_response_data.py b/src/schematic/types/rule_response_data.py index 65c6358..bfeb045 100644 --- a/src/schematic/types/rule_response_data.py +++ b/src/schematic/types/rule_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class RuleResponseData(pydantic_v1.BaseModel): @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/rules_detail_response_data.py b/src/schematic/types/rules_detail_response_data.py index 90cbfc9..b9a0261 100644 --- a/src/schematic/types/rules_detail_response_data.py +++ b/src/schematic/types/rules_detail_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .flag_response_data import FlagResponseData from .rule_detail_response_data import RuleDetailResponseData @@ -22,8 +22,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/update_req_common.py b/src/schematic/types/update_req_common.py index 5138776..3b25d14 100644 --- a/src/schematic/types/update_req_common.py +++ b/src/schematic/types/update_req_common.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .update_req_common_metric_period import UpdateReqCommonMetricPeriod from .update_req_common_value_type import UpdateReqCommonValueType @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/update_rule_request_body.py b/src/schematic/types/update_rule_request_body.py index 94af34d..25573a7 100644 --- a/src/schematic/types/update_rule_request_body.py +++ b/src/schematic/types/update_rule_request_body.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .create_or_update_condition_group_request_body import CreateOrUpdateConditionGroupRequestBody from .create_or_update_condition_request_body import CreateOrUpdateConditionRequestBody @@ -21,8 +21,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/upsert_company_request_body.py b/src/schematic/types/upsert_company_request_body.py index 8c0b77f..1db3ef2 100644 --- a/src/schematic/types/upsert_company_request_body.py +++ b/src/schematic/types/upsert_company_request_body.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class UpsertCompanyRequestBody(pydantic_v1.BaseModel): @@ -24,8 +24,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/upsert_trait_request_body.py b/src/schematic/types/upsert_trait_request_body.py index 05270bc..6d7f674 100644 --- a/src/schematic/types/upsert_trait_request_body.py +++ b/src/schematic/types/upsert_trait_request_body.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class UpsertTraitRequestBody(pydantic_v1.BaseModel): @@ -38,8 +38,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/upsert_user_request_body.py b/src/schematic/types/upsert_user_request_body.py index 367809c..2e2d188 100644 --- a/src/schematic/types/upsert_user_request_body.py +++ b/src/schematic/types/upsert_user_request_body.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class UpsertUserRequestBody(pydantic_v1.BaseModel): @@ -33,8 +33,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/upsert_user_sub_request_body.py b/src/schematic/types/upsert_user_sub_request_body.py index 0463f97..f94b224 100644 --- a/src/schematic/types/upsert_user_sub_request_body.py +++ b/src/schematic/types/upsert_user_sub_request_body.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class UpsertUserSubRequestBody(pydantic_v1.BaseModel): @@ -28,8 +28,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/user_detail_response_data.py b/src/schematic/types/user_detail_response_data.py index c03c9c0..de7f92a 100644 --- a/src/schematic/types/user_detail_response_data.py +++ b/src/schematic/types/user_detail_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 from .company_membership_detail_response_data import CompanyMembershipDetailResponseData from .entity_key_detail_response_data import EntityKeyDetailResponseData from .entity_trait_detail_response_data import EntityTraitDetailResponseData @@ -31,8 +31,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True diff --git a/src/schematic/types/user_response_data.py b/src/schematic/types/user_response_data.py index 5e47124..0fa9a6d 100644 --- a/src/schematic/types/user_response_data.py +++ b/src/schematic/types/user_response_data.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from ..core.pydantic_utilities import pydantic_v1 +from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1 class UserResponseData(pydantic_v1.BaseModel): @@ -20,8 +20,12 @@ def json(self, **kwargs: typing.Any) -> str: return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) + kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs} + + return deep_union_pydantic_dicts( + super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none) + ) class Config: frozen = True