qdrant_client/builders/
delete_shard_key_request_builder.rs

1use crate::qdrant::*;
2
3#[derive(Clone)]
4pub struct DeleteShardKeyRequestBuilder {
5    /// Name of the collection
6    pub(crate) collection_name: Option<String>,
7    /// Request to delete shard key
8    pub(crate) request: Option<Option<DeleteShardKey>>,
9    /// Wait timeout for operation commit in seconds, if not specified - default value will be supplied
10    pub(crate) timeout: Option<Option<u64>>,
11}
12
13impl DeleteShardKeyRequestBuilder {
14    /// Name of the collection
15    pub fn collection_name(self, value: String) -> Self {
16        let mut new = self;
17        new.collection_name = Option::Some(value);
18        new
19    }
20    /// Wait timeout for operation commit in seconds, if not specified - default value will be supplied
21    pub fn timeout(self, value: u64) -> Self {
22        let mut new = self;
23        new.timeout = Option::Some(Option::Some(value));
24        new
25    }
26
27    fn build_inner(self) -> Result<DeleteShardKeyRequest, DeleteShardKeyRequestBuilderError> {
28        Ok(DeleteShardKeyRequest {
29            collection_name: match self.collection_name {
30                Some(value) => value,
31                None => {
32                    return Result::Err(core::convert::Into::into(
33                        ::derive_builder::UninitializedFieldError::from("collection_name"),
34                    ));
35                }
36            },
37            request: self.request.unwrap_or_default(),
38            timeout: self.timeout.unwrap_or_default(),
39        })
40    }
41    /// Create an empty builder, with all fields set to `None` or `PhantomData`.
42    fn create_empty() -> Self {
43        Self {
44            collection_name: core::default::Default::default(),
45            request: core::default::Default::default(),
46            timeout: core::default::Default::default(),
47        }
48    }
49}
50
51impl From<DeleteShardKeyRequestBuilder> for DeleteShardKeyRequest {
52    fn from(value: DeleteShardKeyRequestBuilder) -> Self {
53        value.build_inner().unwrap_or_else(|_| {
54            panic!(
55                "Failed to convert {0} to {1}",
56                "DeleteShardKeyRequestBuilder", "DeleteShardKeyRequest"
57            )
58        })
59    }
60}
61
62impl DeleteShardKeyRequestBuilder {
63    /// Builds the desired type. Can often be omitted.
64    pub fn build(self) -> DeleteShardKeyRequest {
65        self.build_inner().unwrap_or_else(|_| {
66            panic!(
67                "Failed to build {0} into {1}",
68                "DeleteShardKeyRequestBuilder", "DeleteShardKeyRequest"
69            )
70        })
71    }
72}
73
74impl DeleteShardKeyRequestBuilder {
75    pub(crate) fn empty() -> Self {
76        Self::create_empty()
77    }
78}
79
80/// Error type for DeleteShardKeyRequestBuilder
81#[non_exhaustive]
82#[derive(Debug)]
83pub enum DeleteShardKeyRequestBuilderError {
84    /// Uninitialized field
85    UninitializedField(&'static str),
86    /// Custom validation error
87    ValidationError(String),
88}
89
90// Implementing the Display trait for better error messages
91impl std::fmt::Display for DeleteShardKeyRequestBuilderError {
92    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
93        match self {
94            Self::UninitializedField(field) => {
95                write!(f, "`{field}` must be initialized")
96            }
97            Self::ValidationError(error) => write!(f, "{error}"),
98        }
99    }
100}
101
102// Implementing the Error trait
103impl std::error::Error for DeleteShardKeyRequestBuilderError {}
104
105// Implementing From trait for conversion from UninitializedFieldError
106impl From<derive_builder::UninitializedFieldError> for DeleteShardKeyRequestBuilderError {
107    fn from(error: derive_builder::UninitializedFieldError) -> Self {
108        Self::UninitializedField(error.field_name())
109    }
110}
111
112// Implementing From trait for conversion from String
113impl From<String> for DeleteShardKeyRequestBuilderError {
114    fn from(error: String) -> Self {
115        Self::ValidationError(error)
116    }
117}