1use serde::{Serialize, Deserialize};
2use serde_json::Value;
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct PatchParams {
6 pub filter: Condition,
7 pub patch: Value,
8}
9
10#[derive(Debug, Clone, Serialize, Deserialize)]
11pub struct DeleteParams {
12 pub filter: Condition,
13}
14
15#[derive(Debug, Clone, Serialize, Deserialize)]
16pub enum Condition {
17 And(Vec<Box<Condition>>),
18 Or(Vec<Box<Condition>>),
19 Not(Box<Condition>),
20 Regex(String, Value),
21 Regexi(String, Value),
22 Eq(String, Value),
23 Ne(String, Value),
24 Gt(String, Value),
25 Lt(String, Value),
26 Gte(String, Value),
27 Lte(String, Value),
28 In(String, Value),
29 Nin(String, Value),
30}