use crate::types::identifier::FileIdentifier; use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, Serialize, Deserialize)] pub struct TagResponse { pub id: i64, pub namespace: Option, pub name: String, pub implied_by: Option, } #[derive(Clone, Debug, Serialize, Deserialize)] pub struct NamespaceResponse { pub id: i64, pub name: String, } #[derive(Clone, Debug, Serialize, Deserialize)] pub struct ChangeFileTagsRequest { pub file_id: FileIdentifier, pub removed_tags: Vec, pub added_tags: Vec, } #[derive(Clone, Debug, Serialize, Deserialize)] pub struct AddTagImplicationsRequest { pub implications: Vec, } #[derive(Clone, Debug, Serialize, Deserialize)] pub struct TagImplication { pub tag_id: i64, pub implied_tag_id: i64, } #[derive(Clone, Debug, Serialize, Deserialize)] pub struct DeleteTagImplicationsRequest { pub implications: Vec, }