Built motion from commit 10af8726.|2.6.34
[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 _0x6691=['../../mysqldb','promise-retry','status','undefined','offset','count','limit','set','Content-Range','json','update','then','destroy','end','sendStatus','error','stack','name','index','VoiceCallReport','rawAttributes','fieldName','type','model','map','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','pick','where','merge','VIRTUAL','includeAll','include','fullname','alias','User','findAll','rows','catch','show','options','find','create','body','params','describe','user','uniqueid','updateWithRetry','lodash','../../components/parsers/qs','../../config/logger','api'];(function(_0xb77d0f,_0x14820c){var _0x5064b5=function(_0x3fdec9){while(--_0x3fdec9){_0xb77d0f['push'](_0xb77d0f['shift']());}};_0x5064b5(++_0x14820c);}(_0x6691,0x12d));var _0x1669=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x6691[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0x1669('0x0'));var qs=require(_0x1669('0x1'));var logger=require(_0x1669('0x2'))(_0x1669('0x3'));var db=require(_0x1669('0x4'))['db'];const promiseRetry=require(_0x1669('0x5'));function respondWithResult(_0x2da1c3,_0x455cbd){_0x455cbd=_0x455cbd||0xc8;return function(_0x19a3f5){if(_0x19a3f5){return _0x2da1c3[_0x1669('0x6')](_0x455cbd)['json'](_0x19a3f5);}};}function respondWithFilteredResult(_0x2a81ab,_0x1bf2c8){return function(_0x30f92c){if(_0x30f92c){var _0x348683=typeof _0x1bf2c8['offset']==='undefined'&&typeof _0x1bf2c8['limit']===_0x1669('0x7');var _0x562fe9=_0x30f92c['count'];var _0x51f7ef=_0x348683?0x0:_0x1bf2c8[_0x1669('0x8')];var _0x52b44f=_0x348683?_0x30f92c[_0x1669('0x9')]:_0x1bf2c8[_0x1669('0x8')]+_0x1bf2c8[_0x1669('0xa')];var _0x14907e;if(_0x52b44f>=_0x562fe9){_0x52b44f=_0x562fe9;_0x14907e=0xc8;}else{_0x14907e=0xce;}_0x2a81ab[_0x1669('0x6')](_0x14907e);return _0x2a81ab[_0x1669('0xb')](_0x1669('0xc'),_0x51f7ef+'-'+_0x52b44f+'/'+_0x562fe9)[_0x1669('0xd')](_0x30f92c);}return null;};}function saveUpdates(_0x13c117){return function(_0x46352e){if(_0x46352e){return _0x46352e[_0x1669('0xe')](_0x13c117)[_0x1669('0xf')](function(_0x3a484a){return _0x3a484a;});}return null;};}function removeEntity(_0x182520){return function(_0x804289){if(_0x804289){return _0x804289[_0x1669('0x10')]()[_0x1669('0xf')](function(){_0x182520[_0x1669('0x6')](0xcc)[_0x1669('0x11')]();});}};}function handleEntityNotFound(_0x318db1){return function(_0x14eb3e){if(!_0x14eb3e){_0x318db1[_0x1669('0x12')](0x194);}return _0x14eb3e;};}function handleError(_0x1f9ea6,_0x4d2f66){_0x4d2f66=_0x4d2f66||0x1f4;return function(_0x21a5d2){logger[_0x1669('0x13')](_0x21a5d2[_0x1669('0x14')]);if(_0x21a5d2[_0x1669('0x15')]){delete _0x21a5d2[_0x1669('0x15')];}_0x1f9ea6['status'](_0x4d2f66)['send'](_0x21a5d2);};}exports[_0x1669('0x16')]=function(_0x31600f,_0x238785){var _0x4fcf1c={},_0x214b8b={},_0x64edff={'count':0x0,'rows':[]};var _0x3bec8e=_['map'](db[_0x1669('0x17')][_0x1669('0x18')],function(_0x51297e){return{'name':_0x51297e[_0x1669('0x19')],'type':_0x51297e[_0x1669('0x1a')]['key']};});_0x214b8b[_0x1669('0x1b')]=_[_0x1669('0x1c')](_0x3bec8e,_0x1669('0x15'));_0x214b8b[_0x1669('0x1d')]=_[_0x1669('0x1e')](_0x31600f['query']);_0x214b8b[_0x1669('0x1f')]=_[_0x1669('0x20')](_0x214b8b[_0x1669('0x1b')],_0x214b8b['query']);_0x4fcf1c[_0x1669('0x21')]=_['intersection'](_0x214b8b['model'],qs[_0x1669('0x22')](_0x31600f['query'][_0x1669('0x22')]));_0x4fcf1c[_0x1669('0x21')]=_0x4fcf1c[_0x1669('0x21')][_0x1669('0x23')]?_0x4fcf1c[_0x1669('0x21')]:_0x214b8b[_0x1669('0x1b')];if(!_0x31600f[_0x1669('0x1d')]['hasOwnProperty'](_0x1669('0x24'))){_0x4fcf1c['limit']=qs[_0x1669('0xa')](_0x31600f[_0x1669('0x1d')]['limit']);_0x4fcf1c[_0x1669('0x8')]=qs['offset'](_0x31600f[_0x1669('0x1d')][_0x1669('0x8')]);}_0x4fcf1c[_0x1669('0x25')]=qs[_0x1669('0x26')](_0x31600f['query']['sort']);_0x4fcf1c['where']=qs[_0x1669('0x1f')](_[_0x1669('0x27')](_0x31600f[_0x1669('0x1d')],_0x214b8b[_0x1669('0x1f')]),_0x3bec8e);if(_0x31600f[_0x1669('0x1d')]['filter']){_0x4fcf1c[_0x1669('0x28')]=_[_0x1669('0x29')](_0x4fcf1c[_0x1669('0x28')],{'$or':_[_0x1669('0x1c')](_0x3bec8e,function(_0x345960){if(_0x345960[_0x1669('0x1a')]!==_0x1669('0x2a')){var _0x4414cd={};_0x4414cd[_0x345960['name']]={'$like':'%'+_0x31600f[_0x1669('0x1d')]['filter']+'%'};return _0x4414cd;}})});}_0x4fcf1c=_[_0x1669('0x29')]({},_0x4fcf1c,_0x31600f['options']);var _0x5846ec={'where':_0x4fcf1c[_0x1669('0x28')]};return db[_0x1669('0x17')][_0x1669('0x9')](_0x5846ec)[_0x1669('0xf')](function(_0xafbce1){_0x64edff[_0x1669('0x9')]=_0xafbce1;if(_0x31600f[_0x1669('0x1d')][_0x1669('0x2b')]){_0x4fcf1c[_0x1669('0x2c')]=[{'attributes':['id','name',_0x1669('0x2d'),_0x1669('0x2e')],'model':db[_0x1669('0x2f')],'as':_0x1669('0x2f')}];}return db[_0x1669('0x17')][_0x1669('0x30')](_0x4fcf1c);})[_0x1669('0xf')](function(_0x4eaf00){_0x64edff[_0x1669('0x31')]=_0x4eaf00;return _0x64edff;})[_0x1669('0xf')](respondWithFilteredResult(_0x238785,_0x4fcf1c))[_0x1669('0x32')](handleError(_0x238785,null));};exports[_0x1669('0x33')]=function(_0x157edf,_0x1f4487){var _0x5ea93f={'raw':!![],'where':{'id':_0x157edf['params']['id']}},_0x5c2629={};_0x5c2629[_0x1669('0x1b')]=_[_0x1669('0x1e')](db[_0x1669('0x17')][_0x1669('0x18')]);_0x5c2629[_0x1669('0x1d')]=_[_0x1669('0x1e')](_0x157edf[_0x1669('0x1d')]);_0x5c2629['filters']=_[_0x1669('0x20')](_0x5c2629[_0x1669('0x1b')],_0x5c2629['query']);_0x5ea93f['attributes']=_[_0x1669('0x20')](_0x5c2629[_0x1669('0x1b')],qs[_0x1669('0x22')](_0x157edf[_0x1669('0x1d')][_0x1669('0x22')]));_0x5ea93f['attributes']=_0x5ea93f[_0x1669('0x21')]['length']?_0x5ea93f['attributes']:_0x5c2629[_0x1669('0x1b')];if(_0x157edf['query'][_0x1669('0x2b')]){_0x5ea93f[_0x1669('0x2c')]=[{'all':!![]}];}_0x5ea93f=_[_0x1669('0x29')]({},_0x5ea93f,_0x157edf[_0x1669('0x34')]);return db['VoiceCallReport'][_0x1669('0x35')](_0x5ea93f)[_0x1669('0xf')](handleEntityNotFound(_0x1f4487,null))[_0x1669('0xf')](respondWithResult(_0x1f4487,null))['catch'](handleError(_0x1f4487,null));};exports[_0x1669('0x36')]=function(_0x297c30,_0x3c4434){return db[_0x1669('0x17')][_0x1669('0x36')](_0x297c30[_0x1669('0x37')],{})[_0x1669('0xf')](respondWithResult(_0x3c4434,0xc9))['catch'](handleError(_0x3c4434,null));};exports[_0x1669('0x10')]=function(_0x5abf4f,_0x3e41bd){return db['VoiceCallReport'][_0x1669('0x35')]({'where':{'id':_0x5abf4f[_0x1669('0x38')]['id']}})[_0x1669('0xf')](handleEntityNotFound(_0x3e41bd,null))[_0x1669('0xf')](removeEntity(_0x3e41bd,null))[_0x1669('0x32')](handleError(_0x3e41bd,null));};exports[_0x1669('0x39')]=function(_0x5cc06d,_0x402a69){return db[_0x1669('0x17')][_0x1669('0x39')]()['then'](respondWithResult(_0x402a69,null))['catch'](handleError(_0x402a69,null));};function findForUpdate(_0x4872ed){return db['VoiceCallReport'][_0x1669('0x35')]({'where':{'uniqueid':_0x4872ed[_0x1669('0x38')]['id'],'UserId':{'$or':[null,_0x4872ed[_0x1669('0x3a')]['id']]}}});}exports['update']=function(_0x4ee69d,_0x83d8d4){if(_0x4ee69d['body'][_0x1669('0x3b')]){delete _0x4ee69d[_0x1669('0x37')][_0x1669('0x3b')];}return findForUpdate(_0x4ee69d)[_0x1669('0xf')](handleEntityNotFound(_0x83d8d4,null))[_0x1669('0xf')](saveUpdates(_0x4ee69d[_0x1669('0x37')],null))[_0x1669('0xf')](respondWithResult(_0x83d8d4,null))['catch'](handleError(_0x83d8d4,null));};exports[_0x1669('0x3c')]=function(_0x5733e8,_0x3e1250,_0x48b609){if(_0x5733e8['body'][_0x1669('0x3b')]){delete _0x5733e8[_0x1669('0x37')][_0x1669('0x3b')];}promiseRetry(function(_0x3440d7){return findForUpdate(_0x5733e8)[_0x1669('0xf')](function(_0x2e09b8){if(_0x2e09b8!==null){return _0x2e09b8;}else{_0x3440d7(new Error('No\x20such\x20report'));}});},{'retries':0x4,'minTimeout':0xfa})[_0x1669('0xf')](function(_0x4749ac){if(!_0x4749ac){return new Promise(function(_0x49e611){_0x49e611(handleEntityNotFound(_0x3e1250)());});}else{return _0x4749ac[_0x1669('0xe')](_0x5733e8[_0x1669('0x37')])['then'](function(_0x53d184){return respondWithResult(_0x3e1250)(_0x53d184);});}},function(){handleEntityNotFound(_0x3e1250)();});};