browser_protocol/indexeddb/
mod.rs1use serde::{Serialize, Deserialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize, Default)]
6#[serde(rename_all = "camelCase")]
7pub struct DatabaseWithObjectStores {
8 pub name: String,
11 pub version: f64,
15 pub objectStores: Vec<ObjectStore>,
18}
19
20#[derive(Debug, Clone, Serialize, Deserialize, Default)]
23#[serde(rename_all = "camelCase")]
24pub struct ObjectStore {
25 pub name: String,
28 pub keyPath: KeyPath,
31 pub autoIncrement: bool,
34 pub indexes: Vec<ObjectStoreIndex>,
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize, Default)]
42#[serde(rename_all = "camelCase")]
43pub struct ObjectStoreIndex {
44 pub name: String,
47 pub keyPath: KeyPath,
50 pub unique: bool,
53 pub multiEntry: bool,
56}
57
58#[derive(Debug, Clone, Serialize, Deserialize, Default)]
61#[serde(rename_all = "camelCase")]
62pub struct Key {
63 #[serde(rename = "type")]
66 pub type_: String,
67 #[serde(skip_serializing_if = "Option::is_none")]
70 pub number: Option<f64>,
71 #[serde(skip_serializing_if = "Option::is_none")]
74 pub string: Option<String>,
75 #[serde(skip_serializing_if = "Option::is_none")]
78 pub date: Option<f64>,
79 #[serde(skip_serializing_if = "Option::is_none")]
82 pub array: Option<Vec<Key>>,
83}
84
85#[derive(Debug, Clone, Serialize, Deserialize, Default)]
88#[serde(rename_all = "camelCase")]
89pub struct KeyRange {
90 #[serde(skip_serializing_if = "Option::is_none")]
93 pub lower: Option<Key>,
94 #[serde(skip_serializing_if = "Option::is_none")]
97 pub upper: Option<Key>,
98 pub lowerOpen: bool,
101 pub upperOpen: bool,
104}
105
106#[derive(Debug, Clone, Serialize, Deserialize, Default)]
109#[serde(rename_all = "camelCase")]
110pub struct DataEntry {
111 pub key: crate::runtime::RemoteObject,
114 pub primaryKey: crate::runtime::RemoteObject,
117 pub value: crate::runtime::RemoteObject,
120}
121
122#[derive(Debug, Clone, Serialize, Deserialize, Default)]
125#[serde(rename_all = "camelCase")]
126pub struct KeyPath {
127 #[serde(rename = "type")]
130 pub type_: String,
131 #[serde(skip_serializing_if = "Option::is_none")]
134 pub string: Option<String>,
135 #[serde(skip_serializing_if = "Option::is_none")]
138 pub array: Option<Vec<String>>,
139}
140
141#[derive(Debug, Clone, Serialize, Deserialize, Default)]
144#[serde(rename_all = "camelCase")]
145pub struct ClearObjectStoreParams {
146 #[serde(skip_serializing_if = "Option::is_none")]
150 pub securityOrigin: Option<String>,
151 #[serde(skip_serializing_if = "Option::is_none")]
154 pub storageKey: Option<String>,
155 #[serde(skip_serializing_if = "Option::is_none")]
158 pub storageBucket: Option<crate::storage::StorageBucket>,
159 pub databaseName: String,
162 pub objectStoreName: String,
165}
166
167#[derive(Debug, Clone, Serialize, Deserialize, Default)]
170#[serde(rename_all = "camelCase")]
171pub struct DeleteDatabaseParams {
172 #[serde(skip_serializing_if = "Option::is_none")]
176 pub securityOrigin: Option<String>,
177 #[serde(skip_serializing_if = "Option::is_none")]
180 pub storageKey: Option<String>,
181 #[serde(skip_serializing_if = "Option::is_none")]
184 pub storageBucket: Option<crate::storage::StorageBucket>,
185 pub databaseName: String,
188}
189
190#[derive(Debug, Clone, Serialize, Deserialize, Default)]
193#[serde(rename_all = "camelCase")]
194pub struct DeleteObjectStoreEntriesParams {
195 #[serde(skip_serializing_if = "Option::is_none")]
199 pub securityOrigin: Option<String>,
200 #[serde(skip_serializing_if = "Option::is_none")]
203 pub storageKey: Option<String>,
204 #[serde(skip_serializing_if = "Option::is_none")]
207 pub storageBucket: Option<crate::storage::StorageBucket>,
208
209 pub databaseName: String,
210
211 pub objectStoreName: String,
212 pub keyRange: KeyRange,
215}
216
217#[derive(Debug, Clone, Serialize, Deserialize, Default)]
220#[serde(rename_all = "camelCase")]
221pub struct RequestDataParams {
222 #[serde(skip_serializing_if = "Option::is_none")]
226 pub securityOrigin: Option<String>,
227 #[serde(skip_serializing_if = "Option::is_none")]
230 pub storageKey: Option<String>,
231 #[serde(skip_serializing_if = "Option::is_none")]
234 pub storageBucket: Option<crate::storage::StorageBucket>,
235 pub databaseName: String,
238 pub objectStoreName: String,
241 #[serde(skip_serializing_if = "Option::is_none")]
244 pub indexName: Option<String>,
245 pub skipCount: u64,
248 pub pageSize: u64,
251 #[serde(skip_serializing_if = "Option::is_none")]
254 pub keyRange: Option<KeyRange>,
255}
256
257#[derive(Debug, Clone, Serialize, Deserialize, Default)]
260#[serde(rename_all = "camelCase")]
261pub struct RequestDataReturns {
262 pub objectStoreDataEntries: Vec<DataEntry>,
265 pub hasMore: bool,
268}
269
270#[derive(Debug, Clone, Serialize, Deserialize, Default)]
273#[serde(rename_all = "camelCase")]
274pub struct GetMetadataParams {
275 #[serde(skip_serializing_if = "Option::is_none")]
279 pub securityOrigin: Option<String>,
280 #[serde(skip_serializing_if = "Option::is_none")]
283 pub storageKey: Option<String>,
284 #[serde(skip_serializing_if = "Option::is_none")]
287 pub storageBucket: Option<crate::storage::StorageBucket>,
288 pub databaseName: String,
291 pub objectStoreName: String,
294}
295
296#[derive(Debug, Clone, Serialize, Deserialize, Default)]
299#[serde(rename_all = "camelCase")]
300pub struct GetMetadataReturns {
301 pub entriesCount: f64,
304 pub keyGeneratorValue: f64,
309}
310
311#[derive(Debug, Clone, Serialize, Deserialize, Default)]
314#[serde(rename_all = "camelCase")]
315pub struct RequestDatabaseParams {
316 #[serde(skip_serializing_if = "Option::is_none")]
320 pub securityOrigin: Option<String>,
321 #[serde(skip_serializing_if = "Option::is_none")]
324 pub storageKey: Option<String>,
325 #[serde(skip_serializing_if = "Option::is_none")]
328 pub storageBucket: Option<crate::storage::StorageBucket>,
329 pub databaseName: String,
332}
333
334#[derive(Debug, Clone, Serialize, Deserialize, Default)]
337#[serde(rename_all = "camelCase")]
338pub struct RequestDatabaseReturns {
339 pub databaseWithObjectStores: DatabaseWithObjectStores,
342}
343
344#[derive(Debug, Clone, Serialize, Deserialize, Default)]
347#[serde(rename_all = "camelCase")]
348pub struct RequestDatabaseNamesParams {
349 #[serde(skip_serializing_if = "Option::is_none")]
353 pub securityOrigin: Option<String>,
354 #[serde(skip_serializing_if = "Option::is_none")]
357 pub storageKey: Option<String>,
358 #[serde(skip_serializing_if = "Option::is_none")]
361 pub storageBucket: Option<crate::storage::StorageBucket>,
362}
363
364#[derive(Debug, Clone, Serialize, Deserialize, Default)]
367#[serde(rename_all = "camelCase")]
368pub struct RequestDatabaseNamesReturns {
369 pub databaseNames: Vec<String>,
372}