meilisearch_sdk/
network.rs

1use serde::{Deserialize, Serialize};
2use std::collections::HashMap;
3
4#[derive(Clone, Serialize, Deserialize)]
5#[serde(rename_all = "camelCase")]
6pub struct RemoteConfig {
7    pub url: String,
8    #[serde(rename = "searchApiKey")]
9    pub search_api_key: String,
10    #[serde(rename = "writeApiKey", skip_serializing_if = "Option::is_none")]
11    // present in responses since 1.19
12    pub write_api_key: Option<String>,
13}
14
15pub type RemotesMap = HashMap<String, RemoteConfig>;
16
17/// Full network state returned by GET /network
18#[derive(Clone, Serialize, Deserialize)]
19#[serde(rename_all = "camelCase")]
20pub struct NetworkState {
21    pub remotes: Option<RemotesMap>,
22    #[serde(rename = "self")]
23    pub self_name: Option<String>,
24    pub sharding: Option<bool>,
25}
26
27/// Partial update body for PATCH /network
28#[derive(Default, Clone, Serialize, Deserialize)]
29#[serde(rename_all = "camelCase")]
30pub struct NetworkUpdate {
31    #[serde(skip_serializing_if = "Option::is_none")]
32    pub remotes: Option<RemotesMap>,
33    #[serde(rename = "self", skip_serializing_if = "Option::is_none")]
34    pub self_name: Option<String>,
35    #[serde(skip_serializing_if = "Option::is_none")]
36    pub sharding: Option<bool>,
37}