diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index b4f6bd0..a24a69f 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -59,6 +59,7 @@ docs/GroupPermission.md docs/GroupPrivacy.md docs/GroupRole.md docs/GroupRoleTemplate.md +docs/GroupSearchSort.md docs/GroupUserVisibility.md docs/GroupsApi.md docs/InfoPush.md @@ -210,6 +211,7 @@ src/models/group_permission.rs src/models/group_privacy.rs src/models/group_role.rs src/models/group_role_template.rs +src/models/group_search_sort.rs src/models/group_user_visibility.rs src/models/info_push.rs src/models/info_push_data.rs diff --git a/Cargo.toml b/Cargo.toml index 51c6322..fd4afc3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "vrchatapi" -version = "1.16.3" +version = "1.16.5" authors = ["vrchatapi.lpv0t@aries.fyi"] description = "VRChat API Client for Rust" license = "MIT" diff --git a/docs/GroupLimitedMember.md b/docs/GroupLimitedMember.md index 4d2bef5..a717227 100644 --- a/docs/GroupLimitedMember.md +++ b/docs/GroupLimitedMember.md @@ -7,7 +7,18 @@ Name | Type | Description | Notes **id** | Option<**String**> | | [optional] **group_id** | Option<**String**> | | [optional] **user_id** | Option<**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. | [optional] -**is_representing** | Option<**bool**> | | [optional][default to false] +**is_representing** | Option<**bool**> | Whether the user is representing the group. This makes the group show up above the name tag in-game. | [optional][default to false] +**role_ids** | Option<**Vec**> | | [optional] +**m_role_ids** | Option<**Vec**> | | [optional] +**joined_at** | Option<**String**> | | [optional] +**membership_status** | Option<**String**> | | [optional] +**visibility** | Option<**String**> | | [optional] +**is_subscribed_to_announcements** | Option<**bool**> | | [optional][default to false] +**created_at** | Option<**String**> | Only visible via the /groups/:groupId/members endpoint, **not** when fetching a specific user. | [optional] +**banned_at** | Option<**String**> | Only visible via the /groups/:groupId/members endpoint, **not** when fetching a specific user. | [optional] +**manager_notes** | Option<**String**> | Only visible via the /groups/:groupId/members endpoint, **not** when fetching a specific user. | [optional] +**last_post_read_at** | Option<**String**> | | [optional] +**has_joined_from_purchase** | Option<**bool**> | | [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/GroupMember.md b/docs/GroupMember.md index f2d1310..a96e5d9 100644 --- a/docs/GroupMember.md +++ b/docs/GroupMember.md @@ -10,6 +10,7 @@ Name | Type | Description | Notes **is_representing** | Option<**bool**> | Whether the user is representing the group. This makes the group show up above the name tag in-game. | [optional][default to false] **user** | Option<[**crate::models::GroupMemberLimitedUser**](GroupMemberLimitedUser.md)> | | [optional] **role_ids** | Option<**Vec**> | | [optional] +**m_role_ids** | Option<**Vec**> | | [optional] **joined_at** | Option<**String**> | | [optional] **membership_status** | Option<**String**> | | [optional] **visibility** | Option<**String**> | | [optional] @@ -17,6 +18,8 @@ Name | Type | Description | Notes **created_at** | Option<**String**> | Only visible via the /groups/:groupId/members endpoint, **not** when fetching a specific user. | [optional] **banned_at** | Option<**String**> | Only visible via the /groups/:groupId/members endpoint, **not** when fetching a specific user. | [optional] **manager_notes** | Option<**String**> | Only visible via the /groups/:groupId/members endpoint, **not** when fetching a specific user. | [optional] +**last_post_read_at** | Option<**String**> | | [optional] +**has_joined_from_purchase** | Option<**bool**> | | [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/GroupMemberLimitedUser.md b/docs/GroupMemberLimitedUser.md index 5e106e6..88fa889 100644 --- a/docs/GroupMemberLimitedUser.md +++ b/docs/GroupMemberLimitedUser.md @@ -8,6 +8,9 @@ Name | Type | Description | Notes **display_name** | Option<**String**> | | [optional] **thumbnail_url** | Option<**String**> | | [optional] **icon_url** | Option<**String**> | | [optional] +**profile_pic_override** | Option<**String**> | | [optional] +**current_avatar_thumbnail_image_url** | Option<**String**> | | [optional] +**current_avatar_tags** | Option<**Vec**> | | [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/GroupSearchSort.md b/docs/GroupSearchSort.md new file mode 100644 index 0000000..06fa1ae --- /dev/null +++ b/docs/GroupSearchSort.md @@ -0,0 +1,10 @@ +# GroupSearchSort + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/GroupsApi.md b/docs/GroupsApi.md index ea16605..52905a0 100644 --- a/docs/GroupsApi.md +++ b/docs/GroupsApi.md @@ -732,7 +732,7 @@ Name | Type | Description | Required | Notes ## get_group_members -> Vec get_group_members(group_id, n, offset) +> Vec get_group_members(group_id, n, offset, sort) List Group Members Returns a List of all **other** Group Members. This endpoint will never return the user calling the endpoint. Information about the user calling the endpoint must be found in the `myMember` field of the Group object. @@ -745,6 +745,7 @@ Name | Type | Description | Required | Notes **group_id** | **String** | Must be a valid group ID. | [required] | **n** | Option<**i32**> | The number of objects to return. | |[default to 60] **offset** | Option<**i32**> | A zero-based offset from the default object sorting from where search results start. | | +**sort** | Option<[**GroupSearchSort**](.md)> | The sort order of Group Member results | | ### Return type diff --git a/src/apis/groups_api.rs b/src/apis/groups_api.rs index fc11cdc..0003de0 100644 --- a/src/apis/groups_api.rs +++ b/src/apis/groups_api.rs @@ -1005,7 +1005,7 @@ pub fn get_group_member(configuration: &configuration::Configuration, group_id: } /// Returns a List of all **other** Group Members. This endpoint will never return the user calling the endpoint. Information about the user calling the endpoint must be found in the `myMember` field of the Group object. -pub fn get_group_members(configuration: &configuration::Configuration, group_id: &str, n: Option, offset: Option) -> Result, Error> { +pub fn get_group_members(configuration: &configuration::Configuration, group_id: &str, n: Option, offset: Option, sort: Option) -> Result, Error> { let local_var_configuration = configuration; let local_var_client = &local_var_configuration.client; @@ -1019,6 +1019,9 @@ pub fn get_group_members(configuration: &configuration::Configuration, group_id: if let Some(ref local_var_str) = offset { local_var_req_builder = local_var_req_builder.query(&[("offset", &local_var_str.to_string())]); } + if let Some(ref local_var_str) = sort { + local_var_req_builder = local_var_req_builder.query(&[("sort", &local_var_str.to_string())]); + } if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); } diff --git a/src/models/group_limited_member.rs b/src/models/group_limited_member.rs index 12a05eb..366f5d3 100644 --- a/src/models/group_limited_member.rs +++ b/src/models/group_limited_member.rs @@ -18,8 +18,34 @@ pub struct GroupLimitedMember { /// 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 = "userId", skip_serializing_if = "Option::is_none")] pub user_id: Option, + /// Whether the user is representing the group. This makes the group show up above the name tag in-game. #[serde(rename = "isRepresenting", skip_serializing_if = "Option::is_none")] pub is_representing: Option, + #[serde(rename = "roleIds", skip_serializing_if = "Option::is_none")] + 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 = "membershipStatus", skip_serializing_if = "Option::is_none")] + pub membership_status: Option, + #[serde(rename = "visibility", skip_serializing_if = "Option::is_none")] + pub visibility: Option, + #[serde(rename = "isSubscribedToAnnouncements", skip_serializing_if = "Option::is_none")] + pub is_subscribed_to_announcements: Option, + /// Only visible via the /groups/:groupId/members endpoint, **not** when fetching a specific user. + #[serde(rename = "createdAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub created_at: Option>, + /// Only visible via the /groups/:groupId/members endpoint, **not** when fetching a specific user. + #[serde(rename = "bannedAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub banned_at: Option>, + /// Only visible via the /groups/:groupId/members endpoint, **not** when fetching a specific user. + #[serde(rename = "managerNotes", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub manager_notes: Option>, + #[serde(rename = "lastPostReadAt", skip_serializing_if = "Option::is_none")] + pub last_post_read_at: Option, + #[serde(rename = "hasJoinedFromPurchase", skip_serializing_if = "Option::is_none")] + pub has_joined_from_purchase: Option, } impl GroupLimitedMember { @@ -29,6 +55,17 @@ impl GroupLimitedMember { group_id: None, user_id: None, is_representing: None, + role_ids: None, + m_role_ids: None, + joined_at: None, + membership_status: None, + visibility: None, + is_subscribed_to_announcements: None, + created_at: None, + banned_at: None, + manager_notes: None, + last_post_read_at: None, + has_joined_from_purchase: None, } } } diff --git a/src/models/group_member.rs b/src/models/group_member.rs index 7f5053d..dc6c122 100644 --- a/src/models/group_member.rs +++ b/src/models/group_member.rs @@ -25,6 +25,8 @@ pub struct GroupMember { pub user: Option>, #[serde(rename = "roleIds", skip_serializing_if = "Option::is_none")] 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 = "membershipStatus", skip_serializing_if = "Option::is_none")] @@ -42,6 +44,10 @@ pub struct GroupMember { /// Only visible via the /groups/:groupId/members endpoint, **not** when fetching a specific user. #[serde(rename = "managerNotes", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] pub manager_notes: Option>, + #[serde(rename = "lastPostReadAt", skip_serializing_if = "Option::is_none")] + pub last_post_read_at: Option, + #[serde(rename = "hasJoinedFromPurchase", skip_serializing_if = "Option::is_none")] + pub has_joined_from_purchase: Option, } impl GroupMember { @@ -53,6 +59,7 @@ impl GroupMember { is_representing: None, user: None, role_ids: None, + m_role_ids: None, joined_at: None, membership_status: None, visibility: None, @@ -60,6 +67,8 @@ impl GroupMember { created_at: None, banned_at: None, manager_notes: None, + last_post_read_at: None, + has_joined_from_purchase: None, } } } diff --git a/src/models/group_member_limited_user.rs b/src/models/group_member_limited_user.rs index e0359c7..88e5ade 100644 --- a/src/models/group_member_limited_user.rs +++ b/src/models/group_member_limited_user.rs @@ -21,6 +21,12 @@ pub struct GroupMemberLimitedUser { pub thumbnail_url: Option, #[serde(rename = "iconUrl", skip_serializing_if = "Option::is_none")] pub icon_url: Option, + #[serde(rename = "profilePicOverride", skip_serializing_if = "Option::is_none")] + pub profile_pic_override: Option, + #[serde(rename = "currentAvatarThumbnailImageUrl", skip_serializing_if = "Option::is_none")] + pub current_avatar_thumbnail_image_url: Option, + #[serde(rename = "currentAvatarTags", skip_serializing_if = "Option::is_none")] + pub current_avatar_tags: Option>, } impl GroupMemberLimitedUser { @@ -31,6 +37,9 @@ impl GroupMemberLimitedUser { display_name: None, thumbnail_url: None, icon_url: None, + profile_pic_override: None, + current_avatar_thumbnail_image_url: None, + current_avatar_tags: None, } } } diff --git a/src/models/group_search_sort.rs b/src/models/group_search_sort.rs new file mode 100644 index 0000000..2d492db --- /dev/null +++ b/src/models/group_search_sort.rs @@ -0,0 +1,37 @@ +/* + * VRChat API Documentation + * + * + * Contact: vrchatapi.lpv0t@aries.fyi + * Generated by: https://openapi-generator.tech + */ + + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum GroupSearchSort { + #[serde(rename = "joinedAt:asc")] + Asc, + #[serde(rename = "joinedAt:desc")] + Desc, + +} + +impl ToString for GroupSearchSort { + fn to_string(&self) -> String { + match self { + Self::Asc => String::from("joinedAt:asc"), + Self::Desc => String::from("joinedAt:desc"), + } + } +} + +impl Default for GroupSearchSort { + fn default() -> GroupSearchSort { + Self::Asc + } +} + + + + diff --git a/src/models/mod.rs b/src/models/mod.rs index 79f4f0d..7f4abb8 100644 --- a/src/models/mod.rs +++ b/src/models/mod.rs @@ -104,6 +104,8 @@ pub mod group_role; pub use self::group_role::GroupRole; pub mod group_role_template; pub use self::group_role_template::GroupRoleTemplate; +pub mod group_search_sort; +pub use self::group_search_sort::GroupSearchSort; pub mod group_user_visibility; pub use self::group_user_visibility::GroupUserVisibility; pub mod info_push;