Corrections to parameters handling and sorting.

This commit is contained in:
softsimon
2020-09-12 01:26:51 +07:00
parent 88e5b03430
commit 98cc81c53d
3 changed files with 80 additions and 53 deletions

View File

@@ -277,7 +277,7 @@ class Routes {
},
'direction': {
required: false,
types: ['BUY', 'SELL']
types: ['buy', 'sell']
},
};
@@ -287,7 +287,7 @@ class Routes {
return;
}
const result = bisqMarket.getCurrencies(p.type);
const result = bisqMarket.getOffers(p.market, p.direction);
if (result) {
res.json(result);
} else {
@@ -295,30 +295,6 @@ class Routes {
}
}
private parseRequestParameters(req: Request, params: RequiredSpec): { [name: string]: any; } {
const final = {};
for (const i in params) {
if (params.hasOwnProperty(i)) {
if (params[i].required && !req.query[i]) {
return { error: i + ' parameter missing'};
}
if (typeof req.query[i] === 'string') {
if (params[i].types.indexOf('@number') > -1) {
const number = parseInt((req.query[i] || '0').toString(), 10);
final[i] = number;
} else if (params[i].types.indexOf('@string') > -1) {
final[i] = req.query[i];
} else if (params[i].types.indexOf((req.query[i] || '').toString()) > -1) {
final[i] = req.query[i];
} else {
return { error: i + ' parameter invalid'};
}
}
}
}
return final;
}
public getBisqMarketVolumes(req: Request, res: Response) {
const constraints: RequiredSpec = {
'market': {
@@ -409,6 +385,31 @@ class Routes {
}
}
private parseRequestParameters(req: Request, params: RequiredSpec): { [name: string]: any; } {
const final = {};
for (const i in params) {
if (params.hasOwnProperty(i)) {
if (params[i].required && !req.query[i]) {
return { error: i + ' parameter missing'};
}
if (typeof req.query[i] === 'string') {
const str = (req.query[i] || '').toString().toLowerCase();
if (params[i].types.indexOf('@number') > -1) {
const number = parseInt((str).toString(), 10);
final[i] = number;
} else if (params[i].types.indexOf('@string') > -1) {
final[i] = str;
} else if (params[i].types.indexOf(str) > -1) {
final[i] = str;
} else {
return { error: i + ' parameter invalid'};
}
}
}
}
return final;
}
private getBisqMarketErrorResponse(message: string): MarketsApiError {
return {
'success': 0,