use serde::{Deserialize, Serialize}; use sqlx::types::chrono::NaiveDate; #[derive(Deserialize, Serialize)] pub struct Info { pub id: i64, pub full_name: Option, pub phone_number: Option, pub email: Option, pub softskills: Option, pub interests: Option, pub birth_year: Option, } #[derive(Deserialize, Serialize)] pub struct Education { pub id: i64, pub start_year: Option, pub end_year: Option, pub school: Option, pub speciality: Option, pub school_location: Option, pub school_options: Option, pub picture_url: Option } #[derive(Deserialize, Serialize)] pub struct Experience { pub id: i64, pub job_position: Option, pub job_description: Option, pub enterprise: Option, pub enterprise_location: Option, pub start_year: Option, pub end_year: Option, pub picture_url: Option } #[derive(Deserialize, Serialize)] pub struct Project { pub id: Option, pub date_done: Option, pub title: Option, pub description: Option, pub github_link: Option, pub picture_name: Option, pub type_project: Option, pub report_link: Option, pub archive_link: Option, pub app_link: Option } #[derive(Deserialize, Serialize)] pub struct ProgrammingLanguages { pub lang: String, pub icon: String, pub type_icon: String, pub color: Option } #[derive(Deserialize, Serialize)] pub struct Softwares { pub software: String, pub icon: String, pub type_icon: String, pub color: Option } #[derive(Deserialize, Serialize)] pub struct Languages { pub lang: String, pub icon_alpha: String, pub level: String } #[derive(Deserialize, Serialize)] pub struct Tags { pub lang: Option, pub icon: Option, pub type_icon: Option, pub color: Option } #[derive(Deserialize, Serialize)] pub struct AllTags { pub project_id: Option, pub lang: Option, pub icon: Option, pub type_icon: Option, pub color: Option } #[derive(Deserialize, Serialize)] pub struct SimpleProject { pub project_id: Option, pub title: Option }