Add tag filter type

Signed-off-by: trivernis <trivernis@protonmail.com>
main
trivernis 2 years ago
parent cb7f8e4194
commit 5295dc1803
Signed by: Trivernis
GPG Key ID: DFFFCC2C7A02DB45

@ -1,4 +1,5 @@
use crate::hydrus_serializable::dictionary::HydrusDictionary;
use crate::hydrus_serializable::tag_filter::HydrusTagFilter;
use crate::hydrus_serializable::wrapper::HydrusSerWrapper;
use crate::Result;
use crate::{Endpoint, FromJson, GetEndpoint};
@ -34,7 +35,10 @@ impl FromJson for OptionsResponse {
let server_message = service_options.take_by_str::<String>("server_message")?;
let update_period = service_options.take_by_str::<u64>("update_period")?;
let nullification_period = service_options.take_by_str::<u64>("nullification_period")?;
let tag_filter = service_options.take_by_str::<Value>(&"tag_filter")?;
let tag_filter = service_options
.take_by_str::<HydrusSerWrapper<HydrusTagFilter>>(&"tag_filter")?
.inner
.0;
Ok(Self {
server_message,

@ -7,6 +7,7 @@ use std::fmt::Formatter;
use std::marker::PhantomData;
pub mod dictionary;
pub mod tag_filter;
pub mod wrapper;
pub trait HydrusSerializable: DeserializeOwned {

@ -0,0 +1,12 @@
use crate::hydrus_serializable::HydrusSerializable;
use serde::Deserialize;
use serde_json::Value;
#[derive(Clone, Debug, Deserialize)]
pub struct HydrusTagFilter(pub Value);
impl HydrusSerializable for HydrusTagFilter {
fn type_id() -> u64 {
44
}
}
Loading…
Cancel
Save