rudis_http/command/
set.rs

1use serde_json::{Map, Value};
2
3#[derive(Debug)]
4pub struct Set {
5    key: String,
6    val: String,
7    valid: bool,
8    // todo: TTL
9}
10
11impl Set {
12    pub fn from_key_val(key: impl ToString, value: impl ToString) -> Self {
13        Set {
14            key: key.to_string(),
15            val: value.to_string(),
16            valid: true,
17        }
18    }
19
20    pub fn new_invalid() -> Self {
21        Set {
22            key: String::from(""),
23            val: String::from(""),
24            valid: false,
25        }
26    }
27
28    pub fn is_valid(&self) -> bool {
29        self.valid
30    }
31
32    pub fn key(&self) -> &str {
33        &self.key
34    }
35
36    pub fn val(&self) -> &str {
37        &self.val
38    }
39}
40
41pub struct MultipleSet {
42    kv: Map<String, Value>,
43    valid: bool,
44}
45
46impl MultipleSet {
47    pub fn from_json_kv(obj: Map<String, Value>) -> Option<Self> {
48        Some(MultipleSet {
49            kv: obj,
50            valid: true,
51        })
52    }
53
54    pub fn new_invalid() -> Self {
55        MultipleSet {
56            kv: Map::new(),
57            valid: false,
58        }
59    }
60
61    pub fn is_valid(&self) -> bool {
62        self.valid
63    }
64
65    pub fn kv(&self) -> &Map<String, Value> {
66        &self.kv
67    }
68}