nil_payload/request/
military.rs1use 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}