mangadex_api_schema_rust/v5/
api_client.rs

1use mangadex_api_types::{ApiClientProfile, ApiClientState, MangaDexDateTime, ResultType};
2use serde::Deserialize;
3
4/// General Api Client information.
5#[derive(Clone, Debug, Deserialize, PartialEq)]
6#[serde(rename_all = "camelCase")]
7#[cfg_attr(feature = "non_exhaustive", non_exhaustive)]
8#[cfg_attr(feature = "serialize", derive(serde::Serialize))]
9#[cfg_attr(feature = "specta", derive(specta::Type))]
10pub struct ApiClientAttributes {
11    pub name: String,
12    pub description: Option<String>,
13    pub profile: ApiClientProfile,
14    pub external_client_id: Option<String>,
15    pub is_active: bool,
16    pub state: ApiClientState,
17    #[cfg_attr(
18        feature = "serialize",
19        serde(serialize_with = "crate::v5::mangadex_datetime_serialize")
20    )]
21    pub created_at: MangaDexDateTime,
22    #[cfg_attr(
23        feature = "serialize",
24        serde(serialize_with = "crate::v5::mangadex_datetime_serialize")
25    )]
26    pub updated_at: MangaDexDateTime,
27    pub version: u32,
28}
29
30/// General Api Client information.
31#[derive(Clone, Debug, Deserialize, PartialEq)]
32#[serde(rename_all = "camelCase")]
33#[cfg_attr(feature = "non_exhaustive", non_exhaustive)]
34#[cfg_attr(feature = "serialize", derive(serde::Serialize))]
35#[cfg_attr(feature = "specta", derive(specta::Type))]
36pub struct ApiClientSecret {
37    #[serde(default)]
38    pub result: ResultType,
39    pub data: String,
40}