4deb6bef1239221881d9ab97b95e33cf98f57aaf
[motion2.git] / server / api / voiceCallReport / voiceCallReport.controller.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 _0x1f2d=['query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','filters','filter','options','includeAll','include','fullname','alias','User','rows','catch','show','params','merge','create','destroy','describe','find','body','updateWithRetry','uniqueid','No\x20such\x20report','lodash','../../components/parsers/qs','../../config/logger','api','promise-retry','status','json','offset','undefined','limit','count','set','Content-Range','update','then','sendStatus','error','stack','name','send','index','map','VoiceCallReport','rawAttributes','fieldName','type','key','model'];(function(_0x178856,_0x41f045){var _0x3c7fe7=function(_0x4d9ce4){while(--_0x4d9ce4){_0x178856['push'](_0x178856['shift']());}};_0x3c7fe7(++_0x41f045);}(_0x1f2d,0x1c4));var _0xd1f2=function(_0x708c47,_0x6eaa1f){_0x708c47=_0x708c47-0x0;var _0x52a470=_0x1f2d[_0x708c47];return _0x52a470;};'use strict';var _=require(_0xd1f2('0x0'));var qs=require(_0xd1f2('0x1'));var logger=require(_0xd1f2('0x2'))(_0xd1f2('0x3'));var db=require('../../mysqldb')['db'];const promiseRetry=require(_0xd1f2('0x4'));function respondWithResult(_0xd7780e,_0x13626e){_0x13626e=_0x13626e||0xc8;return function(_0xd4f928){if(_0xd4f928){return _0xd7780e[_0xd1f2('0x5')](_0x13626e)[_0xd1f2('0x6')](_0xd4f928);}};}function respondWithFilteredResult(_0x1857ac,_0x185be2){return function(_0x3e318d){if(_0x3e318d){var _0x3a30cd=typeof _0x185be2[_0xd1f2('0x7')]===_0xd1f2('0x8')&&typeof _0x185be2[_0xd1f2('0x9')]===_0xd1f2('0x8');var _0x2097cf=_0x3e318d[_0xd1f2('0xa')];var _0x42014c=_0x3a30cd?0x0:_0x185be2['offset'];var _0x309e6a=_0x3a30cd?_0x3e318d[_0xd1f2('0xa')]:_0x185be2[_0xd1f2('0x7')]+_0x185be2[_0xd1f2('0x9')];var _0x48f3d7;if(_0x309e6a>=_0x2097cf){_0x309e6a=_0x2097cf;_0x48f3d7=0xc8;}else{_0x48f3d7=0xce;}_0x1857ac[_0xd1f2('0x5')](_0x48f3d7);return _0x1857ac[_0xd1f2('0xb')](_0xd1f2('0xc'),_0x42014c+'-'+_0x309e6a+'/'+_0x2097cf)['json'](_0x3e318d);}return null;};}function saveUpdates(_0x431d75){return function(_0x347eba){if(_0x347eba){return _0x347eba[_0xd1f2('0xd')](_0x431d75)[_0xd1f2('0xe')](function(_0x16421a){return _0x16421a;});}return null;};}function removeEntity(_0x4115d4){return function(_0x2def2b){if(_0x2def2b){return _0x2def2b['destroy']()[_0xd1f2('0xe')](function(){_0x4115d4['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x487bac){return function(_0x19eb09){if(!_0x19eb09){_0x487bac[_0xd1f2('0xf')](0x194);}return _0x19eb09;};}function handleError(_0x20d25d,_0x1bd6ac){_0x1bd6ac=_0x1bd6ac||0x1f4;return function(_0x2b4c50){logger[_0xd1f2('0x10')](_0x2b4c50[_0xd1f2('0x11')]);if(_0x2b4c50['name']){delete _0x2b4c50[_0xd1f2('0x12')];}_0x20d25d[_0xd1f2('0x5')](_0x1bd6ac)[_0xd1f2('0x13')](_0x2b4c50);};}exports[_0xd1f2('0x14')]=function(_0x1f05f4,_0x1a3332){var _0x426854={},_0x5256a4={},_0x12343a={'count':0x0,'rows':[]};var _0x719d93=_[_0xd1f2('0x15')](db[_0xd1f2('0x16')][_0xd1f2('0x17')],function(_0x40b992){return{'name':_0x40b992[_0xd1f2('0x18')],'type':_0x40b992[_0xd1f2('0x19')][_0xd1f2('0x1a')]};});_0x5256a4[_0xd1f2('0x1b')]=_[_0xd1f2('0x15')](_0x719d93,'name');_0x5256a4[_0xd1f2('0x1c')]=_[_0xd1f2('0x1d')](_0x1f05f4['query']);_0x5256a4['filters']=_[_0xd1f2('0x1e')](_0x5256a4[_0xd1f2('0x1b')],_0x5256a4['query']);_0x426854['attributes']=_['intersection'](_0x5256a4['model'],qs['fields'](_0x1f05f4[_0xd1f2('0x1c')][_0xd1f2('0x1f')]));_0x426854[_0xd1f2('0x20')]=_0x426854[_0xd1f2('0x20')][_0xd1f2('0x21')]?_0x426854['attributes']:_0x5256a4[_0xd1f2('0x1b')];if(!_0x1f05f4[_0xd1f2('0x1c')][_0xd1f2('0x22')](_0xd1f2('0x23'))){_0x426854[_0xd1f2('0x9')]=qs[_0xd1f2('0x9')](_0x1f05f4[_0xd1f2('0x1c')][_0xd1f2('0x9')]);_0x426854[_0xd1f2('0x7')]=qs[_0xd1f2('0x7')](_0x1f05f4[_0xd1f2('0x1c')]['offset']);}_0x426854['order']=qs[_0xd1f2('0x24')](_0x1f05f4[_0xd1f2('0x1c')]['sort']);_0x426854[_0xd1f2('0x25')]=qs['filters'](_[_0xd1f2('0x26')](_0x1f05f4[_0xd1f2('0x1c')],_0x5256a4[_0xd1f2('0x27')]),_0x719d93);if(_0x1f05f4['query'][_0xd1f2('0x28')]){_0x426854['where']=_['merge'](_0x426854[_0xd1f2('0x25')],{'$or':_[_0xd1f2('0x15')](_0x719d93,function(_0x2c850d){if(_0x2c850d[_0xd1f2('0x19')]!=='VIRTUAL'){var _0x129873={};_0x129873[_0x2c850d['name']]={'$like':'%'+_0x1f05f4[_0xd1f2('0x1c')][_0xd1f2('0x28')]+'%'};return _0x129873;}})});}_0x426854=_['merge']({},_0x426854,_0x1f05f4[_0xd1f2('0x29')]);var _0x497c41={'where':_0x426854[_0xd1f2('0x25')]};return db[_0xd1f2('0x16')][_0xd1f2('0xa')](_0x497c41)[_0xd1f2('0xe')](function(_0x24e585){_0x12343a[_0xd1f2('0xa')]=_0x24e585;if(_0x1f05f4['query'][_0xd1f2('0x2a')]){_0x426854[_0xd1f2('0x2b')]=[{'attributes':['id',_0xd1f2('0x12'),_0xd1f2('0x2c'),_0xd1f2('0x2d')],'model':db['User'],'as':_0xd1f2('0x2e')}];}return db[_0xd1f2('0x16')]['findAll'](_0x426854);})[_0xd1f2('0xe')](function(_0x5b7e54){_0x12343a[_0xd1f2('0x2f')]=_0x5b7e54;return _0x12343a;})[_0xd1f2('0xe')](respondWithFilteredResult(_0x1a3332,_0x426854))[_0xd1f2('0x30')](handleError(_0x1a3332,null));};exports[_0xd1f2('0x31')]=function(_0x59c845,_0x3ab513){var _0x34d946={'raw':!![],'where':{'id':_0x59c845[_0xd1f2('0x32')]['id']}},_0x1ba824={};_0x1ba824[_0xd1f2('0x1b')]=_[_0xd1f2('0x1d')](db[_0xd1f2('0x16')]['rawAttributes']);_0x1ba824[_0xd1f2('0x1c')]=_['keys'](_0x59c845[_0xd1f2('0x1c')]);_0x1ba824[_0xd1f2('0x27')]=_[_0xd1f2('0x1e')](_0x1ba824['model'],_0x1ba824[_0xd1f2('0x1c')]);_0x34d946['attributes']=_[_0xd1f2('0x1e')](_0x1ba824[_0xd1f2('0x1b')],qs[_0xd1f2('0x1f')](_0x59c845[_0xd1f2('0x1c')][_0xd1f2('0x1f')]));_0x34d946['attributes']=_0x34d946[_0xd1f2('0x20')][_0xd1f2('0x21')]?_0x34d946['attributes']:_0x1ba824[_0xd1f2('0x1b')];if(_0x59c845['query'][_0xd1f2('0x2a')]){_0x34d946[_0xd1f2('0x2b')]=[{'all':!![]}];}_0x34d946=_[_0xd1f2('0x33')]({},_0x34d946,_0x59c845['options']);return db[_0xd1f2('0x16')]['find'](_0x34d946)[_0xd1f2('0xe')](handleEntityNotFound(_0x3ab513,null))[_0xd1f2('0xe')](respondWithResult(_0x3ab513,null))[_0xd1f2('0x30')](handleError(_0x3ab513,null));};exports[_0xd1f2('0x34')]=function(_0x4256b6,_0x1cca88){return db[_0xd1f2('0x16')][_0xd1f2('0x34')](_0x4256b6['body'],{})[_0xd1f2('0xe')](respondWithResult(_0x1cca88,0xc9))[_0xd1f2('0x30')](handleError(_0x1cca88,null));};exports[_0xd1f2('0x35')]=function(_0x19d1fd,_0x110711){return db[_0xd1f2('0x16')]['find']({'where':{'id':_0x19d1fd[_0xd1f2('0x32')]['id']}})[_0xd1f2('0xe')](handleEntityNotFound(_0x110711,null))[_0xd1f2('0xe')](removeEntity(_0x110711,null))['catch'](handleError(_0x110711,null));};exports[_0xd1f2('0x36')]=function(_0x46ac21,_0x5104a3){return db[_0xd1f2('0x16')][_0xd1f2('0x36')]()[_0xd1f2('0xe')](respondWithResult(_0x5104a3,null))['catch'](handleError(_0x5104a3,null));};function findForUpdate(_0x31af57){return db[_0xd1f2('0x16')][_0xd1f2('0x37')]({'where':{'uniqueid':_0x31af57[_0xd1f2('0x32')]['id'],'UserId':{'$or':[null,_0x31af57['user']['id']]}}});}exports[_0xd1f2('0xd')]=function(_0x35b98d,_0x5aae49){if(_0x35b98d[_0xd1f2('0x38')]['uniqueid']){delete _0x35b98d[_0xd1f2('0x38')]['uniqueid'];}return findForUpdate(_0x35b98d)[_0xd1f2('0xe')](handleEntityNotFound(_0x5aae49,null))[_0xd1f2('0xe')](saveUpdates(_0x35b98d[_0xd1f2('0x38')],null))[_0xd1f2('0xe')](respondWithResult(_0x5aae49,null))[_0xd1f2('0x30')](handleError(_0x5aae49,null));};exports[_0xd1f2('0x39')]=function(_0x5173e9,_0x239d92,_0x432dbc){if(_0x5173e9[_0xd1f2('0x38')][_0xd1f2('0x3a')]){delete _0x5173e9[_0xd1f2('0x38')]['uniqueid'];}promiseRetry(function(_0x2ed06c){return findForUpdate(_0x5173e9)[_0xd1f2('0xe')](function(_0x1d3a5d){if(_0x1d3a5d!==null){return _0x1d3a5d;}else{_0x2ed06c(new Error(_0xd1f2('0x3b')));}});},{'retries':0x4,'minTimeout':0xfa})[_0xd1f2('0xe')](function(_0x59d4cf){if(!_0x59d4cf){return new Promise(function(_0x3424c8){_0x3424c8(handleEntityNotFound(_0x239d92)());});}else{return _0x59d4cf[_0xd1f2('0xd')](_0x5173e9[_0xd1f2('0x38')])[_0xd1f2('0xe')](function(_0x23b429){return respondWithResult(_0x239d92)(_0x23b429);});}},function(){handleEntityNotFound(_0x239d92)();});};