thot_core/api/
interface.rs1use crate::db::resources::asset::Asset;
3use crate::db::resources::container::Container;
4use crate::db::resources::search_filter::StandardPropertiesSearchFilter as StdPropsFilter;
5use crate::result::Result;
6use std::path::PathBuf;
7
8pub trait Interface {
9 fn root(&self) -> PathBuf;
11
12 fn find_container(&self, search: StdPropsFilter) -> Option<Container>;
14
15 fn find_containers(&self, search: StdPropsFilter) -> Vec<Container>;
17
18 fn find_asset(&self, search: StdPropsFilter) -> Option<Asset>;
20
21 fn find_assets(&self, search: StdPropsFilter) -> Vec<Asset>;
23
24 fn add_asset(&mut self, asset: Asset) -> Result;
26
27 fn dev_mode() -> bool;
29}
30
31#[cfg(test)]
32#[path = "./interface_test.rs"]
33mod interface_test;