meilisearch_sdk/
network.rs1use serde::{Deserialize, Serialize};
2use std::collections::HashMap;
3use uuid::Uuid;
4
5#[derive(Clone, Serialize, Deserialize)]
6#[serde(rename_all = "camelCase")]
7pub struct RemoteConfig {
8 pub url: String,
9 #[serde(rename = "searchApiKey")]
10 pub search_api_key: String,
11 #[serde(rename = "writeApiKey", skip_serializing_if = "Option::is_none")]
12 pub write_api_key: Option<String>,
14}
15
16pub type RemotesMap = HashMap<String, RemoteConfig>;
17pub type RemotesUpdateMap = HashMap<String, Option<RemoteConfig>>;
18
19#[derive(Clone, Serialize, Deserialize)]
21#[serde(rename_all = "camelCase")]
22pub struct NetworkState {
23 pub remotes: Option<RemotesMap>,
24 #[serde(rename = "self")]
25 pub self_name: Option<String>,
26 pub leader: Option<String>,
27 pub version: Option<Uuid>,
28}
29
30#[derive(Default, Clone, Serialize, Deserialize)]
32#[serde(rename_all = "camelCase")]
33pub struct NetworkUpdate {
34 #[serde(skip_serializing_if = "Option::is_none")]
35 pub remotes: Option<RemotesUpdateMap>,
36 #[serde(rename = "self", skip_serializing_if = "Option::is_none")]
37 pub self_name: Option<String>,
38 #[serde(skip_serializing_if = "Option::is_none")]
39 pub leader: Option<String>,
40 #[serde(skip_serializing_if = "Option::is_none")]
41 pub version: Option<Uuid>,
42}