Skip to main content

nil_payload/request/infrastructure/
mod.rs

1// Copyright (C) Call of Nil contributors
2// SPDX-License-Identifier: AGPL-3.0-only
3
4pub mod academy;
5pub mod prefecture;
6pub mod stable;
7pub mod workshop;
8
9use bon::Builder;
10use nil_core::continent::Coord;
11use nil_core::infrastructure::building::BuildingId;
12use nil_core::world::config::WorldId;
13use serde::{Deserialize, Serialize};
14
15#[cfg(feature = "typescript")]
16use ts_rs::TS;
17
18#[derive(Builder, Clone, Debug, Deserialize, Serialize)]
19#[serde(rename_all = "camelCase")]
20#[cfg_attr(feature = "typescript", derive(TS))]
21#[cfg_attr(feature = "typescript", ts(export))]
22pub struct ToggleBuildingRequest {
23  #[builder(start_fn, into)]
24  pub world: WorldId,
25  #[builder(into)]
26  pub coord: Coord,
27  #[builder(into)]
28  pub id: BuildingId,
29  pub enabled: bool,
30}