Skip to content

Commit

Permalink
Avoid boxing
Browse files Browse the repository at this point in the history
Signed-off-by: C0D3 M4513R <[email protected]>
  • Loading branch information
C0D3-M4513R committed Jul 26, 2024
1 parent 81b7d01 commit f46a0d8
Show file tree
Hide file tree
Showing 22 changed files with 63 additions and 48 deletions.
4 changes: 2 additions & 2 deletions docs/Group.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ Name | Type | Description | Notes
**member_count_synced_at** | Option<**String**> | | [optional]
**is_verified** | Option<**bool**> | | [optional][default to false]
**join_state** | Option<[**models::GroupJoinState**](GroupJoinState.md)> | | [optional]
**tags** | Option<**Vec<String>**> | | [optional]
**tags** | Option<**Vec<String>**> | | [optional]
**transfer_target_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]
**galleries** | Option<[**Vec<models::GroupGallery>**](GroupGallery.md)> | | [optional]
**galleries** | Option<[**Vec<models::GroupGallery>**](GroupGallery.md)> | | [optional]
**created_at** | Option<**String**> | | [optional]
**updated_at** | Option<**String**> | | [optional]
**last_post_created_at** | Option<**String**> | | [optional]
Expand Down
1 change: 1 addition & 0 deletions docs/UserExists.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**user_exists** | **bool** | Status if a user exist with that username or userId. | [default to false]
**name_ok** | **bool** | Is the username valid? | [default to false]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

Expand Down
20 changes: 15 additions & 5 deletions examples/online.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,21 @@ async fn main() {
let mut config = apis::configuration::Configuration::default();
config.basic_auth = Some((String::from("username"), Some(String::from("password"))));

match apis::authentication_api::get_current_user(&config).await.unwrap() {
vrchatapi::models::EitherUserOrTwoFactor::CurrentUser(me) => println!("Username: {}", me.username.unwrap()),
vrchatapi::models::EitherUserOrTwoFactor::RequiresTwoFactorAuth(requires_auth) => println!("The Username requires Auth: {:?}", requires_auth.requires_two_factor_auth)
match apis::authentication_api::get_current_user(&config)
.await
.unwrap()
{
vrchatapi::models::EitherUserOrTwoFactor::CurrentUser(me) => {
println!("Username: {}", me.username.unwrap())
}
vrchatapi::models::EitherUserOrTwoFactor::RequiresTwoFactorAuth(requires_auth) => println!(
"The Username requires Auth: {:?}",
requires_auth.requires_two_factor_auth
),
}

let online = apis::system_api::get_current_online_users(&config).await.unwrap();
let online = apis::system_api::get_current_online_users(&config)
.await
.unwrap();
println!("Current Online Users: {}", online);
}
}
2 changes: 1 addition & 1 deletion generate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ rm src/apis src/models docs -rf

