framework_cqrs_lib/cqrs/models/views/
entities.rs

1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4use utoipa::ToSchema;
5
6#[derive(Serialize, Deserialize, Clone, ToSchema, Debug)]
7pub struct EntityView<T>
8where
9    T: Serialize + Clone,
10{
11    pub r#type: String,
12    pub id: String,
13    pub attributes: T,
14    #[serde(skip_serializing_if = "Option::is_none")]
15    pub links: Option<LinksEntityView>,
16}
17
18#[derive(Serialize, Deserialize, Clone, ToSchema, Debug)]
19pub struct LinksEntityView {
20    #[serde(flatten)]
21    pub links: HashMap<String, String>,
22}