alex_db_lib/
index.rs

1use serde::{Deserialize, Serialize};
2use std::{collections::BTreeMap, sync::RwLock};
3use uuid::Uuid;
4
5#[derive(Debug, Deserialize, Serialize)]
6pub struct Index {
7    pub created_at: RwLock<BTreeMap<i64, Uuid>>,
8    pub delete_at: RwLock<BTreeMap<i64, Uuid>>,
9    pub key: RwLock<BTreeMap<String, Uuid>>,
10    pub updated_at: RwLock<BTreeMap<i64, Uuid>>,
11}
12
13impl Index {
14    pub fn new() -> Self {
15        Self {
16            created_at: RwLock::new(BTreeMap::new()),
17            delete_at: RwLock::new(BTreeMap::new()),
18            key: RwLock::new(BTreeMap::new()),
19            updated_at: RwLock::new(BTreeMap::new()),
20        }
21    }
22}
23
24impl Default for Index {
25    fn default() -> Self {
26        Self::new()
27    }
28}