asoiaf_api/requester/
filter.rs1use super::ToUrl;
2
3pub enum BookFilter {
4 Name(String),
5 FromReleaseDate(String),
6 ToReleaseDate(String),
7}
8
9impl ToUrl for BookFilter {
10 fn to_url(&self) -> String {
11 match self {
12 BookFilter::Name(name) => format!("name={name}",),
13 BookFilter::FromReleaseDate(date) => format!("fromReleaseDate={date}"),
14 BookFilter::ToReleaseDate(date) => format!("toReleaseDate={date}"),
15 }
16 }
17}
18
19pub enum CharacterFilter {
20 Name(String),
21 Gender(String),
22 Culture(String),
23 Born(String),
24 Died(String),
25 IsAlive(bool),
26}
27
28impl ToUrl for CharacterFilter {
29 fn to_url(&self) -> String {
30 match self {
31 CharacterFilter::Name(name) => format!("name={name}"),
32 CharacterFilter::Gender(gender) => format!("gender={gender}"),
33 CharacterFilter::Culture(culture) => format!("culture={culture}"),
34 CharacterFilter::Born(born) => format!("born={born}"),
35 CharacterFilter::Died(died) => format!("died={died}"),
36 CharacterFilter::IsAlive(is_alive) => format!("isAlive={is_alive}"),
37 }
38 }
39}
40
41pub enum HouseFilter {
42 Name(String),
43 Region(String),
44 Words(String),
45 HasWords(bool),
46 HasTitles(bool),
47 HasSeats(bool),
48 HasDiedOut(bool),
49 HasAncestralWeapons(bool),
50}
51
52impl ToUrl for HouseFilter {
53 fn to_url(&self) -> String {
54 match self {
55 HouseFilter::Name(name) => format!("name={name}"),
56 HouseFilter::Region(name) => format!("region={name}"),
57 HouseFilter::Words(name) => format!("words={name}"),
58 HouseFilter::HasWords(name) => format!("hasWords={name}"),
59 HouseFilter::HasTitles(name) => format!("hasTitles={name}"),
60 HouseFilter::HasSeats(name) => format!("hasSeats={name}"),
61 HouseFilter::HasDiedOut(name) => format!("hasDiedOut={name}"),
62 HouseFilter::HasAncestralWeapons(name) => format!("hasAncestralWeapons={name}"),
63 }
64 }
65}