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 nil_payload_macros::FromWorld;
10use serde::{Deserialize, Serialize};
11
12#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
13#[serde(rename_all = "camelCase")]
14#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
15#[cfg_attr(feature = "typescript", ts(export))]
16pub struct CancelManeuverRequest {
17  #[builder(start_fn, into)]
18  pub world: WorldId,
19  pub id: ManeuverId,
20}
21
22#[derive(Builder, Clone, Debug, Deserialize, Serialize, FromWorld)]
23#[serde(rename_all = "camelCase")]
24#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
25#[cfg_attr(feature = "typescript", ts(export))]
26pub struct GetArmiesRequest {
27  #[builder(start_fn, into)]
28  pub world: WorldId,
29}
30
31#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
32#[serde(rename_all = "camelCase")]
33#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
34#[cfg_attr(feature = "typescript", ts(export))]
35pub struct GetArmyRequest {
36  #[builder(start_fn, into)]
37  pub world: WorldId,
38  pub id: ArmyId,
39}
40
41#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
42#[serde(rename_all = "camelCase")]
43#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
44#[cfg_attr(feature = "typescript", ts(export))]
45pub struct GetArmyOwnerRequest {
46  #[builder(start_fn, into)]
47  pub world: WorldId,
48  pub id: ArmyId,
49}
50
51#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
52#[serde(rename_all = "camelCase")]
53#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
54#[cfg_attr(feature = "typescript", ts(export))]
55pub struct GetIdleArmiesAtRequest {
56  #[builder(start_fn, into)]
57  pub world: WorldId,
58  pub coord: Coord,
59}
60
61#[derive(Builder, Clone, Debug, Deserialize, Serialize, FromWorld)]
62#[serde(rename_all = "camelCase")]
63#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
64#[cfg_attr(feature = "typescript", ts(export))]
65pub struct GetIdleArmiesCoordsRequest {
66  #[builder(start_fn, into)]
67  pub world: WorldId,
68}
69
70#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
71#[serde(rename_all = "camelCase")]
72#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
73#[cfg_attr(feature = "typescript", ts(export))]
74pub struct GetManeuverRequest {
75  #[builder(start_fn, into)]
76  pub world: WorldId,
77  pub id: ManeuverId,
78}
79
80#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
81#[serde(rename_all = "camelCase")]
82#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
83#[cfg_attr(feature = "typescript", ts(export))]
84pub struct RequestManeuverRequest {
85  #[builder(start_fn, into)]
86  pub world: WorldId,
87  pub request: ManeuverRequest,
88}