#[doc(hidden)]
pub trait RequestApiDto {}
#[doc(hidden)]
pub trait ResponseApiDto {}
macro_rules! impl_api_dto_trait {
(generic: $($t:ty),+ $(,)?) => {
$(
impl<T: RequestApiDto> RequestApiDto for $t {}
impl<T: ResponseApiDto> ResponseApiDto for $t {}
)*
};
(concrete: $($t:ty),+ $(,)?) => {
$(
impl RequestApiDto for $t {}
impl ResponseApiDto for $t {}
)*
};
}
impl_api_dto_trait!(
generic:
Vec<T>,
Option<T>,
Box<T>,
modkit_odata::Page<T>,
Result<T, anyhow::Error>,
Result<T, modkit_errors::Problem>,
);
impl_api_dto_trait!(
concrete:
serde_json::Value,
modkit_errors::Problem,
);