nil_payload/request/infrastructure/
stable.rs1use bon::Builder;
5use nil_core::continent::Coord;
6use nil_core::infrastructure::building::r#impl::stable::recruit_queue::{
7 StableRecruitOrderId,
8 StableRecruitOrderRequest,
9};
10use nil_core::world::config::WorldId;
11use serde::{Deserialize, Serialize};
12
13#[cfg(feature = "typescript")]
14use ts_rs::TS;
15
16#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
17#[serde(rename_all = "camelCase")]
18#[cfg_attr(feature = "typescript", derive(TS))]
19#[cfg_attr(feature = "typescript", ts(export))]
20pub struct AddStableRecruitOrderRequest {
21 pub world: WorldId,
22 pub request: StableRecruitOrderRequest,
23}
24
25#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
26#[serde(rename_all = "camelCase")]
27#[cfg_attr(feature = "typescript", derive(TS))]
28#[cfg_attr(feature = "typescript", ts(export))]
29pub struct CancelStableRecruitOrderRequest {
30 pub world: WorldId,
31 #[builder(into)]
32 pub coord: Coord,
33 pub id: StableRecruitOrderId,
34}
35
36#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
37#[serde(rename_all = "camelCase")]
38#[cfg_attr(feature = "typescript", derive(TS))]
39#[cfg_attr(feature = "typescript", ts(export))]
40pub struct GetStableRecruitCatalogRequest {
41 pub world: WorldId,
42 #[builder(into)]
43 pub coord: Coord,
44}