mirror of
https://github.com/mii443/vrchatapi-rust.git
synced 2025-08-22 15:45:35 +00:00
283 lines
14 KiB
Rust
283 lines
14 KiB
Rust
/*
|
|
* VRChat API Documentation
|
|
*
|
|
*
|
|
* Contact: vrchatapi.lpv0t@aries.fyi
|
|
* Generated by: https://openapi-generator.tech
|
|
*/
|
|
|
|
|
|
use reqwest;
|
|
|
|
use crate::apis::ResponseContent;
|
|
use super::{Error, configuration};
|
|
|
|
|
|
/// struct for typed errors of method [`get_user`]
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
#[serde(untagged)]
|
|
pub enum GetUserError {
|
|
Status401(crate::models::Error),
|
|
UnknownValue(serde_json::Value),
|
|
}
|
|
|
|
/// struct for typed errors of method [`get_user_by_name`]
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
#[serde(untagged)]
|
|
pub enum GetUserByNameError {
|
|
Status401(crate::models::Error),
|
|
UnknownValue(serde_json::Value),
|
|
}
|
|
|
|
/// struct for typed errors of method [`get_user_group_requests`]
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
#[serde(untagged)]
|
|
pub enum GetUserGroupRequestsError {
|
|
Status401(crate::models::Error),
|
|
UnknownValue(serde_json::Value),
|
|
}
|
|
|
|
/// struct for typed errors of method [`get_user_groups`]
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
#[serde(untagged)]
|
|
pub enum GetUserGroupsError {
|
|
Status401(crate::models::Error),
|
|
UnknownValue(serde_json::Value),
|
|
}
|
|
|
|
/// struct for typed errors of method [`get_user_represented_group`]
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
#[serde(untagged)]
|
|
pub enum GetUserRepresentedGroupError {
|
|
Status401(crate::models::Error),
|
|
UnknownValue(serde_json::Value),
|
|
}
|
|
|
|
/// struct for typed errors of method [`search_users`]
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
#[serde(untagged)]
|
|
pub enum SearchUsersError {
|
|
Status400(crate::models::Error),
|
|
Status401(crate::models::Error),
|
|
UnknownValue(serde_json::Value),
|
|
}
|
|
|
|
/// struct for typed errors of method [`update_user`]
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
#[serde(untagged)]
|
|
pub enum UpdateUserError {
|
|
Status401(crate::models::Error),
|
|
UnknownValue(serde_json::Value),
|
|
}
|
|
|
|
|
|
/// Get public user information about a specific user using their ID.
|
|
pub fn get_user(configuration: &configuration::Configuration<impl std::ops::Deref<Target = reqwest::Client> + Clone + core::fmt::Debug>, user_id: &str) -> Result<crate::models::User, Error<GetUserError>> {
|
|
let local_var_configuration = configuration;
|
|
|
|
let local_var_client = &local_var_configuration.client;
|
|
|
|
let local_var_uri_str = format!("{}/users/{userId}", local_var_configuration.base_path, userId=crate::apis::urlencode(user_id));
|
|
let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
|
|
|
|
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());
|
|
}
|
|
|
|
let local_var_req = local_var_req_builder.build()?;
|
|
let mut local_var_resp = local_var_client.execute(local_var_req)?;
|
|
|
|
let local_var_status = local_var_resp.status();
|
|
let local_var_content = local_var_resp.text()?;
|
|
|
|
if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
|
|
serde_json::from_str(&local_var_content).map_err(Error::from)
|
|
} else {
|
|
let local_var_entity: Option<GetUserError> = serde_json::from_str(&local_var_content).ok();
|
|
let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
|
|
Err(Error::ResponseError(local_var_error))
|
|
}
|
|
}
|
|
|
|
/// ~~Get public user information about a specific user using their name.~~ **DEPRECATED:** VRChat API no longer return usernames of other users. [See issue by Tupper for more information](https://github.com/pypy-vrc/VRCX/issues/429). This endpoint now require Admin Credentials.
|
|
pub fn get_user_by_name(configuration: &configuration::Configuration<impl std::ops::Deref<Target = reqwest::Client> + Clone + core::fmt::Debug>, username: &str) -> Result<crate::models::User, Error<GetUserByNameError>> {
|
|
let local_var_configuration = configuration;
|
|
|
|
let local_var_client = &local_var_configuration.client;
|
|
|
|
let local_var_uri_str = format!("{}/users/{username}/name", local_var_configuration.base_path, username=crate::apis::urlencode(username));
|
|
let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
|
|
|
|
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());
|
|
}
|
|
|
|
let local_var_req = local_var_req_builder.build()?;
|
|
let mut local_var_resp = local_var_client.execute(local_var_req)?;
|
|
|
|
let local_var_status = local_var_resp.status();
|
|
let local_var_content = local_var_resp.text()?;
|
|
|
|
if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
|
|
serde_json::from_str(&local_var_content).map_err(Error::from)
|
|
} else {
|
|
let local_var_entity: Option<GetUserByNameError> = serde_json::from_str(&local_var_content).ok();
|
|
let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
|
|
Err(Error::ResponseError(local_var_error))
|
|
}
|
|
}
|
|
|
|
/// Returns a list of Groups the user has requested to be invited into.
|
|
pub fn get_user_group_requests(configuration: &configuration::Configuration<impl std::ops::Deref<Target = reqwest::Client> + Clone + core::fmt::Debug>, user_id: &str) -> Result<Vec<crate::models::Group>, Error<GetUserGroupRequestsError>> {
|
|
let local_var_configuration = configuration;
|
|
|
|
let local_var_client = &local_var_configuration.client;
|
|
|
|
let local_var_uri_str = format!("{}/users/{userId}/groups/requested", local_var_configuration.base_path, userId=crate::apis::urlencode(user_id));
|
|
let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
|
|
|
|
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());
|
|
}
|
|
|
|
let local_var_req = local_var_req_builder.build()?;
|
|
let mut local_var_resp = local_var_client.execute(local_var_req)?;
|
|
|
|
let local_var_status = local_var_resp.status();
|
|
let local_var_content = local_var_resp.text()?;
|
|
|
|
if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
|
|
serde_json::from_str(&local_var_content).map_err(Error::from)
|
|
} else {
|
|
let local_var_entity: Option<GetUserGroupRequestsError> = serde_json::from_str(&local_var_content).ok();
|
|
let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
|
|
Err(Error::ResponseError(local_var_error))
|
|
}
|
|
}
|
|
|
|
/// Get user's public groups
|
|
pub fn get_user_groups(configuration: &configuration::Configuration<impl std::ops::Deref<Target = reqwest::Client> + Clone + core::fmt::Debug>, user_id: &str) -> Result<Vec<crate::models::LimitedUserGroups>, Error<GetUserGroupsError>> {
|
|
let local_var_configuration = configuration;
|
|
|
|
let local_var_client = &local_var_configuration.client;
|
|
|
|
let local_var_uri_str = format!("{}/users/{userId}/groups", local_var_configuration.base_path, userId=crate::apis::urlencode(user_id));
|
|
let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
|
|
|
|
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());
|
|
}
|
|
|
|
let local_var_req = local_var_req_builder.build()?;
|
|
let mut local_var_resp = local_var_client.execute(local_var_req)?;
|
|
|
|
let local_var_status = local_var_resp.status();
|
|
let local_var_content = local_var_resp.text()?;
|
|
|
|
if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
|
|
serde_json::from_str(&local_var_content).map_err(Error::from)
|
|
} else {
|
|
let local_var_entity: Option<GetUserGroupsError> = serde_json::from_str(&local_var_content).ok();
|
|
let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
|
|
Err(Error::ResponseError(local_var_error))
|
|
}
|
|
}
|
|
|
|
/// Returns the current group that the user is currently representing
|
|
pub fn get_user_represented_group(configuration: &configuration::Configuration<impl std::ops::Deref<Target = reqwest::Client> + Clone + core::fmt::Debug>, user_id: &str) -> Result<crate::models::RepresentedGroup, Error<GetUserRepresentedGroupError>> {
|
|
let local_var_configuration = configuration;
|
|
|
|
let local_var_client = &local_var_configuration.client;
|
|
|
|
let local_var_uri_str = format!("{}/users/{userId}/groups/represented", local_var_configuration.base_path, userId=crate::apis::urlencode(user_id));
|
|
let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
|
|
|
|
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());
|
|
}
|
|
|
|
let local_var_req = local_var_req_builder.build()?;
|
|
let mut local_var_resp = local_var_client.execute(local_var_req)?;
|
|
|
|
let local_var_status = local_var_resp.status();
|
|
let local_var_content = local_var_resp.text()?;
|
|
|
|
if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
|
|
serde_json::from_str(&local_var_content).map_err(Error::from)
|
|
} else {
|
|
let local_var_entity: Option<GetUserRepresentedGroupError> = serde_json::from_str(&local_var_content).ok();
|
|
let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
|
|
Err(Error::ResponseError(local_var_error))
|
|
}
|
|
}
|
|
|
|
/// Search and list any users by text query
|
|
pub fn search_users(configuration: &configuration::Configuration<impl std::ops::Deref<Target = reqwest::Client> + Clone + core::fmt::Debug>, search: Option<&str>, developer_type: Option<&str>, n: Option<i32>, offset: Option<i32>) -> Result<Vec<crate::models::LimitedUser>, Error<SearchUsersError>> {
|
|
let local_var_configuration = configuration;
|
|
|
|
let local_var_client = &local_var_configuration.client;
|
|
|
|
let local_var_uri_str = format!("{}/users", local_var_configuration.base_path);
|
|
let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
|
|
|
|
if let Some(ref local_var_str) = search {
|
|
local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]);
|
|
}
|
|
if let Some(ref local_var_str) = developer_type {
|
|
local_var_req_builder = local_var_req_builder.query(&[("developerType", &local_var_str.to_string())]);
|
|
}
|
|
if let Some(ref local_var_str) = n {
|
|
local_var_req_builder = local_var_req_builder.query(&[("n", &local_var_str.to_string())]);
|
|
}
|
|
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_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());
|
|
}
|
|
|
|
let local_var_req = local_var_req_builder.build()?;
|
|
let mut local_var_resp = local_var_client.execute(local_var_req)?;
|
|
|
|
let local_var_status = local_var_resp.status();
|
|
let local_var_content = local_var_resp.text()?;
|
|
|
|
if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
|
|
serde_json::from_str(&local_var_content).map_err(Error::from)
|
|
} else {
|
|
let local_var_entity: Option<SearchUsersError> = serde_json::from_str(&local_var_content).ok();
|
|
let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
|
|
Err(Error::ResponseError(local_var_error))
|
|
}
|
|
}
|
|
|
|
/// Update a users information such as the email and birthday.
|
|
pub fn update_user(configuration: &configuration::Configuration<impl std::ops::Deref<Target = reqwest::Client> + Clone + core::fmt::Debug>, user_id: &str, update_user_request: Option<crate::models::UpdateUserRequest>) -> Result<crate::models::CurrentUser, Error<UpdateUserError>> {
|
|
let local_var_configuration = configuration;
|
|
|
|
let local_var_client = &local_var_configuration.client;
|
|
|
|
let local_var_uri_str = format!("{}/users/{userId}", local_var_configuration.base_path, userId=crate::apis::urlencode(user_id));
|
|
let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
|
|
|
|
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());
|
|
}
|
|
local_var_req_builder = local_var_req_builder.json(&update_user_request);
|
|
|
|
let local_var_req = local_var_req_builder.build()?;
|
|
let mut local_var_resp = local_var_client.execute(local_var_req)?;
|
|
|
|
let local_var_status = local_var_resp.status();
|
|
let local_var_content = local_var_resp.text()?;
|
|
|
|
if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
|
|
serde_json::from_str(&local_var_content).map_err(Error::from)
|
|
} else {
|
|
let local_var_entity: Option<UpdateUserError> = serde_json::from_str(&local_var_content).ok();
|
|
let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
|
|
Err(Error::ResponseError(local_var_error))
|
|
}
|
|
}
|
|
|