Move api routes to /api and add /api/sessions
This commit is contained in:
25
src/database/util/category.rs
Normal file
25
src/database/util/category.rs
Normal file
@ -0,0 +1,25 @@
|
||||
use crate::database::latest::trees::categories;
|
||||
use crate::status_json::StatusJson;
|
||||
use bincode::{deserialize, serialize};
|
||||
use std::collections::HashMap;
|
||||
|
||||
pub fn get_category(
|
||||
tree: &sled::Tree,
|
||||
key: &categories::K,
|
||||
) -> Result<Option<categories::V>, StatusJson> {
|
||||
Ok(match tree.get(serialize(key)?)? {
|
||||
Some(raw) => Some(deserialize(&raw)?),
|
||||
None => None,
|
||||
})
|
||||
}
|
||||
|
||||
pub fn get_all_categories(
|
||||
tree: &sled::Tree,
|
||||
) -> Result<HashMap<categories::K, categories::V>, StatusJson> {
|
||||
Ok(tree
|
||||
.iter()
|
||||
.map(|result| {
|
||||
result.map(|(k, v)| deserialize(&k).and_then(|k| deserialize(&v).map(|v| (k, v))))
|
||||
})
|
||||
.collect::<Result<Result<_, _>, _>>()??)
|
||||
}
|
||||
Reference in New Issue
Block a user