1+ use crate :: operations:: * ;
12use crate :: requests;
23use crate :: resources:: ResourceType ;
34use crate :: ReadonlyString ;
45use azure_core:: HttpClient ;
6+ use azure_core:: Pipeline ;
7+ use azure_core:: Request ;
8+ use bytes:: Bytes ;
59
610use super :: * ;
711
@@ -50,28 +54,36 @@ impl AttachmentClient {
5054 }
5155
5256 /// Initiate a request to get an attachment.
53- pub fn get ( & self ) -> requests :: GetAttachmentBuilder < ' _ , ' _ > {
54- requests :: GetAttachmentBuilder :: new ( self )
57+ pub fn get ( & self ) -> GetAttachmentBuilder {
58+ GetAttachmentBuilder :: new ( self . clone ( ) )
5559 }
5660
5761 /// Initiate a request to delete an attachment.
58- pub fn delete ( & self ) -> requests :: DeleteAttachmentBuilder < ' _ , ' _ > {
59- requests :: DeleteAttachmentBuilder :: new ( self )
62+ pub fn delete ( & self ) -> DeleteAttachmentBuilder {
63+ DeleteAttachmentBuilder :: new ( self . clone ( ) )
6064 }
6165
6266 /// Initiate a request to create an attachment with a slug.
63- pub fn create_slug ( & self ) -> requests :: CreateSlugAttachmentBuilder < ' _ , ' _ > {
64- requests :: CreateSlugAttachmentBuilder :: new ( self )
67+ pub fn create_slug ( & self , body : Bytes ) -> CreateOrReplaceSlugAttachmentBuilder {
68+ CreateOrReplaceSlugAttachmentBuilder :: new ( self . clone ( ) , true , body )
6569 }
6670
6771 /// Initiate a request to replace an attachment.
68- pub fn replace_slug ( & self ) -> requests :: ReplaceSlugAttachmentBuilder < ' _ , ' _ > {
69- requests :: ReplaceSlugAttachmentBuilder :: new ( self )
72+ pub fn replace_slug ( & self , body : Bytes ) -> CreateOrReplaceSlugAttachmentBuilder {
73+ CreateOrReplaceSlugAttachmentBuilder :: new ( self . clone ( ) , false , body )
7074 }
7175
72- /// Initiate a request to create an attachment.
73- pub fn create_reference ( & self ) -> requests:: CreateReferenceAttachmentBuilder < ' _ , ' _ > {
74- requests:: CreateReferenceAttachmentBuilder :: new ( self )
76+ /// Initiate a request to create ant.
77+ pub fn create_reference < M , C > (
78+ & self ,
79+ media : M ,
80+ content_type : C ,
81+ ) -> CreateReferenceAttachmentBuilder
82+ where
83+ M : Into < String > ,
84+ C : Into < String > ,
85+ {
86+ CreateReferenceAttachmentBuilder :: new ( self . clone ( ) , media. into ( ) , content_type. into ( ) )
7587 }
7688
7789 /// Initiate a request to replace an attachment.
@@ -84,16 +96,15 @@ impl AttachmentClient {
8496 self . cosmos_client ( ) . http_client ( )
8597 }
8698
87- pub ( crate ) fn prepare_request ( & self , method : http:: Method ) -> http :: request :: Builder {
88- self . cosmos_client ( ) . prepare_request (
99+ pub ( crate ) fn prepare_pipeline ( & self , method : http:: Method ) -> Request {
100+ self . cosmos_client ( ) . prepare_request_pipeline (
89101 & format ! (
90102 "dbs/{}/colls/{}/docs/{}/attachments" ,
91103 self . database_client( ) . database_name( ) ,
92104 self . collection_client( ) . collection_name( ) ,
93105 self . document_client( ) . document_name( ) ,
94106 ) ,
95107 method,
96- ResourceType :: Attachments ,
97108 )
98109 }
99110
@@ -113,4 +124,21 @@ impl AttachmentClient {
113124 ResourceType :: Attachments ,
114125 )
115126 }
127+
128+ pub ( crate ) fn prepare_pipeline_with_attachment_name ( & self , method : http:: Method ) -> Request {
129+ self . cosmos_client ( ) . prepare_request_pipeline (
130+ & format ! (
131+ "dbs/{}/colls/{}/docs/{}/attachments/{}" ,
132+ self . database_client( ) . database_name( ) ,
133+ self . collection_client( ) . collection_name( ) ,
134+ self . document_client( ) . document_name( ) ,
135+ self . attachment_name( )
136+ ) ,
137+ method,
138+ )
139+ }
140+
141+ pub ( crate ) fn pipeline ( & self ) -> & Pipeline {
142+ self . cosmos_client ( ) . pipeline ( )
143+ }
116144}
0 commit comments