5f9f1566ff50cd3560f3ba02c44a70e61f77bdf0
[motion2.git] / server / api / voiceTransferReport / voiceTransferReport.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 _0x6fb5=['end','error','stack','name','send','index','map','VoiceTransferReport','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','catch','show','params','create','body','find','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','destroy'];(function(_0x4e4d5c,_0x25dd3a){var _0x56854a=function(_0x221d35){while(--_0x221d35){_0x4e4d5c['push'](_0x4e4d5c['shift']());}};_0x56854a(++_0x25dd3a);}(_0x6fb5,0x15e));var _0x56fb=function(_0x1f3c74,_0x1acefd){_0x1f3c74=_0x1f3c74-0x0;var _0x4f3219=_0x6fb5[_0x1f3c74];return _0x4f3219;};'use strict';var emlformat=require(_0x56fb('0x0'));var rimraf=require(_0x56fb('0x1'));var zipdir=require(_0x56fb('0x2'));var jsonpatch=require(_0x56fb('0x3'));var rp=require(_0x56fb('0x4'));var moment=require(_0x56fb('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x56fb('0x6'));var util=require(_0x56fb('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x56fb('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x56fb('0x9'));var squel=require(_0x56fb('0xa'));var crypto=require(_0x56fb('0xb'));var jsforce=require(_0x56fb('0xc'));var deskjs=require(_0x56fb('0xd'));var toCsv=require('to-csv');var querystring=require(_0x56fb('0xe'));var Papa=require(_0x56fb('0xf'));var Redis=require(_0x56fb('0x10'));var authService=require(_0x56fb('0x11'));var qs=require(_0x56fb('0x12'));var as=require(_0x56fb('0x13'));var hardwareService=require(_0x56fb('0x14'));var logger=require(_0x56fb('0x15'))('api');var utils=require(_0x56fb('0x16'));var config=require(_0x56fb('0x17'));var licenseUtil=require(_0x56fb('0x18'));var db=require(_0x56fb('0x19'))['db'];function respondWithStatusCode(_0x1d9e29,_0x5684ea){_0x5684ea=_0x5684ea||0xcc;return function(_0x281562){if(_0x281562){return _0x1d9e29[_0x56fb('0x1a')](_0x5684ea);}return _0x1d9e29[_0x56fb('0x1b')](_0x5684ea)['end']();};}function respondWithResult(_0x5811f3,_0x3fc11a){_0x3fc11a=_0x3fc11a||0xc8;return function(_0x5f1fb2){if(_0x5f1fb2){return _0x5811f3[_0x56fb('0x1b')](_0x3fc11a)[_0x56fb('0x1c')](_0x5f1fb2);}};}function respondWithFilteredResult(_0x2d414e,_0xeb611){return function(_0x57c125){if(_0x57c125){var _0x428eb0=typeof _0xeb611[_0x56fb('0x1d')]===_0x56fb('0x1e')&&typeof _0xeb611[_0x56fb('0x1f')]===_0x56fb('0x1e');var _0x3e11e7=_0x57c125['count'];var _0x90bb1e=_0x428eb0?0x0:_0xeb611[_0x56fb('0x1d')];var _0xd3b3f2=_0x428eb0?_0x57c125[_0x56fb('0x20')]:_0xeb611[_0x56fb('0x1d')]+_0xeb611['limit'];var _0x32042e;if(_0xd3b3f2>=_0x3e11e7){_0xd3b3f2=_0x3e11e7;_0x32042e=0xc8;}else{_0x32042e=0xce;}_0x2d414e[_0x56fb('0x1b')](_0x32042e);return _0x2d414e[_0x56fb('0x21')](_0x56fb('0x22'),_0x90bb1e+'-'+_0xd3b3f2+'/'+_0x3e11e7)[_0x56fb('0x1c')](_0x57c125);}return null;};}function patchUpdates(_0x41eb41){return function(_0x5e377a){try{jsonpatch[_0x56fb('0x23')](_0x5e377a,_0x41eb41,!![]);}catch(_0x1703f3){return BPromise[_0x56fb('0x24')](_0x1703f3);}return _0x5e377a[_0x56fb('0x25')]();};}function saveUpdates(_0x9b9854,_0x47d0a6){return function(_0x4f6531){if(_0x4f6531){return _0x4f6531['update'](_0x9b9854)[_0x56fb('0x26')](function(_0x3f4b3c){return _0x3f4b3c;});}return null;};}function removeEntity(_0x5def9a,_0x2cbc4e){return function(_0x1bb324){if(_0x1bb324){return _0x1bb324[_0x56fb('0x27')]()['then'](function(){_0x5def9a[_0x56fb('0x1b')](0xcc)[_0x56fb('0x28')]();});}};}function handleEntityNotFound(_0x53b9ee,_0x48f7cb){return function(_0x3c0956){if(!_0x3c0956){_0x53b9ee[_0x56fb('0x1a')](0x194);}return _0x3c0956;};}function handleError(_0x1ca09f,_0x5ca9c1){_0x5ca9c1=_0x5ca9c1||0x1f4;return function(_0x139653){logger[_0x56fb('0x29')](_0x139653[_0x56fb('0x2a')]);if(_0x139653[_0x56fb('0x2b')]){delete _0x139653[_0x56fb('0x2b')];}_0x1ca09f[_0x56fb('0x1b')](_0x5ca9c1)[_0x56fb('0x2c')](_0x139653);};}exports[_0x56fb('0x2d')]=function(_0x123420,_0x210e1d){var _0x55b440={},_0xdf86c0={},_0x89bef2={'count':0x0,'rows':[]};var _0x36e9c5=_[_0x56fb('0x2e')](db[_0x56fb('0x2f')][_0x56fb('0x30')],function(_0x45cf58){return{'name':_0x45cf58[_0x56fb('0x31')],'type':_0x45cf58[_0x56fb('0x32')][_0x56fb('0x33')]};});_0xdf86c0[_0x56fb('0x34')]=_['map'](_0x36e9c5,'name');_0xdf86c0[_0x56fb('0x35')]=_[_0x56fb('0x36')](_0x123420[_0x56fb('0x35')]);_0xdf86c0[_0x56fb('0x37')]=_[_0x56fb('0x38')](_0xdf86c0[_0x56fb('0x34')],_0xdf86c0[_0x56fb('0x35')]);_0x55b440['attributes']=_['intersection'](_0xdf86c0[_0x56fb('0x34')],qs[_0x56fb('0x39')](_0x123420[_0x56fb('0x35')][_0x56fb('0x39')]));_0x55b440[_0x56fb('0x3a')]=_0x55b440[_0x56fb('0x3a')][_0x56fb('0x3b')]?_0x55b440[_0x56fb('0x3a')]:_0xdf86c0[_0x56fb('0x34')];if(!_0x123420[_0x56fb('0x35')][_0x56fb('0x3c')]('nolimit')){_0x55b440['limit']=qs['limit'](_0x123420['query'][_0x56fb('0x1f')]);_0x55b440[_0x56fb('0x1d')]=qs[_0x56fb('0x1d')](_0x123420[_0x56fb('0x35')][_0x56fb('0x1d')]);}_0x55b440[_0x56fb('0x3d')]=qs[_0x56fb('0x3e')](_0x123420[_0x56fb('0x35')][_0x56fb('0x3e')]);_0x55b440[_0x56fb('0x3f')]=qs[_0x56fb('0x37')](_[_0x56fb('0x40')](_0x123420['query'],_0xdf86c0['filters']),_0x36e9c5);if(_0x123420[_0x56fb('0x35')][_0x56fb('0x41')]){_0x55b440['where']=_[_0x56fb('0x42')](_0x55b440[_0x56fb('0x3f')],{'$or':_[_0x56fb('0x2e')](_0x36e9c5,function(_0x5f286a){if(_0x5f286a[_0x56fb('0x32')]!==_0x56fb('0x43')){var _0x52b28d={};_0x52b28d[_0x5f286a[_0x56fb('0x2b')]]={'$like':'%'+_0x123420[_0x56fb('0x35')]['filter']+'%'};return _0x52b28d;}})});}_0x55b440=_[_0x56fb('0x42')]({},_0x55b440,_0x123420[_0x56fb('0x44')]);var _0x303c38={'where':_0x55b440[_0x56fb('0x3f')]};return db[_0x56fb('0x2f')][_0x56fb('0x20')](_0x303c38)[_0x56fb('0x26')](function(_0x21db1d){_0x89bef2['count']=_0x21db1d;if(_0x123420[_0x56fb('0x35')][_0x56fb('0x45')]){_0x55b440['include']=[{'all':!![]}];}return db['VoiceTransferReport'][_0x56fb('0x46')](_0x55b440);})[_0x56fb('0x26')](function(_0x4b8b59){_0x89bef2['rows']=_0x4b8b59;return _0x89bef2;})['then'](respondWithFilteredResult(_0x210e1d,_0x55b440))[_0x56fb('0x47')](handleError(_0x210e1d,null));};exports[_0x56fb('0x48')]=function(_0xa0e5eb,_0x453a0c){var _0x4f662f={'raw':!![],'where':{'id':_0xa0e5eb[_0x56fb('0x49')]['id']}},_0x272de5={};_0x272de5['model']=_[_0x56fb('0x36')](db[_0x56fb('0x2f')][_0x56fb('0x30')]);_0x272de5[_0x56fb('0x35')]=_['keys'](_0xa0e5eb[_0x56fb('0x35')]);_0x272de5[_0x56fb('0x37')]=_[_0x56fb('0x38')](_0x272de5[_0x56fb('0x34')],_0x272de5['query']);_0x4f662f['attributes']=_[_0x56fb('0x38')](_0x272de5[_0x56fb('0x34')],qs[_0x56fb('0x39')](_0xa0e5eb[_0x56fb('0x35')][_0x56fb('0x39')]));_0x4f662f[_0x56fb('0x3a')]=_0x4f662f[_0x56fb('0x3a')][_0x56fb('0x3b')]?_0x4f662f[_0x56fb('0x3a')]:_0x272de5[_0x56fb('0x34')];if(_0xa0e5eb[_0x56fb('0x35')][_0x56fb('0x45')]){_0x4f662f['include']=[{'all':!![]}];}_0x4f662f=_['merge']({},_0x4f662f,_0xa0e5eb['options']);return db['VoiceTransferReport']['find'](_0x4f662f)['then'](handleEntityNotFound(_0x453a0c,null))[_0x56fb('0x26')](respondWithResult(_0x453a0c,null))['catch'](handleError(_0x453a0c,null));};exports[_0x56fb('0x4a')]=function(_0x2fd2c1,_0x38767){return db[_0x56fb('0x2f')]['create'](_0x2fd2c1[_0x56fb('0x4b')],{})[_0x56fb('0x26')](respondWithResult(_0x38767,0xc9))['catch'](handleError(_0x38767,null));};exports['update']=function(_0x2be1f4,_0x5ac8c0){if(_0x2be1f4[_0x56fb('0x4b')]['id']){delete _0x2be1f4[_0x56fb('0x4b')]['id'];}return db[_0x56fb('0x2f')]['find']({'where':{'id':_0x2be1f4[_0x56fb('0x49')]['id']}})[_0x56fb('0x26')](handleEntityNotFound(_0x5ac8c0,null))['then'](saveUpdates(_0x2be1f4[_0x56fb('0x4b')],null))['then'](respondWithResult(_0x5ac8c0,null))[_0x56fb('0x47')](handleError(_0x5ac8c0,null));};exports[_0x56fb('0x27')]=function(_0x2e2dd2,_0x1feaa7){return db[_0x56fb('0x2f')][_0x56fb('0x4c')]({'where':{'id':_0x2e2dd2[_0x56fb('0x49')]['id']}})[_0x56fb('0x26')](handleEntityNotFound(_0x1feaa7,null))[_0x56fb('0x26')](removeEntity(_0x1feaa7,null))[_0x56fb('0x47')](handleError(_0x1feaa7,null));};exports[_0x56fb('0x4d')]=function(_0x4b3a8b,_0x2abd11){return db[_0x56fb('0x2f')]['describe']()[_0x56fb('0x26')](respondWithResult(_0x2abd11,null))[_0x56fb('0x47')](handleError(_0x2abd11,null));};