docs!!: removed old docs, added own readme, non-async for now

This commit is contained in:
Foorack
2021-08-07 23:27:52 +02:00
parent 6c487241ca
commit 3b9230f4cf
70 changed files with 1199 additions and 2141 deletions

View File

@ -21,3 +21,5 @@
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md
README.md

View File

@ -1,7 +1,6 @@
.gitignore
.travis.yml
Cargo.toml
README.md
docs/AuthenticationApi.md
docs/Config.md
docs/ConfigAnnouncements.md
@ -23,27 +22,35 @@ docs/InlineObject1.md
docs/InlineObject2.md
docs/InlineObject3.md
docs/InlineObject4.md
docs/InlineObject5.md
docs/InlineObject6.md
docs/InlineResponse200.md
docs/InlineResponse2001.md
docs/InlineResponse2002.md
docs/InlineResponse2003.md
docs/InlineResponse2004.md
docs/InlineResponse2005.md
docs/InlineResponse2006.md
docs/InlineResponse2007.md
docs/InlineResponse401.md
docs/LimitedUnityPackage.md
docs/LimitedUser.md
docs/LimitedWorld.md
docs/MimeType.md
docs/Notification.md
docs/NotificationType.md
docs/NotificationsApi.md
docs/Platform.md
docs/ReleaseStatus.md
docs/Response.md
docs/Success.md
docs/SystemApi.md
docs/UnityPackage.md
docs/User.md
docs/UserState.md
docs/UserStatus.md
docs/UsersApi.md
docs/World.md
docs/WorldsApi.md
git_push.sh
src/apis/authentication_api.rs
@ -74,22 +81,30 @@ src/models/inline_object_1.rs
src/models/inline_object_2.rs
src/models/inline_object_3.rs
src/models/inline_object_4.rs
src/models/inline_object_5.rs
src/models/inline_object_6.rs
src/models/inline_response_200.rs
src/models/inline_response_200_1.rs
src/models/inline_response_200_2.rs
src/models/inline_response_200_3.rs
src/models/inline_response_200_4.rs
src/models/inline_response_200_5.rs
src/models/inline_response_200_6.rs
src/models/inline_response_200_7.rs
src/models/inline_response_401.rs
src/models/limited_unity_package.rs
src/models/limited_user.rs
src/models/limited_world.rs
src/models/mime_type.rs
src/models/mod.rs
src/models/notification.rs
src/models/notification_type.rs
src/models/platform.rs
src/models/release_status.rs
src/models/response.rs
src/models/success.rs
src/models/unity_package.rs
src/models/user.rs
src/models/user_state.rs
src/models/user_status.rs
src/models/world.rs

View File

@ -3,17 +3,12 @@ name = "vrchatapi"
version = "1.0.0"
authors = ["OpenAPI Generator team and contributors"]
edition = "2018"
description = "VRChat API Library for Rust"
license = "MIT"
[dependencies]
serde = "^1.0"
serde_derive = "^1.0"
serde_json = "^1.0"
url = "^2.2"
[dependencies.reqwest]
version = "^0.11"
default-features = false
features = ["json", "multipart"]
reqwest = "~0.9"
[dev-dependencies]

126
README.md
View File

