diff --git a/Cargo.toml b/Cargo.toml index ff9df4a..d9ce0c2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "vrchatapi" -version = "1.17.5" +version = "1.17.6" authors = ["vrchatapi.lpv0t@aries.fyi"] description = "VRChat API Client for Rust" license = "MIT" diff --git a/docs/CurrentUser.md b/docs/CurrentUser.md index f3f13a6..316a1f4 100644 --- a/docs/CurrentUser.md +++ b/docs/CurrentUser.md @@ -35,6 +35,7 @@ Name | Type | Description | Notes **has_pending_email** | **bool** | | **home_location** | **String** | WorldID be \"offline\" on User profiles if you are not friends with that user. | **id** | **String** | 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. | +**is_booping_enabled** | Option<**bool**> | | [optional][default to true] **is_friend** | **bool** | | [default to false] **last_activity** | Option<**String**> | | [optional] **last_login** | **String** | | @@ -52,6 +53,7 @@ Name | Type | Description | Notes **past_display_names** | [**Vec**](PastDisplayName.md) | | **presence** | Option<[**crate::models::CurrentUserPresence**](CurrentUserPresence.md)> | | [optional] **profile_pic_override** | **String** | | +**profile_pic_override_thumbnail** | **String** | | **pronouns** | **String** | | **state** | [**crate::models::UserState**](UserState.md) | | **status** | [**crate::models::UserStatus**](UserStatus.md) | | diff --git a/docs/UpdateUserRequest.md b/docs/UpdateUserRequest.md index 0e861e0..6ad7517 100644 --- a/docs/UpdateUserRequest.md +++ b/docs/UpdateUserRequest.md @@ -13,6 +13,7 @@ Name | Type | Description | Notes **bio** | Option<**String**> | | [optional] **bio_links** | Option<**Vec**> | | [optional] **pronouns** | Option<**String**> | | [optional] +**is_booping_enabled** | Option<**bool**> | | [optional] **user_icon** | Option<**String**> | MUST be a valid VRChat /file/ url. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/User.md b/docs/User.md index 6403f7c..3855da1 100644 --- a/docs/User.md +++ b/docs/User.md @@ -25,6 +25,7 @@ Name | Type | Description | Notes **location** | Option<**String**> | WorldID be \"offline\" on User profiles if you are not friends with that user. | [optional] **note** | Option<**String**> | | [optional] **profile_pic_override** | **String** | | +**profile_pic_override_thumbnail** | **String** | | **pronouns** | **String** | | **state** | [**crate::models::UserState**](UserState.md) | | **status** | [**crate::models::UserStatus**](UserStatus.md) | | diff --git a/src/models/current_user.rs b/src/models/current_user.rs index 4da9bdf..00b23d1 100644 --- a/src/models/current_user.rs +++ b/src/models/current_user.rs @@ -82,6 +82,8 @@ pub struct CurrentUser { /// 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. #[serde(rename = "id")] pub id: String, + #[serde(rename = "isBoopingEnabled", skip_serializing_if = "Option::is_none")] + pub is_booping_enabled: Option, #[serde(rename = "isFriend")] pub is_friend: bool, #[serde(rename = "last_activity", skip_serializing_if = "Option::is_none")] @@ -118,6 +120,8 @@ pub struct CurrentUser { pub presence: Option>, #[serde(rename = "profilePicOverride")] pub profile_pic_override: String, + #[serde(rename = "profilePicOverrideThumbnail")] + pub profile_pic_override_thumbnail: String, #[serde(rename = "pronouns")] pub pronouns: String, #[serde(rename = "state")] @@ -152,7 +156,7 @@ pub struct CurrentUser { } impl CurrentUser { - pub fn new(accepted_tos_version: i32, allow_avatar_copying: bool, bio: String, bio_links: Vec, current_avatar: String, current_avatar_asset_url: String, current_avatar_image_url: String, current_avatar_thumbnail_image_url: String, current_avatar_tags: Vec, date_joined: String, developer_type: crate::models::DeveloperType, display_name: String, email_verified: bool, friend_group_names: Vec, friend_key: String, friends: Vec, has_birthday: bool, has_email: bool, has_logged_in_from_client: bool, has_pending_email: bool, home_location: String, id: String, is_friend: bool, last_login: String, last_mobile: Option, last_platform: String, obfuscated_email: String, obfuscated_pending_email: String, oculus_id: String, past_display_names: Vec, profile_pic_override: String, pronouns: String, state: crate::models::UserState, status: crate::models::UserStatus, status_description: String, status_first_time: bool, status_history: Vec, steam_details: serde_json::Value, steam_id: String, tags: Vec, two_factor_auth_enabled: bool, unsubscribe: bool, user_icon: String) -> CurrentUser { + pub fn new(accepted_tos_version: i32, allow_avatar_copying: bool, bio: String, bio_links: Vec, current_avatar: String, current_avatar_asset_url: String, current_avatar_image_url: String, current_avatar_thumbnail_image_url: String, current_avatar_tags: Vec, date_joined: String, developer_type: crate::models::DeveloperType, display_name: String, email_verified: bool, friend_group_names: Vec, friend_key: String, friends: Vec, has_birthday: bool, has_email: bool, has_logged_in_from_client: bool, has_pending_email: bool, home_location: String, id: String, is_friend: bool, last_login: String, last_mobile: Option, last_platform: String, obfuscated_email: String, obfuscated_pending_email: String, oculus_id: String, past_display_names: Vec, profile_pic_override: String, profile_pic_override_thumbnail: String, pronouns: String, state: crate::models::UserState, status: crate::models::UserStatus, status_description: String, status_first_time: bool, status_history: Vec, steam_details: serde_json::Value, steam_id: String, tags: Vec, two_factor_auth_enabled: bool, unsubscribe: bool, user_icon: String) -> CurrentUser { CurrentUser { accepted_tos_version, accepted_privacy_version: None, @@ -185,6 +189,7 @@ impl CurrentUser { has_pending_email, home_location, id, + is_booping_enabled: None, is_friend, last_activity: None, last_login, @@ -202,6 +207,7 @@ impl CurrentUser { past_display_names, presence: None, profile_pic_override, + profile_pic_override_thumbnail, pronouns, state, status, diff --git a/src/models/group_limited_member.rs b/src/models/group_limited_member.rs index 69a2a8e..d203941 100644 --- a/src/models/group_limited_member.rs +++ b/src/models/group_limited_member.rs @@ -25,8 +25,8 @@ pub struct GroupLimitedMember { pub role_ids: Option>, #[serde(rename = "mRoleIds", skip_serializing_if = "Option::is_none")] pub m_role_ids: Option>, - #[serde(rename = "joinedAt", skip_serializing_if = "Option::is_none")] - pub joined_at: Option, + #[serde(rename = "joinedAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub joined_at: Option>, #[serde(rename = "membershipStatus", skip_serializing_if = "Option::is_none")] pub membership_status: Option, #[serde(rename = "visibility", skip_serializing_if = "Option::is_none")] diff --git a/src/models/group_member_status.rs b/src/models/group_member_status.rs index eec3807..a2c214c 100644 --- a/src/models/group_member_status.rs +++ b/src/models/group_member_status.rs @@ -20,6 +20,8 @@ pub enum GroupMemberStatus { Invited, #[serde(rename = "banned")] Banned, + #[serde(rename = "userblocked")] + Userblocked, } @@ -31,6 +33,7 @@ impl ToString for GroupMemberStatus { Self::Requested => String::from("requested"), Self::Invited => String::from("invited"), Self::Banned => String::from("banned"), + Self::Userblocked => String::from("userblocked"), } } } diff --git a/src/models/update_user_request.rs b/src/models/update_user_request.rs index c02a6e3..fb0b507 100644 --- a/src/models/update_user_request.rs +++ b/src/models/update_user_request.rs @@ -30,6 +30,8 @@ pub struct UpdateUserRequest { pub bio_links: Option>, #[serde(rename = "pronouns", skip_serializing_if = "Option::is_none")] pub pronouns: Option, + #[serde(rename = "isBoopingEnabled", skip_serializing_if = "Option::is_none")] + pub is_booping_enabled: Option, /// MUST be a valid VRChat /file/ url. #[serde(rename = "userIcon", skip_serializing_if = "Option::is_none")] pub user_icon: Option, @@ -47,6 +49,7 @@ impl UpdateUserRequest { bio: None, bio_links: None, pronouns: None, + is_booping_enabled: None, user_icon: None, } } diff --git a/src/models/user.rs b/src/models/user.rs index f19ac53..6da592b 100644 --- a/src/models/user.rs +++ b/src/models/user.rs @@ -64,6 +64,8 @@ pub struct User { pub note: Option, #[serde(rename = "profilePicOverride")] pub profile_pic_override: String, + #[serde(rename = "profilePicOverrideThumbnail")] + pub profile_pic_override_thumbnail: String, #[serde(rename = "pronouns")] pub pronouns: String, #[serde(rename = "state")] @@ -92,7 +94,7 @@ pub struct User { } impl User { - pub fn new(allow_avatar_copying: bool, bio: String, bio_links: Vec, current_avatar_image_url: String, current_avatar_thumbnail_image_url: String, current_avatar_tags: Vec, date_joined: String, developer_type: crate::models::DeveloperType, display_name: String, friend_key: String, id: String, is_friend: bool, last_activity: String, last_login: String, last_platform: String, profile_pic_override: String, pronouns: String, state: crate::models::UserState, status: crate::models::UserStatus, status_description: String, tags: Vec, user_icon: String) -> User { + pub fn new(allow_avatar_copying: bool, bio: String, bio_links: Vec, current_avatar_image_url: String, current_avatar_thumbnail_image_url: String, current_avatar_tags: Vec, date_joined: String, developer_type: crate::models::DeveloperType, display_name: String, friend_key: String, id: String, is_friend: bool, last_activity: String, last_login: String, last_platform: String, profile_pic_override: String, profile_pic_override_thumbnail: String, pronouns: String, state: crate::models::UserState, status: crate::models::UserStatus, status_description: String, tags: Vec, user_icon: String) -> User { User { allow_avatar_copying, badges: None, @@ -115,6 +117,7 @@ impl User { location: None, note: None, profile_pic_override, + profile_pic_override_thumbnail, pronouns, state, status,