mirror of
https://github.com/mii443/vrchatapi-rust.git
synced 2025-08-22 23:55:33 +00:00
62 lines
2.6 KiB
Rust
62 lines
2.6 KiB
Rust
/*
|
|
* VRChat API Documentation
|
|
*
|
|
*
|
|
* Contact: vrchatapi.lpv0t@aries.fyi
|
|
* Generated by: https://openapi-generator.tech
|
|
*/
|
|
|
|
use crate::models;
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
|
pub struct CreateInstanceRequest {
|
|
/// WorldID be \"offline\" on User profiles if you are not friends with that user.
|
|
#[serde(rename = "worldId")]
|
|
pub world_id: std::sync::Arc<str>,
|
|
#[serde(rename = "type")]
|
|
pub r#type: models::InstanceType,
|
|
#[serde(rename = "region")]
|
|
pub region: models::InstanceRegion,
|
|
/// A groupId if the instance type is \"group\", null if instance type is public, or a userId otherwise
|
|
#[serde(rename = "ownerId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
|
|
pub owner_id: Option<Option<std::sync::Arc<str>>>,
|
|
/// Group roleIds that are allowed to join if the type is \"group\" and groupAccessType is \"member\"
|
|
#[serde(rename = "roleIds", skip_serializing_if = "Option::is_none")]
|
|
pub role_ids: Option<Vec<std::sync::Arc<str>>>,
|
|
#[serde(rename = "groupAccessType", skip_serializing_if = "Option::is_none")]
|
|
pub group_access_type: Option<models::GroupAccessType>,
|
|
#[serde(rename = "queueEnabled", skip_serializing_if = "Option::is_none")]
|
|
pub queue_enabled: Option<bool>,
|
|
/// The time after which users won't be allowed to join the instance. This doesn't work for public instances.
|
|
#[serde(rename = "closedAt", skip_serializing_if = "Option::is_none")]
|
|
pub closed_at: Option<std::sync::Arc<str>>,
|
|
/// Only applies to invite type instances to make them invite+
|
|
#[serde(rename = "canRequestInvite", skip_serializing_if = "Option::is_none")]
|
|
pub can_request_invite: Option<bool>,
|
|
/// Currently unused, but will eventually be a flag to set if the closing of the instance should kick people.
|
|
#[serde(rename = "hardClose", skip_serializing_if = "Option::is_none")]
|
|
pub hard_close: Option<bool>,
|
|
#[serde(rename = "inviteOnly", skip_serializing_if = "Option::is_none")]
|
|
pub invite_only: Option<bool>,
|
|
}
|
|
|
|
impl CreateInstanceRequest {
|
|
pub fn new(world_id: std::sync::Arc<str>, r#type: models::InstanceType, region: models::InstanceRegion) -> CreateInstanceRequest {
|
|
CreateInstanceRequest {
|
|
world_id,
|
|
r#type,
|
|
region,
|
|
owner_id: None,
|
|
role_ids: None,
|
|
group_access_type: None,
|
|
queue_enabled: None,
|
|
closed_at: None,
|
|
can_request_invite: None,
|
|
hard_close: None,
|
|
invite_only: None,
|
|
}
|
|
}
|
|
}
|
|
|