Built motion from commit d1eab355.|2.6.28
[motion2.git] / server / errors / api.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x6b80=['message','Internal\x20Server\x20Error','name','Error','Bad\x20Request','inherits','Forbidden','Entity\x20not\x20found','Not\x20Found','Message\x20sent\x20outside\x20a\x20valid\x20interval','Out\x20Of\x20Interval','code','details','OutOfInterval','Resource\x20Conflict','Conflict','error','stack','statusMessage','status','send','exports','../config/logger','api'];(function(_0x5dfcdf,_0x285e69){var _0xd97fa1=function(_0x45c6fa){while(--_0x45c6fa){_0x5dfcdf['push'](_0x5dfcdf['shift']());}};_0xd97fa1(++_0x285e69);}(_0x6b80,0x14e));var _0x06b8=function(_0x3d1244,_0x156028){_0x3d1244=_0x3d1244-0x0;var _0x5d6372=_0x6b80[_0x3d1244];return _0x5d6372;};'use strict';var util=require('util');var logger=require(_0x06b8('0x0'))(_0x06b8('0x1'));var APIError=function(_0x33d5c6,_0x499205){this[_0x06b8('0x2')]=_0x33d5c6||_0x06b8('0x3');this[_0x06b8('0x4')]=_0x499205||_0x06b8('0x5');util['inherits'](APIError,Error);};var APIBadRequestError=function(_0x459a46){this['message']=_0x459a46||_0x06b8('0x6');this[_0x06b8('0x4')]='Bad\x20Request';util[_0x06b8('0x7')](APIBadRequestError,APIError);};var APIForbiddenError=function(_0x22dfe2){this[_0x06b8('0x2')]=_0x22dfe2||_0x06b8('0x8');this[_0x06b8('0x4')]=_0x06b8('0x8');util[_0x06b8('0x7')](APIForbiddenError,APIError);};var APINotFoundError=function(_0x5a30dd){this['message']=_0x5a30dd||_0x06b8('0x9');this[_0x06b8('0x4')]=_0x06b8('0xa');util['inherits'](APINotFoundError,APIError);};var APIOutOfIntervalError=function(_0x172baa){this[_0x06b8('0x2')]=_0x172baa||_0x06b8('0xb');this[_0x06b8('0x4')]=_0x06b8('0xc');this[_0x06b8('0xd')]=0x193;this[_0x06b8('0xe')]={'type':_0x06b8('0xf')};util[_0x06b8('0x7')](APIOutOfIntervalError,APIError);};var APIConflictError=function(_0x171b55){this[_0x06b8('0x2')]=_0x171b55||_0x06b8('0x10');this[_0x06b8('0x4')]=_0x06b8('0x11');util[_0x06b8('0x7')](APIBadRequestError,APIError);};function getStatusCode(_0x373931){switch(_0x373931){case _0x06b8('0x6'):return 0x190;case _0x06b8('0x8'),'Out\x20Of\x20Interval':return 0x193;case _0x06b8('0xa'):return 0x194;case _0x06b8('0x11'):return 0x199;default:return 0x1f4;}}function getCustomStatusMessage(_0x5ae20e){if(_0x5ae20e===_0x06b8('0xc'))return _0x5ae20e;return null;}function handleError(_0x27f3d8){return function(_0x2ad421){logger[_0x06b8('0x12')](_0x2ad421[_0x06b8('0x13')]);var _0x298ea2=getStatusCode(_0x2ad421[_0x06b8('0x4')]);var _0x4cad42=getCustomStatusMessage(_0x2ad421['name']);if(_0x2ad421[_0x06b8('0x4')]){delete _0x2ad421[_0x06b8('0x4')];}if(_0x4cad42){_0x27f3d8[_0x06b8('0x14')]=_0x4cad42;}return _0x27f3d8[_0x06b8('0x15')](_0x298ea2)[_0x06b8('0x16')](_0x2ad421);};}module[_0x06b8('0x17')]={'APIError':APIError,'APIBadRequestError':APIBadRequestError,'APIForbiddenError':APIForbiddenError,'APINotFoundError':APINotFoundError,'APIOutOfIntervalError':APIOutOfIntervalError,'APIConflict':APIConflictError,'handleError':handleError};