use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Default, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct WallpaperState { pub image_count: usize, pub enabled: bool, pub shuffle: bool, pub lock_screen_only: bool, pub current_index: usize, pub image_urls: Vec, } #[derive(Debug, Clone, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct SettingRequest { pub name: String, pub value: bool, } #[derive(Debug, Clone, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct GalleryRequest { pub offset: usize, pub limit: usize, } #[derive(Debug, Clone, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct DeleteImageRequest { pub id: String, } #[derive(Debug, Clone, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct ImageCropRequest { pub id: String, pub mode: String, pub zoom: f64, pub position_x: f64, pub position_y: f64, } #[derive(Debug, Clone, Default, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct GalleryImage { pub id: String, pub url: String, pub selected: bool, pub crop_mode: String, pub crop_zoom: f64, pub crop_position_x: f64, pub crop_position_y: f64, } #[derive(Debug, Clone, Default, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct GalleryPage { pub total: usize, pub items: Vec, }