@ -1,19 +1,14 @@
# Rust API client for vrchatapi
![](https://github.com/vrchatapi/vrchatapi.github.io/blob/master/assets/img/lang/lang_rust_banner_1500x300.png?raw=true)
![VRChat API Banner](https://raw.githubusercontent.com/vrchatapi/vrchatapi.github.io/master/assets/apibanner.png)
# vrchat-node
# VRChat API Documentation
This project is an [OPEN Open Source Project](https://openopensource.org)
Individuals making significant and valuable contributions are given
commit-access to the project to contribute as they see fit. This project
is more like an open wiki than a standard guarded open source project.
A NodeJS client to interact with the unofficial VRChat API. Supports all REST calls specified in https://github.com/vrchatapi/specification.
## Disclaimer
This is the official response of the VRChat Team (from Tupper more specifically) on the usage of the VRChat API.
> **Use of the API using applications other than the approved methods (website, VRChat application) are not officially supported. You may use the API for your own application, but keep these guidelines in mind:**
> Use of the API using applications other than the approved methods (website, VRChat application) are not officially supported. You may use the API for your own application, but keep these guidelines in mind:
> * We do not provide documentation or support for the API.
> * Do not make queries to the API more than once per 60 seconds.
> * Abuse of the API may result in account termination.
@ -21,118 +16,17 @@ This is the official response of the VRChat Team (from Tupper more specifically)
As stated, this documentation was not created with the help of the official VRChat team. Therefore this documentation is not an official documentation of the VRChat API and may not be always up to date with the latest versions. If you find that a page or endpoint is not longer valid please create an issue and tell us so we can fix it.
## Get in touch with us!
[https://discord.gg/qjZE9C9fkB#vrchat-api](https://discord.gg/qjZE9C9fkB)
## Overview
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://openapis.org) from a remote server, you can easily generate an API client.
- API version: 1.0.0
- Package version: 1.0.0
- Build package: org.openapitools.codegen.languages.RustClientCodegen
For more information, please visit [https://github.com/VRChatAPI](https://github.com/VRChatAPI)
## Installation
## Getting Started
Put the package under your project folder and add the following to `Cargo.toml` under `[dependencies]`:
```
openapi = { path = "./generated" }
vrchatapi = { path = "./generated" }
```
## Documentation for API Endpoints
See the [example.js](https://github.com/vrchatapi/vrchatapi-rust/blob/master/example.js) for getting started.
All URIs are relative to *https://api.vrchat.cloud/api/1*
## Contributing
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AuthenticationApi* | [**delete_user_by_id**](docs/AuthenticationApi.md#delete_user_by_id) | **PUT** /user/{userId}/delete | Delete User
*AuthenticationApi* | [**get_current_user**](docs/AuthenticationApi.md#get_current_user) | **GET** /auth/user | Login and/or Get Current User Info
*AuthenticationApi* | [**logout**](docs/AuthenticationApi.md#logout) | **PUT** /logout | Logout
*AuthenticationApi* | [**verify2_fa**](docs/AuthenticationApi.md#verify2_fa) | **POST** /auth/twofactorauth/totp/verify | Verify 2FA code
*AuthenticationApi* | [**verify_auth_token**](docs/AuthenticationApi.md#verify_auth_token) | **GET** /auth | Verify Auth Token
*AuthenticationApi* | [**verify_recovery_code**](docs/AuthenticationApi.md#verify_recovery_code) | **POST** /auth/twofactorauth/otp/verify | Verify 2FA code with Recovery code
*FilesApi* | [**create_file**](docs/FilesApi.md#create_file) | **POST** /file | Create File
*FilesApi* | [**create_file_version**](docs/FilesApi.md#create_file_version) | **POST** /file/{fileId} | Create File Version
*FilesApi* | [**delete_file**](docs/FilesApi.md#delete_file) | **DELETE** /file/{fileId} | Delete File
*FilesApi* | [**delete_file_version**](docs/FilesApi.md#delete_file_version) | **DELETE** /file/{fileId}/{versionId} | Delete File Version
*FilesApi* | [**download_file_version**](docs/FilesApi.md#download_file_version) | **GET** /file/{fileId}/{versionId} | Download File Version
*FilesApi* | [**finish_file_data_upload**](docs/FilesApi.md#finish_file_data_upload) | **PUT** /file/{fileId}/{versionId}/{fileType}/finish | Finish FileData Upload
*FilesApi* | [**get_file**](docs/FilesApi.md#get_file) | **GET** /file/{fileId} | Show File
*FilesApi* | [**get_file_data_upload_status**](docs/FilesApi.md#get_file_data_upload_status) | **GET** /file/{fileId}/{versionId}/{fileType}/status | Check FileData Upload Status
*FilesApi* | [**get_files**](docs/FilesApi.md#get_files) | **GET** /files | List Files
*FilesApi* | [**start_file_data_upload**](docs/FilesApi.md#start_file_data_upload) | **PUT** /file/{fileId}/{versionId}/{fileType}/start | Start FileData Upload
*FriendsApi* | [**delete_friend_request**](docs/FriendsApi.md#delete_friend_request) | **DELETE** /user/{userId}/friendRequest | Delete Friend Request
*FriendsApi* | [**friend**](docs/FriendsApi.md#friend) | **POST** /user/{userId}/friendRequest | Send Friend Request
*FriendsApi* | [**get_friend_status**](docs/FriendsApi.md#get_friend_status) | **GET** /user/{userId}/friendStatus | Check Friend Status
*FriendsApi* | [**get_friends**](docs/FriendsApi.md#get_friends) | **GET** /auth/user/friends | List Friends
*FriendsApi* | [**unfriend**](docs/FriendsApi.md#unfriend) | **DELETE** /auth/user/friends/{userId} | Unfriend
*NotificationsApi* | [**accept_friend_request**](docs/NotificationsApi.md#accept_friend_request) | **PUT** /auth/user/notifications/{notificationId}/accept | Accept Friend Request
*NotificationsApi* | [**clear_notifications**](docs/NotificationsApi.md#clear_notifications) | **PUT** /auth/user/notifications/clear | Clear All Notifications
*NotificationsApi* | [**delete_notification**](docs/NotificationsApi.md#delete_notification) | **PUT** /auth/user/notifications/{notificationId}/hide | Delete Notification
*NotificationsApi* | [**get_notifications**](docs/NotificationsApi.md#get_notifications) | **GET** /auth/user/notifications | List Notifications
*NotificationsApi* | [**mark_notification_as_read**](docs/NotificationsApi.md#mark_notification_as_read) | **PUT** /auth/user/notifications/{notificationId}/see | Mark As Read
*SystemApi* | [**get_config**](docs/SystemApi.md#get_config) | **GET** /config | Fetch API Config
*SystemApi* | [**get_current_online_users**](docs/SystemApi.md#get_current_online_users) | **GET** /visits | Current Online Users
*SystemApi* | [**get_health**](docs/SystemApi.md#get_health) | **GET** /health | Check API Health
*SystemApi* | [**get_system_time**](docs/SystemApi.md#get_system_time) | **GET** /time | Current System Time
*UsersApi* | [**get_user**](docs/UsersApi.md#get_user) | **GET** /users/{userId} | Get User by ID
*UsersApi* | [**get_user_by_name**](docs/UsersApi.md#get_user_by_name) | **GET** /users/{username}/name | Get User by Username
*UsersApi* | [**search_active_users**](docs/UsersApi.md#search_active_users) | **GET** /users/active | Search Active Users
*UsersApi* | [**search_users**](docs/UsersApi.md#search_users) | **GET** /users | Search All Users
*UsersApi* | [**update_user**](docs/UsersApi.md#update_user) | **PUT** /users/{userId} | Update User Info
*WorldsApi* | [**search_worlds**](docs/WorldsApi.md#search_worlds) | **GET** /worlds | Search all worlds
## Documentation For Models
- [Config](docs/Config.md)
- [ConfigAnnouncements](docs/ConfigAnnouncements.md)
- [ConfigDownloadUrls](docs/ConfigDownloadUrls.md)
- [ConfigDynamicWorldRows](docs/ConfigDynamicWorldRows.md)
- [ConfigEvents](docs/ConfigEvents.md)
- [CurrentUser](docs/CurrentUser.md)
- [DeploymentGroup](docs/DeploymentGroup.md)
- [DeveloperType](docs/DeveloperType.md)
- [Error](docs/Error.md)
- [File](docs/File.md)
- [FileData](docs/FileData.md)
- [FileStatus](docs/FileStatus.md)
- [FileVersion](docs/FileVersion.md)
- [InlineObject](docs/InlineObject.md)
- [InlineObject1](docs/InlineObject1.md)
- [InlineObject2](docs/InlineObject2.md)
- [InlineObject3](docs/InlineObject3.md)
- [InlineObject4](docs/InlineObject4.md)
- [InlineResponse200](docs/InlineResponse200.md)
- [InlineResponse2001](docs/InlineResponse2001.md)
- [InlineResponse2002](docs/InlineResponse2002.md)
- [InlineResponse2003](docs/InlineResponse2003.md)
- [InlineResponse2004](docs/InlineResponse2004.md)
- [InlineResponse2005](docs/InlineResponse2005.md)
- [InlineResponse401](docs/InlineResponse401.md)
- [LimitedUser](docs/LimitedUser.md)
- [LimitedWorld](docs/LimitedWorld.md)
- [MimeType](docs/MimeType.md)
- [Notification](docs/Notification.md)
- [NotificationType](docs/NotificationType.md)
- [ReleaseStatus](docs/ReleaseStatus.md)
- [Response](docs/Response.md)
- [Success](docs/Success.md)
- [User](docs/User.md)
- [UserState](docs/UserState.md)
- [UserStatus](docs/UserStatus.md)
To get access to the crate's generated documentation, use:
```
cargo doc --open
```
## Author
me@ruby.js.org
Contributions are welcome, but do not add features that should be handled by the OpenAPI specification.
Join the [Discord server](https://discord.gg/Ge2APMhPfD) to get in touch with us.

View File

@ -1,185 +0,0 @@
# \AuthenticationApi
All URIs are relative to *https://api.vrchat.cloud/api/1*
Method | HTTP request | Description
------------- | ------------- | -------------
[**delete_user_by_id**](AuthenticationApi.md#delete_user_by_id) | **PUT** /user/{userId}/delete | Delete User
[**get_current_user**](AuthenticationApi.md#get_current_user) | **GET** /auth/user | Login and/or Get Current User Info
[**logout**](AuthenticationApi.md#logout) | **PUT** /logout | Logout
[**verify2_fa**](AuthenticationApi.md#verify2_fa) | **POST** /auth/twofactorauth/totp/verify | Verify 2FA code
[**verify_auth_token**](AuthenticationApi.md#verify_auth_token) | **GET** /auth | Verify Auth Token
[**verify_recovery_code**](AuthenticationApi.md#verify_recovery_code) | **POST** /auth/twofactorauth/otp/verify | Verify 2FA code with Recovery code
## delete_user_by_id
> crate::models::CurrentUser delete_user_by_id(user_id)
Delete User
Deletes the account with given ID. Normal users only have permission to delete their own account. Account deletion is 14 days from this request, and will be cancelled if you do an authenticated request with the account afterwards. **VRC+ NOTE:** Despite the 14-days cooldown, any VRC+ subscription will be cancelled **immediately**. **METHOD NOTE:** Despite this being a Delete action, the method type required is PUT.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**user_id** | **String** | | [required] |
### Return type
[**crate::models::CurrentUser**](CurrentUser.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_current_user
> crate::models::CurrentUser get_current_user()
Login and/or Get Current User Info
Login and/or Get user data from your VRChat account. If `Authorization` header is present then a new login session will be generated, and a new `auth` cookie is returned. **WARNING: Session Limit:** Each authentication with login credentials counts as a separate session, out of which you have a limited amount. Make sure to save and reuse the `auth` cookie whenever you can, and avoid sending the Authorization header unless strictly neccesary. While the exact number of simultaneous open sessions is secret, expect to **very fast** run into the rate-limit and be temporarily blocked from making new sessions until the old ones expire.
### Parameters
This endpoint does not need any parameter.
### Return type
[**crate::models::CurrentUser**](CurrentUser.md)
### Authorization
[authCookie](../README.md#authCookie), [authHeader](../README.md#authHeader), [twoFactorAuthCookie](../README.md#twoFactorAuthCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## logout
> crate::models::Success logout()
Logout
Invalidates the auth cookie.
### Parameters
This endpoint does not need any parameter.
### Return type
[**crate::models::Success**](Success.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## verify2_fa
> crate::models::InlineResponse2001 verify2_fa(inline_object)
Verify 2FA code
Finishes the login sequence with a normal 2FA-generated code for accounts with 2FA-protection enabled.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**inline_object** | Option<[**InlineObject**](InlineObject.md)> | | |
### Return type
[**crate::models::InlineResponse2001**](inline_response_200_1.md)
### Authorization
[authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## verify_auth_token
> crate::models::InlineResponse200 verify_auth_token()
Verify Auth Token
Verify whether the currently provided Auth Token is valid.
### Parameters
This endpoint does not need any parameter.
### Return type
[**crate::models::InlineResponse200**](inline_response_200.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## verify_recovery_code
> crate::models::InlineResponse2001 verify_recovery_code(inline_object1)
Verify 2FA code with Recovery code
Finishes the login sequence with an OTP (One Time Password) recovery code for accounts with 2FA-protection enabled.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**inline_object1** | Option<[**InlineObject1**](InlineObject1.md)> | | |
### Return type
[**crate::models::InlineResponse2001**](inline_response_200_1.md)
### Authorization
[authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View File

@ -1,85 +0,0 @@
# Config
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**address** | **String** | VRChat's office address | [readonly]
**announcements** | [**Vec<crate::models::ConfigAnnouncements>**](Config_announcements.md) | PSA, Public Announcements | [readonly]
**api_key** | **String** | apiKey to be used for all other requests | [readonly]
**app_name** | **String** | Game name | [readonly][default to VrChat]
**build_version_tag** | **String** | Build tag of the API server | [readonly]
**client_api_key** | **String** | apiKey to be used for all other requests | [readonly]
**client_bps_ceiling** | Option<**f32**> | Unknown | [optional]
**client_disconnect_timeout** | Option<**f32**> | Unknown | [optional]
**client_reserved_player_bps** | Option<**f32**> | Unknown | [optional]
**client_sent_count_allowance** | Option<**f32**> | Unknown | [optional]
**contact_email** | **String** | VRChat's contact email | [readonly]
**copyright_email** | **String** | VRChat's copyright-issues-related email | [readonly]
**current_tos_version** | **f32** | Current version number of the Terms of Service | [readonly]
**default_avatar** | **String** | |
**deployment_group** | [**crate::models::DeploymentGroup**](DeploymentGroup.md) | |
**dev_app_version_standalone** | **String** | Version number for game development build | [readonly]
**dev_download_link_windows** | **String** | Developer Download link | [readonly]
**dev_sdk_url** | **String** | Link to download the development SDK, use downloadUrls instead | [readonly]
**dev_sdk_version** | **String** | Version of the development SDK | [readonly]
**dev_server_version_standalone** | **String** | Version number for server development build | [readonly]
**disable_avatar_copying** | **bool** | Toggles if copying avatars should be disabled | [default to false]
**disable_avatar_gating** | **bool** | Toggles if avatar gating should be disabled. Avatar gating restricts uploading of avatars to people with the `system_avatar_access` Tag or `admin_avatar_access` Tag | [default to false]
**disable_community_labs** | **bool** | Toggles if the Community Labs should be disabled | [default to false]
**disable_community_labs_promotion** | **bool** | Toggles if promotion out of Community Labs should be disabled | [default to false]
**disable_email** | Option<**bool**> | Unknown | [optional][default to false]
**disable_event_stream** | **bool** | Toggles if Analytics should be disabled (this sreportedly not used in the Client) | [default to false]
**disable_feedback_gating** | **bool** | Toggles if feedback gating should be disabled. Feedback gating restricts submission of feedback (reporting a World or User) to people with the `system_feedback_access` Tag. | [default to false]
**disable_hello** | Option<**bool**> | Unknown | [optional][default to false]
**disable_registration** | **bool** | Toggles if new user account registration should be disabled | [default to false]
**disable_steam_networking** | **bool** | Toggles if Steam Networking should be disabled. VRChat these days uses Photon Unity Networking (PUN) instead. | [default to true]
**disable_two_factor_auth** | **bool** | Toggles if 2FA should be disabled. | [default to false]
**disable_udon** | **bool** | Toggles if Udon should be universally disabled in-game. | [default to false]
**disable_upgrade_account** | **bool** | Toggles if account upgrading \"linking with Steam/Oculus\" should be disabled. | [default to false]
**download_link_windows** | **String** | Download link for game on the Oculus Rift website. | [readonly]
**download_urls** | [**crate::models::ConfigDownloadUrls**](Config_downloadUrls.md) | |
**dynamic_world_rows** | [**Vec<crate::models::ConfigDynamicWorldRows>**](Config_dynamicWorldRows.md) | Array of DynamicWorldRow objects, used by the game to display the list of world rows | [readonly]
**events** | [**crate::models::ConfigEvents**](Config_events.md) | |
**gear_demo_room_id** | **String** | Unknown | [readonly]
**homepage_redirect_target** | **String** | Redirect target if you try to open the base API domain in your browser | [readonly][default to https://hello.vrchat.com]
**home_world_id** | **String** | |
**hub_world_id** | **String** | |
**jobs_email** | **String** | VRChat's job application email | [readonly]
**message_of_the_day** | **String** | MOTD | [readonly]
**moderation_email** | **String** | VRChat's moderation related email | [readonly]
**moderation_query_period** | **f32** | Unknown |
**not_allowed_to_select_avatar_in_private_world_message** | **String** | Used in-game to notify a user they aren't allowed to select avatars in private worlds | [readonly]
**plugin** | **String** | Extra [plugin](https://doc.photonengine.com/en-us/server/current/plugins/manual) to run in each instance | [readonly]
**release_app_version_standalone** | **String** | Version number for game release build | [readonly]
**release_sdk_url** | **String** | Link to download the release SDK | [readonly]
**release_sdk_version** | **String** | Version of the release SDK | [readonly]
**release_server_version_standalone** | **String** | Version number for server release build | [readonly]
**sdk_developer_faq_url** | **String** | Link to the developer FAQ | [readonly]
**sdk_discord_url** | **String** | Link to the official VRChat Discord | [readonly]
**sdk_not_allowed_to_publish_message** | **String** | Used in the SDK to notify a user they aren't allowed to upload avatars/worlds yet | [readonly]
**sdk_unity_version** | **String** | Unity version supported by the SDK | [readonly]
**server_name** | **String** | Server name of the API server currently responding | [readonly]
**support_email** | **String** | VRChat's support email | [readonly]
**time_out_world_id** | **String** | |
**tutorial_world_id** | **String** | |
**update_rate_ms_maximum** | **f32** | Unknown | [readonly]
**update_rate_ms_minimum** | **f32** | Unknown | [readonly]
**update_rate_ms_normal** | **f32** | Unknown | [readonly]
**update_rate_ms_udon_manual** | **f32** | Unknown | [readonly]
**upload_analysis_percent** | **f32** | Unknown | [readonly]
**url_list** | **Vec<String>** | List of allowed URLs that bypass the \"Allow untrusted URL's\" setting in-game | [readonly]
**use_reliable_udp_for_voice** | **bool** | Unknown | [default to false]
**user_update_period** | **f32** | Unknown | [readonly]
**user_verification_delay** | **f32** | Unknown | [readonly]
**user_verification_retry** | **f32** | Unknown | [readonly]
**user_verification_timeout** | **f32** | Unknown | [readonly]
**vive_windows_url** | **String** | Download link for game on the Steam website. | [readonly]
**white_listed_asset_urls** | **Vec<String>** | List of allowed URLs that are allowed to host avatar assets | [readonly]
**world_update_period** | **f32** | Unknown | [readonly]
**youtubedl_hash** | **String** | Currently used youtube-dl.exe hash in SHA-256-delimited format | [readonly]
**youtubedl_version** | **String** | Currently used youtube-dl.exe version | [readonly]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,12 +0,0 @@
# ConfigAnnouncements
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**name** | **String** | Announcement name | [readonly]
**text** | **String** | Announcement text | [readonly]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,13 +0,0 @@
# ConfigDownloadUrls
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**sdk2** | **String** | Download link for legacy SDK2 | [readonly]
**sdk3_avatars** | **String** | Download link for SDK3 for Avatars | [readonly]
**sdk3_worlds** | **String** | Download link for SDK3 for Worlds | [readonly]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,17 +0,0 @@
# ConfigDynamicWorldRows
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**index** | **f32** | | [readonly]
**name** | **String** | | [readonly]
**platform** | **String** | | [readonly]
**sort_heading** | **String** | | [readonly]
**sort_order** | **String** | | [readonly]
**sort_ownership** | **String** | | [readonly]
**tag** | Option<**String**> | Tag to filter worlds for this row | [optional][readonly]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,20 +0,0 @@
# ConfigEvents
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**distance_close** | **f32** | Unknown | [readonly]
**distance_factor** | **f32** | Unknown | [readonly]
**distance_far** | **f32** | Unknown | [readonly]
**group_distance** | **f32** | Unknown | [readonly]
**maximum_bunch_size** | **f32** | Unknown | [readonly]
**not_visible_factor** | **f32** | Unknown | [readonly]
**player_order_bucket_size** | **f32** | Unknown | [readonly]
**player_order_factor** | **f32** | Unknown | [readonly]
**slow_update_factor_threshold** | **f32** | Unknown | [readonly]
**view_segment_length** | **f32** | Unknown | [readonly]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,56 +0,0 @@
# CurrentUser
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **String** | | [readonly]
**username** | **String** | |
**display_name** | **String** | |
**user_icon** | **String** | |
**bio** | **String** | |
**bio_links** | **Vec<String>** | |
**profile_pic_override** | **String** | |
**status_description** | **String** | |
**past_display_names** | **Vec<String>** | |
**has_email** | **bool** | |
**has_pending_email** | **bool** | |
**obfuscated_email** | **String** | |
**obfuscated_pending_email** | **String** | |
**email_verified** | **bool** | |
**has_birthday** | **bool** | |
**unsubscribe** | **bool** | |
**status_history** | **Vec<String>** | |
**status_first_time** | **bool** | |
**friends** | **Vec<String>** | |
**friend_group_names** | **Vec<String>** | |
**current_avatar_image_url** | **String** | |
**current_avatar_thumbnail_image_url** | **String** | |
**fallback_avatar** | **String** | |
**current_avatar** | **String** | |
**current_avatar_asset_url** | **String** | |
**account_deletion_date** | Option<[**String**](string.md)> | | [optional]
**accepted_tos_version** | **f32** | |
**steam_id** | **String** | |
**steam_details** | [**serde_json::Value**](.md) | |
**oculus_id** | **String** | |
**has_logged_in_from_client** | **bool** | |
**home_location** | **String** | |
**two_factor_auth_enabled** | **bool** | |
**state** | [**crate::models::UserState**](UserState.md) | |
**tags** | **Vec<String>** | |
**developer_type** | [**crate::models::DeveloperType**](DeveloperType.md) | |
**last_login** | **String** | |
**last_platform** | **String** | |
**allow_avatar_copying** | **bool** | |
**status** | [**crate::models::UserStatus**](UserStatus.md) | |
**date_joined** | [**String**](string.md) | | [readonly]
**is_friend** | **bool** | | [default to false]
**friend_key** | **String** | |
**online_friends** | **Vec<String>** | |
**active_friends** | **Vec<String>** | |
**offline_friends** | **Vec<String>** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,10 +0,0 @@
# DeploymentGroup
## 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)

View File

@ -1,10 +0,0 @@
# DeveloperType
## 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)

View File

@ -1,11 +0,0 @@
# Error
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**error** | Option<[**crate::models::Response**](Response.md)> | | [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)

View File

@ -1,17 +0,0 @@
# File
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **String** | |
**name** | **String** | |
**owner_id** | **String** | | [readonly]
**mime_type** | [**crate::models::MimeType**](MIMEType.md) | |
**extension** | **String** | |
**tags** | **Vec<String>** | |
**versions** | [**Vec<crate::models::FileVersion>**](FileVersion.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,17 +0,0 @@
# FileData
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**file_name** | **String** | |
**url** | **String** | |
**md5** | **String** | |
**size_in_bytes** | **f32** | |
**status** | [**crate::models::FileStatus**](FileStatus.md) | |
**category** | **String** | | [readonly]
**upload_id** | **String** | | [default to ]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,10 +0,0 @@
# FileStatus
## 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)

View File

@ -1,17 +0,0 @@
# FileVersion
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**version** | **f32** | Incremental version counter, can only be increased. | [default to 0]
**status** | [**crate::models::FileStatus**](FileStatus.md) | |
**created_at** | **String** | | [readonly]
**file** | Option<[**crate::models::FileData**](FileData.md)> | | [optional]
**delta** | Option<[**crate::models::FileData**](FileData.md)> | | [optional]
**signature** | Option<[**crate::models::FileData**](FileData.md)> | | [optional]
**deleted** | Option<**bool**> | Usually only present if `true` | [optional][default to true]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,331 +0,0 @@
# \FilesApi
All URIs are relative to *https://api.vrchat.cloud/api/1*
Method | HTTP request | Description
------------- | ------------- | -------------
[**create_file**](FilesApi.md#create_file) | **POST** /file | Create File
[**create_file_version**](FilesApi.md#create_file_version) | **POST** /file/{fileId} | Create File Version
[**delete_file**](FilesApi.md#delete_file) | **DELETE** /file/{fileId} | Delete File
[**delete_file_version**](FilesApi.md#delete_file_version) | **DELETE** /file/{fileId}/{versionId} | Delete File Version
[**download_file_version**](FilesApi.md#download_file_version) | **GET** /file/{fileId}/{versionId} | Download File Version
[**finish_file_data_upload**](FilesApi.md#finish_file_data_upload) | **PUT** /file/{fileId}/{versionId}/{fileType}/finish | Finish FileData Upload
[**get_file**](FilesApi.md#get_file) | **GET** /file/{fileId} | Show File
[**get_file_data_upload_status**](FilesApi.md#get_file_data_upload_status) | **GET** /file/{fileId}/{versionId}/{fileType}/status | Check FileData Upload Status
[**get_files**](FilesApi.md#get_files) | **GET** /files | List Files
[**start_file_data_upload**](FilesApi.md#start_file_data_upload) | **PUT** /file/{fileId}/{versionId}/{fileType}/start | Start FileData Upload
## create_file
> crate::models::File create_file(inline_object3)
Create File
Creates a new File object
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**inline_object3** | Option<[**InlineObject3**](InlineObject3.md)> | | |
### Return type
[**crate::models::File**](File.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## create_file_version
> crate::models::File create_file_version(file_id)
Create File Version
Creates a new FileVersion. Once a Version has been created, proceed to the `/file/{fileId}/{versionId}/file/start` endpoint to start a file upload.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**file_id** | **String** | | [required] |
### Return type
[**crate::models::File**](File.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## delete_file
> crate::models::Success delete_file(file_id)
Delete File
Deletes a File object.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**file_id** | **String** | | [required] |
### Return type
[**crate::models::Success**](Success.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## delete_file_version
> crate::models::File delete_file_version(file_id, version_id)
Delete File Version
Delete a specific version of a file. You can only delete the latest version.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**file_id** | **String** | | [required] |
**version_id** | **i32** | | [required] |
### Return type
[**crate::models::File**](File.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## download_file_version
> download_file_version(file_id, version_id)
Download File Version
Downloads the file with the provided version number. **Version Note:** Version 0 is always when the file was created. The real data is usually always located in version 1 and up. **Extension Note:** Files are not guaranteed to have a file extensions. UnityPackage files tends to have it, images through this endpoint do not. You are responsible for appending file extension from the `extension` field when neccesary.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**file_id** | **String** | | [required] |
**version_id** | **i32** | | [required] |
### Return type
(empty response body)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## finish_file_data_upload
> crate::models::File finish_file_data_upload(file_id, version_id, file_type, inline_object4)
Finish FileData Upload
Finish an upload of a FileData. This will mark it as \"complete\". After uploading the `file` for Avatars and Worlds you then have to upload a `signature` file.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**file_id** | **String** | | [required] |
**version_id** | **i32** | | [required] |
**file_type** | **String** | | [required] |
**inline_object4** | Option<[**InlineObject4**](InlineObject4.md)> | | |
### Return type
[**crate::models::File**](File.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_file
> crate::models::File get_file(file_id)
Show File
Shows general information about the \"File\" object. Each File can have several \"Version\"'s, and each Version can have multiple real files or \"Data\" blobs.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**file_id** | **String** | | [required] |
### Return type
[**crate::models::File**](File.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_file_data_upload_status
> crate::models::InlineResponse2004 get_file_data_upload_status(file_id, version_id, file_type)
Check FileData Upload Status
Retrieves the upload status for file upload. Can currently only be accessed when `status` is `waiting`. Trying to access it on a file version already uploaded currently times out.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**file_id** | **String** | | [required] |
**version_id** | **i32** | | [required] |
**file_type** | **String** | | [required] |
### Return type
[**crate::models::InlineResponse2004**](inline_response_200_4.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_files
> Vec<crate::models::File> get_files(tag, user_id, n, offset)
List Files
Returns a list of files
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**tag** | Option<**String**> | Tag, for example \"icon\" or \"gallery\", not included by default. | |
**user_id** | Option<**String**> | UserID, will always generate a 500 permission error. | |
**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. | |
### Return type
[**Vec<crate::models::File>**](File.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## start_file_data_upload
> crate::models::InlineResponse2005 start_file_data_upload(file_id, version_id, file_type, part_number)
Start FileData Upload
Starts an upload of a specific FilePart. This endpoint will return an AWS URL which you can PUT data to. You need to call this and receive a new AWS API URL for each `partNumber`. Please see AWS's REST documentation on \"PUT Object to S3\" on how to upload. Once all parts has been uploaded, proceed to `/finish` endpoint. **Note:** `nextPartNumber` seems like it is always ignored. Despite it returning 0, first partNumber is always 1.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**file_id** | **String** | | [required] |
**version_id** | **i32** | | [required] |
**file_type** | **String** | | [required] |
**part_number** | **i32** | | [required] |
### Return type
[**crate::models::InlineResponse2005**](inline_response_200_5.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View File

@ -1,165 +0,0 @@
# \FriendsApi
All URIs are relative to *https://api.vrchat.cloud/api/1*
Method | HTTP request | Description
------------- | ------------- | -------------
[**delete_friend_request**](FriendsApi.md#delete_friend_request) | **DELETE** /user/{userId}/friendRequest | Delete Friend Request
[**friend**](FriendsApi.md#friend) | **POST** /user/{userId}/friendRequest | Send Friend Request
[**get_friend_status**](FriendsApi.md#get_friend_status) | **GET** /user/{userId}/friendStatus | Check Friend Status
[**get_friends**](FriendsApi.md#get_friends) | **GET** /auth/user/friends | List Friends
[**unfriend**](FriendsApi.md#unfriend) | **DELETE** /auth/user/friends/{userId} | Unfriend
## delete_friend_request
> crate::models::Success delete_friend_request(user_id)
Delete Friend Request
Deletes an outgoing pending friend request to another user. To delete an incoming friend request, use the `deleteNotification` endpoint instead.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**user_id** | **String** | | [required] |
### Return type
[**crate::models::Success**](Success.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## friend
> crate::models::Notification friend(user_id)
Send Friend Request
Send a friend request to another user.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**user_id** | **String** | | [required] |
### Return type
[**crate::models::Notification**](Notification.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_friend_status
> crate::models::InlineResponse2003 get_friend_status(user_id)
Check Friend Status
Retrieve if the user is currently a friend with a given user, if they have an outgoing friend request, and if they have an incoming friend request. The proper way to receive and accept friend request is by checking if the user has an incoming `Notification` of type `friendRequest`, and then accepting that notification.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**user_id** | **String** | | [required] |
### Return type
[**crate::models::InlineResponse2003**](inline_response_200_3.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_friends
> Vec<crate::models::LimitedUser> get_friends(offset, n, offline)
List Friends
List information about friends.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**offset** | Option<**i32**> | A zero-based offset from the default object sorting from where search results start. | |
**n** | Option<**i32**> | The number of objects to return. | |[default to 60]
**offline** | Option<**bool**> | Returns *only* offline users if true, returns only online and active users if false | |
### Return type
[**Vec<crate::models::LimitedUser>**](LimitedUser.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## unfriend
> crate::models::Success unfriend(user_id)
Unfriend
Unfriend a user by ID.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**user_id** | **String** | | [required] |
### Return type
[**crate::models::Success**](Success.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View File

@ -1,11 +0,0 @@
# InlineObject
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**code** | **String** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,11 +0,0 @@
# InlineObject1
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**code** | **String** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,19 +0,0 @@
# InlineObject2
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**email** | Option<**String**> | | [optional]
**birthday** | Option<[**String**](string.md)> | | [optional]
**accepted_tos_version** | Option<**f32**> | | [optional]
**tags** | Option<**Vec<String>**> | | [optional]
**status** | Option<[**crate::models::UserStatus**](UserStatus.md)> | | [optional]
**status_description** | Option<**String**> | | [optional]
**bio** | Option<**String**> | | [optional]
**bio_links** | Option<**Vec<String>**> | | [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)

View File

@ -1,14 +0,0 @@
# InlineObject3
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**name** | **String** | |
**mime_type** | [**crate::models::MimeType**](MIMEType.md) | |
**extension** | **String** | |
**tags** | Option<**Vec<String>**> | | [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)

View File

@ -1,13 +0,0 @@
# InlineObject4
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**etags** | Option<**Vec<String>**> | Array of ETags uploaded. | [optional]
**next_part_number** | **String** | Always a zero in string form, despite how many parts uploaded. | [default to NextPartNumber__0]
**max_parts** | **String** | Always a zero in string form, despite how many parts uploaded. | [default to MaxParts__0]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,12 +0,0 @@
# InlineResponse200
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**ok** | **bool** | |
**token** | **String** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,11 +0,0 @@
# InlineResponse2001
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**verified** | **bool** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,13 +0,0 @@
# InlineResponse2002
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**ok** | **bool** | |
**server_name** | **String** | |
**build_version_tag** | **String** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,13 +0,0 @@
# InlineResponse2003
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**is_friend** | **bool** | | [default to false]
**outgoing_request** | **bool** | | [default to false]
**incoming_request** | **bool** | | [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)

View File

@ -1,16 +0,0 @@
# InlineResponse2004
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**upload_id** | **String** | | [readonly]
**file_name** | **String** | | [readonly]
**next_part_number** | **f32** | | [readonly]
**max_parts** | **f32** | | [readonly]
**parts** | [**Vec<serde_json::Value>**](serde_json::Value.md) | | [readonly]
**etags** | [**Vec<serde_json::Value>**](serde_json::Value.md) | Unknown | [readonly]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,11 +0,0 @@
# InlineResponse2005
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**url** | **String** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,11 +0,0 @@
# InlineResponse401
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**error** | [**crate::models::Error**](Error.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,26 +0,0 @@
# LimitedUser
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **String** | | [readonly]
**username** | **String** | |
**display_name** | **String** | |
**bio** | Option<**String**> | | [optional]
**user_icon** | **String** | |
**profile_pic_override** | **String** | |
**status_description** | **String** | |
**current_avatar_image_url** | **String** | |
**current_avatar_thumbnail_image_url** | **String** | |
**fallback_avatar** | **String** | |
**developer_type** | [**crate::models::DeveloperType**](DeveloperType.md) | |
**last_platform** | **String** | |
**status** | [**crate::models::UserStatus**](UserStatus.md) | |
**is_friend** | **bool** | |
**location** | **String** | |
**tags** | **Vec<String>** | Always empty |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,29 +0,0 @@
# LimitedWorld
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**author_id** | **String** | | [readonly]
**author_name** | **String** | |
**capacity** | **f32** | |
**created_at** | Option<[**String**](string.md)> | | [optional]
**favorites** | **f32** | |
**heat** | **f32** | |
**id** | **String** | |
**image_url** | **String** | |
**labs_publication_date** | Option<**String**> | | [optional]
**name** | **String** | |
**occupants** | Option<**f32**> | | [optional]
**organization** | **String** | |
**popularity** | **f32** | |
**publication_date** | **String** | |
**release_status** | [**crate::models::ReleaseStatus**](ReleaseStatus.md) | |
**tags** | **Vec<String>** | |
**thumbnail_image_url** | **String** | |
**unity_packages** | [**Vec<serde_json::Value>**](serde_json::Value.md) | |
**updated_at** | Option<[**String**](string.md)> | | [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)

View File

@ -1,10 +0,0 @@
# MimeType
## 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)

View File

@ -1,18 +0,0 @@
# Notification
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **String** | |
**sender_user_id** | **String** | | [readonly]
**sender_username** | **String** | |
**_type** | [**crate::models::NotificationType**](NotificationType.md) | |
**message** | **String** | |
**details** | **String** | **NOTICE:** This is not a JSON object, this is a json **encoded** object, meaning you have to json-de-encode to get the NotificationDetail object depending on the NotificationType. | [default to {}]
**seen** | **bool** | | [default to false]
**created_at** | **String** | | [readonly]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,10 +0,0 @@
# NotificationType
## 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)

View File

@ -1,165 +0,0 @@
# \NotificationsApi
All URIs are relative to *https://api.vrchat.cloud/api/1*
Method | HTTP request | Description
------------- | ------------- | -------------
[**accept_friend_request**](NotificationsApi.md#accept_friend_request) | **PUT** /auth/user/notifications/{notificationId}/accept | Accept Friend Request
[**clear_notifications**](NotificationsApi.md#clear_notifications) | **PUT** /auth/user/notifications/clear | Clear All Notifications
[**delete_notification**](NotificationsApi.md#delete_notification) | **PUT** /auth/user/notifications/{notificationId}/hide | Delete Notification
[**get_notifications**](NotificationsApi.md#get_notifications) | **GET** /auth/user/notifications | List Notifications
[**mark_notification_as_read**](NotificationsApi.md#mark_notification_as_read) | **PUT** /auth/user/notifications/{notificationId}/see | Mark As Read
## accept_friend_request
> crate::models::Success accept_friend_request(notification_id)
Accept Friend Request
Accept a friend request by notification `frq_` ID. Friend requests can be found using the NotificationsAPI `getNotifications` by filtering of type `friendRequest`.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**notification_id** | **String** | | [required] |
### Return type
[**crate::models::Success**](Success.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## clear_notifications
> crate::models::Success clear_notifications()
Clear All Notifications
Clear **all** notifications.
### Parameters
This endpoint does not need any parameter.
### Return type
[**crate::models::Success**](Success.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## delete_notification
> crate::models::Notification delete_notification(notification_id)
Delete Notification
Delete a notification.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**notification_id** | **String** | | [required] |
### Return type
[**crate::models::Notification**](Notification.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_notifications
> Vec<crate::models::Notification> get_notifications(_type, sent, hidden, after, n, offset)
List Notifications
Retrieve all of the current user's notifications.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**_type** | Option<**String**> | Only send notifications of this type (can use `all` for all). | |
**sent** | Option<**bool**> | Return notifications sent by the user. Must be false or omitted. | |
**hidden** | Option<**bool**> | Whether to return hidden or non-hidden notifications. True only allowed on type `friendRequest`. | |
**after** | Option<**String**> | Only return notifications sent after this Date. Ignored if type is `friendRequest`. | |
**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. | |
### Return type
[**Vec<crate::models::Notification>**](Notification.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## mark_notification_as_read
> crate::models::Notification mark_notification_as_read(notification_id)
Mark As Read
Mark a notification as seen.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**notification_id** | **String** | | [required] |
### Return type
[**crate::models::Notification**](Notification.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View File

@ -1,10 +0,0 @@
# ReleaseStatus
## 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)

View File

@ -1,12 +0,0 @@
# Response
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**message** | **String** | |
**status_code** | **f32** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,11 +0,0 @@
# Success
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**success** | Option<[**crate::models::Response**](Response.md)> | | [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)

View File

@ -1,120 +0,0 @@
# \SystemApi
All URIs are relative to *https://api.vrchat.cloud/api/1*
Method | HTTP request | Description
------------- | ------------- | -------------
[**get_config**](SystemApi.md#get_config) | **GET** /config | Fetch API Config
[**get_current_online_users**](SystemApi.md#get_current_online_users) | **GET** /visits | Current Online Users
[**get_health**](SystemApi.md#get_health) | **GET** /health | Check API Health
[**get_system_time**](SystemApi.md#get_system_time) | **GET** /time | Current System Time
## get_config
> crate::models::Config get_config()
Fetch API Config
API config contains configuration that the clients needs to work properly. Currently the most important value here is `clientApiKey` which is used for all other API endpoints.
### Parameters
This endpoint does not need any parameter.
### Return type
[**crate::models::Config**](Config.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_current_online_users
> i32 get_current_online_users()
Current Online Users
Returns in plain format the number of currently online users. **NOTE:** The response type is not of JSON, but is an integer in plain ASCII format.
### Parameters
This endpoint does not need any parameter.
### Return type
**i32**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: text/plain
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_health
> crate::models::InlineResponse2002 get_health()
Check API Health
Gets the overall health status, the server name, and the current build version tag of the API.
### Parameters
This endpoint does not need any parameter.
### Return type
[**crate::models::InlineResponse2002**](inline_response_200_2.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_system_time
> String get_system_time()
Current System Time
Returns in plain format the current time of the API server. **NOTE:** The response type is not of JSON, but is a string in plain ASCII format.
### Parameters
This endpoint does not need any parameter.
### Return type
**String**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: text/plain
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View File

@ -1,34 +0,0 @@
# User
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **String** | | [readonly]
**username** | **String** | |
**display_name** | **String** | |
**user_icon** | **String** | |
**bio** | **String** | |
**bio_links** | **Vec<String>** | |
**profile_pic_override** | **String** | |
**status_description** | **String** | |
**current_avatar_image_url** | **String** | |
**current_avatar_thumbnail_image_url** | **String** | |
**fallback_avatar** | **String** | |
**state** | [**crate::models::UserState**](UserState.md) | |
**tags** | **Vec<String>** | |
**developer_type** | [**crate::models::DeveloperType**](DeveloperType.md) | |
**last_login** | **String** | |
**last_platform** | **String** | |
**allow_avatar_copying** | **bool** | |
**status** | [**crate::models::UserStatus**](UserStatus.md) | |
**date_joined** | [**String**](string.md) | | [readonly]
**is_friend** | **bool** | |
**friend_key** | **String** | |
**world_id** | Option<**String**> | | [optional]
**instance_id** | Option<**String**> | | [optional]
**location** | Option<**String**> | | [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)

View File

@ -1,10 +0,0 @@
# UserState
## 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)

View File

@ -1,10 +0,0 @@
# UserStatus
## 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)

View File

@ -1,170 +0,0 @@
# \UsersApi
All URIs are relative to *https://api.vrchat.cloud/api/1*
Method | HTTP request | Description
------------- | ------------- | -------------
[**get_user**](UsersApi.md#get_user) | **GET** /users/{userId} | Get User by ID
[**get_user_by_name**](UsersApi.md#get_user_by_name) | **GET** /users/{username}/name | Get User by Username
[**search_active_users**](UsersApi.md#search_active_users) | **GET** /users/active | Search Active Users
[**search_users**](UsersApi.md#search_users) | **GET** /users | Search All Users
[**update_user**](UsersApi.md#update_user) | **PUT** /users/{userId} | Update User Info
## get_user
> crate::models::User get_user(user_id)
Get User by ID
Get public user information about a specific user using their ID.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**user_id** | **String** | | [required] |
### Return type
[**crate::models::User**](User.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_user_by_name
> crate::models::User get_user_by_name(username)
Get User by Username
Get public user information about a specific user using their name.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**username** | **String** | | [required] |
### Return type
[**crate::models::User**](User.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## search_active_users
> Vec<crate::models::LimitedUser> search_active_users(search, developer_type, offset, n)
Search Active Users
Search and list any Active users by text query. **Has been locked down and now always respond with \"Invalid Admin Credentials\".**
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**search** | **String** | Username to search for | [required] |
**developer_type** | Option<**String**> | Active user by developer type, none for normal users and internal for moderators | |
**offset** | Option<**i32**> | A zero-based offset from the default object sorting from where search results start. | |
**n** | Option<**i32**> | The number of objects to return. | |[default to 60]
### Return type
[**Vec<crate::models::LimitedUser>**](LimitedUser.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## search_users
> Vec<crate::models::LimitedUser> search_users(search, developer_type, n, offset)
Search All Users
Search and list any users by text query
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**search** | Option<**String**> | Searches by `displayName`. Will return empty array if search query is empty or missing. | |
**developer_type** | Option<**String**> | Active user by developer type, none for normal users and internal for moderators | |
**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. | |
### Return type
[**Vec<crate::models::LimitedUser>**](LimitedUser.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## update_user
> crate::models::CurrentUser update_user(user_id, inline_object2)
Update User Info
Update a users information such as the email and birthday.
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**user_id** | **String** | | [required] |
**inline_object2** | Option<[**InlineObject2**](InlineObject2.md)> | | |
### Return type
[**crate::models::CurrentUser**](CurrentUser.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View File

@ -1,54 +0,0 @@
# \WorldsApi
All URIs are relative to *https://api.vrchat.cloud/api/1*
Method | HTTP request | Description
------------- | ------------- | -------------
[**search_worlds**](WorldsApi.md#search_worlds) | **GET** /worlds | Search all worlds
## search_worlds
> Vec<crate::models::LimitedWorld> search_worlds(featured, sort, user, user_id, n, order, offset, search, tag, notag, release_status, max_unity_version, min_unity_version, max_asset_version, min_asset_version, platform)
Search all worlds
Search and list any worlds by text query
### Parameters
Name | Type | Description | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**featured** | Option<**bool**> | is the world featured | |
**sort** | Option<**String**> | | |[default to order]
**user** | Option<**String**> | Set to `me` for searching own worlds | |
**user_id** | Option<**String**> | Filter by creator id, use `me` for only worlds owned by current user | |
**n** | Option<**i32**> | The number of objects to return. | |[default to 60]
**order** | Option<**String**> | | |[default to descending]
**offset** | Option<**i32**> | A zero-based offset from the default object sorting from where search results start. | |
**search** | Option<**String**> | Searches by `name`. Will return empty array if search query is empty or missing. | |
**tag** | Option<[**Vec<String>**](String.md)> | Filter by Tag | |
**notag** | Option<[**Vec<String>**](String.md)> | Tags to exclude | |
**release_status** | Option<**String**> | | |[default to hidden]
**max_unity_version** | Option<**String**> | Current unity version the game is using | |
**min_unity_version** | Option<**String**> | The min unity version the world support | |
**max_asset_version** | Option<**String**> | Current asset version the game is using | |
**min_asset_version** | Option<**String**> | The min asset version the world support | |
**platform** | Option<**String**> | The platform the world supports (usually standalonewindows) | |
### Return type
[**Vec<crate::models::LimitedWorld>**](LimitedWorld.md)
### Authorization
[apiKeyCookie](../README.md#apiKeyCookie), [authCookie](../README.md#authCookie)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

9
examples/online.rs Normal file
View File

@ -0,0 +1,9 @@
pub use vrchatapi::apis;
fn main() {
let config = apis::configuration::Configuration::default();
let online = apis::system_api::get_current_online_users(&config).unwrap();
println!("Current Online Users: {}", online);
}

View File

@ -2,15 +2,21 @@
# Generate Client
rm src/apis src/models docs -rf
openapi-generator-cli generate \
-g rust \
--additional-properties=packageName=vrchatapi \
--additional-properties=packageName=vrchatapi,supportAsync=false \
--git-user-id=vrchatapi \
--git-repo-id=vrchatapi-rust \
-o . \
-i ../specification/openapi.yaml \
--http-user-agent="vrchatapi-rust"
rm docs -rf
#description = "VRChat API Library for Rust"
#license = "MIT"
# Remove unwanted lines from README
#sed -i '/Uncomment the following line to set a prefix/d' ./README.md
#sed -i '/apiKeyPrefix/d' ./README.md

View File

@ -65,7 +65,7 @@ pub enum VerifyRecoveryCodeError {
/// Deletes the account with given ID. Normal users only have permission to delete their own account. Account deletion is 14 days from this request, and will be cancelled if you do an authenticated request with the account afterwards. **VRC+ NOTE:** Despite the 14-days cooldown, any VRC+ subscription will be cancelled **immediately**. **METHOD NOTE:** Despite this being a Delete action, the method type required is PUT.
pub async fn delete_user_by_id(configuration: &configuration::Configuration, user_id: &str) -> Result<crate::models::CurrentUser, Error<DeleteUserByIdError>> {
pub fn delete_user_by_id(configuration: &configuration::Configuration, user_id: &str) -> Result<crate::models::CurrentUser, Error<DeleteUserByIdError>> {
let local_var_client = &configuration.client;
@ -77,10 +77,10 @@ pub async fn delete_user_by_id(configuration: &configuration::Configuration, use
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -92,7 +92,7 @@ pub async fn delete_user_by_id(configuration: &configuration::Configuration, use
}
/// Login and/or Get user data from your VRChat account. If `Authorization` header is present then a new login session will be generated, and a new `auth` cookie is returned. **WARNING: Session Limit:** Each authentication with login credentials counts as a separate session, out of which you have a limited amount. Make sure to save and reuse the `auth` cookie whenever you can, and avoid sending the Authorization header unless strictly neccesary. While the exact number of simultaneous open sessions is secret, expect to **very fast** run into the rate-limit and be temporarily blocked from making new sessions until the old ones expire.
pub async fn get_current_user(configuration: &configuration::Configuration, ) -> Result<crate::models::CurrentUser, Error<GetCurrentUserError>> {
pub fn get_current_user(configuration: &configuration::Configuration, ) -> Result<crate::models::CurrentUser, Error<GetCurrentUserError>> {
let local_var_client = &configuration.client;
@ -107,10 +107,10 @@ pub async fn get_current_user(configuration: &configuration::Configuration, ) ->
};
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -122,7 +122,7 @@ pub async fn get_current_user(configuration: &configuration::Configuration, ) ->
}
/// Invalidates the auth cookie.
pub async fn logout(configuration: &configuration::Configuration, ) -> Result<crate::models::Success, Error<LogoutError>> {
pub fn logout(configuration: &configuration::Configuration, ) -> Result<crate::models::Success, Error<LogoutError>> {
let local_var_client = &configuration.client;
@ -134,10 +134,10 @@ pub async fn logout(configuration: &configuration::Configuration, ) -> Result<cr
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -149,7 +149,7 @@ pub async fn logout(configuration: &configuration::Configuration, ) -> Result<cr
}
/// Finishes the login sequence with a normal 2FA-generated code for accounts with 2FA-protection enabled.
pub async fn verify2_fa(configuration: &configuration::Configuration, inline_object: Option<crate::models::InlineObject>) -> Result<crate::models::InlineResponse2001, Error<Verify2FaError>> {
pub fn verify2_fa(configuration: &configuration::Configuration, inline_object: Option<crate::models::InlineObject>) -> Result<crate::models::InlineResponse2001, Error<Verify2FaError>> {
let local_var_client = &configuration.client;
@ -162,10 +162,10 @@ pub async fn verify2_fa(configuration: &configuration::Configuration, inline_obj
local_var_req_builder = local_var_req_builder.json(&inline_object);
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -177,7 +177,7 @@ pub async fn verify2_fa(configuration: &configuration::Configuration, inline_obj
}
/// Verify whether the currently provided Auth Token is valid.
pub async fn verify_auth_token(configuration: &configuration::Configuration, ) -> Result<crate::models::InlineResponse200, Error<VerifyAuthTokenError>> {
pub fn verify_auth_token(configuration: &configuration::Configuration, ) -> Result<crate::models::InlineResponse200, Error<VerifyAuthTokenError>> {
let local_var_client = &configuration.client;
@ -189,10 +189,10 @@ pub async fn verify_auth_token(configuration: &configuration::Configuration, ) -
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -204,7 +204,7 @@ pub async fn verify_auth_token(configuration: &configuration::Configuration, ) -
}
/// Finishes the login sequence with an OTP (One Time Password) recovery code for accounts with 2FA-protection enabled.
pub async fn verify_recovery_code(configuration: &configuration::Configuration, inline_object1: Option<crate::models::InlineObject1>) -> Result<crate::models::InlineResponse2001, Error<VerifyRecoveryCodeError>> {
pub fn verify_recovery_code(configuration: &configuration::Configuration, inline_object1: Option<crate::models::InlineObject1>) -> Result<crate::models::InlineResponse2001, Error<VerifyRecoveryCodeError>> {
let local_var_client = &configuration.client;
@ -217,10 +217,10 @@ pub async fn verify_recovery_code(configuration: &configuration::Configuration,
local_var_req_builder = local_var_req_builder.json(&inline_object1);
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)

View File

@ -92,7 +92,7 @@ pub enum StartFileDataUploadError {
/// Creates a new File object
pub async fn create_file(configuration: &configuration::Configuration, inline_object3: Option<crate::models::InlineObject3>) -> Result<crate::models::File, Error<CreateFileError>> {
pub fn create_file(configuration: &configuration::Configuration, inline_object3: Option<crate::models::InlineObject3>) -> Result<crate::models::File, Error<CreateFileError>> {
let local_var_client = &configuration.client;
@ -105,10 +105,10 @@ pub async fn create_file(configuration: &configuration::Configuration, inline_ob
local_var_req_builder = local_var_req_builder.json(&inline_object3);
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -120,7 +120,7 @@ pub async fn create_file(configuration: &configuration::Configuration, inline_ob
}
/// Creates a new FileVersion. Once a Version has been created, proceed to the `/file/{fileId}/{versionId}/file/start` endpoint to start a file upload.
pub async fn create_file_version(configuration: &configuration::Configuration, file_id: &str) -> Result<crate::models::File, Error<CreateFileVersionError>> {
pub fn create_file_version(configuration: &configuration::Configuration, file_id: &str) -> Result<crate::models::File, Error<CreateFileVersionError>> {
let local_var_client = &configuration.client;
@ -132,10 +132,10 @@ pub async fn create_file_version(configuration: &configuration::Configuration, f
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -147,7 +147,7 @@ pub async fn create_file_version(configuration: &configuration::Configuration, f
}
/// Deletes a File object.
pub async fn delete_file(configuration: &configuration::Configuration, file_id: &str) -> Result<crate::models::Success, Error<DeleteFileError>> {
pub fn delete_file(configuration: &configuration::Configuration, file_id: &str) -> Result<crate::models::Success, Error<DeleteFileError>> {
let local_var_client = &configuration.client;
@ -159,10 +159,10 @@ pub async fn delete_file(configuration: &configuration::Configuration, file_id:
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -174,7 +174,7 @@ pub async fn delete_file(configuration: &configuration::Configuration, file_id:
}
/// Delete a specific version of a file. You can only delete the latest version.
pub async fn delete_file_version(configuration: &configuration::Configuration, file_id: &str, version_id: i32) -> Result<crate::models::File, Error<DeleteFileVersionError>> {
pub fn delete_file_version(configuration: &configuration::Configuration, file_id: &str, version_id: i32) -> Result<crate::models::File, Error<DeleteFileVersionError>> {
let local_var_client = &configuration.client;
@ -186,10 +186,10 @@ pub async fn delete_file_version(configuration: &configuration::Configuration, f
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -201,7 +201,7 @@ pub async fn delete_file_version(configuration: &configuration::Configuration, f
}
/// Downloads the file with the provided version number. **Version Note:** Version 0 is always when the file was created. The real data is usually always located in version 1 and up. **Extension Note:** Files are not guaranteed to have a file extensions. UnityPackage files tends to have it, images through this endpoint do not. You are responsible for appending file extension from the `extension` field when neccesary.
pub async fn download_file_version(configuration: &configuration::Configuration, file_id: &str, version_id: i32) -> Result<(), Error<DownloadFileVersionError>> {
pub fn download_file_version(configuration: &configuration::Configuration, file_id: &str, version_id: i32) -> Result<(), Error<DownloadFileVersionError>> {
let local_var_client = &configuration.client;
@ -213,10 +213,10 @@ pub async fn download_file_version(configuration: &configuration::Configuration,
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
let local_var_content = local_var_resp.text()?;
if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
Ok(())
@ -228,7 +228,7 @@ pub async fn download_file_version(configuration: &configuration::Configuration,
}
/// Finish an upload of a FileData. This will mark it as \"complete\". After uploading the `file` for Avatars and Worlds you then have to upload a `signature` file.
pub async fn finish_file_data_upload(configuration: &configuration::Configuration, file_id: &str, version_id: i32, file_type: &str, inline_object4: Option<crate::models::InlineObject4>) -> Result<crate::models::File, Error<FinishFileDataUploadError>> {
pub fn finish_file_data_upload(configuration: &configuration::Configuration, file_id: &str, version_id: i32, file_type: &str, inline_object4: Option<crate::models::InlineObject4>) -> Result<crate::models::File, Error<FinishFileDataUploadError>> {
let local_var_client = &configuration.client;
@ -241,10 +241,10 @@ pub async fn finish_file_data_upload(configuration: &configuration::Configuratio
local_var_req_builder = local_var_req_builder.json(&inline_object4);
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -256,7 +256,7 @@ pub async fn finish_file_data_upload(configuration: &configuration::Configuratio
}
/// Shows general information about the \"File\" object. Each File can have several \"Version\"'s, and each Version can have multiple real files or \"Data\" blobs.
pub async fn get_file(configuration: &configuration::Configuration, file_id: &str) -> Result<crate::models::File, Error<GetFileError>> {
pub fn get_file(configuration: &configuration::Configuration, file_id: &str) -> Result<crate::models::File, Error<GetFileError>> {
let local_var_client = &configuration.client;
@ -268,10 +268,10 @@ pub async fn get_file(configuration: &configuration::Configuration, file_id: &st
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -283,7 +283,7 @@ pub async fn get_file(configuration: &configuration::Configuration, file_id: &st
}
/// Retrieves the upload status for file upload. Can currently only be accessed when `status` is `waiting`. Trying to access it on a file version already uploaded currently times out.
pub async fn get_file_data_upload_status(configuration: &configuration::Configuration, file_id: &str, version_id: i32, file_type: &str) -> Result<crate::models::InlineResponse2004, Error<GetFileDataUploadStatusError>> {
pub fn get_file_data_upload_status(configuration: &configuration::Configuration, file_id: &str, version_id: i32, file_type: &str) -> Result<crate::models::InlineResponse2004, Error<GetFileDataUploadStatusError>> {
let local_var_client = &configuration.client;
@ -295,10 +295,10 @@ pub async fn get_file_data_upload_status(configuration: &configuration::Configur
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -310,7 +310,7 @@ pub async fn get_file_data_upload_status(configuration: &configuration::Configur
}
/// Returns a list of files
pub async fn get_files(configuration: &configuration::Configuration, tag: Option<&str>, user_id: Option<&str>, n: Option<i32>, offset: Option<i32>) -> Result<Vec<crate::models::File>, Error<GetFilesError>> {
pub fn get_files(configuration: &configuration::Configuration, tag: Option<&str>, user_id: Option<&str>, n: Option<i32>, offset: Option<i32>) -> Result<Vec<crate::models::File>, Error<GetFilesError>> {
let local_var_client = &configuration.client;
@ -334,10 +334,10 @@ pub async fn get_files(configuration: &configuration::Configuration, tag: Option
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -349,7 +349,7 @@ pub async fn get_files(configuration: &configuration::Configuration, tag: Option
}
/// Starts an upload of a specific FilePart. This endpoint will return an AWS URL which you can PUT data to. You need to call this and receive a new AWS API URL for each `partNumber`. Please see AWS's REST documentation on \"PUT Object to S3\" on how to upload. Once all parts has been uploaded, proceed to `/finish` endpoint. **Note:** `nextPartNumber` seems like it is always ignored. Despite it returning 0, first partNumber is always 1.
pub async fn start_file_data_upload(configuration: &configuration::Configuration, file_id: &str, version_id: i32, file_type: &str, part_number: i32) -> Result<crate::models::InlineResponse2005, Error<StartFileDataUploadError>> {
pub fn start_file_data_upload(configuration: &configuration::Configuration, file_id: &str, version_id: i32, file_type: &str, part_number: i32) -> Result<crate::models::InlineResponse2005, Error<StartFileDataUploadError>> {
let local_var_client = &configuration.client;
@ -362,10 +362,10 @@ pub async fn start_file_data_upload(configuration: &configuration::Configuration
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)

View File

@ -60,7 +60,7 @@ pub enum UnfriendError {
/// Deletes an outgoing pending friend request to another user. To delete an incoming friend request, use the `deleteNotification` endpoint instead.
pub async fn delete_friend_request(configuration: &configuration::Configuration, user_id: &str) -> Result<crate::models::Success, Error<DeleteFriendRequestError>> {
pub fn delete_friend_request(configuration: &configuration::Configuration, user_id: &str) -> Result<crate::models::Success, Error<DeleteFriendRequestError>> {
let local_var_client = &configuration.client;
@ -72,10 +72,10 @@ pub async fn delete_friend_request(configuration: &configuration::Configuration,
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -87,7 +87,7 @@ pub async fn delete_friend_request(configuration: &configuration::Configuration,
}
/// Send a friend request to another user.
pub async fn friend(configuration: &configuration::Configuration, user_id: &str) -> Result<crate::models::Notification, Error<FriendError>> {
pub fn friend(configuration: &configuration::Configuration, user_id: &str) -> Result<crate::models::Notification, Error<FriendError>> {
let local_var_client = &configuration.client;
@ -99,10 +99,10 @@ pub async fn friend(configuration: &configuration::Configuration, user_id: &str)
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -114,7 +114,7 @@ pub async fn friend(configuration: &configuration::Configuration, user_id: &str)
}
/// Retrieve if the user is currently a friend with a given user, if they have an outgoing friend request, and if they have an incoming friend request. The proper way to receive and accept friend request is by checking if the user has an incoming `Notification` of type `friendRequest`, and then accepting that notification.
pub async fn get_friend_status(configuration: &configuration::Configuration, user_id: &str) -> Result<crate::models::InlineResponse2003, Error<GetFriendStatusError>> {
pub fn get_friend_status(configuration: &configuration::Configuration, user_id: &str) -> Result<crate::models::InlineResponse2003, Error<GetFriendStatusError>> {
let local_var_client = &configuration.client;
@ -126,10 +126,10 @@ pub async fn get_friend_status(configuration: &configuration::Configuration, use
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -141,7 +141,7 @@ pub async fn get_friend_status(configuration: &configuration::Configuration, use
}
/// List information about friends.
pub async fn get_friends(configuration: &configuration::Configuration, offset: Option<i32>, n: Option<i32>, offline: Option<bool>) -> Result<Vec<crate::models::LimitedUser>, Error<GetFriendsError>> {
pub fn get_friends(configuration: &configuration::Configuration, offset: Option<i32>, n: Option<i32>, offline: Option<bool>) -> Result<Vec<crate::models::LimitedUser>, Error<GetFriendsError>> {
let local_var_client = &configuration.client;
@ -162,10 +162,10 @@ pub async fn get_friends(configuration: &configuration::Configuration, offset: O
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -177,7 +177,7 @@ pub async fn get_friends(configuration: &configuration::Configuration, offset: O
}
/// Unfriend a user by ID.
pub async fn unfriend(configuration: &configuration::Configuration, user_id: &str) -> Result<crate::models::Success, Error<UnfriendError>> {
pub fn unfriend(configuration: &configuration::Configuration, user_id: &str) -> Result<crate::models::Success, Error<UnfriendError>> {
let local_var_client = &configuration.client;
@ -189,10 +189,10 @@ pub async fn unfriend(configuration: &configuration::Configuration, user_id: &st
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)

View File

@ -58,7 +58,7 @@ pub enum MarkNotificationAsReadError {
/// Accept a friend request by notification `frq_` ID. Friend requests can be found using the NotificationsAPI `getNotifications` by filtering of type `friendRequest`.
pub async fn accept_friend_request(configuration: &configuration::Configuration, notification_id: &str) -> Result<crate::models::Success, Error<AcceptFriendRequestError>> {
pub fn accept_friend_request(configuration: &configuration::Configuration, notification_id: &str) -> Result<crate::models::Success, Error<AcceptFriendRequestError>> {
let local_var_client = &configuration.client;
@ -70,10 +70,10 @@ pub async fn accept_friend_request(configuration: &configuration::Configuration,
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -85,7 +85,7 @@ pub async fn accept_friend_request(configuration: &configuration::Configuration,
}
/// Clear **all** notifications.
pub async fn clear_notifications(configuration: &configuration::Configuration, ) -> Result<crate::models::Success, Error<ClearNotificationsError>> {
pub fn clear_notifications(configuration: &configuration::Configuration, ) -> Result<crate::models::Success, Error<ClearNotificationsError>> {
let local_var_client = &configuration.client;
@ -97,10 +97,10 @@ pub async fn clear_notifications(configuration: &configuration::Configuration, )
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -112,7 +112,7 @@ pub async fn clear_notifications(configuration: &configuration::Configuration, )
}
/// Delete a notification.
pub async fn delete_notification(configuration: &configuration::Configuration, notification_id: &str) -> Result<crate::models::Notification, Error<DeleteNotificationError>> {
pub fn delete_notification(configuration: &configuration::Configuration, notification_id: &str) -> Result<crate::models::Notification, Error<DeleteNotificationError>> {
let local_var_client = &configuration.client;
@ -124,10 +124,10 @@ pub async fn delete_notification(configuration: &configuration::Configuration, n
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -139,7 +139,7 @@ pub async fn delete_notification(configuration: &configuration::Configuration, n
}
/// Retrieve all of the current user's notifications.
pub async fn get_notifications(configuration: &configuration::Configuration, _type: Option<&str>, sent: Option<bool>, hidden: Option<bool>, after: Option<&str>, n: Option<i32>, offset: Option<i32>) -> Result<Vec<crate::models::Notification>, Error<GetNotificationsError>> {
pub fn get_notifications(configuration: &configuration::Configuration, _type: Option<&str>, sent: Option<bool>, hidden: Option<bool>, after: Option<&str>, n: Option<i32>, offset: Option<i32>) -> Result<Vec<crate::models::Notification>, Error<GetNotificationsError>> {
let local_var_client = &configuration.client;
@ -169,10 +169,10 @@ pub async fn get_notifications(configuration: &configuration::Configuration, _ty
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -184,7 +184,7 @@ pub async fn get_notifications(configuration: &configuration::Configuration, _ty
}
/// Mark a notification as seen.
pub async fn mark_notification_as_read(configuration: &configuration::Configuration, notification_id: &str) -> Result<crate::models::Notification, Error<MarkNotificationAsReadError>> {
pub fn mark_notification_as_read(configuration: &configuration::Configuration, notification_id: &str) -> Result<crate::models::Notification, Error<MarkNotificationAsReadError>> {
let local_var_client = &configuration.client;
@ -196,10 +196,10 @@ pub async fn mark_notification_as_read(configuration: &configuration::Configurat
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)

View File

@ -45,7 +45,7 @@ pub enum GetSystemTimeError {
/// API config contains configuration that the clients needs to work properly. Currently the most important value here is `clientApiKey` which is used for all other API endpoints.
pub async fn get_config(configuration: &configuration::Configuration, ) -> Result<crate::models::Config, Error<GetConfigError>> {
pub fn get_config(configuration: &configuration::Configuration, ) -> Result<crate::models::Config, Error<GetConfigError>> {
let local_var_client = &configuration.client;
@ -57,10 +57,10 @@ pub async fn get_config(configuration: &configuration::Configuration, ) -> Resul
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -72,7 +72,7 @@ pub async fn get_config(configuration: &configuration::Configuration, ) -> Resul
}
/// Returns in plain format the number of currently online users. **NOTE:** The response type is not of JSON, but is an integer in plain ASCII format.
pub async fn get_current_online_users(configuration: &configuration::Configuration, ) -> Result<i32, Error<GetCurrentOnlineUsersError>> {
pub fn get_current_online_users(configuration: &configuration::Configuration, ) -> Result<i32, Error<GetCurrentOnlineUsersError>> {
let local_var_client = &configuration.client;
@ -84,10 +84,10 @@ pub async fn get_current_online_users(configuration: &configuration::Configurati
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -99,7 +99,7 @@ pub async fn get_current_online_users(configuration: &configuration::Configurati
}
/// Gets the overall health status, the server name, and the current build version tag of the API.
pub async fn get_health(configuration: &configuration::Configuration, ) -> Result<crate::models::InlineResponse2002, Error<GetHealthError>> {
pub fn get_health(configuration: &configuration::Configuration, ) -> Result<crate::models::InlineResponse2002, Error<GetHealthError>> {
let local_var_client = &configuration.client;
@ -111,10 +111,10 @@ pub async fn get_health(configuration: &configuration::Configuration, ) -> Resul
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -126,7 +126,7 @@ pub async fn get_health(configuration: &configuration::Configuration, ) -> Resul
}
/// Returns in plain format the current time of the API server. **NOTE:** The response type is not of JSON, but is a string in plain ASCII format.
pub async fn get_system_time(configuration: &configuration::Configuration, ) -> Result<String, Error<GetSystemTimeError>> {
pub fn get_system_time(configuration: &configuration::Configuration, ) -> Result<String, Error<GetSystemTimeError>> {
let local_var_client = &configuration.client;
@ -138,10 +138,10 @@ pub async fn get_system_time(configuration: &configuration::Configuration, ) ->
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)

View File

@ -56,7 +56,7 @@ pub enum UpdateUserError {
/// Get public user information about a specific user using their ID.
pub async fn get_user(configuration: &configuration::Configuration, user_id: &str) -> Result<crate::models::User, Error<GetUserError>> {
pub fn get_user(configuration: &configuration::Configuration, user_id: &str) -> Result<crate::models::User, Error<GetUserError>> {
let local_var_client = &configuration.client;
@ -68,10 +68,10 @@ pub async fn get_user(configuration: &configuration::Configuration, user_id: &st
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -83,7 +83,7 @@ pub async fn get_user(configuration: &configuration::Configuration, user_id: &st
}
/// Get public user information about a specific user using their name.
pub async fn get_user_by_name(configuration: &configuration::Configuration, username: &str) -> Result<crate::models::User, Error<GetUserByNameError>> {
pub fn get_user_by_name(configuration: &configuration::Configuration, username: &str) -> Result<crate::models::User, Error<GetUserByNameError>> {
let local_var_client = &configuration.client;
@ -95,10 +95,10 @@ pub async fn get_user_by_name(configuration: &configuration::Configuration, user
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -110,7 +110,7 @@ pub async fn get_user_by_name(configuration: &configuration::Configuration, user
}
/// Search and list any Active users by text query. **Has been locked down and now always respond with \"Invalid Admin Credentials\".**
pub async fn search_active_users(configuration: &configuration::Configuration, search: &str, developer_type: Option<&str>, offset: Option<i32>, n: Option<i32>) -> Result<Vec<crate::models::LimitedUser>, Error<SearchActiveUsersError>> {
pub fn search_active_users(configuration: &configuration::Configuration, search: &str, developer_type: Option<&str>, offset: Option<i32>, n: Option<i32>) -> Result<Vec<crate::models::LimitedUser>, Error<SearchActiveUsersError>> {
let local_var_client = &configuration.client;
@ -132,10 +132,10 @@ pub async fn search_active_users(configuration: &configuration::Configuration, s
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -147,7 +147,7 @@ pub async fn search_active_users(configuration: &configuration::Configuration, s
}
/// Search and list any users by text query
pub async fn search_users(configuration: &configuration::Configuration, search: Option<&str>, developer_type: Option<&str>, n: Option<i32>, offset: Option<i32>) -> Result<Vec<crate::models::LimitedUser>, Error<SearchUsersError>> {
pub fn search_users(configuration: &configuration::Configuration, search: Option<&str>, developer_type: Option<&str>, n: Option<i32>, offset: Option<i32>) -> Result<Vec<crate::models::LimitedUser>, Error<SearchUsersError>> {
let local_var_client = &configuration.client;
@ -171,10 +171,10 @@ pub async fn search_users(configuration: &configuration::Configuration, search:
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -186,7 +186,7 @@ pub async fn search_users(configuration: &configuration::Configuration, search:
}
/// Update a users information such as the email and birthday.
pub async fn update_user(configuration: &configuration::Configuration, user_id: &str, inline_object2: Option<crate::models::InlineObject2>) -> Result<crate::models::CurrentUser, Error<UpdateUserError>> {
pub fn update_user(configuration: &configuration::Configuration, user_id: &str, inline_object2: Option<crate::models::InlineObject2>) -> Result<crate::models::CurrentUser, Error<UpdateUserError>> {
let local_var_client = &configuration.client;
@ -199,10 +199,10 @@ pub async fn update_user(configuration: &configuration::Configuration, user_id:
local_var_req_builder = local_var_req_builder.json(&inline_object2);
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)

View File

@ -15,6 +15,82 @@ use crate::apis::ResponseContent;
use super::{Error, configuration};
/// struct for typed errors of method `create_world`
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)]
pub enum CreateWorldError {
Status400(crate::models::Error),
Status401(crate::models::InlineResponse401),
UnknownValue(serde_json::Value),
}
/// struct for typed errors of method `delete_world`
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)]
pub enum DeleteWorldError {
Status401(crate::models::InlineResponse401),
Status404(crate::models::Error),
UnknownValue(serde_json::Value),
}
/// struct for typed errors of method `get_active_worlds`
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)]
pub enum GetActiveWorldsError {
Status401(crate::models::InlineResponse401),
UnknownValue(serde_json::Value),
}
/// struct for typed errors of method `get_favorited_worlds`
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)]
pub enum GetFavoritedWorldsError {
Status401(crate::models::InlineResponse401),
Status403(crate::models::Error),
UnknownValue(serde_json::Value),
}
/// struct for typed errors of method `get_recent_worlds`
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)]
pub enum GetRecentWorldsError {
Status401(crate::models::InlineResponse401),
Status403(crate::models::Error),
UnknownValue(serde_json::Value),
}
/// struct for typed errors of method `get_world`
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)]
pub enum GetWorldError {
Status404(crate::models::Error),
UnknownValue(serde_json::Value),
}
/// struct for typed errors of method `get_world_metadata`
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)]
pub enum GetWorldMetadataError {
Status404(crate::models::Error),
UnknownValue(serde_json::Value),
}
/// struct for typed errors of method `get_world_publish`
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)]
pub enum GetWorldPublishError {
Status404(crate::models::Error),
UnknownValue(serde_json::Value),
}
/// struct for typed errors of method `publish_world`
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)]
pub enum PublishWorldError {
Status404(crate::models::Error),
UnknownValue(serde_json::Value),
}
/// struct for typed errors of method `search_worlds`
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)]
@ -23,9 +99,384 @@ pub enum SearchWorldsError {
UnknownValue(serde_json::Value),
}
/// struct for typed errors of method `unpublish_world`
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)]
pub enum UnpublishWorldError {
Status404(crate::models::Error),
UnknownValue(serde_json::Value),
}
/// Search and list any worlds by text query
pub async fn search_worlds(configuration: &configuration::Configuration, featured: Option<bool>, sort: Option<&str>, user: Option<&str>, user_id: Option<&str>, n: Option<i32>, order: Option<&str>, offset: Option<i32>, search: Option<&str>, tag: Option<Vec<String>>, notag: Option<Vec<String>>, release_status: Option<&str>, max_unity_version: Option<&str>, min_unity_version: Option<&str>, max_asset_version: Option<&str>, min_asset_version: Option<&str>, platform: Option<&str>) -> Result<Vec<crate::models::LimitedWorld>, Error<SearchWorldsError>> {
/// struct for typed errors of method `update_world`
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)]
pub enum UpdateWorldError {
Status401(crate::models::InlineResponse401),
Status404(crate::models::Error),
UnknownValue(serde_json::Value),
}
/// Create a new world. This endpoint requires `assetUrl` to be a valid File object with `.vrcw` file extension, and `imageUrl` to be a valid File object with an image file extension.
pub fn create_world(configuration: &configuration::Configuration, inline_object5: Option<crate::models::InlineObject5>) -> Result<crate::models::World, Error<CreateWorldError>> {
let local_var_client = &configuration.client;
let local_var_uri_str = format!("{}/worlds", configuration.base_path);
let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
if let Some(ref local_var_user_agent) = 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(&inline_object5);
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<CreateWorldError> = 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))
}
}
/// Delete a world. Notice a world is never fully \"deleted\", only its ReleaseStatus is set to \"hidden\" and the linked Files are deleted. The WorldID is permanently reserved.
pub fn delete_world(configuration: &configuration::Configuration, world_id: &str) -> Result<(), Error<DeleteWorldError>> {
let local_var_client = &configuration.client;
let local_var_uri_str = format!("{}/worlds/{worldId}", configuration.base_path, worldId=crate::apis::urlencode(world_id));
let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
if let Some(ref local_var_user_agent) = 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() {
Ok(())
} else {
let local_var_entity: Option<DeleteWorldError> = 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 currently Active worlds by query filters.
pub fn get_active_worlds(configuration: &configuration::Configuration, featured: Option<&str>, sort: Option<&str>, n: Option<i32>, order: Option<&str>, offset: Option<i32>, search: Option<&str>, tag: Option<&str>, notag: Option<&str>, release_status: Option<&str>, max_unity_version: Option<&str>, min_unity_version: Option<&str>, platform: Option<&str>) -> Result<Vec<crate::models::LimitedWorld>, Error<GetActiveWorldsError>> {
let local_var_client = &configuration.client;
let local_var_uri_str = format!("{}/worlds/active", 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) = featured {
local_var_req_builder = local_var_req_builder.query(&[("featured", &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_str) = n {
local_var_req_builder = local_var_req_builder.query(&[("n", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = order {
local_var_req_builder = local_var_req_builder.query(&[("order", &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_str) = search {
local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = tag {
local_var_req_builder = local_var_req_builder.query(&[("tag", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = notag {
local_var_req_builder = local_var_req_builder.query(&[("notag", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = release_status {
local_var_req_builder = local_var_req_builder.query(&[("releaseStatus", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = max_unity_version {
local_var_req_builder = local_var_req_builder.query(&[("maxUnityVersion", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = min_unity_version {
local_var_req_builder = local_var_req_builder.query(&[("minUnityVersion", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = platform {
local_var_req_builder = local_var_req_builder.query(&[("platform", &local_var_str.to_string())]);
}
if let Some(ref local_var_user_agent) = 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<GetActiveWorldsError> = 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 favorited worlds by query filters.
pub fn get_favorited_worlds(configuration: &configuration::Configuration, featured: Option<&str>, sort: Option<&str>, n: Option<i32>, order: Option<&str>, offset: Option<i32>, search: Option<&str>, tag: Option<&str>, notag: Option<&str>, release_status: Option<&str>, max_unity_version: Option<&str>, min_unity_version: Option<&str>, platform: Option<&str>, user_id: Option<&str>) -> Result<Vec<crate::models::LimitedWorld>, Error<GetFavoritedWorldsError>> {
let local_var_client = &configuration.client;
let local_var_uri_str = format!("{}/worlds/favorites", 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) = featured {
local_var_req_builder = local_var_req_builder.query(&[("featured", &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_str) = n {
local_var_req_builder = local_var_req_builder.query(&[("n", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = order {
local_var_req_builder = local_var_req_builder.query(&[("order", &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_str) = search {
local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = tag {
local_var_req_builder = local_var_req_builder.query(&[("tag", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = notag {
local_var_req_builder = local_var_req_builder.query(&[("notag", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = release_status {
local_var_req_builder = local_var_req_builder.query(&[("releaseStatus", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = max_unity_version {
local_var_req_builder = local_var_req_builder.query(&[("maxUnityVersion", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = min_unity_version {
local_var_req_builder = local_var_req_builder.query(&[("minUnityVersion", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = platform {
local_var_req_builder = local_var_req_builder.query(&[("platform", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = user_id {
local_var_req_builder = local_var_req_builder.query(&[("userId", &local_var_str.to_string())]);
}
if let Some(ref local_var_user_agent) = 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<GetFavoritedWorldsError> = 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 recently visited worlds by query filters.
pub fn get_recent_worlds(configuration: &configuration::Configuration, featured: Option<&str>, sort: Option<&str>, n: Option<i32>, order: Option<&str>, offset: Option<i32>, search: Option<&str>, tag: Option<&str>, notag: Option<&str>, release_status: Option<&str>, max_unity_version: Option<&str>, min_unity_version: Option<&str>, platform: Option<&str>, user_id: Option<&str>) -> Result<Vec<crate::models::LimitedWorld>, Error<GetRecentWorldsError>> {
let local_var_client = &configuration.client;
let local_var_uri_str = format!("{}/worlds/recent", 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) = featured {
local_var_req_builder = local_var_req_builder.query(&[("featured", &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_str) = n {
local_var_req_builder = local_var_req_builder.query(&[("n", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = order {
local_var_req_builder = local_var_req_builder.query(&[("order", &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_str) = search {
local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = tag {
local_var_req_builder = local_var_req_builder.query(&[("tag", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = notag {
local_var_req_builder = local_var_req_builder.query(&[("notag", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = release_status {
local_var_req_builder = local_var_req_builder.query(&[("releaseStatus", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = max_unity_version {
local_var_req_builder = local_var_req_builder.query(&[("maxUnityVersion", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = min_unity_version {
local_var_req_builder = local_var_req_builder.query(&[("minUnityVersion", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = platform {
local_var_req_builder = local_var_req_builder.query(&[("platform", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = user_id {
local_var_req_builder = local_var_req_builder.query(&[("userId", &local_var_str.to_string())]);
}
if let Some(ref local_var_user_agent) = 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<GetRecentWorldsError> = 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 information about a specific World.
pub fn get_world(configuration: &configuration::Configuration, world_id: &str) -> Result<crate::models::World, Error<GetWorldError>> {
let local_var_client = &configuration.client;
let local_var_uri_str = format!("{}/worlds/{worldId}", configuration.base_path, worldId=crate::apis::urlencode(world_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) = 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<GetWorldError> = 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 worlds custom metadata. This is currently believed to be unused. Metadata can be set with `updateWorld` and can be any arbitrary object.
pub fn get_world_metadata(configuration: &configuration::Configuration, world_id: &str) -> Result<crate::models::InlineResponse2006, Error<GetWorldMetadataError>> {
let local_var_client = &configuration.client;
let local_var_uri_str = format!("{}/worlds/{worldId}/metadata", configuration.base_path, worldId=crate::apis::urlencode(world_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) = 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<GetWorldMetadataError> = 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 worlds publish status. This is currently believed to be unused.
pub fn get_world_publish(configuration: &configuration::Configuration, world_id: &str) -> Result<crate::models::InlineResponse2007, Error<GetWorldPublishError>> {
let local_var_client = &configuration.client;
let local_var_uri_str = format!("{}/worlds/{worldId}/publish", configuration.base_path, worldId=crate::apis::urlencode(world_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) = 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<GetWorldPublishError> = 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))
}
}
/// Publishes a world. You can only publish one world per week.
pub fn publish_world(configuration: &configuration::Configuration, world_id: &str) -> Result<(), Error<PublishWorldError>> {
let local_var_client = &configuration.client;
let local_var_uri_str = format!("{}/worlds/{worldId}/publish", configuration.base_path, worldId=crate::apis::urlencode(world_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) = 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() {
Ok(())
} else {
let local_var_entity: Option<PublishWorldError> = 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 worlds by query filters.
pub fn search_worlds(configuration: &configuration::Configuration, featured: Option<&str>, sort: Option<&str>, user: Option<&str>, user_id: Option<&str>, n: Option<i32>, order: Option<&str>, offset: Option<i32>, search: Option<&str>, tag: Option<&str>, notag: Option<&str>, release_status: Option<&str>, max_unity_version: Option<&str>, min_unity_version: Option<&str>, platform: Option<&str>) -> Result<Vec<crate::models::LimitedWorld>, Error<SearchWorldsError>> {
let local_var_client = &configuration.client;
@ -57,10 +508,10 @@ pub async fn search_worlds(configuration: &configuration::Configuration, feature
local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = tag {
local_var_req_builder = local_var_req_builder.query(&[("tag", &local_var_str.into_iter().map(|p| p.to_string()).collect::<Vec<String>>().join(",").to_string())]);
local_var_req_builder = local_var_req_builder.query(&[("tag", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = notag {
local_var_req_builder = local_var_req_builder.query(&[("notag", &local_var_str.into_iter().map(|p| p.to_string()).collect::<Vec<String>>().join(",").to_string())]);
local_var_req_builder = local_var_req_builder.query(&[("notag", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = release_status {
local_var_req_builder = local_var_req_builder.query(&[("releaseStatus", &local_var_str.to_string())]);
@ -71,12 +522,6 @@ pub async fn search_worlds(configuration: &configuration::Configuration, feature
if let Some(ref local_var_str) = min_unity_version {
local_var_req_builder = local_var_req_builder.query(&[("minUnityVersion", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = max_asset_version {
local_var_req_builder = local_var_req_builder.query(&[("maxAssetVersion", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = min_asset_version {
local_var_req_builder = local_var_req_builder.query(&[("minAssetVersion", &local_var_str.to_string())]);
}
if let Some(ref local_var_str) = platform {
local_var_req_builder = local_var_req_builder.query(&[("platform", &local_var_str.to_string())]);
}
@ -85,10 +530,10 @@ pub async fn search_worlds(configuration: &configuration::Configuration, feature
}
let local_var_req = local_var_req_builder.build()?;
let local_var_resp = local_var_client.execute(local_var_req).await?;
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().await?;
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)
@ -99,3 +544,58 @@ pub async fn search_worlds(configuration: &configuration::Configuration, feature
}
}
/// Unpublishes a world.
pub fn unpublish_world(configuration: &configuration::Configuration, world_id: &str) -> Result<(), Error<UnpublishWorldError>> {
let local_var_client = &configuration.client;
let local_var_uri_str = format!("{}/worlds/{worldId}/publish", configuration.base_path, worldId=crate::apis::urlencode(world_id));
let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
if let Some(ref local_var_user_agent) = 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() {
Ok(())
} else {
let local_var_entity: Option<UnpublishWorldError> = 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 information about a specific World.
pub fn update_world(configuration: &configuration::Configuration, world_id: &str, inline_object6: Option<crate::models::InlineObject6>) -> Result<crate::models::World, Error<UpdateWorldError>> {
let local_var_client = &configuration.client;
let local_var_uri_str = format!("{}/worlds/{worldId}", configuration.base_path, worldId=crate::apis::urlencode(world_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) = 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(&inline_object6);
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<UpdateWorldError> = 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))
}
}

View File

@ -88,7 +88,7 @@ pub struct CurrentUser {
#[serde(rename = "last_login")]
pub last_login: String,
#[serde(rename = "last_platform")]
pub last_platform: String,
pub last_platform: crate::models::Platform,
#[serde(rename = "allowAvatarCopying")]
pub allow_avatar_copying: bool,
#[serde(rename = "status")]
@ -108,7 +108,7 @@ pub struct CurrentUser {
}
impl CurrentUser {
pub fn new(id: String, username: String, display_name: String, user_icon: String, bio: String, bio_links: Vec<String>, profile_pic_override: String, status_description: String, past_display_names: Vec<String>, has_email: bool, has_pending_email: bool, obfuscated_email: String, obfuscated_pending_email: String, email_verified: bool, has_birthday: bool, unsubscribe: bool, status_history: Vec<String>, status_first_time: bool, friends: Vec<String>, friend_group_names: Vec<String>, current_avatar_image_url: String, current_avatar_thumbnail_image_url: String, fallback_avatar: String, current_avatar: String, current_avatar_asset_url: String, accepted_tos_version: f32, steam_id: String, steam_details: serde_json::Value, oculus_id: String, has_logged_in_from_client: bool, home_location: String, two_factor_auth_enabled: bool, state: crate::models::UserState, tags: Vec<String>, developer_type: crate::models::DeveloperType, last_login: String, last_platform: String, allow_avatar_copying: bool, status: crate::models::UserStatus, date_joined: String, is_friend: bool, friend_key: String, online_friends: Vec<String>, active_friends: Vec<String>, offline_friends: Vec<String>) -> CurrentUser {
pub fn new(id: String, username: String, display_name: String, user_icon: String, bio: String, bio_links: Vec<String>, profile_pic_override: String, status_description: String, past_display_names: Vec<String>, has_email: bool, has_pending_email: bool, obfuscated_email: String, obfuscated_pending_email: String, email_verified: bool, has_birthday: bool, unsubscribe: bool, status_history: Vec<String>, status_first_time: bool, friends: Vec<String>, friend_group_names: Vec<String>, current_avatar_image_url: String, current_avatar_thumbnail_image_url: String, fallback_avatar: String, current_avatar: String, current_avatar_asset_url: String, accepted_tos_version: f32, steam_id: String, steam_details: serde_json::Value, oculus_id: String, has_logged_in_from_client: bool, home_location: String, two_factor_auth_enabled: bool, state: crate::models::UserState, tags: Vec<String>, developer_type: crate::models::DeveloperType, last_login: String, last_platform: crate::models::Platform, allow_avatar_copying: bool, status: crate::models::UserStatus, date_joined: String, is_friend: bool, friend_key: String, online_friends: Vec<String>, active_friends: Vec<String>, offline_friends: Vec<String>) -> CurrentUser {
CurrentUser {
id,
username,

View File

@ -0,0 +1,67 @@
/*
* VRChat API Documentation
*
* ![VRChat API Banner](https://raw.githubusercontent.com/vrchatapi/vrchatapi.github.io/master/assets/apibanner.png) # VRChat API Documentation This project is an [OPEN Open Source Project](https://openopensource.org) Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project. ## Disclaimer This is the official response of the VRChat Team (from Tupper more specifically) on the usage of the VRChat API. > **Use of the API using applications other than the approved methods (website, VRChat application) are not officially supported. You may use the API for your own application, but keep these guidelines in mind:** > * We do not provide documentation or support for the API. > * Do not make queries to the API more than once per 60 seconds. > * Abuse of the API may result in account termination. > * Access to API endpoints may break at any given time, with no warning. As stated, this documentation was not created with the help of the official VRChat team. Therefore this documentation is not an official documentation of the VRChat API and may not be always up to date with the latest versions. If you find that a page or endpoint is not longer valid please create an issue and tell us so we can fix it. ## Get in touch with us! [https://discord.gg/qjZE9C9fkB#vrchat-api](https://discord.gg/qjZE9C9fkB)
*
* The version of the OpenAPI document: 1.0.0
* Contact: me@ruby.js.org
* Generated by: https://openapi-generator.tech
*/
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct InlineObject5 {
#[serde(rename = "assetUrl")]
pub asset_url: String,
#[serde(rename = "assetVersion", skip_serializing_if = "Option::is_none")]
pub asset_version: Option<String>,
#[serde(rename = "authorId", skip_serializing_if = "Option::is_none")]
pub author_id: Option<String>,
#[serde(rename = "authorName", skip_serializing_if = "Option::is_none")]
pub author_name: Option<String>,
#[serde(rename = "capacity", skip_serializing_if = "Option::is_none")]
pub capacity: Option<i32>,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "imageUrl")]
pub image_url: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "platform", skip_serializing_if = "Option::is_none")]
pub platform: Option<crate::models::Platform>,
#[serde(rename = "releaseStatus", skip_serializing_if = "Option::is_none")]
pub release_status: Option<crate::models::ReleaseStatus>,
#[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
#[serde(rename = "unityPackageUrl", skip_serializing_if = "Option::is_none")]
pub unity_package_url: Option<String>,
#[serde(rename = "unityVersion", skip_serializing_if = "Option::is_none")]
pub unity_version: Option<String>,
}
impl InlineObject5 {
pub fn new(asset_url: String, image_url: String, name: String) -> InlineObject5 {
InlineObject5 {
asset_url,
asset_version: None,
author_id: None,
author_name: None,
capacity: None,
description: None,
id: None,
image_url,
name,
platform: None,
release_status: None,
tags: None,
unity_package_url: None,
unity_version: None,
}
}
}

View File

@ -0,0 +1,67 @@
/*
* VRChat API Documentation
*
* ![VRChat API Banner](https://raw.githubusercontent.com/vrchatapi/vrchatapi.github.io/master/assets/apibanner.png) # VRChat API Documentation This project is an [OPEN Open Source Project](https://openopensource.org) Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project. ## Disclaimer This is the official response of the VRChat Team (from Tupper more specifically) on the usage of the VRChat API. > **Use of the API using applications other than the approved methods (website, VRChat application) are not officially supported. You may use the API for your own application, but keep these guidelines in mind:** > * We do not provide documentation or support for the API. > * Do not make queries to the API more than once per 60 seconds. > * Abuse of the API may result in account termination. > * Access to API endpoints may break at any given time, with no warning. As stated, this documentation was not created with the help of the official VRChat team. Therefore this documentation is not an official documentation of the VRChat API and may not be always up to date with the latest versions. If you find that a page or endpoint is not longer valid please create an issue and tell us so we can fix it. ## Get in touch with us! [https://discord.gg/qjZE9C9fkB#vrchat-api](https://discord.gg/qjZE9C9fkB)
*
* The version of the OpenAPI document: 1.0.0
* Contact: me@ruby.js.org
* Generated by: https://openapi-generator.tech
*/
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct InlineObject6 {
#[serde(rename = "assetUrl", skip_serializing_if = "Option::is_none")]
pub asset_url: Option<String>,
#[serde(rename = "assetVersion", skip_serializing_if = "Option::is_none")]
pub asset_version: Option<String>,
#[serde(rename = "authorId", skip_serializing_if = "Option::is_none")]
pub author_id: Option<String>,
#[serde(rename = "authorName", skip_serializing_if = "Option::is_none")]
pub author_name: Option<String>,
#[serde(rename = "capacity", skip_serializing_if = "Option::is_none")]
pub capacity: Option<i32>,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: 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 = "platform", skip_serializing_if = "Option::is_none")]
pub platform: Option<crate::models::Platform>,
#[serde(rename = "releaseStatus", skip_serializing_if = "Option::is_none")]
pub release_status: Option<crate::models::ReleaseStatus>,
#[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
#[serde(rename = "unityPackageUrl", skip_serializing_if = "Option::is_none")]
pub unity_package_url: Option<String>,
#[serde(rename = "unityVersion", skip_serializing_if = "Option::is_none")]
pub unity_version: Option<String>,
}
impl InlineObject6 {
pub fn new() -> InlineObject6 {
InlineObject6 {
asset_url: None,
asset_version: None,
author_id: None,
author_name: None,
capacity: None,
description: None,
id: None,
image_url: None,
name: None,
platform: None,
release_status: None,
tags: None,
unity_package_url: None,
unity_version: None,
}
}
}

View File

@ -0,0 +1,31 @@
/*
* VRChat API Documentation
*
* ![VRChat API Banner](https://raw.githubusercontent.com/vrchatapi/vrchatapi.github.io/master/assets/apibanner.png) # VRChat API Documentation This project is an [OPEN Open Source Project](https://openopensource.org) Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project. ## Disclaimer This is the official response of the VRChat Team (from Tupper more specifically) on the usage of the VRChat API. > **Use of the API using applications other than the approved methods (website, VRChat application) are not officially supported. You may use the API for your own application, but keep these guidelines in mind:** > * We do not provide documentation or support for the API. > * Do not make queries to the API more than once per 60 seconds. > * Abuse of the API may result in account termination. > * Access to API endpoints may break at any given time, with no warning. As stated, this documentation was not created with the help of the official VRChat team. Therefore this documentation is not an official documentation of the VRChat API and may not be always up to date with the latest versions. If you find that a page or endpoint is not longer valid please create an issue and tell us so we can fix it. ## Get in touch with us! [https://discord.gg/qjZE9C9fkB#vrchat-api](https://discord.gg/qjZE9C9fkB)
*
* The version of the OpenAPI document: 1.0.0
* Contact: me@ruby.js.org
* Generated by: https://openapi-generator.tech
*/
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct InlineResponse2006 {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "metadata")]
pub metadata: serde_json::Value,
}
impl InlineResponse2006 {
pub fn new(id: String, metadata: serde_json::Value) -> InlineResponse2006 {
InlineResponse2006 {
id,
metadata,
}
}
}

View File

@ -0,0 +1,28 @@
/*
* VRChat API Documentation
*
* ![VRChat API Banner](https://raw.githubusercontent.com/vrchatapi/vrchatapi.github.io/master/assets/apibanner.png) # VRChat API Documentation This project is an [OPEN Open Source Project](https://openopensource.org) Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project. ## Disclaimer This is the official response of the VRChat Team (from Tupper more specifically) on the usage of the VRChat API. > **Use of the API using applications other than the approved methods (website, VRChat application) are not officially supported. You may use the API for your own application, but keep these guidelines in mind:** > * We do not provide documentation or support for the API. > * Do not make queries to the API more than once per 60 seconds. > * Abuse of the API may result in account termination. > * Access to API endpoints may break at any given time, with no warning. As stated, this documentation was not created with the help of the official VRChat team. Therefore this documentation is not an official documentation of the VRChat API and may not be always up to date with the latest versions. If you find that a page or endpoint is not longer valid please create an issue and tell us so we can fix it. ## Get in touch with us! [https://discord.gg/qjZE9C9fkB#vrchat-api](https://discord.gg/qjZE9C9fkB)
*
* The version of the OpenAPI document: 1.0.0
* Contact: me@ruby.js.org
* Generated by: https://openapi-generator.tech
*/
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct InlineResponse2007 {
#[serde(rename = "canPubilsh")]
pub can_pubilsh: bool,
}
impl InlineResponse2007 {
pub fn new(can_pubilsh: bool) -> InlineResponse2007 {
InlineResponse2007 {
can_pubilsh,
}
}
}

View File

@ -0,0 +1,33 @@
/*
* VRChat API Documentation
*
* ![VRChat API Banner](https://raw.githubusercontent.com/vrchatapi/vrchatapi.github.io/master/assets/apibanner.png) # VRChat API Documentation This project is an [OPEN Open Source Project](https://openopensource.org) Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project. ## Disclaimer This is the official response of the VRChat Team (from Tupper more specifically) on the usage of the VRChat API. > **Use of the API using applications other than the approved methods (website, VRChat application) are not officially supported. You may use the API for your own application, but keep these guidelines in mind:** > * We do not provide documentation or support for the API. > * Do not make queries to the API more than once per 60 seconds. > * Abuse of the API may result in account termination. > * Access to API endpoints may break at any given time, with no warning. As stated, this documentation was not created with the help of the official VRChat team. Therefore this documentation is not an official documentation of the VRChat API and may not be always up to date with the latest versions. If you find that a page or endpoint is not longer valid please create an issue and tell us so we can fix it. ## Get in touch with us! [https://discord.gg/qjZE9C9fkB#vrchat-api](https://discord.gg/qjZE9C9fkB)
*
* The version of the OpenAPI document: 1.0.0
* Contact: me@ruby.js.org
* Generated by: https://openapi-generator.tech
*/
/// LimitedUnityPackage :
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct LimitedUnityPackage {
#[serde(rename = "platform")]
pub platform: crate::models::Platform,
#[serde(rename = "unityVersion")]
pub unity_version: String,
}
impl LimitedUnityPackage {
///
pub fn new(platform: crate::models::Platform, unity_version: String) -> LimitedUnityPackage {
LimitedUnityPackage {
platform,
unity_version,
}
}
}

View File

@ -36,7 +36,7 @@ pub struct LimitedUser {
#[serde(rename = "developerType")]
pub developer_type: crate::models::DeveloperType,
#[serde(rename = "last_platform")]
pub last_platform: String,
pub last_platform: crate::models::Platform,
#[serde(rename = "status")]
pub status: crate::models::UserStatus,
#[serde(rename = "isFriend")]
@ -49,7 +49,7 @@ pub struct LimitedUser {
}
impl LimitedUser {
pub fn new(id: String, username: String, display_name: String, user_icon: String, profile_pic_override: String, status_description: String, current_avatar_image_url: String, current_avatar_thumbnail_image_url: String, fallback_avatar: String, developer_type: crate::models::DeveloperType, last_platform: String, status: crate::models::UserStatus, is_friend: bool, location: String, tags: Vec<String>) -> LimitedUser {
pub fn new(id: String, username: String, display_name: String, user_icon: String, profile_pic_override: String, status_description: String, current_avatar_image_url: String, current_avatar_thumbnail_image_url: String, fallback_avatar: String, developer_type: crate::models::DeveloperType, last_platform: crate::models::Platform, status: crate::models::UserStatus, is_friend: bool, location: String, tags: Vec<String>) -> LimitedUser {
LimitedUser {
id,
username,

View File

@ -8,73 +8,75 @@
* Generated by: https://openapi-generator.tech
*/
/// LimitedWorld :
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct LimitedWorld {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "authorId")]
pub author_id: String,
#[serde(rename = "authorName")]
pub author_name: String,
#[serde(rename = "capacity")]
pub capacity: f32,
#[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "favorites")]
pub favorites: f32,
#[serde(rename = "heat")]
pub heat: f32,
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "imageUrl")]
pub image_url: String,
#[serde(rename = "labsPublicationDate", skip_serializing_if = "Option::is_none")]
pub labs_publication_date: Option<String>,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "occupants", skip_serializing_if = "Option::is_none")]
pub occupants: Option<f32>,
#[serde(rename = "organization")]
pub organization: String,
#[serde(rename = "popularity")]
pub popularity: f32,
#[serde(rename = "publicationDate")]
pub publication_date: String,
#[serde(rename = "releaseStatus")]
pub release_status: crate::models::ReleaseStatus,
#[serde(rename = "tags")]
pub tags: Vec<String>,
#[serde(rename = "thumbnailImageUrl")]
pub thumbnail_image_url: String,
#[serde(rename = "releaseStatus")]
pub release_status: String,
#[serde(rename = "organization")]
pub organization: String,
#[serde(rename = "tags")]
pub tags: Vec<serde_json::Value>,
#[serde(rename = "favorites")]
pub favorites: f32,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
#[serde(rename = "publicationDate")]
pub publication_date: String,
#[serde(rename = "labsPublicationDate")]
pub labs_publication_date: String,
#[serde(rename = "unityPackages")]
pub unity_packages: Vec<serde_json::Value>,
#[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
pub unity_packages: Vec<crate::models::LimitedUnityPackage>,
#[serde(rename = "popularity")]
pub popularity: f32,
#[serde(rename = "heat")]
pub heat: f32,
#[serde(rename = "occupants")]
pub occupants: f32,
}
impl LimitedWorld {
pub fn new(author_id: String, author_name: String, capacity: f32, favorites: f32, heat: f32, id: String, image_url: String, name: String, organization: String, popularity: f32, publication_date: String, release_status: crate::models::ReleaseStatus, tags: Vec<String>, thumbnail_image_url: String, unity_packages: Vec<serde_json::Value>) -> LimitedWorld {
///
pub fn new(id: String, name: String, author_id: String, author_name: String, capacity: f32, image_url: String, thumbnail_image_url: String, release_status: String, organization: String, tags: Vec<serde_json::Value>, favorites: f32, created_at: String, updated_at: String, publication_date: String, labs_publication_date: String, unity_packages: Vec<crate::models::LimitedUnityPackage>, popularity: f32, heat: f32, occupants: f32) -> LimitedWorld {
LimitedWorld {
id,
name,
author_id,
author_name,
capacity,
created_at: None,
favorites,
heat,
id,
image_url,
labs_publication_date: None,
name,
occupants: None,
organization,
popularity,
publication_date,
release_status,
tags,
thumbnail_image_url,
release_status,
organization,
tags,
favorites,
created_at,
updated_at,
publication_date,
labs_publication_date,
unity_packages,
updated_at: None,
popularity,
heat,
occupants,
}
}
}

View File

@ -12,28 +12,28 @@
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum MimeType {
#[serde(rename = "imagejpeg")]
Imagejpeg,
#[serde(rename = "imagejpg")]
Imagejpg,
#[serde(rename = "imagepng")]
Imagepng,
#[serde(rename = "imagewebp")]
Imagewebp,
#[serde(rename = "imagegif")]
Imagegif,
#[serde(rename = "imagebmp")]
Imagebmp,
#[serde(rename = "imagesvgxml")]
Imagesvgxml,
#[serde(rename = "imagetiff")]
Imagetiff,
#[serde(rename = "applicationx-avatar")]
ApplicationxAvatar,
#[serde(rename = "applicationx-world")]
ApplicationxWorld,
#[serde(rename = "applicationgzip")]
Applicationgzip,
#[serde(rename = "image/jpeg")]
ImageJpeg,
#[serde(rename = "image/jpg")]
ImageJpg,
#[serde(rename = "image/png")]
ImagePng,
#[serde(rename = "image/webp")]
ImageWebp,
#[serde(rename = "image/gif")]
ImageGif,
#[serde(rename = "image/bmp")]
ImageBmp,
#[serde(rename = "image/svgxml")]
ImageSvgxml,
#[serde(rename = "image/tiff")]
ImageTiff,
#[serde(rename = "application/x-avatar")]
ApplicationXAvatar,
#[serde(rename = "application/x-world")]
ApplicationXWorld,
#[serde(rename = "application/gzip")]
ApplicationGzip,
#[serde(rename = "application/x-rsync-signature")]
ApplicationXRsyncSignature,
#[serde(rename = "application/x-rsync-delta")]
@ -46,17 +46,17 @@ pub enum MimeType {
impl ToString for MimeType {
fn to_string(&self) -> String {
match self {
Self::Imagejpeg => String::from("imagejpeg"),
Self::Imagejpg => String::from("imagejpg"),
Self::Imagepng => String::from("imagepng"),
Self::Imagewebp => String::from("imagewebp"),
Self::Imagegif => String::from("imagegif"),
Self::Imagebmp => String::from("imagebmp"),
Self::Imagesvgxml => String::from("imagesvgxml"),
Self::Imagetiff => String::from("imagetiff"),
Self::ApplicationxAvatar => String::from("applicationx-avatar"),
Self::ApplicationxWorld => String::from("applicationx-world"),
Self::Applicationgzip => String::from("applicationgzip"),
Self::ImageJpeg => String::from("image/jpeg"),
Self::ImageJpg => String::from("image/jpg"),
Self::ImagePng => String::from("image/png"),
Self::ImageWebp => String::from("image/webp"),
Self::ImageGif => String::from("image/gif"),
Self::ImageBmp => String::from("image/bmp"),
Self::ImageSvgxml => String::from("image/svgxml"),
Self::ImageTiff => String::from("image/tiff"),
Self::ApplicationXAvatar => String::from("application/x-avatar"),
Self::ApplicationXWorld => String::from("application/x-world"),
Self::ApplicationGzip => String::from("application/gzip"),
Self::ApplicationXRsyncSignature => String::from("application/x-rsync-signature"),
Self::ApplicationXRsyncDelta => String::from("application/x-rsync-delta"),
Self::ApplicationOctetStream => String::from("application/octet-stream"),

View File

@ -34,6 +34,10 @@ pub mod inline_object_3;
pub use self::inline_object_3::InlineObject3;
pub mod inline_object_4;
pub use self::inline_object_4::InlineObject4;
pub mod inline_object_5;
pub use self::inline_object_5::InlineObject5;
pub mod inline_object_6;
pub use self::inline_object_6::InlineObject6;
pub mod inline_response_200;
pub use self::inline_response_200::InlineResponse200;
pub mod inline_response_200_1;
@ -46,8 +50,14 @@ pub mod inline_response_200_4;
pub use self::inline_response_200_4::InlineResponse2004;
pub mod inline_response_200_5;
pub use self::inline_response_200_5::InlineResponse2005;
pub mod inline_response_200_6;
pub use self::inline_response_200_6::InlineResponse2006;
pub mod inline_response_200_7;
pub use self::inline_response_200_7::InlineResponse2007;
pub mod inline_response_401;
pub use self::inline_response_401::InlineResponse401;
pub mod limited_unity_package;
pub use self::limited_unity_package::LimitedUnityPackage;
pub mod limited_user;
pub use self::limited_user::LimitedUser;
pub mod limited_world;
@ -58,15 +68,21 @@ pub mod notification;
pub use self::notification::Notification;
pub mod notification_type;
pub use self::notification_type::NotificationType;
pub mod platform;
pub use self::platform::Platform;
pub mod release_status;
pub use self::release_status::ReleaseStatus;
pub mod response;
pub use self::response::Response;
pub mod success;
pub use self::success::Success;
pub mod unity_package;
pub use self::unity_package::UnityPackage;
pub mod user;
pub use self::user::User;
pub mod user_state;
pub use self::user_state::UserState;
pub mod user_status;
pub use self::user_status::UserStatus;
pub mod world;
pub use self::world::World;

33
src/models/platform.rs Normal file
View File

@ -0,0 +1,33 @@
/*
* VRChat API Documentation
*
* ![VRChat API Banner](https://raw.githubusercontent.com/vrchatapi/vrchatapi.github.io/master/assets/apibanner.png) # VRChat API Documentation This project is an [OPEN Open Source Project](https://openopensource.org) Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project. ## Disclaimer This is the official response of the VRChat Team (from Tupper more specifically) on the usage of the VRChat API. > **Use of the API using applications other than the approved methods (website, VRChat application) are not officially supported. You may use the API for your own application, but keep these guidelines in mind:** > * We do not provide documentation or support for the API. > * Do not make queries to the API more than once per 60 seconds. > * Abuse of the API may result in account termination. > * Access to API endpoints may break at any given time, with no warning. As stated, this documentation was not created with the help of the official VRChat team. Therefore this documentation is not an official documentation of the VRChat API and may not be always up to date with the latest versions. If you find that a page or endpoint is not longer valid please create an issue and tell us so we can fix it. ## Get in touch with us! [https://discord.gg/qjZE9C9fkB#vrchat-api](https://discord.gg/qjZE9C9fkB)
*
* The version of the OpenAPI document: 1.0.0
* Contact: me@ruby.js.org
* Generated by: https://openapi-generator.tech
*/
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Platform {
#[serde(rename = "standalonewindows")]
Standalonewindows,
#[serde(rename = "android")]
Android,
}
impl ToString for Platform {
fn to_string(&self) -> String {
match self {
Self::Standalonewindows => String::from("standalonewindows"),
Self::Android => String::from("android"),
}
}
}

View File

@ -0,0 +1,57 @@
/*
* VRChat API Documentation
*
* ![VRChat API Banner](https://raw.githubusercontent.com/vrchatapi/vrchatapi.github.io/master/assets/apibanner.png) # VRChat API Documentation This project is an [OPEN Open Source Project](https://openopensource.org) Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project. ## Disclaimer This is the official response of the VRChat Team (from Tupper more specifically) on the usage of the VRChat API. > **Use of the API using applications other than the approved methods (website, VRChat application) are not officially supported. You may use the API for your own application, but keep these guidelines in mind:** > * We do not provide documentation or support for the API. > * Do not make queries to the API more than once per 60 seconds. > * Abuse of the API may result in account termination. > * Access to API endpoints may break at any given time, with no warning. As stated, this documentation was not created with the help of the official VRChat team. Therefore this documentation is not an official documentation of the VRChat API and may not be always up to date with the latest versions. If you find that a page or endpoint is not longer valid please create an issue and tell us so we can fix it. ## Get in touch with us! [https://discord.gg/qjZE9C9fkB#vrchat-api](https://discord.gg/qjZE9C9fkB)
*
* The version of the OpenAPI document: 1.0.0
* Contact: me@ruby.js.org
* Generated by: https://openapi-generator.tech
*/
/// UnityPackage :
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct UnityPackage {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "assetUrl")]
pub asset_url: String,
#[serde(rename = "assetUrlObject")]
pub asset_url_object: serde_json::Value,
#[serde(rename = "pluginUrl")]
pub plugin_url: String,
#[serde(rename = "pluginUrlObject")]
pub plugin_url_object: serde_json::Value,
#[serde(rename = "unityVersion")]
pub unity_version: String,
#[serde(rename = "unitySortNumber")]
pub unity_sort_number: f32,
#[serde(rename = "assetVersion")]
pub asset_version: f32,
#[serde(rename = "platform")]
pub platform: crate::models::Platform,
#[serde(rename = "created_at")]
pub created_at: String,
}
impl UnityPackage {
///
pub fn new(id: String, asset_url: String, asset_url_object: serde_json::Value, plugin_url: String, plugin_url_object: serde_json::Value, unity_version: String, unity_sort_number: f32, asset_version: f32, platform: crate::models::Platform, created_at: String) -> UnityPackage {
UnityPackage {
id,
asset_url,
asset_url_object,
plugin_url,
plugin_url_object,
unity_version,
unity_sort_number,
asset_version,
platform,
created_at,
}
}
}

View File

@ -44,7 +44,7 @@ pub struct User {
#[serde(rename = "last_login")]
pub last_login: String,
#[serde(rename = "last_platform")]
pub last_platform: String,
pub last_platform: crate::models::Platform,
#[serde(rename = "allowAvatarCopying")]
pub allow_avatar_copying: bool,
#[serde(rename = "status")]
@ -64,7 +64,7 @@ pub struct User {
}
impl User {
pub fn new(id: String, username: String, display_name: String, user_icon: String, bio: String, bio_links: Vec<String>, profile_pic_override: String, status_description: String, current_avatar_image_url: String, current_avatar_thumbnail_image_url: String, fallback_avatar: String, state: crate::models::UserState, tags: Vec<String>, developer_type: crate::models::DeveloperType, last_login: String, last_platform: String, allow_avatar_copying: bool, status: crate::models::UserStatus, date_joined: String, is_friend: bool, friend_key: String) -> User {
pub fn new(id: String, username: String, display_name: String, user_icon: String, bio: String, bio_links: Vec<String>, profile_pic_override: String, status_description: String, current_avatar_image_url: String, current_avatar_thumbnail_image_url: String, fallback_avatar: String, state: crate::models::UserState, tags: Vec<String>, developer_type: crate::models::DeveloperType, last_login: String, last_platform: crate::models::Platform, allow_avatar_copying: bool, status: crate::models::UserStatus, date_joined: String, is_friend: bool, friend_key: String) -> User {
User {
id,
username,

123
src/models/world.rs Normal file
View File

@ -0,0 +1,123 @@
/*
* VRChat API Documentation
*
* ![VRChat API Banner](https://raw.githubusercontent.com/vrchatapi/vrchatapi.github.io/master/assets/apibanner.png) # VRChat API Documentation This project is an [OPEN Open Source Project](https://openopensource.org) Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project. ## Disclaimer This is the official response of the VRChat Team (from Tupper more specifically) on the usage of the VRChat API. > **Use of the API using applications other than the approved methods (website, VRChat application) are not officially supported. You may use the API for your own application, but keep these guidelines in mind:** > * We do not provide documentation or support for the API. > * Do not make queries to the API more than once per 60 seconds. > * Abuse of the API may result in account termination. > * Access to API endpoints may break at any given time, with no warning. As stated, this documentation was not created with the help of the official VRChat team. Therefore this documentation is not an official documentation of the VRChat API and may not be always up to date with the latest versions. If you find that a page or endpoint is not longer valid please create an issue and tell us so we can fix it. ## Get in touch with us! [https://discord.gg/qjZE9C9fkB#vrchat-api](https://discord.gg/qjZE9C9fkB)
*
* The version of the OpenAPI document: 1.0.0
* Contact: me@ruby.js.org
* Generated by: https://openapi-generator.tech
*/
/// World :
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct World {
#[serde(rename = "assetUrl")]
pub asset_url: String,
#[serde(rename = "assetUrlObject")]
pub asset_url_object: serde_json::Value,
#[serde(rename = "authorId")]
pub author_id: String,
#[serde(rename = "authorName")]
pub author_name: String,
#[serde(rename = "capacity")]
pub capacity: f32,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "description")]
pub description: String,
#[serde(rename = "favorites", skip_serializing_if = "Option::is_none")]
pub favorites: Option<f32>,
#[serde(rename = "featured")]
pub featured: bool,
#[serde(rename = "heat")]
pub heat: f32,
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "imageUrl")]
pub image_url: String,
#[serde(rename = "instances", skip_serializing_if = "Option::is_none")]
pub instances: Option<Vec<serde_json::Value>>,
#[serde(rename = "labsPublicationDate")]
pub labs_publication_date: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "namespace")]
pub namespace: String,
#[serde(rename = "occupants", skip_serializing_if = "Option::is_none")]
pub occupants: Option<f32>,
#[serde(rename = "organization")]
pub organization: String,
#[serde(rename = "pluginUrlObject")]
pub plugin_url_object: serde_json::Value,
#[serde(rename = "popularity")]
pub popularity: f32,
#[serde(rename = "previewYoutubeId", skip_serializing_if = "Option::is_none")]
pub preview_youtube_id: Option<String>,
#[serde(rename = "privateOccupants", skip_serializing_if = "Option::is_none")]
pub private_occupants: Option<f32>,
#[serde(rename = "publicOccupants", skip_serializing_if = "Option::is_none")]
pub public_occupants: Option<f32>,
#[serde(rename = "publicationDate")]
pub publication_date: String,
#[serde(rename = "releaseStatus")]
pub release_status: crate::models::ReleaseStatus,
#[serde(rename = "tags")]
pub tags: Vec<String>,
#[serde(rename = "thumbnailImageUrl")]
pub thumbnail_image_url: String,
#[serde(rename = "unityPackageUrlObject")]
pub unity_package_url_object: serde_json::Value,
#[serde(rename = "unityPackages")]
pub unity_packages: Vec<crate::models::UnityPackage>,
#[serde(rename = "updated_at")]
pub updated_at: String,
#[serde(rename = "version")]
pub version: f32,
#[serde(rename = "visits")]
pub visits: f32,
}
impl World {
///
pub fn new(asset_url: String, asset_url_object: serde_json::Value, author_id: String, author_name: String, capacity: f32, created_at: String, description: String, featured: bool, heat: f32, id: String, image_url: String, labs_publication_date: String, name: String, namespace: String, organization: String, plugin_url_object: serde_json::Value, popularity: f32, publication_date: String, release_status: crate::models::ReleaseStatus, tags: Vec<String>, thumbnail_image_url: String, unity_package_url_object: serde_json::Value, unity_packages: Vec<crate::models::UnityPackage>, updated_at: String, version: f32, visits: f32) -> World {
World {
asset_url,
asset_url_object,
author_id,
author_name,
capacity,
created_at,
description,
favorites: None,
featured,
heat,
id,
image_url,
instances: None,
labs_publication_date,
name,
namespace,
occupants: None,
organization,
plugin_url_object,
popularity,
preview_youtube_id: None,
private_occupants: None,
public_occupants: None,
publication_date,
release_status,
tags,
thumbnail_image_url,
unity_package_url_object,
unity_packages,
updated_at,
version,
visits,
}
}
}