API: Better error response
This commit is contained in:
parent
f8a7f9378a
commit
02b47f963c
|
@ -62,7 +62,15 @@ export default (endpoint: string, user: IUser, app: IApp, data: any, file?: any)
|
||||||
console.warn(`SLOW API CALL DETECTED: ${ep.name} (${time}ms)`);
|
console.warn(`SLOW API CALL DETECTED: ${ep.name} (${time}ms)`);
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
rej(e.message);
|
if (e.name == 'INVALID_PARAM') {
|
||||||
|
rej({
|
||||||
|
code: e.name,
|
||||||
|
param: e.param,
|
||||||
|
reason: e.message
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
rej(e);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,9 @@ export default function <T extends Defs>(defs: T, params: any): [{
|
||||||
Object.keys(defs.params).some(k => {
|
Object.keys(defs.params).some(k => {
|
||||||
const [v, e] = defs.params[k].get(params[k]);
|
const [v, e] = defs.params[k].get(params[k]);
|
||||||
if (e) {
|
if (e) {
|
||||||
err = e;
|
err = new Error(e.message);
|
||||||
|
err.name = 'INVALID_PARAM';
|
||||||
|
(err as any).param = k;
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
if (v === undefined && defs.params[k].data.default) {
|
if (v === undefined && defs.params[k].data.default) {
|
||||||
|
|
Loading…
Reference in a new issue