create skeleton for server from design
This commit is contained in:
38
server/texture-sync-server/src/persistency/search/mod.rs
Normal file
38
server/texture-sync-server/src/persistency/search/mod.rs
Normal file
@ -0,0 +1,38 @@
|
||||
// TODO: remove on implementation
|
||||
#![allow(unused_imports)]
|
||||
#![allow(unused_variables)]
|
||||
#![allow(dead_code)]
|
||||
|
||||
|
||||
use crate::model::*;
|
||||
|
||||
pub struct Query {
|
||||
filters: Vec<QueryFilterModifier>,
|
||||
}
|
||||
|
||||
pub type QueryParserResult = Result<Query, QuerySyntaxError>;
|
||||
pub enum QuerySyntaxError {
|
||||
UnknownFilter,
|
||||
}
|
||||
|
||||
impl Query {
|
||||
pub fn parse(input: &[String]) -> QueryParserResult {
|
||||
unimplemented!()
|
||||
}
|
||||
}
|
||||
|
||||
pub fn search(input: &[Texture], query: &Query) -> Vec<Texture> {
|
||||
unimplemented!()
|
||||
}
|
||||
|
||||
enum QueryFilterModifier {
|
||||
None(QueryFilter),
|
||||
Not(QueryFilter),
|
||||
}
|
||||
|
||||
enum QueryFilter {
|
||||
TagName(String),
|
||||
InName(String),
|
||||
MinResolution(usize),
|
||||
BeforeDate { year: u16, month: u16, day: u16 },
|
||||
}
|
Reference in New Issue
Block a user