librarylib/dto/
request_response.rs

1use chrono::NaiveDateTime;
2use common::entity::DtoResp;
3use common::utils::serialize_option_naive_date;
4use serde::{Deserialize, Serialize};
5use uuid::Uuid;
6
7use crate::enums::request_status::RequestStatus;
8
9#[derive(Serialize, Deserialize, Debug, Clone)]
10#[serde(rename_all = "camelCase")]
11pub struct RequestResponse {
12    pub id: Uuid,
13    pub requestor: Uuid,
14    pub status: RequestStatus,
15    pub book: Uuid,
16    #[serde(skip_serializing_if = "Option::is_none")]
17    pub history: Option<serde_json::Value>,
18    #[serde(skip_serializing_if = "Option::is_none")]
19    #[serde(default)]
20    #[serde(with = "serialize_option_naive_date")]
21    pub return_before: Option<NaiveDateTime>,
22}
23
24impl DtoResp for RequestResponse {}