clients/src/cli/models/response.ts
Matt Gibson 8541027d40
Handle text response errors (#301)
* Parse text error response to json Message field

* Do not output object.toString, prefer object serialization
2021-03-09 10:58:17 -06:00

46 lines
1.3 KiB
TypeScript

import { BaseResponse } from './response/baseResponse';
export class Response {
static error(error: any, data?: any): Response {
const res = new Response();
res.success = false;
if (typeof (error) === 'string') {
res.message = error;
} else {
res.message = error.message != null ? error.message :
error.toString() === '[object Object]' ? JSON.stringify(error) : error.toString();
}
res.data = data;
return res;
}
static notFound(): Response {
return Response.error('Not found.');
}
static badRequest(message: string): Response {
return Response.error(message);
}
static multipleResults(ids: string[]): Response {
let msg = 'More than one result was found. Try getting a specific object by `id` instead. ' +
'The following objects were found:';
ids.forEach(id => {
msg += '\n' + id;
});
return Response.error(msg, ids);
}
static success(data?: BaseResponse): Response {
const res = new Response();
res.success = true;
res.data = data;
return res;
}
success: boolean;
message: string;
errorCode: number;
data: BaseResponse;
}