use serde::{Serialize, Deserialize};
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DatabaseWithObjectStores {
pub name: String,
pub version: f64,
pub objectStores: Vec<ObjectStore>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ObjectStore {
pub name: String,
pub keyPath: KeyPath,
pub autoIncrement: bool,
pub indexes: Vec<ObjectStoreIndex>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ObjectStoreIndex {
pub name: String,
pub keyPath: KeyPath,
pub unique: bool,
pub multiEntry: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct Key {
#[serde(rename = "type")]
pub type_: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub number: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub string: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub date: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub array: Option<Vec<Key>>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct KeyRange {
#[serde(skip_serializing_if = "Option::is_none")]
pub lower: Option<Key>,
#[serde(skip_serializing_if = "Option::is_none")]
pub upper: Option<Key>,
pub lowerOpen: bool,
pub upperOpen: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DataEntry {
pub key: crate::runtime::RemoteObject,
pub primaryKey: crate::runtime::RemoteObject,
pub value: crate::runtime::RemoteObject,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct KeyPath {
#[serde(rename = "type")]
pub type_: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub string: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub array: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ClearObjectStoreParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub securityOrigin: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storageKey: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storageBucket: Option<crate::storage::StorageBucket>,
pub databaseName: String,
pub objectStoreName: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DeleteDatabaseParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub securityOrigin: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storageKey: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storageBucket: Option<crate::storage::StorageBucket>,
pub databaseName: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DeleteObjectStoreEntriesParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub securityOrigin: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storageKey: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storageBucket: Option<crate::storage::StorageBucket>,
pub databaseName: String,
pub objectStoreName: String,
pub keyRange: KeyRange,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RequestDataParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub securityOrigin: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storageKey: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storageBucket: Option<crate::storage::StorageBucket>,
pub databaseName: String,
pub objectStoreName: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub indexName: Option<String>,
pub skipCount: u64,
pub pageSize: u64,
#[serde(skip_serializing_if = "Option::is_none")]
pub keyRange: Option<KeyRange>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RequestDataReturns {
pub objectStoreDataEntries: Vec<DataEntry>,
pub hasMore: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetMetadataParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub securityOrigin: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storageKey: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storageBucket: Option<crate::storage::StorageBucket>,
pub databaseName: String,
pub objectStoreName: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetMetadataReturns {
pub entriesCount: f64,
pub keyGeneratorValue: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RequestDatabaseParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub securityOrigin: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storageKey: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storageBucket: Option<crate::storage::StorageBucket>,
pub databaseName: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RequestDatabaseReturns {
pub databaseWithObjectStores: DatabaseWithObjectStores,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RequestDatabaseNamesParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub securityOrigin: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storageKey: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storageBucket: Option<crate::storage::StorageBucket>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RequestDatabaseNamesReturns {
pub databaseNames: Vec<String>,
}