From 2756f553c68082342a784ef716c62da6cea6f3ca Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 22 Feb 2019 11:46:58 +0900 Subject: Improve error handling of API (#4345) * wip * wip * wip * Update attached_notes.ts * wip * Refactor * wip * wip * wip * wip * wip * wip * wip * wip * Update call.ts * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * :v: * Fix --- src/server/api/error.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/server/api/error.ts (limited to 'src/server/api/error.ts') diff --git a/src/server/api/error.ts b/src/server/api/error.ts new file mode 100644 index 0000000000..6b5c44cac2 --- /dev/null +++ b/src/server/api/error.ts @@ -0,0 +1,23 @@ +export class ApiError extends Error { + public message: string; + public code: string; + public id: string; + public kind: string; + public info?: any; + + constructor(e?: { message: string, code: string, id: string, kind?: 'client' | 'server' }, info?: any) { + if (e == null) e = { + message: 'Internal error occurred. Please contact us if the error persists.', + code: 'INTERNAL_ERROR', + id: '5d37dbcb-891e-41ca-a3d6-e690c97775ac', + kind: 'server' + }; + + super(e.message); + this.message = e.message; + this.code = e.code; + this.id = e.id; + this.kind = e.kind || 'client'; + this.info = info; + } +} -- cgit v1.2.3-freya