@@ -199,7 +199,51 @@ func (e *pairEndpoint) HandleGetPairData(w http.ResponseWriter, r *http.Request)
199
199
v := r .URL .Query ()
200
200
baseToken := v .Get ("baseToken" )
201
201
quoteToken := v .Get ("quoteToken" )
202
+ exact := v .Get ("exact" )
203
+ simple := v .Get ("simple" )
202
204
205
+ if simple == "true" && exact == "true" {
206
+ httputils .WriteError (w , http .StatusBadRequest , "'simple' and 'exact' param can not both be true" )
207
+ return
208
+ }
209
+
210
+ //Return simplified version of token pair data
211
+ if baseToken == "" && quoteToken == "" && simple == "true" {
212
+ res , err := e .pairService .GetAllSimplifiedTokenPairData ()
213
+ if err != nil {
214
+ logger .Error (err )
215
+ httputils .WriteError (w , http .StatusInternalServerError , "" )
216
+ return
217
+ }
218
+
219
+ if res == nil {
220
+ httputils .WriteJSON (w , http .StatusOK , []types.Pair {})
221
+ return
222
+ }
223
+
224
+ httputils .WriteJSON (w , http .StatusOK , res )
225
+ return
226
+ }
227
+
228
+ //Return formal version of token pair data
229
+ if baseToken == "" && quoteToken == "" && exact == "true" {
230
+ res , err := e .pairService .GetAllExactTokenPairData ()
231
+ if err != nil {
232
+ logger .Error (err )
233
+ httputils .WriteError (w , http .StatusInternalServerError , "" )
234
+ return
235
+ }
236
+
237
+ if res == nil {
238
+ httputils .WriteJSON (w , http .StatusOK , []types.Pair {})
239
+ return
240
+ }
241
+
242
+ httputils .WriteJSON (w , http .StatusOK , res )
243
+ return
244
+ }
245
+
246
+ //Return the simplified version of token pair data
203
247
if baseToken == "" && quoteToken == "" {
204
248
res , err := e .pairService .GetAllTokenPairData ()
205
249
if err != nil {
0 commit comments