mirror of
https://github.com/mii443/vrchatapi-rust.git
synced 2025-12-09 22:18:27 +00:00
Make vrcapi async
This commit is contained in:
@@ -1,12 +1,13 @@
|
|||||||
pub use vrchatapi::apis;
|
pub use vrchatapi::apis;
|
||||||
|
|
||||||
fn main() {
|
#[tokio::main]
|
||||||
|
async fn main() {
|
||||||
let mut config = apis::configuration::Configuration::default();
|
let mut config = apis::configuration::Configuration::default();
|
||||||
config.basic_auth = Some((String::from("username"), Some(String::from("password"))));
|
config.basic_auth = Some((String::from("username"), Some(String::from("password"))));
|
||||||
|
|
||||||
let me = apis::authentication_api::get_current_user(&config).unwrap();
|
let me = apis::authentication_api::get_current_user(&config).await.unwrap();
|
||||||
println!("Username: {}", me.username);
|
println!("Username: {}", me.username.unwrap());
|
||||||
|
|
||||||
let online = apis::system_api::get_current_online_users(&config).unwrap();
|
let online = apis::system_api::get_current_online_users(&config).await.unwrap();
|
||||||
println!("Current Online Users: {}", online);
|
println!("Current Online Users: {}", online);
|
||||||
}
|
}
|
||||||
10
generate.sh
10
generate.sh
@@ -1,11 +1,11 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Generate Client
|
# Generate Client
|
||||||
rm src/apis src/models docs -rf
|
rm src/apis src/models docs -rf
|
||||||
|
|
||||||
./node_modules/\@openapitools/openapi-generator-cli/main.js generate \
|
./node_modules/\@openapitools/openapi-generator-cli/main.js generate \
|
||||||
-g rust \
|
-g rust \
|
||||||
--additional-properties=packageName=vrchatapi,supportAsync=false \
|
--additional-properties=packageName=vrchatapi,supportAsync=true \
|
||||||
--git-user-id=vrchatapi \
|
--git-user-id=vrchatapi \
|
||||||
--git-repo-id=vrchatapi-rust \
|
--git-repo-id=vrchatapi-rust \
|
||||||
-o . \
|
-o . \
|
||||||
@@ -23,8 +23,14 @@ find src -type f -exec sed -i '/The version of the OpenAPI document/d' {} \;
|
|||||||
|
|
||||||
# Cookie storage
|
# Cookie storage
|
||||||
sed -i 's/Client::new()/Client::builder().cookie_store(true).build().unwrap()/g' src/apis/configuration.rs
|
sed -i 's/Client::new()/Client::builder().cookie_store(true).build().unwrap()/g' src/apis/configuration.rs
|
||||||
|
sed -i 's/features = \["json", "multipart"\]/features = \["json", "cookies", "multipart"\]/g' Cargo.toml
|
||||||
|
|
||||||
|
#Fix example
|
||||||
|
printf "\n[dev-dependencies]\ntokio = { version = '1', features = ['macros', 'rt-multi-thread'] }" >> Cargo.toml
|
||||||
|
|
||||||
# https://github.com/OpenAPITools/openapi-generator/issues/14171
|
# https://github.com/OpenAPITools/openapi-generator/issues/14171
|
||||||
|
# Replace Option<GroupSearchSort> with Option<crate::models::GroupSearchSort> in src/apis
|
||||||
|
sed -i 's/Option<GroupSearchSort>/Option<crate::models::GroupSearchSort>/g' src/apis/*.rs
|
||||||
# Replace Option<SortOption with Option<crate::models::SortOption in src/apis
|
# Replace Option<SortOption with Option<crate::models::SortOption in src/apis
|
||||||
sed -i 's/Option<SortOption>/Option<crate::models::SortOption>/g' src/apis/*.rs
|
sed -i 's/Option<SortOption>/Option<crate::models::SortOption>/g' src/apis/*.rs
|
||||||
# Replace Option<ReleaseStatus with Option<crate::models::ReleaseStatus in src/apis
|
# Replace Option<ReleaseStatus with Option<crate::models::ReleaseStatus in src/apis
|
||||||
|
|||||||
Reference in New Issue
Block a user