Skip to main content

nil_payload/request/
military.rs

1// Copyright (C) Call of Nil contributors
2// SPDX-License-Identifier: AGPL-3.0-only
3
4use bon::Builder;
5use nil_core::continent::coord::Coord;
6use nil_core::military::army::ArmyId;
7use nil_core::military::maneuver::{ManeuverId, ManeuverRequest};
8use nil_core::world::config::WorldId;
9use serde::{Deserialize, Serialize};
10
11#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
12#[serde(rename_all = "camelCase")]
13#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
14#[cfg_attr(feature = "typescript", ts(export))]
15pub struct CancelManeuverRequest {
16  #[builder(start_fn, into)]
17  pub world: WorldId,
18  pub id: ManeuverId,
19}
20
21#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
22#[serde(rename_all = "camelCase")]
23#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
24#[cfg_attr(feature = "typescript", ts(export))]
25pub struct GetArmiesRequest {
26  #[builder(start_fn, into)]
27  pub world: WorldId,
28}
29
30#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
31#[serde(rename_all = "camelCase")]
32#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
33#[cfg_attr(feature = "typescript", ts(export))]
34pub struct GetArmyRequest {
35  #[builder(start_fn, into)]
36  pub world: WorldId,
37  pub id: ArmyId,
38}
39
40#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
41#[serde(rename_all = "camelCase")]
42#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
43#[cfg_attr(feature = "typescript", ts(export))]
44pub struct GetArmyOwnerRequest {
45  #[builder(start_fn, into)]
46  pub world: WorldId,
47  pub id: ArmyId,
48}
49
50#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
51#[serde(rename_all = "camelCase")]
52#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
53#[cfg_attr(feature = "typescript", ts(export))]
54pub struct GetIdleArmiesAtRequest {
55  #[builder(start_fn, into)]
56  pub world: WorldId,
57  pub coord: Coord,
58}
59
60#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
61#[serde(rename_all = "camelCase")]
62#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
63#[cfg_attr(feature = "typescript", ts(export))]
64pub struct GetIdleArmiesCoordsRequest {
65  #[builder(start_fn, into)]
66  pub world: WorldId,
67}
68
69#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
70#[serde(rename_all = "camelCase")]
71#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
72#[cfg_attr(feature = "typescript", ts(export))]
73pub struct GetManeuverRequest {
74  #[builder(start_fn, into)]
75  pub world: WorldId,
76  pub id: ManeuverId,
77}
78
79#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
80#[serde(rename_all = "camelCase")]
81#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
82#[cfg_attr(feature = "typescript", ts(export))]
83pub struct RequestManeuverRequest {
84  #[builder(start_fn, into)]
85  pub world: WorldId,
86  pub request: ManeuverRequest,
87}