Skip to main content

nil_payload/
world.rs

1// Copyright (C) Call of Nil contributors
2// SPDX-License-Identifier: AGPL-3.0-only
3
4use 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}