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