use serde::{Deserialize, Serialize};
use crate::module::{
model::{Image, InfoBox, Stat},
revision::model::Creator,
subject::model::SubjectType,
};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Index {
pub id: u32,
pub title: String,
pub desc: String,
pub total: Option<u32>,
pub stat: Stat,
pub created_at: String,
pub updated_at: String,
pub creator: Creator,
pub ban: bool,
pub nsfw: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct IndexBasicInfo {
pub title: Option<String>,
pub description: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct IndexSubjectAddInfo {
pub subject_id: Option<u32>,
pub sort: Option<u32>,
pub comment: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct IndexSubjectEditInfo {
pub sort: Option<u32>,
pub comment: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct IndexSubject {
pub id: u32,
pub r#type: SubjectType,
pub name: String,
pub name_cn: String,
pub date: Option<String>,
pub images: Image,
pub infobox: InfoBox,
pub add_at: Option<String>,
pub comment: String,
}