qdrant_client/builders/
create_shard_key_request_builder.rs1use crate::qdrant::*;
2
3#[derive(Clone)]
4pub struct CreateShardKeyRequestBuilder {
5 pub(crate) collection_name: Option<String>,
7 pub(crate) request: Option<Option<CreateShardKey>>,
9 pub(crate) timeout: Option<Option<u64>>,
11}
12
13impl CreateShardKeyRequestBuilder {
14 pub fn collection_name(self, value: String) -> Self {
16 let mut new = self;
17 new.collection_name = Option::Some(value);
18 new
19 }
20 pub fn request<VALUE: core::convert::Into<CreateShardKey>>(self, value: VALUE) -> Self {
22 let mut new = self;
23 new.request = Option::Some(Option::Some(value.into()));
24 new
25 }
26 pub fn timeout(self, value: u64) -> Self {
28 let mut new = self;
29 new.timeout = Option::Some(Option::Some(value));
30 new
31 }
32
33 fn build_inner(self) -> Result<CreateShardKeyRequest, CreateShardKeyRequestBuilderError> {
34 Ok(CreateShardKeyRequest {
35 collection_name: match self.collection_name {
36 Some(value) => value,
37 None => {
38 return Result::Err(core::convert::Into::into(
39 ::derive_builder::UninitializedFieldError::from("collection_name"),
40 ));
41 }
42 },
43 request: self.request.unwrap_or_default(),
44 timeout: self.timeout.unwrap_or_default(),
45 })
46 }
47 fn create_empty() -> Self {
49 Self {
50 collection_name: core::default::Default::default(),
51 request: core::default::Default::default(),
52 timeout: core::default::Default::default(),
53 }
54 }
55}
56
57impl From<CreateShardKeyRequestBuilder> for CreateShardKeyRequest {
58 fn from(value: CreateShardKeyRequestBuilder) -> Self {
59 value.build_inner().unwrap_or_else(|_| {
60 panic!(
61 "Failed to convert {0} to {1}",
62 "CreateShardKeyRequestBuilder", "CreateShardKeyRequest"
63 )
64 })
65 }
66}
67
68impl CreateShardKeyRequestBuilder {
69 pub fn build(self) -> CreateShardKeyRequest {
71 self.build_inner().unwrap_or_else(|_| {
72 panic!(
73 "Failed to build {0} into {1}",
74 "CreateShardKeyRequestBuilder", "CreateShardKeyRequest"
75 )
76 })
77 }
78}
79
80impl CreateShardKeyRequestBuilder {
81 pub(crate) fn empty() -> Self {
82 Self::create_empty()
83 }
84}
85
86#[non_exhaustive]
88#[derive(Debug)]
89pub enum CreateShardKeyRequestBuilderError {
90 UninitializedField(&'static str),
92 ValidationError(String),
94}
95
96impl std::fmt::Display for CreateShardKeyRequestBuilderError {
98 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
99 match self {
100 Self::UninitializedField(field) => {
101 write!(f, "`{field}` must be initialized")
102 }
103 Self::ValidationError(error) => write!(f, "{error}"),
104 }
105 }
106}
107
108impl std::error::Error for CreateShardKeyRequestBuilderError {}
110
111impl From<derive_builder::UninitializedFieldError> for CreateShardKeyRequestBuilderError {
113 fn from(error: derive_builder::UninitializedFieldError) -> Self {
114 Self::UninitializedField(error.field_name())
115 }
116}
117
118impl From<String> for CreateShardKeyRequestBuilderError {
120 fn from(error: String) -> Self {
121 Self::ValidationError(error)
122 }
123}