1use nil_core::world::WorldOptions;
5use nil_core::world::config::WorldId;
6use nil_crypto::password::Password;
7use nil_server_types::round::RoundDuration;
8use serde::{Deserialize, Serialize};
9use std::path::PathBuf;
10
11#[derive(Clone, Debug, Deserialize, Serialize)]
12#[serde(rename_all = "camelCase")]
13pub struct CreateRemoteWorldRequest {
14 pub options: WorldOptions,
15 #[serde(default)]
16 pub description: Option<String>,
17 #[serde(default)]
18 pub password: Option<Password>,
19 #[serde(default)]
20 pub round_duration: Option<RoundDuration>,
21}
22
23#[derive(Clone, Debug, Deserialize, Serialize)]
24#[serde(rename_all = "camelCase")]
25pub struct DeleteRemoteWorldRequest {
26 pub world: WorldId,
27}
28
29#[derive(Clone, Debug, Deserialize, Serialize)]
30#[serde(rename_all = "camelCase")]
31pub struct GetRemoteWorldRequest {
32 pub world: WorldId,
33}
34
35#[derive(Clone, Debug, Deserialize, Serialize)]
36#[serde(rename_all = "camelCase")]
37pub struct GetWorldBotsRequest {
38 pub world: WorldId,
39}
40
41#[derive(Clone, Debug, Deserialize, Serialize)]
42#[serde(rename_all = "camelCase")]
43pub struct GetWorldConfigRequest {
44 pub world: WorldId,
45}
46
47#[derive(Clone, Debug, Deserialize, Serialize)]
48#[serde(rename_all = "camelCase")]
49pub struct GetWorldPlayersRequest {
50 pub world: WorldId,
51}
52
53#[derive(Clone, Debug, Deserialize, Serialize)]
54#[serde(rename_all = "camelCase")]
55pub struct GetWorldPrecursorsRequest {
56 pub world: WorldId,
57}
58
59#[derive(Clone, Debug, Deserialize, Serialize)]
60#[serde(rename_all = "camelCase")]
61pub struct GetWorldStatsRequest {
62 pub world: WorldId,
63}
64
65#[derive(Clone, Debug, Deserialize, Serialize)]
66#[serde(rename_all = "camelCase")]
67pub struct LeaveRequest {
68 pub world: WorldId,
69}
70
71#[derive(Clone, Debug, Deserialize, Serialize)]
72#[serde(rename_all = "camelCase")]
73pub struct SaveLocalWorldRequest {
74 pub world: WorldId,
75 pub path: PathBuf,
76}