./node_modules/\@openapitools/openapi-generator-cli/main.js generate \
-g rust \
--additional-properties=packageName=vrchatapi,supportAsync=true \
--additional-properties=packageName=vrchatapi,supportAsync=true,avoidBoxedModels=true \
--git-user-id=vrchatapi \
--git-repo-id=vrchatapi-rust \
-o . \
Expand Down
8 changes: 4 additions & 4 deletions src/models/api_config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ pub struct ApiConfig {
#[serde(rename = "downloadLinkWindows")]
pub download_link_windows: String,
#[serde(rename = "downloadUrls")]
pub download_urls: Box<models::ApiConfigDownloadUrlList>,
pub download_urls: models::ApiConfigDownloadUrlList,
/// Array of DynamicWorldRow objects, used by the game to display the list of world rows
#[serde(rename = "dynamicWorldRows")]
pub dynamic_world_rows: Vec<models::DynamicContentRow>,
Expand All @@ -178,7 +178,7 @@ pub struct ApiConfig {
#[serde(rename = "economyState", skip_serializing_if = "Option::is_none")]
pub economy_state: Option<i32>,
#[serde(rename = "events")]
pub events: Box<models::ApiConfigEvents>,
pub events: models::ApiConfigEvents,
/// WorldID be \"offline\" on User profiles if you are not friends with that user.
#[serde(rename = "homeWorldId")]
pub home_world_id: String,
Expand Down Expand Up @@ -316,12 +316,12 @@ impl ApiConfig {
disable_udon,
disable_upgrade_account,
download_link_windows,
download_urls: Box::new(download_urls),
download_urls,
dynamic_world_rows,
economy_pause_end: None,
economy_pause_start: None,
economy_state: None,
events: Box::new(events),
events,
home_world_id,
homepage_redirect_target,
hub_world_id,
Expand Down
4 changes: 2 additions & 2 deletions src/models/avatar.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ pub struct Avatar {
#[serde(rename = "unityPackageUrl")]
pub unity_package_url: String,
#[serde(rename = "unityPackageUrlObject")]
pub unity_package_url_object: Box<models::AvatarUnityPackageUrlObject>,
pub unity_package_url_object: models::AvatarUnityPackageUrlObject,
#[serde(rename = "unityPackages")]
pub unity_packages: Vec<models::UnityPackage>,
#[serde(rename = "updated_at")]
Expand All @@ -70,7 +70,7 @@ impl Avatar {
tags,
thumbnail_image_url,
unity_package_url,
unity_package_url_object: Box::new(unity_package_url_object),
unity_package_url_object,
unity_packages,
updated_at,
version,
Expand Down
2 changes: 1 addition & 1 deletion src/models/current_user.rs
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ pub struct CurrentUser {
#[serde(rename = "pastDisplayNames")]
pub past_display_names: Vec<models::PastDisplayName>,
#[serde(rename = "presence", skip_serializing_if = "Option::is_none")]
pub presence: Option<Box<models::CurrentUserPresence>>,
pub presence: Option<models::CurrentUserPresence>,
#[serde(rename = "profilePicOverride")]
pub profile_pic_override: String,
#[serde(rename = "profilePicOverrideThumbnail")]
Expand Down
2 changes: 1 addition & 1 deletion src/models/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Error {
#[serde(rename = "error", skip_serializing_if = "Option::is_none")]
pub error: Option<Box<models::Response>>,
pub error: Option<models::Response>,
}

impl Error {
Expand Down
6 changes: 3 additions & 3 deletions src/models/file_version.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ pub struct FileVersion {
#[serde(rename = "deleted", skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(rename = "delta", skip_serializing_if = "Option::is_none")]
pub delta: Option<Box<models::FileData>>,
pub delta: Option<models::FileData>,
#[serde(rename = "file", skip_serializing_if = "Option::is_none")]
pub file: Option<Box<models::FileData>>,
pub file: Option<models::FileData>,
#[serde(rename = "signature", skip_serializing_if = "Option::is_none")]
pub signature: Option<Box<models::FileData>>,
pub signature: Option<models::FileData>,
#[serde(rename = "status")]
pub status: models::FileStatus,
/// Incremental version counter, can only be increased.
Expand Down
6 changes: 3 additions & 3 deletions src/models/group.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,14 +59,14 @@ pub struct Group {
pub created_at: Option<String>,
#[serde(rename = "updatedAt", skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "lastPostCreatedAt", skip_serializing_if = "Option::is_none")]
pub last_post_created_at: Option<String>,
#[serde(rename = "lastPostCreatedAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub last_post_created_at: Option<Option<String>>,
#[serde(rename = "onlineMemberCount", skip_serializing_if = "Option::is_none")]
pub online_member_count: Option<i32>,
#[serde(rename = "membershipStatus", skip_serializing_if = "Option::is_none")]
pub membership_status: Option<models::GroupMemberStatus>,
#[serde(rename = "myMember", skip_serializing_if = "Option::is_none")]
pub my_member: Option<Box<models::GroupMyMember>>,
pub my_member: Option<models::GroupMyMember>,
/// Only returned if ?includeRoles=true is specified.
#[serde(rename = "roles", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub roles: Option<Option<Vec<models::GroupRole>>>,
Expand Down
4 changes: 2 additions & 2 deletions src/models/group_instance.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ pub struct GroupInstance {
#[serde(rename = "location")]
pub location: String,
#[serde(rename = "world")]
pub world: Box<models::World>,
pub world: models::World,
#[serde(rename = "memberCount")]
pub member_count: i32,
}
Expand All @@ -27,7 +27,7 @@ impl GroupInstance {
GroupInstance {
instance_id,
location,
world: Box::new(world),
world,
member_count,
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/models/group_member.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ pub struct GroupMember {
#[serde(rename = "isRepresenting", skip_serializing_if = "Option::is_none")]
pub is_representing: Option<bool>,
#[serde(rename = "user", skip_serializing_if = "Option::is_none")]
pub user: Option<Box<models::GroupMemberLimitedUser>>,
pub user: Option<models::GroupMemberLimitedUser>,
#[serde(rename = "roleIds", skip_serializing_if = "Option::is_none")]
pub role_ids: Option<Vec<String>>,
#[serde(rename = "mRoleIds", skip_serializing_if = "Option::is_none")]
Expand Down
8 changes: 4 additions & 4 deletions src/models/group_my_member.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ pub struct GroupMyMember {
pub user_id: Option<String>,
#[serde(rename = "roleIds", skip_serializing_if = "Option::is_none")]
pub role_ids: Option<Vec<String>>,
#[serde(rename = "acceptedByDisplayName", skip_serializing_if = "Option::is_none")]
pub accepted_by_display_name: Option<String>,
#[serde(rename = "acceptedByDisplayName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub accepted_by_display_name: Option<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.
#[serde(rename = "acceptedById", skip_serializing_if = "Option::is_none")]
pub accepted_by_id: Option<String>,
Expand All @@ -45,8 +45,8 @@ pub struct GroupMyMember {
pub has2_fa: Option<bool>,
#[serde(rename = "hasJoinedFromPurchase", skip_serializing_if = "Option::is_none")]
pub has_joined_from_purchase: Option<bool>,
#[serde(rename = "lastPostReadAt", skip_serializing_if = "Option::is_none")]
pub last_post_read_at: Option<String>,
#[serde(rename = "lastPostReadAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub last_post_read_at: Option<Option<String>>,
#[serde(rename = "mRoleIds", skip_serializing_if = "Option::is_none")]
pub m_role_ids: Option<Vec<String>>,
#[serde(rename = "permissions", skip_serializing_if = "Option::is_none")]
Expand Down
4 changes: 2 additions & 2 deletions src/models/info_push.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ pub struct InfoPush {
#[serde(rename = "tags")]
pub tags: Vec<String>,
#[serde(rename = "data")]
pub data: Box<models::InfoPushData>,
pub data: models::InfoPushData,
/// Unknown usage, MD5
#[serde(rename = "hash")]
pub hash: String,
Expand All @@ -45,7 +45,7 @@ impl InfoPush {
release_status,
priority,
tags,
data: Box::new(data),
data,
hash,
created_at,
updated_at,
Expand Down
6 changes: 3 additions & 3 deletions src/models/info_push_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,21 @@ use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct InfoPushData {
#[serde(rename = "contentList", skip_serializing_if = "Option::is_none")]
pub content_list: Option<Box<models::DynamicContentRow>>,
pub content_list: Option<models::DynamicContentRow>,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "imageUrl", skip_serializing_if = "Option::is_none")]
pub image_url: Option<String>,
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "onPressed", skip_serializing_if = "Option::is_none")]
pub on_pressed: Option<Box<models::InfoPushDataClickable>>,
pub on_pressed: Option<models::InfoPushDataClickable>,
#[serde(rename = "template", skip_serializing_if = "Option::is_none")]
pub template: Option<String>,
#[serde(rename = "version", skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
#[serde(rename = "article", skip_serializing_if = "Option::is_none")]
pub article: Option<Box<models::InfoPushDataArticle>>,
pub article: Option<models::InfoPushDataArticle>,
}

impl InfoPushData {
Expand Down
2 changes: 1 addition & 1 deletion src/models/info_push_data_article.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct InfoPushDataArticle {
#[serde(rename = "content", skip_serializing_if = "Option::is_none")]
pub content: Option<Box<models::InfoPushDataArticleContent>>,
pub content: Option<models::InfoPushDataArticleContent>,
}

impl InfoPushDataArticle {
Expand Down
2 changes: 1 addition & 1 deletion src/models/info_push_data_article_content.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ pub struct InfoPushDataArticleContent {
#[serde(rename = "imageUrl", skip_serializing_if = "Option::is_none")]
pub image_url: Option<String>,
#[serde(rename = "onPressed", skip_serializing_if = "Option::is_none")]
pub on_pressed: Option<Box<models::InfoPushDataClickable>>,
pub on_pressed: Option<models::InfoPushDataClickable>,
}

impl InfoPushDataArticleContent {
Expand Down
8 changes: 4 additions & 4 deletions src/models/instance.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ pub struct Instance {
#[serde(rename = "photonRegion")]
pub photon_region: models::Region,
#[serde(rename = "platforms")]
pub platforms: Box<models::InstancePlatforms>,
pub platforms: models::InstancePlatforms,
#[serde(rename = "region")]
pub region: models::InstanceRegion,
#[serde(rename = "secureName")]
Expand Down Expand Up @@ -80,7 +80,7 @@ pub struct Instance {
#[serde(rename = "userCount")]
pub user_count: i32,
#[serde(rename = "world")]
pub world: Box<models::World>,
pub world: models::World,
/// The users field is present on instances created by the requesting user.
#[serde(rename = "users", skip_serializing_if = "Option::is_none")]
pub users: Option<Vec<models::LimitedUser>>,
Expand Down Expand Up @@ -113,7 +113,7 @@ impl Instance {
owner_id: None,
permanent,
photon_region,
platforms: Box::new(platforms),
platforms,
region,
secure_name,
short_name: None,
Expand All @@ -129,7 +129,7 @@ impl Instance {
role_restricted: None,
strict,
user_count,
world: Box::new(world),
world,
users: None,
group_access_type: None,
has_capacity_for_you: None,
Expand Down
2 changes: 1 addition & 1 deletion src/models/success.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Success {
#[serde(rename = "success", skip_serializing_if = "Option::is_none")]
pub success: Option<Box<models::Response>>,
pub success: Option<models::Response>,
}

impl Success {
Expand Down
8 changes: 4 additions & 4 deletions src/models/transaction.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,17 @@ pub struct Transaction {
#[serde(rename = "status")]
pub status: models::TransactionStatus,
#[serde(rename = "subscription")]
pub subscription: Box<models::Subscription>,
pub subscription: models::Subscription,
#[serde(rename = "sandbox")]
pub sandbox: bool,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
#[serde(rename = "steam", skip_serializing_if = "Option::is_none")]
pub steam: Option<Box<models::TransactionSteamInfo>>,
pub steam: Option<models::TransactionSteamInfo>,
#[serde(rename = "agreement", skip_serializing_if = "Option::is_none")]
pub agreement: Option<Box<models::TransactionAgreement>>,
pub agreement: Option<models::TransactionAgreement>,
#[serde(rename = "error")]
pub error: String,
#[serde(rename = "isGift", skip_serializing_if = "Option::is_none")]
Expand All @@ -48,7 +48,7 @@ impl Transaction {
user_id: None,
user_display_name: None,
status,
subscription: Box::new(subscription),
subscription,
sandbox,
created_at,
updated_at,
Expand Down
4 changes: 2 additions & 2 deletions src/models/transaction_steam_info.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct TransactionSteamInfo {
#[serde(rename = "walletInfo")]
pub wallet_info: Box<models::TransactionSteamWalletInfo>,
pub wallet_info: models::TransactionSteamWalletInfo,
/// Steam User ID
#[serde(rename = "steamId")]
pub steam_id: String,
Expand All @@ -31,7 +31,7 @@ pub struct TransactionSteamInfo {
impl TransactionSteamInfo {
pub fn new(wallet_info: models::TransactionSteamWalletInfo, steam_id: String, order_id: String, steam_url: String, trans_id: String) -> TransactionSteamInfo {
TransactionSteamInfo {
wallet_info: Box::new(wallet_info),
wallet_info,
steam_id,
order_id,
steam_url,
Expand Down
6 changes: 5 additions & 1 deletion src/models/user_exists.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,17 @@ pub struct UserExists {
/// Status if a user exist with that username or userId.
#[serde(rename = "userExists")]
pub user_exists: bool,
/// Is the username valid?
#[serde(rename = "nameOk")]
pub name_ok: bool,
}

impl UserExists {
/// Status object representing if a queried user by username or userId exists or not. This model is primarily used by the `/auth/exists` endpoint, which in turn is used during registration. Please see the documentation on that endpoint for more information on usage.
pub fn new(user_exists: bool) -> UserExists {
pub fn new(user_exists: bool, name_ok: bool) -> UserExists {
UserExists {
user_exists,
name_ok,
}
}
}
Expand Down

0 comments on commit f46a0d8

Please sign in to comment.