use serde::{Deserialize, Serialize}; #[derive(Serialize)] pub struct Meme { pub id: String, pub link: String, pub category: String, pub user: String, pub timestamp: String, pub ipfs: Option, } #[derive(Serialize)] pub struct Category { pub id: String, pub name: String, } #[derive(Serialize)] pub struct User { pub id: String, pub name: String, pub userdir: String, pub tokenhash: String, pub dayuploads: i32, } //Responses #[derive(Serialize)] pub struct MemesResponse { pub status: i32, pub error: Option, pub memes: Option>, } #[derive(Serialize)] pub struct MemeResponse { pub status: i32, pub error: Option, pub meme: Option, } #[derive(Serialize)] pub struct CategoriesResponse { pub status: i32, pub error: Option, pub categories: Option>, } #[derive(Serialize)] pub struct CategoryResponse { pub status: i32, pub error: Option, pub category: Option, } #[derive(Serialize)] pub struct UsersResponse { pub status: i32, pub error: Option, pub users: Option>, } #[derive(Serialize)] pub struct UserResponse { pub status: i32, pub error: Option, pub user: Option, } #[derive(Serialize)] pub struct UploadResponse { pub status: i32, pub error: Option, pub files: Option> } //Query #[derive(Deserialize)] pub struct IDQuery { pub id: String, } #[derive(Deserialize)] pub struct MemeIDQuery { pub id: i32, } #[derive(Deserialize)] pub struct UserIDQuery { pub id: Option, pub token: Option, pub name: Option, } #[derive(Deserialize)] pub struct MemeFilterQuery { pub category: Option, pub user: Option, pub search: Option, }