Built motion from commit c116dc8b.|2.6.30
[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 _0x15b8=['intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','fullname','User','findAll','catch','show','include','find','create','body','params','describe','uniqueid','updateWithRetry','No\x20such\x20report','../../components/parsers/qs','../../config/logger','api','../../mysqldb','promise-retry','status','json','offset','undefined','limit','count','set','Content-Range','update','then','destroy','end','error','stack','name','send','index','map','VoiceCallReport','rawAttributes','type','key','model','query','keys','filters'];(function(_0x1820f1,_0x1403e7){var _0x167aed=function(_0x4c89f5){while(--_0x4c89f5){_0x1820f1['push'](_0x1820f1['shift']());}};_0x167aed(++_0x1403e7);}(_0x15b8,0xcd));var _0x815b=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x15b8[_0x3dd15e];return _0x231fd0;};'use strict';var _=require('lodash');var qs=require(_0x815b('0x0'));var logger=require(_0x815b('0x1'))(_0x815b('0x2'));var db=require(_0x815b('0x3'))['db'];const promiseRetry=require(_0x815b('0x4'));function respondWithResult(_0x4ba1a8,_0x39d019){_0x39d019=_0x39d019||0xc8;return function(_0x25985a){if(_0x25985a){return _0x4ba1a8[_0x815b('0x5')](_0x39d019)[_0x815b('0x6')](_0x25985a);}};}function respondWithFilteredResult(_0x128463,_0x37a503){return function(_0x581869){if(_0x581869){var _0x1e9fc0=typeof _0x37a503[_0x815b('0x7')]===_0x815b('0x8')&&typeof _0x37a503[_0x815b('0x9')]===_0x815b('0x8');var _0xfc3ec9=_0x581869[_0x815b('0xa')];var _0x221ce4=_0x1e9fc0?0x0:_0x37a503[_0x815b('0x7')];var _0x291da6=_0x1e9fc0?_0x581869[_0x815b('0xa')]:_0x37a503[_0x815b('0x7')]+_0x37a503[_0x815b('0x9')];var _0x2340c5;if(_0x291da6>=_0xfc3ec9){_0x291da6=_0xfc3ec9;_0x2340c5=0xc8;}else{_0x2340c5=0xce;}_0x128463[_0x815b('0x5')](_0x2340c5);return _0x128463[_0x815b('0xb')](_0x815b('0xc'),_0x221ce4+'-'+_0x291da6+'/'+_0xfc3ec9)[_0x815b('0x6')](_0x581869);}return null;};}function saveUpdates(_0x4d404f){return function(_0x4d134a){if(_0x4d134a){return _0x4d134a[_0x815b('0xd')](_0x4d404f)[_0x815b('0xe')](function(_0x512bc8){return _0x512bc8;});}return null;};}function removeEntity(_0x53453b){return function(_0x5c9f74){if(_0x5c9f74){return _0x5c9f74[_0x815b('0xf')]()['then'](function(){_0x53453b['status'](0xcc)[_0x815b('0x10')]();});}};}function handleEntityNotFound(_0xba812b){return function(_0x1f4aae){if(!_0x1f4aae){_0xba812b['sendStatus'](0x194);}return _0x1f4aae;};}function handleError(_0x495431,_0x14f14f){_0x14f14f=_0x14f14f||0x1f4;return function(_0xf2d146){logger[_0x815b('0x11')](_0xf2d146[_0x815b('0x12')]);if(_0xf2d146[_0x815b('0x13')]){delete _0xf2d146[_0x815b('0x13')];}_0x495431[_0x815b('0x5')](_0x14f14f)[_0x815b('0x14')](_0xf2d146);};}exports[_0x815b('0x15')]=function(_0x2fa2bd,_0x2ade43){var _0x385978={},_0x3daa0d={},_0x4cd48b={'count':0x0,'rows':[]};var _0x4313a9=_[_0x815b('0x16')](db[_0x815b('0x17')][_0x815b('0x18')],function(_0x3f710c){return{'name':_0x3f710c['fieldName'],'type':_0x3f710c[_0x815b('0x19')][_0x815b('0x1a')]};});_0x3daa0d[_0x815b('0x1b')]=_['map'](_0x4313a9,'name');_0x3daa0d[_0x815b('0x1c')]=_[_0x815b('0x1d')](_0x2fa2bd[_0x815b('0x1c')]);_0x3daa0d[_0x815b('0x1e')]=_[_0x815b('0x1f')](_0x3daa0d[_0x815b('0x1b')],_0x3daa0d[_0x815b('0x1c')]);_0x385978['attributes']=_['intersection'](_0x3daa0d[_0x815b('0x1b')],qs[_0x815b('0x20')](_0x2fa2bd[_0x815b('0x1c')][_0x815b('0x20')]));_0x385978[_0x815b('0x21')]=_0x385978[_0x815b('0x21')][_0x815b('0x22')]?_0x385978[_0x815b('0x21')]:_0x3daa0d['model'];if(!_0x2fa2bd[_0x815b('0x1c')][_0x815b('0x23')](_0x815b('0x24'))){_0x385978['limit']=qs[_0x815b('0x9')](_0x2fa2bd[_0x815b('0x1c')]['limit']);_0x385978[_0x815b('0x7')]=qs[_0x815b('0x7')](_0x2fa2bd[_0x815b('0x1c')][_0x815b('0x7')]);}_0x385978[_0x815b('0x25')]=qs[_0x815b('0x26')](_0x2fa2bd[_0x815b('0x1c')][_0x815b('0x26')]);_0x385978[_0x815b('0x27')]=qs[_0x815b('0x1e')](_['pick'](_0x2fa2bd[_0x815b('0x1c')],_0x3daa0d[_0x815b('0x1e')]),_0x4313a9);if(_0x2fa2bd[_0x815b('0x1c')][_0x815b('0x28')]){_0x385978[_0x815b('0x27')]=_[_0x815b('0x29')](_0x385978['where'],{'$or':_[_0x815b('0x16')](_0x4313a9,function(_0x24b181){if(_0x24b181[_0x815b('0x19')]!==_0x815b('0x2a')){var _0xc2b279={};_0xc2b279[_0x24b181['name']]={'$like':'%'+_0x2fa2bd[_0x815b('0x1c')]['filter']+'%'};return _0xc2b279;}})});}_0x385978=_[_0x815b('0x29')]({},_0x385978,_0x2fa2bd[_0x815b('0x2b')]);var _0x3338cc={'where':_0x385978['where']};return db[_0x815b('0x17')]['count'](_0x3338cc)['then'](function(_0x4796ee){_0x4cd48b[_0x815b('0xa')]=_0x4796ee;if(_0x2fa2bd['query'][_0x815b('0x2c')]){_0x385978['include']=[{'attributes':['id',_0x815b('0x13'),_0x815b('0x2d'),'alias'],'model':db[_0x815b('0x2e')],'as':'User'}];}return db['VoiceCallReport'][_0x815b('0x2f')](_0x385978);})[_0x815b('0xe')](function(_0x39585c){_0x4cd48b['rows']=_0x39585c;return _0x4cd48b;})[_0x815b('0xe')](respondWithFilteredResult(_0x2ade43,_0x385978))[_0x815b('0x30')](handleError(_0x2ade43,null));};exports[_0x815b('0x31')]=function(_0x531760,_0x1b434f){var _0x8b27b4={'raw':!![],'where':{'id':_0x531760['params']['id']}},_0x271581={};_0x271581[_0x815b('0x1b')]=_[_0x815b('0x1d')](db[_0x815b('0x17')][_0x815b('0x18')]);_0x271581[_0x815b('0x1c')]=_['keys'](_0x531760['query']);_0x271581[_0x815b('0x1e')]=_['intersection'](_0x271581['model'],_0x271581[_0x815b('0x1c')]);_0x8b27b4[_0x815b('0x21')]=_['intersection'](_0x271581[_0x815b('0x1b')],qs[_0x815b('0x20')](_0x531760[_0x815b('0x1c')][_0x815b('0x20')]));_0x8b27b4[_0x815b('0x21')]=_0x8b27b4[_0x815b('0x21')][_0x815b('0x22')]?_0x8b27b4['attributes']:_0x271581[_0x815b('0x1b')];if(_0x531760[_0x815b('0x1c')][_0x815b('0x2c')]){_0x8b27b4[_0x815b('0x32')]=[{'all':!![]}];}_0x8b27b4=_[_0x815b('0x29')]({},_0x8b27b4,_0x531760[_0x815b('0x2b')]);return db['VoiceCallReport'][_0x815b('0x33')](_0x8b27b4)[_0x815b('0xe')](handleEntityNotFound(_0x1b434f,null))[_0x815b('0xe')](respondWithResult(_0x1b434f,null))[_0x815b('0x30')](handleError(_0x1b434f,null));};exports[_0x815b('0x34')]=function(_0x496eb5,_0x390e83){return db[_0x815b('0x17')][_0x815b('0x34')](_0x496eb5[_0x815b('0x35')],{})[_0x815b('0xe')](respondWithResult(_0x390e83,0xc9))['catch'](handleError(_0x390e83,null));};exports[_0x815b('0xf')]=function(_0x26c98c,_0x40c4e8){return db[_0x815b('0x17')][_0x815b('0x33')]({'where':{'id':_0x26c98c[_0x815b('0x36')]['id']}})[_0x815b('0xe')](handleEntityNotFound(_0x40c4e8,null))['then'](removeEntity(_0x40c4e8,null))[_0x815b('0x30')](handleError(_0x40c4e8,null));};exports['describe']=function(_0x1a07bf,_0x250e59){return db[_0x815b('0x17')][_0x815b('0x37')]()[_0x815b('0xe')](respondWithResult(_0x250e59,null))[_0x815b('0x30')](handleError(_0x250e59,null));};function findForUpdate(_0x45e71d){return db['VoiceCallReport'][_0x815b('0x33')]({'where':{'uniqueid':_0x45e71d[_0x815b('0x36')]['id'],'UserId':{'$or':[null,_0x45e71d['user']['id']]}}});}exports[_0x815b('0xd')]=function(_0x3505aa,_0x2b3833){if(_0x3505aa[_0x815b('0x35')][_0x815b('0x38')]){delete _0x3505aa[_0x815b('0x35')][_0x815b('0x38')];}return findForUpdate(_0x3505aa)[_0x815b('0xe')](handleEntityNotFound(_0x2b3833,null))['then'](saveUpdates(_0x3505aa[_0x815b('0x35')],null))[_0x815b('0xe')](respondWithResult(_0x2b3833,null))[_0x815b('0x30')](handleError(_0x2b3833,null));};exports[_0x815b('0x39')]=function(_0x498acb,_0x279445,_0x226eff){if(_0x498acb[_0x815b('0x35')][_0x815b('0x38')]){delete _0x498acb[_0x815b('0x35')][_0x815b('0x38')];}promiseRetry(function(_0x58ac9b){return findForUpdate(_0x498acb)[_0x815b('0xe')](function(_0x180677){if(_0x180677!==null){return _0x180677;}else{_0x58ac9b(new Error(_0x815b('0x3a')));}});},{'retries':0x4,'minTimeout':0xfa})['then'](function(_0x5cd7d8){if(!_0x5cd7d8){return new Promise(function(_0x56e5cb){_0x56e5cb(handleEntityNotFound(_0x279445)());});}else{return _0x5cd7d8['update'](_0x498acb[_0x815b('0x35')])['then'](function(_0x3b02ad){return respondWithResult(_0x279445)(_0x3b02ad);});}},function(){handleEntityNotFound(_0x279445)();});};