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}