OLD | NEW |
1 library server_code_lab.piratesApi.client; | 1 library server_code_lab.piratesApi.client; |
2 | 2 |
3 import 'dart:core' as core; | 3 import 'dart:core' as core; |
4 import 'dart:collection' as collection; | 4 import 'dart:collection' as collection; |
5 import 'dart:async' as async; | 5 import 'dart:async' as async; |
6 import 'dart:convert' as convert; | 6 import 'dart:convert' as convert; |
7 | 7 |
8 import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' | 8 import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; |
9 as commons; | |
10 import 'package:crypto/crypto.dart' as crypto; | 9 import 'package:crypto/crypto.dart' as crypto; |
11 import 'package:http/http.dart' as http; | 10 import 'package:http/http.dart' as http; |
12 import 'package:server_code_lab/common/messages.dart'; | 11 import 'package:server_code_lab/common/messages.dart'; |
13 export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' | 12 export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show |
14 show ApiRequestError, DetailedApiRequestError; | 13 ApiRequestError, DetailedApiRequestError; |
15 | 14 |
16 const core.String USER_AGENT = 'dart-api-client piratesApi/v1'; | 15 const core.String USER_AGENT = 'dart-api-client piratesApi/v1'; |
17 | 16 |
18 class PiratesApi { | 17 class PiratesApi { |
| 18 |
19 final commons.ApiRequester _requester; | 19 final commons.ApiRequester _requester; |
20 | 20 |
21 PiratesApi(http.Client client, | 21 PiratesApi(http.Client client, {core.String rootUrl: "http://localhost:9090/",
core.String servicePath: "piratesApi/v1/"}) : |
22 {core.String rootUrl: "http://localhost:9090/", | 22 _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_A
GENT); |
23 core.String servicePath: "piratesApi/v1/"}) | |
24 : _requester = new commons.ApiRequester( | |
25 client, rootUrl, servicePath, USER_AGENT); | |
26 | 23 |
27 /** | 24 /** |
28 * [request] - The metadata request object. | 25 * Request parameters: |
29 * | 26 * |
30 * Request parameters: | 27 * [name] - Path parameter: 'name'. |
| 28 * |
| 29 * [appellation] - Path parameter: 'appellation'. |
31 * | 30 * |
32 * Completes with a [Pirate]. | 31 * Completes with a [Pirate]. |
33 * | 32 * |
34 * Completes with a [commons.ApiRequestError] if the API endpoint returned an | 33 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
35 * error. | 34 * error. |
36 * | 35 * |
37 * If the used [http.Client] completes with an error when making a REST call, | 36 * If the used [http.Client] completes with an error when making a REST call, |
38 * this method will complete with the same error. | 37 * this method will complete with the same error. |
39 */ | 38 */ |
40 async.Future<Pirate> addPirate(Pirate request) { | 39 async.Future<Pirate> firePirate(core.String name, core.String appellation) { |
41 var _url = null; | 40 var _url = null; |
42 var _queryParams = new core.Map(); | 41 var _queryParams = new core.Map(); |
43 var _uploadMedia = null; | 42 var _uploadMedia = null; |
44 var _uploadOptions = null; | 43 var _uploadOptions = null; |
45 var _downloadOptions = commons.DownloadOptions.Metadata; | 44 var _downloadOptions = commons.DownloadOptions.Metadata; |
46 var _body = null; | 45 var _body = null; |
47 | 46 |
48 if (request != null) { | 47 if (name == null) { |
49 _body = convert.JSON.encode(PirateFactory.toJson(request)); | 48 throw new core.ArgumentError("Parameter name is required."); |
| 49 } |
| 50 if (appellation == null) { |
| 51 throw new core.ArgumentError("Parameter appellation is required."); |
50 } | 52 } |
51 | 53 |
52 _url = 'pirate'; | |
53 | 54 |
54 var _response = _requester.request(_url, "POST", | 55 _url = 'pirate/' + commons.Escaper.ecapeVariable('$name') + '/the/' + common
s.Escaper.ecapeVariable('$appellation'); |
55 body: _body, | 56 |
56 queryParams: _queryParams, | 57 var _response = _requester.request(_url, |
57 uploadOptions: _uploadOptions, | 58 "DELETE", |
58 uploadMedia: _uploadMedia, | 59 body: _body, |
59 downloadOptions: _downloadOptions); | 60 queryParams: _queryParams, |
| 61 uploadOptions: _uploadOptions, |
| 62 uploadMedia: _uploadMedia, |
| 63 downloadOptions: _downloadOptions); |
60 return _response.then((data) => PirateFactory.fromJson(data)); | 64 return _response.then((data) => PirateFactory.fromJson(data)); |
61 } | 65 } |
62 | 66 |
63 /** | 67 /** |
| 68 * [request] - The metadata request object. |
| 69 * |
64 * Request parameters: | 70 * Request parameters: |
65 * | 71 * |
66 * [name] - Path parameter: 'name'. | |
67 * | |
68 * [appellation] - Path parameter: 'appellation'. | |
69 * | |
70 * Completes with a [Pirate]. | 72 * Completes with a [Pirate]. |
71 * | 73 * |
72 * Completes with a [commons.ApiRequestError] if the API endpoint returned an | 74 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
73 * error. | 75 * error. |
74 * | 76 * |
75 * If the used [http.Client] completes with an error when making a REST call, | 77 * If the used [http.Client] completes with an error when making a REST call, |
76 * this method will complete with the same error. | 78 * this method will complete with the same error. |
77 */ | 79 */ |
78 async.Future<Pirate> killPirate( | 80 async.Future<Pirate> hirePirate(Pirate request) { |
79 core.String name, core.String appellation) { | |
80 var _url = null; | 81 var _url = null; |
81 var _queryParams = new core.Map(); | 82 var _queryParams = new core.Map(); |
82 var _uploadMedia = null; | 83 var _uploadMedia = null; |
83 var _uploadOptions = null; | 84 var _uploadOptions = null; |
84 var _downloadOptions = commons.DownloadOptions.Metadata; | 85 var _downloadOptions = commons.DownloadOptions.Metadata; |
85 var _body = null; | 86 var _body = null; |
86 | 87 |
87 if (name == null) { | 88 if (request != null) { |
88 throw new core.ArgumentError("Parameter name is required."); | 89 _body = convert.JSON.encode(PirateFactory.toJson(request)); |
89 } | |
90 if (appellation == null) { | |
91 throw new core.ArgumentError( | |
92 "Parameter appellation is required."); | |
93 } | 90 } |
94 | 91 |
95 _url = 'pirate/' + | |
96 commons.Escaper.ecapeVariable('$name') + | |
97 '/the/' + | |
98 commons.Escaper.ecapeVariable('$appellation'); | |
99 | 92 |
100 var _response = _requester.request(_url, "DELETE", | 93 _url = 'pirate'; |
101 body: _body, | 94 |
102 queryParams: _queryParams, | 95 var _response = _requester.request(_url, |
103 uploadOptions: _uploadOptions, | 96 "POST", |
104 uploadMedia: _uploadMedia, | 97 body: _body, |
105 downloadOptions: _downloadOptions); | 98 queryParams: _queryParams, |
| 99 uploadOptions: _uploadOptions, |
| 100 uploadMedia: _uploadMedia, |
| 101 downloadOptions: _downloadOptions); |
106 return _response.then((data) => PirateFactory.fromJson(data)); | 102 return _response.then((data) => PirateFactory.fromJson(data)); |
107 } | 103 } |
108 | 104 |
109 /** | 105 /** |
110 * Request parameters: | 106 * Request parameters: |
111 * | 107 * |
112 * Completes with a [core.List<Pirate>]. | 108 * Completes with a [core.List<Pirate>]. |
113 * | 109 * |
114 * Completes with a [commons.ApiRequestError] if the API endpoint returned an | 110 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
115 * error. | 111 * error. |
116 * | 112 * |
117 * If the used [http.Client] completes with an error when making a REST call, | 113 * If the used [http.Client] completes with an error when making a REST call, |
118 * this method will complete with the same error. | 114 * this method will complete with the same error. |
119 */ | 115 */ |
120 async.Future<core.List<Pirate>> listPirates() { | 116 async.Future<core.List<Pirate>> listPirates() { |
121 var _url = null; | 117 var _url = null; |
122 var _queryParams = new core.Map(); | 118 var _queryParams = new core.Map(); |
123 var _uploadMedia = null; | 119 var _uploadMedia = null; |
124 var _uploadOptions = null; | 120 var _uploadOptions = null; |
125 var _downloadOptions = commons.DownloadOptions.Metadata; | 121 var _downloadOptions = commons.DownloadOptions.Metadata; |
126 var _body = null; | 122 var _body = null; |
127 | 123 |
| 124 |
| 125 |
128 _url = 'pirates'; | 126 _url = 'pirates'; |
129 | 127 |
130 var _response = _requester.request(_url, "GET", | 128 var _response = _requester.request(_url, |
131 body: _body, | 129 "GET", |
132 queryParams: _queryParams, | 130 body: _body, |
133 uploadOptions: _uploadOptions, | 131 queryParams: _queryParams, |
134 uploadMedia: _uploadMedia, | 132 uploadOptions: _uploadOptions, |
135 downloadOptions: _downloadOptions); | 133 uploadMedia: _uploadMedia, |
136 return _response.then((data) => | 134 downloadOptions: _downloadOptions); |
137 data.map((value) => PirateFactory.fromJson(value)).toList()); | 135 return _response.then((data) => data.map((value) => PirateFactory.fromJson(v
alue)).toList()); |
138 } | 136 } |
139 | 137 |
140 /** | 138 /** |
141 * Request parameters: | 139 * Request parameters: |
142 * | 140 * |
143 * Completes with a [core.Map<core.String, core.List<core.String>>]. | 141 * Completes with a [core.Map<core.String, core.List<core.String>>]. |
144 * | 142 * |
145 * Completes with a [commons.ApiRequestError] if the API endpoint returned an | 143 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
146 * error. | 144 * error. |
147 * | 145 * |
148 * If the used [http.Client] completes with an error when making a REST call, | 146 * If the used [http.Client] completes with an error when making a REST call, |
149 * this method will complete with the same error. | 147 * this method will complete with the same error. |
150 */ | 148 */ |
151 async.Future<core.Map<core.String, core.List<core.String>>> properPirates() { | 149 async.Future<core.Map<core.String, core.List<core.String>>> properPirates() { |
152 var _url = null; | 150 var _url = null; |
153 var _queryParams = new core.Map(); | 151 var _queryParams = new core.Map(); |
154 var _uploadMedia = null; | 152 var _uploadMedia = null; |
155 var _uploadOptions = null; | 153 var _uploadOptions = null; |
156 var _downloadOptions = commons.DownloadOptions.Metadata; | 154 var _downloadOptions = commons.DownloadOptions.Metadata; |
157 var _body = null; | 155 var _body = null; |
158 | 156 |
| 157 |
| 158 |
159 _url = 'proper/pirates'; | 159 _url = 'proper/pirates'; |
160 | 160 |
161 var _response = _requester.request(_url, "GET", | 161 var _response = _requester.request(_url, |
162 body: _body, | 162 "GET", |
163 queryParams: _queryParams, | 163 body: _body, |
164 uploadOptions: _uploadOptions, | 164 queryParams: _queryParams, |
165 uploadMedia: _uploadMedia, | 165 uploadOptions: _uploadOptions, |
166 downloadOptions: _downloadOptions); | 166 uploadMedia: _uploadMedia, |
| 167 downloadOptions: _downloadOptions); |
167 return _response.then((data) => data); | 168 return _response.then((data) => data); |
168 } | 169 } |
169 | 170 |
170 /** | 171 /** |
171 * Request parameters: | 172 * Request parameters: |
172 * | 173 * |
173 * Completes with a [Pirate]. | 174 * Completes with a [Pirate]. |
174 * | 175 * |
175 * Completes with a [commons.ApiRequestError] if the API endpoint returned an | 176 * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
176 * error. | 177 * error. |
177 * | 178 * |
178 * If the used [http.Client] completes with an error when making a REST call, | 179 * If the used [http.Client] completes with an error when making a REST call, |
179 * this method will complete with the same error. | 180 * this method will complete with the same error. |
180 */ | 181 */ |
181 async.Future<Pirate> shanghaiAPirate() { | 182 async.Future<Pirate> shanghaiAPirate() { |
182 var _url = null; | 183 var _url = null; |
183 var _queryParams = new core.Map(); | 184 var _queryParams = new core.Map(); |
184 var _uploadMedia = null; | 185 var _uploadMedia = null; |
185 var _uploadOptions = null; | 186 var _uploadOptions = null; |
186 var _downloadOptions = commons.DownloadOptions.Metadata; | 187 var _downloadOptions = commons.DownloadOptions.Metadata; |
187 var _body = null; | 188 var _body = null; |
188 | 189 |
| 190 |
| 191 |
189 _url = 'shanghai'; | 192 _url = 'shanghai'; |
190 | 193 |
191 var _response = _requester.request(_url, "GET", | 194 var _response = _requester.request(_url, |
192 body: _body, | 195 "GET", |
193 queryParams: _queryParams, | 196 body: _body, |
194 uploadOptions: _uploadOptions, | 197 queryParams: _queryParams, |
195 uploadMedia: _uploadMedia, | 198 uploadOptions: _uploadOptions, |
196 downloadOptions: _downloadOptions); | 199 uploadMedia: _uploadMedia, |
| 200 downloadOptions: _downloadOptions); |
197 return _response.then((data) => PirateFactory.fromJson(data)); | 201 return _response.then((data) => PirateFactory.fromJson(data)); |
198 } | 202 } |
| 203 |
199 } | 204 } |
200 | 205 |
| 206 |
| 207 |
201 class PirateFactory { | 208 class PirateFactory { |
202 static Pirate fromJson(core.Map _json) { | 209 static Pirate fromJson(core.Map _json) { |
203 var message = new Pirate(); | 210 var message = new Pirate(); |
204 if (_json.containsKey("appellation")) { | 211 if (_json.containsKey("appellation")) { |
205 message.appellation = _json["appellation"]; | 212 message.appellation = _json["appellation"]; |
206 } | 213 } |
207 if (_json.containsKey("name")) { | 214 if (_json.containsKey("name")) { |
208 message.name = _json["name"]; | 215 message.name = _json["name"]; |
209 } | 216 } |
210 return message; | 217 return message; |
211 } | 218 } |
212 | 219 |
213 static core.Map toJson(Pirate message) { | 220 static core.Map toJson(Pirate message) { |
214 var _json = new core.Map(); | 221 var _json = new core.Map(); |
215 if (message.appellation != null) { | 222 if (message.appellation != null) { |
216 _json["appellation"] = message.appellation; | 223 _json["appellation"] = message.appellation; |
217 } | 224 } |
218 if (message.name != null) { | 225 if (message.name != null) { |
219 _json["name"] = message.name; | 226 _json["name"] = message.name; |
220 } | 227 } |
221 return _json; | 228 return _json; |
222 } | 229 } |
223 } | 230 } |
| 231 |
| 232 |
OLD | NEW |