qdrant_client/builders/
move_shard_builder.rs1use crate::qdrant::*;
2
3#[derive(Clone)]
4pub struct MoveShardBuilder {
5 pub(crate) shard_id: Option<u32>,
7 pub(crate) to_shard_id: Option<Option<u32>>,
8 pub(crate) from_peer_id: Option<u64>,
9 pub(crate) to_peer_id: Option<u64>,
10 pub(crate) method: Option<Option<i32>>,
11}
12
13impl MoveShardBuilder {
14 #[allow(unused_mut)]
16 pub fn shard_id(self, value: u32) -> Self {
17 let mut new = self;
18 new.shard_id = Option::Some(value);
19 new
20 }
21 #[allow(unused_mut)]
22 pub fn to_shard_id(self, value: u32) -> Self {
23 let mut new = self;
24 new.to_shard_id = Option::Some(Option::Some(value));
25 new
26 }
27 #[allow(unused_mut)]
28 pub fn from_peer_id(self, value: u64) -> Self {
29 let mut new = self;
30 new.from_peer_id = Option::Some(value);
31 new
32 }
33 #[allow(unused_mut)]
34 pub fn to_peer_id(self, value: u64) -> Self {
35 let mut new = self;
36 new.to_peer_id = Option::Some(value);
37 new
38 }
39 #[allow(unused_mut)]
40 pub fn method<VALUE: core::convert::Into<i32>>(self, value: VALUE) -> Self {
41 let mut new = self;
42 new.method = Option::Some(Option::Some(value.into()));
43 new
44 }
45
46 fn build_inner(self) -> Result<MoveShard, MoveShardBuilderError> {
47 Ok(MoveShard {
48 shard_id: match self.shard_id {
49 Some(value) => value,
50 None => {
51 return Result::Err(core::convert::Into::into(
52 ::derive_builder::UninitializedFieldError::from("shard_id"),
53 ));
54 }
55 },
56 to_shard_id: self.to_shard_id.unwrap_or_default(),
57 from_peer_id: match self.from_peer_id {
58 Some(value) => value,
59 None => {
60 return Result::Err(core::convert::Into::into(
61 ::derive_builder::UninitializedFieldError::from("from_peer_id"),
62 ));
63 }
64 },
65 to_peer_id: match self.to_peer_id {
66 Some(value) => value,
67 None => {
68 return Result::Err(core::convert::Into::into(
69 ::derive_builder::UninitializedFieldError::from("to_peer_id"),
70 ));
71 }
72 },
73 method: self.method.unwrap_or_default(),
74 })
75 }
76 fn create_empty() -> Self {
78 Self {
79 shard_id: core::default::Default::default(),
80 to_shard_id: core::default::Default::default(),
81 from_peer_id: core::default::Default::default(),
82 to_peer_id: core::default::Default::default(),
83 method: core::default::Default::default(),
84 }
85 }
86}
87
88impl From<MoveShardBuilder> for MoveShard {
89 fn from(value: MoveShardBuilder) -> Self {
90 value.build_inner().unwrap_or_else(|_| {
91 panic!(
92 "Failed to convert {0} to {1}",
93 "MoveShardBuilder", "MoveShard"
94 )
95 })
96 }
97}
98
99impl MoveShardBuilder {
100 pub fn build(self) -> MoveShard {
102 self.build_inner().unwrap_or_else(|_| {
103 panic!(
104 "Failed to build {0} into {1}",
105 "MoveShardBuilder", "MoveShard"
106 )
107 })
108 }
109}
110
111impl MoveShardBuilder {
112 pub(crate) fn empty() -> Self {
113 Self::create_empty()
114 }
115}
116
117#[non_exhaustive]
119#[derive(Debug)]
120pub enum MoveShardBuilderError {
121 UninitializedField(&'static str),
123 ValidationError(String),
125}
126
127impl std::fmt::Display for MoveShardBuilderError {
129 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
130 match self {
131 Self::UninitializedField(field) => {
132 write!(f, "`{field}` must be initialized")
133 }
134 Self::ValidationError(error) => write!(f, "{error}"),
135 }
136 }
137}
138
139impl std::error::Error for MoveShardBuilderError {}
141
142impl From<derive_builder::UninitializedFieldError> for MoveShardBuilderError {
144 fn from(error: derive_builder::UninitializedFieldError) -> Self {
145 Self::UninitializedField(error.field_name())
146 }
147}
148
149impl From<String> for MoveShardBuilderError {
151 fn from(error: String) -> Self {
152 Self::ValidationError(error)
153 }
154}