@@ -176,6 +176,25 @@ impl<T: DaprInterface> Client<T> {
176176 . await
177177 }
178178
179+ /// Delete an array of state objects.
180+ ///
181+ /// # Arguments
182+ ///
183+ /// * `store_name` - The name of state store.
184+ /// * `states` - The array of the state key values.
185+ pub async fn delete_bulk_state < I , K > ( & mut self , store_name : K , states : I ) -> Result < ( ) , Error >
186+ where
187+ I : IntoIterator < Item = ( K , Vec < u8 > ) > ,
188+ K : Into < String > ,
189+ {
190+ self . 0
191+ . delete_bulk_state ( DeleteBulkStateRequest {
192+ store_name : store_name. into ( ) ,
193+ states : states. into_iter ( ) . map ( |pair| pair. into ( ) ) . collect ( ) ,
194+ } )
195+ . await
196+ }
197+
179198 /// Delete the state for a specific key.
180199 ///
181200 /// # Arguments
@@ -205,6 +224,31 @@ impl<T: DaprInterface> Client<T> {
205224 } )
206225 . await
207226 }
227+
228+ /// Set sidecar Metadata
229+ ///
230+ /// # Arguments
231+ ///
232+ /// * `key` - The metadata key
233+ /// * `value` - The metadata value
234+ pub async fn set_metadata < S > ( & mut self , key : S , value : S ) -> Result < ( ) , Error >
235+ where
236+ S : Into < String > ,
237+ {
238+ self . 0
239+ . set_metadata ( SetMetadataRequest {
240+ key : key. into ( ) ,
241+ value : value. into ( ) ,
242+ ..Default :: default ( )
243+ } )
244+ . await
245+ }
246+
247+ /// Set sidecar Metadata
248+ ///
249+ pub async fn get_metadata ( & mut self ) -> Result < GetMetadataResponse , Error > {
250+ self . 0 . get_metadata ( ) . await
251+ }
208252}
209253
210254#[ async_trait]
@@ -223,6 +267,9 @@ pub trait DaprInterface: Sized {
223267 async fn get_state ( & mut self , request : GetStateRequest ) -> Result < GetStateResponse , Error > ;
224268 async fn save_state ( & mut self , request : SaveStateRequest ) -> Result < ( ) , Error > ;
225269 async fn delete_state ( & mut self , request : DeleteStateRequest ) -> Result < ( ) , Error > ;
270+ async fn delete_bulk_state ( & mut self , request : DeleteBulkStateRequest ) -> Result < ( ) , Error > ;
271+ async fn set_metadata ( & mut self , request : SetMetadataRequest ) -> Result < ( ) , Error > ;
272+ async fn get_metadata ( & mut self ) -> Result < GetMetadataResponse , Error > ;
226273}
227274
228275#[ async_trait]
@@ -273,6 +320,21 @@ impl DaprInterface for dapr_v1::dapr_client::DaprClient<TonicChannel> {
273320 async fn delete_state ( & mut self , request : DeleteStateRequest ) -> Result < ( ) , Error > {
274321 Ok ( self . delete_state ( Request :: new ( request) ) . await ?. into_inner ( ) )
275322 }
323+
324+ async fn delete_bulk_state ( & mut self , request : DeleteBulkStateRequest ) -> Result < ( ) , Error > {
325+ Ok ( self
326+ . delete_bulk_state ( Request :: new ( request) )
327+ . await ?
328+ . into_inner ( ) )
329+ }
330+
331+ async fn set_metadata ( & mut self , request : SetMetadataRequest ) -> Result < ( ) , Error > {
332+ Ok ( self . set_metadata ( Request :: new ( request) ) . await ?. into_inner ( ) )
333+ }
334+
335+ async fn get_metadata ( & mut self ) -> Result < GetMetadataResponse , Error > {
336+ Ok ( self . get_metadata ( Request :: new ( ( ) ) ) . await ?. into_inner ( ) )
337+ }
276338}
277339
278340/// A request from invoking a service
@@ -302,12 +364,21 @@ pub type SaveStateRequest = dapr_v1::SaveStateRequest;
302364/// A request for deleting state
303365pub type DeleteStateRequest = dapr_v1:: DeleteStateRequest ;
304366
367+ /// A request for deleting bulk state
368+ pub type DeleteBulkStateRequest = dapr_v1:: DeleteBulkStateRequest ;
369+
305370/// A request for getting secret
306371pub type GetSecretRequest = dapr_v1:: GetSecretRequest ;
307372
308373/// A response from getting secret
309374pub type GetSecretResponse = dapr_v1:: GetSecretResponse ;
310375
376+ /// A response from getting metadata
377+ pub type GetMetadataResponse = dapr_v1:: GetMetadataResponse ;
378+
379+ /// A request for setting metadata
380+ pub type SetMetadataRequest = dapr_v1:: SetMetadataRequest ;
381+
311382/// A tonic based gRPC client
312383pub type TonicClient = dapr_v1:: dapr_client:: DaprClient < TonicChannel > ;
313384
0 commit comments