nil_payload/response/
continent.rs1use derive_more::{Deref, DerefMut, Display, From, Into};
5use nil_core::continent::coord::Coord;
6use nil_core::continent::field::PublicField;
7use nil_core::continent::size::ContinentSize;
8use serde::{Deserialize, Serialize};
9
10#[cfg(feature = "axum")]
11use nil_payload_macros::IntoJsonResponse;
12
13#[cfg(feature = "typescript")]
14use ts_rs::TS;
15
16#[derive(Clone, Copy, Debug, Deref, DerefMut, Display, From, Into, Deserialize, Serialize)]
17#[cfg_attr(feature = "axum", derive(IntoJsonResponse))]
18#[cfg_attr(feature = "typescript", derive(TS))]
19#[cfg_attr(feature = "typescript", ts(export))]
20pub struct GetContinentSizeResponse(pub ContinentSize);
21
22#[derive(Clone, Debug, Deref, DerefMut, From, Into, Deserialize, Serialize)]
23#[cfg_attr(feature = "axum", derive(IntoJsonResponse))]
24#[cfg_attr(feature = "typescript", derive(TS))]
25#[cfg_attr(feature = "typescript", ts(export))]
26pub struct GetPublicFieldResponse(pub PublicField);
27
28#[derive(Clone, Debug, Deref, DerefMut, From, Into, Deserialize, Serialize)]
29#[cfg_attr(feature = "axum", derive(IntoJsonResponse))]
30#[cfg_attr(feature = "typescript", derive(TS))]
31#[cfg_attr(feature = "typescript", ts(export))]
32pub struct GetPublicFieldsResponse(pub Vec<(Coord, PublicField)>);