1use clap::{Args, ValueEnum};
4
5#[derive(Args, Debug)]
6pub struct ListDataStores {
8 #[clap(short, long, value_parser)]
10 pub universe_id: u64,
11
12 #[clap(short, long, value_parser)]
14 pub api_key: String,
15
16 #[clap(short, long, value_parser)]
18 pub limit: u64,
19
20 #[clap(short, long, value_parser)]
22 pub prefix: Option<String>,
23
24 #[clap(short, long, value_parser)]
26 pub cursor: Option<String>,
27}
28
29#[derive(Args, Debug)]
30pub struct ListEntries {
32 #[clap(short, long, value_parser)]
34 pub universe_id: u64,
35
36 #[clap(short, long, value_parser)]
38 pub api_key: String,
39
40 #[clap(short, long, value_parser)]
42 pub datastore_name: String,
43
44 #[clap(short = 'o', long, value_parser)]
46 pub all_scopes: Option<bool>,
47
48 #[clap(short, long, value_parser)]
50 pub scope: Option<String>,
51
52 #[clap(short, long, value_parser)]
54 pub prefix: Option<String>,
55
56 #[clap(short, long, value_parser)]
58 pub limit: u64,
59
60 #[clap(short, long, value_parser)]
62 pub cursor: Option<String>,
63}
64
65#[derive(Args, Debug)]
66pub struct GetEntry {
68 #[clap(short, long, value_parser)]
70 pub universe_id: u64,
71
72 #[clap(short, long, value_parser)]
74 pub api_key: String,
75
76 #[clap(short, long, value_parser)]
78 pub datastore_name: String,
79
80 #[clap(short, long, value_parser)]
82 pub scope: Option<String>,
83
84 #[clap(short, long, value_parser)]
86 pub key: String,
87}
88
89#[derive(Args, Debug)]
90pub struct ListEntryVersions {
92 #[clap(short, long, value_parser)]
94 pub universe_id: u64,
95
96 #[clap(short, long, value_parser)]
98 pub api_key: String,
99
100 #[clap(short, long, value_parser)]
102 pub datastore_name: String,
103
104 #[clap(short, long, value_parser)]
106 pub scope: Option<String>,
107
108 #[clap(short, long, value_parser)]
110 pub key: String,
111
112 #[clap(short = 't', long, value_parser)]
114 pub start_time: Option<String>,
115
116 #[clap(short = 'e', long, value_parser)]
118 pub end_time: Option<String>,
119
120 #[clap(short = 'o', long, value_enum)]
122 pub sort_order: SortOrder,
123
124 #[clap(short, long, value_parser)]
126 pub limit: u64,
127
128 #[clap(short, long, value_parser)]
130 pub cursor: Option<String>,
131}
132
133#[derive(Args, Debug)]
134pub struct GetEntryVersion {
136 #[clap(short, long, value_parser)]
138 pub universe_id: u64,
139
140 #[clap(short, long, value_parser)]
142 pub api_key: String,
143
144 #[clap(short, long, value_parser)]
146 pub datastore_name: String,
147
148 #[clap(short, long, value_parser)]
150 pub scope: Option<String>,
151
152 #[clap(short, long, value_parser)]
154 pub key: String,
155
156 #[clap(short, long, value_parser)]
158 pub version_id: String,
159}
160
161#[derive(Args, Debug)]
162pub struct SetEntry {
164 #[clap(short, long, value_parser)]
166 pub universe_id: u64,
167
168 #[clap(short, long, value_parser)]
170 pub api_key: String,
171
172 #[clap(short, long, value_parser)]
174 pub datastore_name: String,
175
176 #[clap(short, long, value_parser)]
178 pub scope: Option<String>,
179
180 #[clap(short, long, value_parser)]
182 pub key: String,
183
184 #[clap(short = 'i', long, value_parser)]
186 pub match_version: Option<String>,
187
188 #[clap(short, long, value_parser)]
190 pub exclusive_create: Option<bool>,
191
192 #[clap(short = 'D', long, value_parser)]
194 pub data: String,
195
196 #[clap(short = 'U', long, value_parser)]
198 pub user_ids: Option<Vec<u64>>,
199
200 #[clap(short = 't', long, value_parser)]
202 pub attributes: Option<String>,
203}
204
205#[derive(Args, Debug)]
206pub struct IncrementEntry {
208 #[clap(short, long, value_parser)]
210 pub universe_id: u64,
211
212 #[clap(short, long, value_parser)]
214 pub api_key: String,
215
216 #[clap(short, long, value_parser)]
218 pub datastore_name: String,
219
220 #[clap(short, long, value_parser)]
222 pub scope: Option<String>,
223
224 #[clap(short, long, value_parser)]
226 pub key: String,
227
228 #[clap(short, long, value_parser)]
230 pub increment_by: f64,
231
232 #[clap(short = 'U', long, value_parser)]
234 pub user_ids: Option<Vec<u64>>,
235
236 #[clap(short = 't', long, value_parser)]
238 pub attributes: Option<String>,
239}
240
241#[derive(Args, Debug)]
242pub struct DeleteEntry {
244 #[clap(short, long, value_parser)]
246 pub universe_id: u64,
247
248 #[clap(short, long, value_parser)]
250 pub api_key: String,
251
252 #[clap(short, long, value_parser)]
254 pub datastore_name: String,
255
256 #[clap(short, long, value_parser)]
258 pub scope: Option<String>,
259
260 #[clap(short, long, value_parser)]
262 pub key: String,
263}
264
265#[derive(Debug, Clone, ValueEnum)]
266pub enum SortOrder {
268 Ascending,
269 Descending,
270}