vrchatapi-async 1.20.8.dev1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vrchatapi/__init__.py +742 -0
- vrchatapi/api/__init__.py +23 -0
- vrchatapi/api/authentication_api.py +6253 -0
- vrchatapi/api/avatars_api.py +4234 -0
- vrchatapi/api/calendar_api.py +4090 -0
- vrchatapi/api/economy_api.py +11547 -0
- vrchatapi/api/favorites_api.py +2368 -0
- vrchatapi/api/files_api.py +6109 -0
- vrchatapi/api/friends_api.py +1708 -0
- vrchatapi/api/groups_api.py +15085 -0
- vrchatapi/api/instances_api.py +1754 -0
- vrchatapi/api/inventory_api.py +4333 -0
- vrchatapi/api/invite_api.py +3337 -0
- vrchatapi/api/jams_api.py +1446 -0
- vrchatapi/api/miscellaneous_api.py +2384 -0
- vrchatapi/api/notifications_api.py +3624 -0
- vrchatapi/api/playermoderation_api.py +1127 -0
- vrchatapi/api/prints_api.py +1478 -0
- vrchatapi/api/props_api.py +2269 -0
- vrchatapi/api/users_api.py +7894 -0
- vrchatapi/api/worlds_api.py +6153 -0
- vrchatapi/api_client.py +865 -0
- vrchatapi/api_response.py +21 -0
- vrchatapi/configuration.py +686 -0
- vrchatapi/exceptions.py +218 -0
- vrchatapi/models/__init__.py +345 -0
- vrchatapi/models/account_deletion_log.py +253 -0
- vrchatapi/models/add_favorite_request.py +246 -0
- vrchatapi/models/add_group_gallery_image_request.py +234 -0
- vrchatapi/models/admin_asset_bundle.py +337 -0
- vrchatapi/models/admin_unity_package.py +261 -0
- vrchatapi/models/age_verification_status.py +38 -0
- vrchatapi/models/agreement.py +280 -0
- vrchatapi/models/agreement_code.py +36 -0
- vrchatapi/models/agreement_request.py +256 -0
- vrchatapi/models/agreement_status.py +261 -0
- vrchatapi/models/api_config.py +1299 -0
- vrchatapi/models/api_config_access_logs_urls.py +258 -0
- vrchatapi/models/api_config_announcement.py +217 -0
- vrchatapi/models/api_config_audio_config.py +311 -0
- vrchatapi/models/api_config_avatar_perf_limiter.py +293 -0
- vrchatapi/models/api_config_constants.py +262 -0
- vrchatapi/models/api_config_constants_groups.py +306 -0
- vrchatapi/models/api_config_constants_instance.py +238 -0
- vrchatapi/models/api_config_constants_instancepopulationbrackets.py +262 -0
- vrchatapi/models/api_config_constants_instancepopulationbracketscrowded.py +216 -0
- vrchatapi/models/api_config_constants_instancepopulationbracketsfew.py +216 -0
- vrchatapi/models/api_config_constants_instancepopulationbracketsmany.py +216 -0
- vrchatapi/models/api_config_constants_language.py +234 -0
- vrchatapi/models/api_config_download_url_list.py +258 -0
- vrchatapi/models/api_config_events.py +314 -0
- vrchatapi/models/api_config_ios_version.py +216 -0
- vrchatapi/models/api_config_min_supported_client_build_number.py +348 -0
- vrchatapi/models/api_config_offline_analysis.py +216 -0
- vrchatapi/models/api_health.py +248 -0
- vrchatapi/models/avatar.py +463 -0
- vrchatapi/models/avatar_moderation.py +249 -0
- vrchatapi/models/avatar_moderation_created.py +248 -0
- vrchatapi/models/avatar_moderation_type.py +36 -0
- vrchatapi/models/avatar_performance.py +265 -0
- vrchatapi/models/avatar_published_listings_inner.py +271 -0
- vrchatapi/models/avatar_style.py +239 -0
- vrchatapi/models/avatar_styles.py +231 -0
- vrchatapi/models/avatar_unity_package_url_object.py +234 -0
- vrchatapi/models/badge.py +308 -0
- vrchatapi/models/balance.py +247 -0
- vrchatapi/models/ban_group_member_request.py +234 -0
- vrchatapi/models/boop_request.py +250 -0
- vrchatapi/models/calendar_day_of_week.py +42 -0
- vrchatapi/models/calendar_event.py +475 -0
- vrchatapi/models/calendar_event_access.py +37 -0
- vrchatapi/models/calendar_event_category.py +48 -0
- vrchatapi/models/calendar_event_discovery.py +247 -0
- vrchatapi/models/calendar_event_discovery_inclusion.py +38 -0
- vrchatapi/models/calendar_event_discovery_scope.py +38 -0
- vrchatapi/models/calendar_event_frequency.py +39 -0
- vrchatapi/models/calendar_event_occurrence_kind.py +38 -0
- vrchatapi/models/calendar_event_platform.py +38 -0
- vrchatapi/models/calendar_event_recurrence.py +261 -0
- vrchatapi/models/calendar_event_recurrence_end.py +246 -0
- vrchatapi/models/calendar_event_recurrence_end_type.py +37 -0
- vrchatapi/models/calendar_event_user_interest.py +251 -0
- vrchatapi/models/change_user_tags_request.py +212 -0
- vrchatapi/models/change_world_tags_request.py +212 -0
- vrchatapi/models/content_filter.py +40 -0
- vrchatapi/models/create_avatar_moderation_request.py +243 -0
- vrchatapi/models/create_avatar_request.py +324 -0
- vrchatapi/models/create_calendar_event_request.py +385 -0
- vrchatapi/models/create_file_request.py +251 -0
- vrchatapi/models/create_file_version_request.py +259 -0
- vrchatapi/models/create_group_announcement_request.py +253 -0
- vrchatapi/models/create_group_gallery_request.py +297 -0
- vrchatapi/models/create_group_invite_request.py +242 -0
- vrchatapi/models/create_group_post_request.py +267 -0
- vrchatapi/models/create_group_request.py +295 -0
- vrchatapi/models/create_group_role_request.py +255 -0
- vrchatapi/models/create_instance_request.py +384 -0
- vrchatapi/models/create_jam_submission_request.py +239 -0
- vrchatapi/models/create_listing_request.py +285 -0
- vrchatapi/models/create_product_request.py +270 -0
- vrchatapi/models/create_prop_request.py +308 -0
- vrchatapi/models/create_world_request.py +322 -0
- vrchatapi/models/current_user.py +909 -0
- vrchatapi/models/current_user_platform_history_inner.py +245 -0
- vrchatapi/models/current_user_presence.py +379 -0
- vrchatapi/models/decline_group_invite_request.py +211 -0
- vrchatapi/models/developer_type.py +39 -0
- vrchatapi/models/disable2_fa_result.py +211 -0
- vrchatapi/models/discord_details.py +216 -0
- vrchatapi/models/dynamic_content_row.py +276 -0
- vrchatapi/models/earnings_metrics.py +248 -0
- vrchatapi/models/earnings_metrics_totals.py +267 -0
- vrchatapi/models/economy_account.py +360 -0
- vrchatapi/models/economy_balances.py +221 -0
- vrchatapi/models/economy_payout.py +385 -0
- vrchatapi/models/economy_payout_eligibility.py +263 -0
- vrchatapi/models/economy_payout_list.py +219 -0
- vrchatapi/models/economy_payout_status.py +295 -0
- vrchatapi/models/equip_inventory_item_request.py +235 -0
- vrchatapi/models/error.py +215 -0
- vrchatapi/models/favorite.py +251 -0
- vrchatapi/models/favorite_group.py +278 -0
- vrchatapi/models/favorite_group_limits.py +249 -0
- vrchatapi/models/favorite_group_visibility.py +38 -0
- vrchatapi/models/favorite_limits.py +265 -0
- vrchatapi/models/favorite_type.py +39 -0
- vrchatapi/models/favorited_world.py +441 -0
- vrchatapi/models/feedback.py +331 -0
- vrchatapi/models/file.py +325 -0
- vrchatapi/models/file_analysis.py +281 -0
- vrchatapi/models/file_analysis_avatar_stats.py +575 -0
- vrchatapi/models/file_data.py +279 -0
- vrchatapi/models/file_status.py +39 -0
- vrchatapi/models/file_upload_url.py +212 -0
- vrchatapi/models/file_version.py +254 -0
- vrchatapi/models/file_version_upload_status.py +269 -0
- vrchatapi/models/finish_file_data_upload_request.py +248 -0
- vrchatapi/models/follow_calendar_event_request.py +234 -0
- vrchatapi/models/friend_status.py +250 -0
- vrchatapi/models/get_group_posts200_response.py +219 -0
- vrchatapi/models/get_user_group_instances200_response.py +248 -0
- vrchatapi/models/group.py +514 -0
- vrchatapi/models/group_access_type.py +38 -0
- vrchatapi/models/group_announcement.py +315 -0
- vrchatapi/models/group_audit_log_entry.py +287 -0
- vrchatapi/models/group_gallery.py +319 -0
- vrchatapi/models/group_gallery_file_order.py +211 -0
- vrchatapi/models/group_gallery_file_order_request.py +239 -0
- vrchatapi/models/group_gallery_image.py +301 -0
- vrchatapi/models/group_instance.py +257 -0
- vrchatapi/models/group_join_request_action.py +37 -0
- vrchatapi/models/group_join_state.py +39 -0
- vrchatapi/models/group_member.py +415 -0
- vrchatapi/models/group_member_limited_user.py +290 -0
- vrchatapi/models/group_member_status.py +41 -0
- vrchatapi/models/group_my_member.py +399 -0
- vrchatapi/models/group_permission.py +260 -0
- vrchatapi/models/group_permissions.py +63 -0
- vrchatapi/models/group_post.py +317 -0
- vrchatapi/models/group_post_visibility.py +37 -0
- vrchatapi/models/group_privacy.py +37 -0
- vrchatapi/models/group_role.py +309 -0
- vrchatapi/models/group_role_template.py +39 -0
- vrchatapi/models/group_role_template_values.py +254 -0
- vrchatapi/models/group_role_template_values_roles.py +253 -0
- vrchatapi/models/group_search_sort.py +37 -0
- vrchatapi/models/group_transferable.py +215 -0
- vrchatapi/models/group_transferable_requirements.py +266 -0
- vrchatapi/models/group_user_visibility.py +38 -0
- vrchatapi/models/image_animation_style.py +62 -0
- vrchatapi/models/image_loop_style.py +37 -0
- vrchatapi/models/image_mask.py +41 -0
- vrchatapi/models/image_purpose.py +46 -0
- vrchatapi/models/info_push.py +306 -0
- vrchatapi/models/info_push_data.py +288 -0
- vrchatapi/models/info_push_data_article.py +215 -0
- vrchatapi/models/info_push_data_article_content.py +251 -0
- vrchatapi/models/info_push_data_clickable.py +224 -0
- vrchatapi/models/instance.py +597 -0
- vrchatapi/models/instance_content_settings.py +236 -0
- vrchatapi/models/instance_platforms.py +222 -0
- vrchatapi/models/instance_region.py +40 -0
- vrchatapi/models/instance_short_name_response.py +248 -0
- vrchatapi/models/instance_type.py +40 -0
- vrchatapi/models/inventory.py +247 -0
- vrchatapi/models/inventory_consumption_results.py +255 -0
- vrchatapi/models/inventory_default_attributes_value.py +243 -0
- vrchatapi/models/inventory_default_attributes_value_validator.py +211 -0
- vrchatapi/models/inventory_drop.py +331 -0
- vrchatapi/models/inventory_equip_slot.py +39 -0
- vrchatapi/models/inventory_flag.py +43 -0
- vrchatapi/models/inventory_item.py +420 -0
- vrchatapi/models/inventory_item_type.py +42 -0
- vrchatapi/models/inventory_metadata.py +287 -0
- vrchatapi/models/inventory_notification_details.py +244 -0
- vrchatapi/models/inventory_spawn.py +216 -0
- vrchatapi/models/inventory_template.py +351 -0
- vrchatapi/models/inventory_user_attributes.py +250 -0
- vrchatapi/models/invite_message.py +276 -0
- vrchatapi/models/invite_message_type.py +39 -0
- vrchatapi/models/invite_request.py +243 -0
- vrchatapi/models/invite_response.py +235 -0
- vrchatapi/models/jam.py +302 -0
- vrchatapi/models/jam_state_change_dates.py +276 -0
- vrchatapi/models/jam_submission.py +275 -0
- vrchatapi/models/join_group_request.py +234 -0
- vrchatapi/models/license.py +261 -0
- vrchatapi/models/license_action.py +37 -0
- vrchatapi/models/license_group.py +235 -0
- vrchatapi/models/license_type.py +39 -0
- vrchatapi/models/limited_group.py +377 -0
- vrchatapi/models/limited_unity_package.py +251 -0
- vrchatapi/models/limited_user_friend.py +399 -0
- vrchatapi/models/limited_user_groups.py +386 -0
- vrchatapi/models/limited_user_instance.py +430 -0
- vrchatapi/models/limited_user_search.py +395 -0
- vrchatapi/models/limited_world.py +410 -0
- vrchatapi/models/mime_type.py +50 -0
- vrchatapi/models/model_print.py +299 -0
- vrchatapi/models/moderate_user_request.py +217 -0
- vrchatapi/models/moderation_report.py +296 -0
- vrchatapi/models/mutual_friend.py +302 -0
- vrchatapi/models/mutuals.py +217 -0
- vrchatapi/models/notification.py +283 -0
- vrchatapi/models/notification_detail_invite.py +250 -0
- vrchatapi/models/notification_detail_invite_response.py +242 -0
- vrchatapi/models/notification_detail_request_invite.py +239 -0
- vrchatapi/models/notification_detail_request_invite_response.py +242 -0
- vrchatapi/models/notification_detail_vote_to_kick.py +242 -0
- vrchatapi/models/notification_type.py +43 -0
- vrchatapi/models/notification_v2.py +466 -0
- vrchatapi/models/notification_v2_details_boop.py +255 -0
- vrchatapi/models/notification_v2_response.py +259 -0
- vrchatapi/models/notification_v2_type.py +58 -0
- vrchatapi/models/ok_status.py +211 -0
- vrchatapi/models/ok_status2.py +234 -0
- vrchatapi/models/order_option.py +37 -0
- vrchatapi/models/order_option_short.py +37 -0
- vrchatapi/models/paginated_calendar_event_list.py +255 -0
- vrchatapi/models/paginated_group_audit_log_entry_list.py +255 -0
- vrchatapi/models/paginated_moderation_report_list.py +255 -0
- vrchatapi/models/past_display_name.py +241 -0
- vrchatapi/models/pending2_fa_result.py +239 -0
- vrchatapi/models/performance_limiter_info.py +234 -0
- vrchatapi/models/performance_ratings.py +41 -0
- vrchatapi/models/permission.py +280 -0
- vrchatapi/models/permission_data.py +258 -0
- vrchatapi/models/platform_build_info.py +242 -0
- vrchatapi/models/player_moderation.py +276 -0
- vrchatapi/models/player_moderation_type.py +44 -0
- vrchatapi/models/print_files.py +239 -0
- vrchatapi/models/private_profile.py +267 -0
- vrchatapi/models/private_profile_activity.py +292 -0
- vrchatapi/models/product.py +389 -0
- vrchatapi/models/product_listing.py +538 -0
- vrchatapi/models/product_listing_type.py +39 -0
- vrchatapi/models/product_listing_variant.py +272 -0
- vrchatapi/models/product_purchase.py +571 -0
- vrchatapi/models/product_purchase_history.py +256 -0
- vrchatapi/models/product_purchase_location_type.py +46 -0
- vrchatapi/models/product_purchase_product.py +269 -0
- vrchatapi/models/product_purchase_purchase_context.py +250 -0
- vrchatapi/models/product_purchase_record.py +312 -0
- vrchatapi/models/product_type.py +39 -0
- vrchatapi/models/profile_represented_group.py +262 -0
- vrchatapi/models/prop.py +358 -0
- vrchatapi/models/prop_publish_status.py +234 -0
- vrchatapi/models/prop_unity_package.py +269 -0
- vrchatapi/models/public_profile.py +398 -0
- vrchatapi/models/purchase_context_data.py +251 -0
- vrchatapi/models/purchase_product_listing_request.py +281 -0
- vrchatapi/models/region.py +42 -0
- vrchatapi/models/register_user_account_request.py +278 -0
- vrchatapi/models/release_status.py +39 -0
- vrchatapi/models/report_category.py +226 -0
- vrchatapi/models/report_reason.py +216 -0
- vrchatapi/models/represented_group.py +348 -0
- vrchatapi/models/request_invite_request.py +235 -0
- vrchatapi/models/respond_group_join_request.py +217 -0
- vrchatapi/models/respond_notification_v2_request.py +242 -0
- vrchatapi/models/response.py +217 -0
- vrchatapi/models/reward_badge.py +308 -0
- vrchatapi/models/reward_redemption.py +220 -0
- vrchatapi/models/reward_redemption_data.py +224 -0
- vrchatapi/models/reward_redemption_request.py +211 -0
- vrchatapi/models/reward_redemption_result.py +250 -0
- vrchatapi/models/search_group_members200_response.py +224 -0
- vrchatapi/models/seller_eligibility.py +211 -0
- vrchatapi/models/sent_notification.py +278 -0
- vrchatapi/models/service_queue_stats.py +234 -0
- vrchatapi/models/service_status.py +281 -0
- vrchatapi/models/share_inventory_item_direct_request.py +239 -0
- vrchatapi/models/sort_option.py +53 -0
- vrchatapi/models/sort_option_product_purchase.py +36 -0
- vrchatapi/models/store.py +372 -0
- vrchatapi/models/store_context.py +249 -0
- vrchatapi/models/store_shelf.py +304 -0
- vrchatapi/models/store_type.py +38 -0
- vrchatapi/models/store_view.py +40 -0
- vrchatapi/models/submit_moderation_report_request.py +263 -0
- vrchatapi/models/submit_moderation_report_request_details.py +283 -0
- vrchatapi/models/subscription.py +301 -0
- vrchatapi/models/subscription_period.py +40 -0
- vrchatapi/models/success.py +215 -0
- vrchatapi/models/success_flag.py +211 -0
- vrchatapi/models/tilia_kyc.py +246 -0
- vrchatapi/models/tilia_status.py +259 -0
- vrchatapi/models/tilia_tos.py +211 -0
- vrchatapi/models/token_bundle.py +286 -0
- vrchatapi/models/transaction.py +322 -0
- vrchatapi/models/transaction_agreement.py +353 -0
- vrchatapi/models/transaction_status.py +39 -0
- vrchatapi/models/transaction_steam_info.py +271 -0
- vrchatapi/models/transaction_steam_wallet_info.py +227 -0
- vrchatapi/models/transfer_group_request.py +234 -0
- vrchatapi/models/tutorial_status.py +255 -0
- vrchatapi/models/two_factor_auth_code.py +211 -0
- vrchatapi/models/two_factor_email_code.py +211 -0
- vrchatapi/models/two_factor_recovery_codes.py +247 -0
- vrchatapi/models/two_factor_recovery_codes_otp_inner.py +216 -0
- vrchatapi/models/unity_package.py +360 -0
- vrchatapi/models/update_asset_review_notes_request.py +234 -0
- vrchatapi/models/update_avatar_request.py +293 -0
- vrchatapi/models/update_calendar_event_request.py +365 -0
- vrchatapi/models/update_favorite_group_request.py +246 -0
- vrchatapi/models/update_group_gallery_request.py +297 -0
- vrchatapi/models/update_group_member_request.py +256 -0
- vrchatapi/models/update_group_representation_request.py +234 -0
- vrchatapi/models/update_group_request.py +300 -0
- vrchatapi/models/update_group_role_request.py +255 -0
- vrchatapi/models/update_inventory_item_request.py +254 -0
- vrchatapi/models/update_invite_message_request.py +211 -0
- vrchatapi/models/update_listing_request.py +211 -0
- vrchatapi/models/update_product_request.py +261 -0
- vrchatapi/models/update_prop_request.py +303 -0
- vrchatapi/models/update_tilia_tos_request.py +211 -0
- vrchatapi/models/update_user_badge_request.py +216 -0
- vrchatapi/models/update_user_note_request.py +239 -0
- vrchatapi/models/update_user_request.py +358 -0
- vrchatapi/models/update_world_request.py +317 -0
- vrchatapi/models/user.py +549 -0
- vrchatapi/models/user_credits_eligible.py +216 -0
- vrchatapi/models/user_exists.py +242 -0
- vrchatapi/models/user_note.py +273 -0
- vrchatapi/models/user_note_target_user.py +277 -0
- vrchatapi/models/user_state.py +38 -0
- vrchatapi/models/user_status.py +40 -0
- vrchatapi/models/user_subscription.py +330 -0
- vrchatapi/models/user_subscription_eligible.py +274 -0
- vrchatapi/models/verify2_fa_email_code_result.py +211 -0
- vrchatapi/models/verify2_fa_result.py +216 -0
- vrchatapi/models/verify_auth_token_result.py +217 -0
- vrchatapi/models/world.py +459 -0
- vrchatapi/models/world_metadata.py +216 -0
- vrchatapi/models/world_publish_status.py +234 -0
- vrchatapi/py.typed +0 -0
- vrchatapi/rest.py +303 -0
- vrchatapi_async-1.20.8.dev1.dist-info/METADATA +137 -0
- vrchatapi_async-1.20.8.dev1.dist-info/RECORD +362 -0
- vrchatapi_async-1.20.8.dev1.dist-info/WHEEL +5 -0
- vrchatapi_async-1.20.8.dev1.dist-info/licenses/LICENSE +21 -0
- vrchatapi_async-1.20.8.dev1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
VRChat API Documentation
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
The version of the OpenAPI document: 1.20.8
|
|
8
|
+
Contact: vrchatapi.lpv0t@aries.fyi
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from collections.abc import Mapping as _Mapping
|
|
21
|
+
from datetime import datetime
|
|
22
|
+
from pydantic import AliasChoices, BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
|
23
|
+
from typing import Any, ClassVar, Dict, List, Optional, cast as _cast
|
|
24
|
+
from typing_extensions import Annotated
|
|
25
|
+
from vrchatapi.models.instance_content_settings import InstanceContentSettings
|
|
26
|
+
from vrchatapi.models.release_status import ReleaseStatus
|
|
27
|
+
from vrchatapi.models.unity_package import UnityPackage
|
|
28
|
+
from typing import Optional, Set
|
|
29
|
+
from typing_extensions import Self
|
|
30
|
+
from pydantic_core import to_jsonable_python
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
_OPENAPI_GENERATOR_TO_DICT = "_openapi_generator_to_dict"
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def _get_openapi_to_dict(value: Any) -> Any:
|
|
37
|
+
# Reciprocal function references preserve inherited generated methods
|
|
38
|
+
# without reserving model member names. Checking both directions also
|
|
39
|
+
# rejects overrides whose decorators copy function attributes.
|
|
40
|
+
to_dict = getattr(value, "to_dict", None)
|
|
41
|
+
type_to_dict = getattr(type(value), "to_dict", None)
|
|
42
|
+
if (
|
|
43
|
+
not callable(to_dict)
|
|
44
|
+
or getattr(to_dict, "__func__", None) is not type_to_dict
|
|
45
|
+
):
|
|
46
|
+
return None
|
|
47
|
+
|
|
48
|
+
openapi_to_dict = getattr(
|
|
49
|
+
type_to_dict, _OPENAPI_GENERATOR_TO_DICT, None
|
|
50
|
+
)
|
|
51
|
+
if (
|
|
52
|
+
not callable(openapi_to_dict)
|
|
53
|
+
or getattr(
|
|
54
|
+
openapi_to_dict,
|
|
55
|
+
_OPENAPI_GENERATOR_TO_DICT,
|
|
56
|
+
None,
|
|
57
|
+
) is not type_to_dict
|
|
58
|
+
):
|
|
59
|
+
return None
|
|
60
|
+
return openapi_to_dict
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def _to_legacy_item(value: Any, serialize: bool) -> Any:
|
|
64
|
+
to_dict = getattr(value, "to_dict", None)
|
|
65
|
+
if _get_openapi_to_dict(value) is not None and callable(to_dict):
|
|
66
|
+
return to_dict(serialize=serialize)
|
|
67
|
+
if callable(to_dict):
|
|
68
|
+
return to_dict()
|
|
69
|
+
return value
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def _to_legacy_value(value: Any, serialize: bool) -> Any:
|
|
73
|
+
# python-legacy converted only immediate list elements or dictionary values:
|
|
74
|
+
# https://github.com/OpenAPITools/openapi-generator/blob/c84b949df1a9ec04ba75989cb49b45c940c2f694/modules/openapi-generator/src/main/resources/python-legacy/model.mustache#L203-L231
|
|
75
|
+
if isinstance(value, list):
|
|
76
|
+
return [_to_legacy_item(item, serialize) for item in value]
|
|
77
|
+
if isinstance(value, dict):
|
|
78
|
+
return {
|
|
79
|
+
key: _to_legacy_item(item, serialize)
|
|
80
|
+
for key, item in value.items()
|
|
81
|
+
}
|
|
82
|
+
return _to_legacy_item(value, serialize)
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def _to_openapi_value(value: Any) -> Any:
|
|
86
|
+
if isinstance(value, list):
|
|
87
|
+
return [_to_openapi_value(item) for item in value]
|
|
88
|
+
if isinstance(value, dict):
|
|
89
|
+
return {key: _to_openapi_value(item) for key, item in value.items()}
|
|
90
|
+
|
|
91
|
+
to_openapi_dict = _get_openapi_to_dict(value)
|
|
92
|
+
if to_openapi_dict is not None:
|
|
93
|
+
return to_openapi_dict(value)
|
|
94
|
+
|
|
95
|
+
to_dict = getattr(value, "to_dict", None)
|
|
96
|
+
if callable(to_dict):
|
|
97
|
+
return to_dict()
|
|
98
|
+
return value
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
class FavoritedWorld(BaseModel):
|
|
102
|
+
"""
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
Attributes:
|
|
106
|
+
openapi_types (dict): The key is attribute name
|
|
107
|
+
and the value is attribute type.
|
|
108
|
+
attribute_map (dict): The key is attribute name
|
|
109
|
+
and the value is json key in definition.
|
|
110
|
+
""" # noqa: E501
|
|
111
|
+
author_id: Optional[StrictStr] = Field(default=None, validation_alias=AliasChoices("authorId", "author_id"), serialization_alias="authorId", description="A users unique ID, usually in the form of `usr_c1644b5b-3ca4-45b4-97c6-a2a0de70d469`. Legacy players can have old IDs in the form of `8JoV9XEdpo`. The ID can never be changed.", json_schema_extra={"examples": ["usr_c1644b5b-3ca4-45b4-97c6-a2a0de70d469"]})
|
|
112
|
+
author_name: Optional[Annotated[str, Field(min_length=1, strict=True)]] = Field(default=None, validation_alias=AliasChoices("authorName", "author_name"), serialization_alias="authorName")
|
|
113
|
+
capacity: Optional[StrictInt] = Field(default=None, json_schema_extra={"examples": [8]})
|
|
114
|
+
created_at: Optional[datetime] = None
|
|
115
|
+
default_content_settings: Optional[InstanceContentSettings] = Field(default=None, validation_alias=AliasChoices("defaultContentSettings", "default_content_settings"), serialization_alias="defaultContentSettings")
|
|
116
|
+
description: Optional[Annotated[str, Field(min_length=1, strict=True)]] = None
|
|
117
|
+
favorite_group: Optional[Annotated[str, Field(min_length=1, strict=True)]] = Field(default=None, validation_alias=AliasChoices("favoriteGroup", "favorite_group"), serialization_alias="favoriteGroup")
|
|
118
|
+
favorite_id: Optional[StrictStr] = Field(default=None, validation_alias=AliasChoices("favoriteId", "favorite_id"), serialization_alias="favoriteId", json_schema_extra={"examples": ["fvrt_9568d189-8776-44a5-a8c8-defc981e44de"]})
|
|
119
|
+
favorites: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=0, json_schema_extra={"examples": [12024]})
|
|
120
|
+
featured: Optional[StrictBool] = False
|
|
121
|
+
heat: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=0, json_schema_extra={"examples": [5]})
|
|
122
|
+
id: Optional[StrictStr] = Field(default=None, description="WorldID be \"offline\" on User profiles if you are not friends with that user.", json_schema_extra={"examples": ["wrld_4432ea9b-729c-46e3-8eaf-846aa0a37fdd"]})
|
|
123
|
+
image_url: Optional[Annotated[str, Field(min_length=1, strict=True)]] = Field(default=None, validation_alias=AliasChoices("imageUrl", "image_url"), serialization_alias="imageUrl")
|
|
124
|
+
labs_publication_date: Optional[Annotated[str, Field(min_length=1, strict=True)]] = Field(default=None, validation_alias=AliasChoices("labsPublicationDate", "labs_publication_date"), serialization_alias="labsPublicationDate", json_schema_extra={"examples": ["none"]})
|
|
125
|
+
name: Optional[Annotated[str, Field(min_length=1, strict=True)]] = None
|
|
126
|
+
occupants: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, json_schema_extra={"examples": [47]})
|
|
127
|
+
organization: Optional[Annotated[str, Field(min_length=1, strict=True)]] = 'vrchat'
|
|
128
|
+
popularity: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=0, json_schema_extra={"examples": [8]})
|
|
129
|
+
preview_youtube_id: Optional[StrictStr] = Field(default=None, validation_alias=AliasChoices("previewYoutubeId", "preview_youtube_id"), serialization_alias="previewYoutubeId")
|
|
130
|
+
publication_date: Optional[Annotated[str, Field(min_length=1, strict=True)]] = Field(default=None, validation_alias=AliasChoices("publicationDate", "publication_date"), serialization_alias="publicationDate", json_schema_extra={"examples": ["none"]})
|
|
131
|
+
recommended_capacity: Optional[StrictInt] = Field(default=None, validation_alias=AliasChoices("recommendedCapacity", "recommended_capacity"), serialization_alias="recommendedCapacity", json_schema_extra={"examples": [16]})
|
|
132
|
+
release_status: Optional[ReleaseStatus] = Field(default=None, validation_alias=AliasChoices("releaseStatus", "release_status"), serialization_alias="releaseStatus")
|
|
133
|
+
tags: Optional[List[Annotated[str, Field(min_length=1, strict=True)]]] = Field(default=None, description=" ")
|
|
134
|
+
thumbnail_image_url: Optional[Annotated[str, Field(min_length=1, strict=True)]] = Field(default=None, validation_alias=AliasChoices("thumbnailImageUrl", "thumbnail_image_url"), serialization_alias="thumbnailImageUrl")
|
|
135
|
+
udon_products: Optional[List[StrictStr]] = Field(default=None, validation_alias=AliasChoices("udonProducts", "udon_products"), serialization_alias="udonProducts")
|
|
136
|
+
unity_packages: Optional[Annotated[List[UnityPackage], Field(min_length=1)]] = Field(default=None, validation_alias=AliasChoices("unityPackages", "unity_packages"), serialization_alias="unityPackages", description=" ")
|
|
137
|
+
updated_at: Optional[datetime] = None
|
|
138
|
+
url_list: Optional[List[StrictStr]] = Field(default=None, validation_alias=AliasChoices("urlList", "url_list"), serialization_alias="urlList")
|
|
139
|
+
version: Optional[Annotated[int, Field(strict=True, ge=1)]] = None
|
|
140
|
+
visits: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=0, json_schema_extra={"examples": [9988675]})
|
|
141
|
+
openapi_types: ClassVar[Dict[str, str]] = {
|
|
142
|
+
"author_id": "str",
|
|
143
|
+
"author_name": "str",
|
|
144
|
+
"capacity": "int",
|
|
145
|
+
"created_at": "datetime",
|
|
146
|
+
"default_content_settings": "InstanceContentSettings",
|
|
147
|
+
"description": "str",
|
|
148
|
+
"favorite_group": "str",
|
|
149
|
+
"favorite_id": "str",
|
|
150
|
+
"favorites": "int",
|
|
151
|
+
"featured": "bool",
|
|
152
|
+
"heat": "int",
|
|
153
|
+
"id": "str",
|
|
154
|
+
"image_url": "str",
|
|
155
|
+
"labs_publication_date": "str",
|
|
156
|
+
"name": "str",
|
|
157
|
+
"occupants": "int",
|
|
158
|
+
"organization": "str",
|
|
159
|
+
"popularity": "int",
|
|
160
|
+
"preview_youtube_id": "str",
|
|
161
|
+
"publication_date": "str",
|
|
162
|
+
"recommended_capacity": "int",
|
|
163
|
+
"release_status": "ReleaseStatus",
|
|
164
|
+
"tags": "List[str]",
|
|
165
|
+
"thumbnail_image_url": "str",
|
|
166
|
+
"udon_products": "List[str]",
|
|
167
|
+
"unity_packages": "List[UnityPackage]",
|
|
168
|
+
"updated_at": "datetime",
|
|
169
|
+
"url_list": "List[str]",
|
|
170
|
+
"version": "int",
|
|
171
|
+
"visits": "int"
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
attribute_map: ClassVar[Dict[str, str]] = {
|
|
175
|
+
"author_id": "authorId",
|
|
176
|
+
"author_name": "authorName",
|
|
177
|
+
"capacity": "capacity",
|
|
178
|
+
"created_at": "created_at",
|
|
179
|
+
"default_content_settings": "defaultContentSettings",
|
|
180
|
+
"description": "description",
|
|
181
|
+
"favorite_group": "favoriteGroup",
|
|
182
|
+
"favorite_id": "favoriteId",
|
|
183
|
+
"favorites": "favorites",
|
|
184
|
+
"featured": "featured",
|
|
185
|
+
"heat": "heat",
|
|
186
|
+
"id": "id",
|
|
187
|
+
"image_url": "imageUrl",
|
|
188
|
+
"labs_publication_date": "labsPublicationDate",
|
|
189
|
+
"name": "name",
|
|
190
|
+
"occupants": "occupants",
|
|
191
|
+
"organization": "organization",
|
|
192
|
+
"popularity": "popularity",
|
|
193
|
+
"preview_youtube_id": "previewYoutubeId",
|
|
194
|
+
"publication_date": "publicationDate",
|
|
195
|
+
"recommended_capacity": "recommendedCapacity",
|
|
196
|
+
"release_status": "releaseStatus",
|
|
197
|
+
"tags": "tags",
|
|
198
|
+
"thumbnail_image_url": "thumbnailImageUrl",
|
|
199
|
+
"udon_products": "udonProducts",
|
|
200
|
+
"unity_packages": "unityPackages",
|
|
201
|
+
"updated_at": "updated_at",
|
|
202
|
+
"url_list": "urlList",
|
|
203
|
+
"version": "version",
|
|
204
|
+
"visits": "visits"
|
|
205
|
+
}
|
|
206
|
+
__properties: ClassVar[List[str]] = ["authorId", "authorName", "capacity", "created_at", "defaultContentSettings", "description", "favoriteGroup", "favoriteId", "favorites", "featured", "heat", "id", "imageUrl", "labsPublicationDate", "name", "occupants", "organization", "popularity", "previewYoutubeId", "publicationDate", "recommendedCapacity", "releaseStatus", "tags", "thumbnailImageUrl", "udonProducts", "unityPackages", "updated_at", "urlList", "version", "visits"]
|
|
207
|
+
|
|
208
|
+
@classmethod
|
|
209
|
+
def __preprocess_input_names(
|
|
210
|
+
cls,
|
|
211
|
+
obj: Any,
|
|
212
|
+
remove_hidden_storage_names: bool = True,
|
|
213
|
+
) -> Any:
|
|
214
|
+
if not isinstance(obj, _Mapping):
|
|
215
|
+
return obj
|
|
216
|
+
obj = dict(obj)
|
|
217
|
+
if "authorId" not in obj and "author_id" in obj:
|
|
218
|
+
obj["authorId"] = obj["author_id"]
|
|
219
|
+
obj.pop("author_id", None)
|
|
220
|
+
if "authorName" not in obj and "author_name" in obj:
|
|
221
|
+
obj["authorName"] = obj["author_name"]
|
|
222
|
+
obj.pop("author_name", None)
|
|
223
|
+
if "defaultContentSettings" not in obj and "default_content_settings" in obj:
|
|
224
|
+
obj["defaultContentSettings"] = obj["default_content_settings"]
|
|
225
|
+
obj.pop("default_content_settings", None)
|
|
226
|
+
if "favoriteGroup" not in obj and "favorite_group" in obj:
|
|
227
|
+
obj["favoriteGroup"] = obj["favorite_group"]
|
|
228
|
+
obj.pop("favorite_group", None)
|
|
229
|
+
if "favoriteId" not in obj and "favorite_id" in obj:
|
|
230
|
+
obj["favoriteId"] = obj["favorite_id"]
|
|
231
|
+
obj.pop("favorite_id", None)
|
|
232
|
+
if "imageUrl" not in obj and "image_url" in obj:
|
|
233
|
+
obj["imageUrl"] = obj["image_url"]
|
|
234
|
+
obj.pop("image_url", None)
|
|
235
|
+
if "labsPublicationDate" not in obj and "labs_publication_date" in obj:
|
|
236
|
+
obj["labsPublicationDate"] = obj["labs_publication_date"]
|
|
237
|
+
obj.pop("labs_publication_date", None)
|
|
238
|
+
if "previewYoutubeId" not in obj and "preview_youtube_id" in obj:
|
|
239
|
+
obj["previewYoutubeId"] = obj["preview_youtube_id"]
|
|
240
|
+
obj.pop("preview_youtube_id", None)
|
|
241
|
+
if "publicationDate" not in obj and "publication_date" in obj:
|
|
242
|
+
obj["publicationDate"] = obj["publication_date"]
|
|
243
|
+
obj.pop("publication_date", None)
|
|
244
|
+
if "recommendedCapacity" not in obj and "recommended_capacity" in obj:
|
|
245
|
+
obj["recommendedCapacity"] = obj["recommended_capacity"]
|
|
246
|
+
obj.pop("recommended_capacity", None)
|
|
247
|
+
if "releaseStatus" not in obj and "release_status" in obj:
|
|
248
|
+
obj["releaseStatus"] = obj["release_status"]
|
|
249
|
+
obj.pop("release_status", None)
|
|
250
|
+
if "thumbnailImageUrl" not in obj and "thumbnail_image_url" in obj:
|
|
251
|
+
obj["thumbnailImageUrl"] = obj["thumbnail_image_url"]
|
|
252
|
+
obj.pop("thumbnail_image_url", None)
|
|
253
|
+
if "udonProducts" not in obj and "udon_products" in obj:
|
|
254
|
+
obj["udonProducts"] = obj["udon_products"]
|
|
255
|
+
obj.pop("udon_products", None)
|
|
256
|
+
if "unityPackages" not in obj and "unity_packages" in obj:
|
|
257
|
+
obj["unityPackages"] = obj["unity_packages"]
|
|
258
|
+
obj.pop("unity_packages", None)
|
|
259
|
+
if "urlList" not in obj and "url_list" in obj:
|
|
260
|
+
obj["urlList"] = obj["url_list"]
|
|
261
|
+
obj.pop("url_list", None)
|
|
262
|
+
return obj
|
|
263
|
+
|
|
264
|
+
model_config = ConfigDict(
|
|
265
|
+
validate_by_name=True,
|
|
266
|
+
validate_by_alias=True,
|
|
267
|
+
validate_assignment=True,
|
|
268
|
+
extra="forbid",
|
|
269
|
+
protected_namespaces=(),
|
|
270
|
+
)
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
def to_str(self) -> str:
|
|
274
|
+
"""Returns the string representation of the model"""
|
|
275
|
+
return pprint.pformat(self.to_dict())
|
|
276
|
+
|
|
277
|
+
def __repr__(self) -> str:
|
|
278
|
+
"""For print and pprint"""
|
|
279
|
+
return self.to_str()
|
|
280
|
+
|
|
281
|
+
def __eq__(self, other: object) -> bool:
|
|
282
|
+
"""Returns true if both objects are equal"""
|
|
283
|
+
if not isinstance(other, FavoritedWorld):
|
|
284
|
+
return False
|
|
285
|
+
|
|
286
|
+
return self.to_dict() == other.to_dict()
|
|
287
|
+
|
|
288
|
+
def __ne__(self, other: object) -> bool:
|
|
289
|
+
"""Returns true if both objects are not equal"""
|
|
290
|
+
if not isinstance(other, FavoritedWorld):
|
|
291
|
+
return True
|
|
292
|
+
|
|
293
|
+
return not (self == other)
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
def to_json(self) -> str:
|
|
297
|
+
"""Returns the JSON representation of the model using alias"""
|
|
298
|
+
to_openapi_dict = _get_openapi_to_dict(self)
|
|
299
|
+
if to_openapi_dict is not None:
|
|
300
|
+
return json.dumps(to_jsonable_python(to_openapi_dict(self)))
|
|
301
|
+
return json.dumps(to_jsonable_python(self.to_dict()))
|
|
302
|
+
|
|
303
|
+
@classmethod
|
|
304
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
305
|
+
"""Create an instance of FavoritedWorld from a JSON string"""
|
|
306
|
+
return cls.from_dict(json.loads(json_str))
|
|
307
|
+
|
|
308
|
+
def to_dict(self, serialize: bool = False) -> Dict[str, Any]:
|
|
309
|
+
"""Return all declared model fields using public or wire names."""
|
|
310
|
+
return {
|
|
311
|
+
("authorId" if serialize else "author_id"): _to_legacy_value(getattr(self, "author_id", None), serialize),
|
|
312
|
+
("authorName" if serialize else "author_name"): _to_legacy_value(getattr(self, "author_name", None), serialize),
|
|
313
|
+
("capacity" if serialize else "capacity"): _to_legacy_value(getattr(self, "capacity", None), serialize),
|
|
314
|
+
("created_at" if serialize else "created_at"): _to_legacy_value(getattr(self, "created_at", None), serialize),
|
|
315
|
+
("defaultContentSettings" if serialize else "default_content_settings"): _to_legacy_value(getattr(self, "default_content_settings", None), serialize),
|
|
316
|
+
("description" if serialize else "description"): _to_legacy_value(getattr(self, "description", None), serialize),
|
|
317
|
+
("favoriteGroup" if serialize else "favorite_group"): _to_legacy_value(getattr(self, "favorite_group", None), serialize),
|
|
318
|
+
("favoriteId" if serialize else "favorite_id"): _to_legacy_value(getattr(self, "favorite_id", None), serialize),
|
|
319
|
+
("favorites" if serialize else "favorites"): _to_legacy_value(getattr(self, "favorites", None), serialize),
|
|
320
|
+
("featured" if serialize else "featured"): _to_legacy_value(getattr(self, "featured", None), serialize),
|
|
321
|
+
("heat" if serialize else "heat"): _to_legacy_value(getattr(self, "heat", None), serialize),
|
|
322
|
+
("id" if serialize else "id"): _to_legacy_value(getattr(self, "id", None), serialize),
|
|
323
|
+
("imageUrl" if serialize else "image_url"): _to_legacy_value(getattr(self, "image_url", None), serialize),
|
|
324
|
+
("labsPublicationDate" if serialize else "labs_publication_date"): _to_legacy_value(getattr(self, "labs_publication_date", None), serialize),
|
|
325
|
+
("name" if serialize else "name"): _to_legacy_value(getattr(self, "name", None), serialize),
|
|
326
|
+
("occupants" if serialize else "occupants"): _to_legacy_value(getattr(self, "occupants", None), serialize),
|
|
327
|
+
("organization" if serialize else "organization"): _to_legacy_value(getattr(self, "organization", None), serialize),
|
|
328
|
+
("popularity" if serialize else "popularity"): _to_legacy_value(getattr(self, "popularity", None), serialize),
|
|
329
|
+
("previewYoutubeId" if serialize else "preview_youtube_id"): _to_legacy_value(getattr(self, "preview_youtube_id", None), serialize),
|
|
330
|
+
("publicationDate" if serialize else "publication_date"): _to_legacy_value(getattr(self, "publication_date", None), serialize),
|
|
331
|
+
("recommendedCapacity" if serialize else "recommended_capacity"): _to_legacy_value(getattr(self, "recommended_capacity", None), serialize),
|
|
332
|
+
("releaseStatus" if serialize else "release_status"): _to_legacy_value(getattr(self, "release_status", None), serialize),
|
|
333
|
+
("tags" if serialize else "tags"): _to_legacy_value(getattr(self, "tags", None), serialize),
|
|
334
|
+
("thumbnailImageUrl" if serialize else "thumbnail_image_url"): _to_legacy_value(getattr(self, "thumbnail_image_url", None), serialize),
|
|
335
|
+
("udonProducts" if serialize else "udon_products"): _to_legacy_value(getattr(self, "udon_products", None), serialize),
|
|
336
|
+
("unityPackages" if serialize else "unity_packages"): _to_legacy_value(getattr(self, "unity_packages", None), serialize),
|
|
337
|
+
("updated_at" if serialize else "updated_at"): _to_legacy_value(getattr(self, "updated_at", None), serialize),
|
|
338
|
+
("urlList" if serialize else "url_list"): _to_legacy_value(getattr(self, "url_list", None), serialize),
|
|
339
|
+
("version" if serialize else "version"): _to_legacy_value(getattr(self, "version", None), serialize),
|
|
340
|
+
("visits" if serialize else "visits"): _to_legacy_value(getattr(self, "visits", None), serialize),
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
def __openapi_generator_modern_projection(self) -> Dict[str, Any]:
|
|
344
|
+
"""Return the dictionary representation of the model using alias.
|
|
345
|
+
|
|
346
|
+
This has the following differences from calling pydantic's
|
|
347
|
+
`self.model_dump(by_alias=True)`:
|
|
348
|
+
|
|
349
|
+
* `None` is only added to the output dict for nullable fields that
|
|
350
|
+
were set at model initialization. Other fields with value `None`
|
|
351
|
+
are ignored.
|
|
352
|
+
"""
|
|
353
|
+
excluded_fields: Set[str] = set([
|
|
354
|
+
])
|
|
355
|
+
|
|
356
|
+
_dict = self.model_dump(
|
|
357
|
+
by_alias=True,
|
|
358
|
+
exclude=excluded_fields,
|
|
359
|
+
exclude_none=True,
|
|
360
|
+
)
|
|
361
|
+
# override the default output from pydantic by calling `to_dict()` of default_content_settings
|
|
362
|
+
if self.default_content_settings:
|
|
363
|
+
_dict['defaultContentSettings'] = _to_openapi_value(self.default_content_settings)
|
|
364
|
+
# override the default output from pydantic by calling `to_dict()` of each item in unity_packages (list)
|
|
365
|
+
_items = []
|
|
366
|
+
if self.unity_packages:
|
|
367
|
+
for _item_unity_packages in self.unity_packages:
|
|
368
|
+
if _item_unity_packages:
|
|
369
|
+
_items.append(_to_openapi_value(_item_unity_packages))
|
|
370
|
+
_dict['unityPackages'] = _items
|
|
371
|
+
# set to None if preview_youtube_id (nullable) is None
|
|
372
|
+
# and model_fields_set contains the field
|
|
373
|
+
if self.preview_youtube_id is None and "preview_youtube_id" in self.model_fields_set:
|
|
374
|
+
_dict['previewYoutubeId'] = None
|
|
375
|
+
|
|
376
|
+
return _dict
|
|
377
|
+
|
|
378
|
+
setattr(
|
|
379
|
+
to_dict,
|
|
380
|
+
_OPENAPI_GENERATOR_TO_DICT,
|
|
381
|
+
__openapi_generator_modern_projection,
|
|
382
|
+
)
|
|
383
|
+
setattr(
|
|
384
|
+
__openapi_generator_modern_projection,
|
|
385
|
+
_OPENAPI_GENERATOR_TO_DICT,
|
|
386
|
+
to_dict,
|
|
387
|
+
)
|
|
388
|
+
del __openapi_generator_modern_projection
|
|
389
|
+
|
|
390
|
+
@classmethod
|
|
391
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
392
|
+
"""Create an instance of FavoritedWorld from a dict"""
|
|
393
|
+
if obj is None:
|
|
394
|
+
return None
|
|
395
|
+
|
|
396
|
+
if not isinstance(obj, dict):
|
|
397
|
+
return cls.model_validate(obj)
|
|
398
|
+
|
|
399
|
+
obj = _cast(
|
|
400
|
+
Dict[str, Any],
|
|
401
|
+
cls.__preprocess_input_names(
|
|
402
|
+
obj,
|
|
403
|
+
remove_hidden_storage_names=True,
|
|
404
|
+
),
|
|
405
|
+
)
|
|
406
|
+
|
|
407
|
+
_obj = cls.model_validate({
|
|
408
|
+
"authorId": obj.get("authorId"),
|
|
409
|
+
"authorName": obj.get("authorName"),
|
|
410
|
+
"capacity": obj.get("capacity"),
|
|
411
|
+
"created_at": obj.get("created_at"),
|
|
412
|
+
"defaultContentSettings": InstanceContentSettings.from_dict(obj["defaultContentSettings"]) if obj.get("defaultContentSettings") is not None else None,
|
|
413
|
+
"description": obj.get("description"),
|
|
414
|
+
"favoriteGroup": obj.get("favoriteGroup"),
|
|
415
|
+
"favoriteId": obj.get("favoriteId"),
|
|
416
|
+
"favorites": obj.get("favorites") if obj.get("favorites") is not None else 0,
|
|
417
|
+
"featured": obj.get("featured") if obj.get("featured") is not None else False,
|
|
418
|
+
"heat": obj.get("heat") if obj.get("heat") is not None else 0,
|
|
419
|
+
"id": obj.get("id"),
|
|
420
|
+
"imageUrl": obj.get("imageUrl"),
|
|
421
|
+
"labsPublicationDate": obj.get("labsPublicationDate"),
|
|
422
|
+
"name": obj.get("name"),
|
|
423
|
+
"occupants": obj.get("occupants") if obj.get("occupants") is not None else 0,
|
|
424
|
+
"organization": obj.get("organization") if obj.get("organization") is not None else 'vrchat',
|
|
425
|
+
"popularity": obj.get("popularity") if obj.get("popularity") is not None else 0,
|
|
426
|
+
"previewYoutubeId": obj.get("previewYoutubeId"),
|
|
427
|
+
"publicationDate": obj.get("publicationDate"),
|
|
428
|
+
"recommendedCapacity": obj.get("recommendedCapacity"),
|
|
429
|
+
"releaseStatus": obj.get("releaseStatus") if obj.get("releaseStatus") is not None else ReleaseStatus.PUBLIC,
|
|
430
|
+
"tags": obj.get("tags"),
|
|
431
|
+
"thumbnailImageUrl": obj.get("thumbnailImageUrl"),
|
|
432
|
+
"udonProducts": obj.get("udonProducts"),
|
|
433
|
+
"unityPackages": [UnityPackage.from_dict(_item) for _item in obj["unityPackages"]] if obj.get("unityPackages") is not None else None,
|
|
434
|
+
"updated_at": obj.get("updated_at"),
|
|
435
|
+
"urlList": obj.get("urlList"),
|
|
436
|
+
"version": obj.get("version"),
|
|
437
|
+
"visits": obj.get("visits") if obj.get("visits") is not None else 0
|
|
438
|
+
})
|
|
439
|
+
return _obj
|
|
440
|
+
|
|
441
|
+
|