1
+ use crate :: operations:: * ;
1
2
use crate :: requests;
2
3
use crate :: resources:: ResourceType ;
3
4
use crate :: ReadonlyString ;
4
5
use azure_core:: HttpClient ;
6
+ use azure_core:: Pipeline ;
7
+ use azure_core:: Request ;
8
+ use bytes:: Bytes ;
5
9
6
10
use super :: * ;
7
11
@@ -50,28 +54,36 @@ impl AttachmentClient {
50
54
}
51
55
52
56
/// 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 ( ) )
55
59
}
56
60
57
61
/// 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 ( ) )
60
64
}
61
65
62
66
/// 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 )
65
69
}
66
70
67
71
/// 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 )
70
74
}
71
75
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 ( ) )
75
87
}
76
88
77
89
/// Initiate a request to replace an attachment.
@@ -84,16 +96,15 @@ impl AttachmentClient {
84
96
self . cosmos_client ( ) . http_client ( )
85
97
}
86
98
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 (
89
101
& format ! (
90
102
"dbs/{}/colls/{}/docs/{}/attachments" ,
91
103
self . database_client( ) . database_name( ) ,
92
104
self . collection_client( ) . collection_name( ) ,
93
105
self . document_client( ) . document_name( ) ,
94
106
) ,
95
107
method,
96
- ResourceType :: Attachments ,
97
108
)
98
109
}
99
110
@@ -113,4 +124,21 @@ impl AttachmentClient {
113
124
ResourceType :: Attachments ,
114
125
)
115
126
}
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
+ }
116
144
}
0 commit comments