283cd5ab563028eb61aa80d803453d6b72f150ba
[motion2.git] / server / api / voiceChanSpy / voiceChanSpy.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 _0xed8a=['model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','findAll','rows','catch','show','params','keys','includeAll','include','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','ChanSpies','UserProfileSection','userProfileId','update','body','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','sendStatus','end','status','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','destroy','then','get','UserProfileResource','error','stack','name','send','index','map','VoiceChanSpy','rawAttributes','fieldName','type','key'];(function(_0x2027c3,_0x2b0cce){var _0x4396b8=function(_0x4f9227){while(--_0x4f9227){_0x2027c3['push'](_0x2027c3['shift']());}};_0x4396b8(++_0x2b0cce);}(_0xed8a,0xc5));var _0xaed8=function(_0x42401d,_0x125c43){_0x42401d=_0x42401d-0x0;var _0x104e6f=_0xed8a[_0x42401d];return _0x104e6f;};'use strict';var emlformat=require(_0xaed8('0x0'));var rimraf=require(_0xaed8('0x1'));var zipdir=require(_0xaed8('0x2'));var jsonpatch=require(_0xaed8('0x3'));var rp=require('request-promise');var moment=require(_0xaed8('0x4'));var BPromise=require(_0xaed8('0x5'));var Mustache=require('mustache');var util=require(_0xaed8('0x6'));var path=require(_0xaed8('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xaed8('0x8'));var fs=require('fs');var fs_extra=require(_0xaed8('0x9'));var _=require(_0xaed8('0xa'));var squel=require(_0xaed8('0xb'));var crypto=require(_0xaed8('0xc'));var jsforce=require(_0xaed8('0xd'));var deskjs=require(_0xaed8('0xe'));var toCsv=require('to-csv');var querystring=require(_0xaed8('0xf'));var Papa=require(_0xaed8('0x10'));var Redis=require(_0xaed8('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xaed8('0x12'));var as=require(_0xaed8('0x13'));var hardwareService=require(_0xaed8('0x14'));var logger=require(_0xaed8('0x15'))(_0xaed8('0x16'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xaed8('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3eed24,_0x36c833){_0x36c833=_0x36c833||0xcc;return function(_0x129051){if(_0x129051){return _0x3eed24[_0xaed8('0x18')](_0x36c833);}return _0x3eed24['status'](_0x36c833)[_0xaed8('0x19')]();};}function respondWithResult(_0x273de5,_0x3a7aab){_0x3a7aab=_0x3a7aab||0xc8;return function(_0x248cd7){if(_0x248cd7){return _0x273de5[_0xaed8('0x1a')](_0x3a7aab)[_0xaed8('0x1b')](_0x248cd7);}};}function respondWithFilteredResult(_0x54ae7b,_0xefac0c){return function(_0x4a7448){if(_0x4a7448){var _0x4593c1=typeof _0xefac0c[_0xaed8('0x1c')]==='undefined'&&typeof _0xefac0c[_0xaed8('0x1d')]===_0xaed8('0x1e');var _0x1ef875=_0x4a7448[_0xaed8('0x1f')];var _0x427d37=_0x4593c1?0x0:_0xefac0c[_0xaed8('0x1c')];var _0x42eae7=_0x4593c1?_0x4a7448[_0xaed8('0x1f')]:_0xefac0c[_0xaed8('0x1c')]+_0xefac0c[_0xaed8('0x1d')];var _0x2d32ce;if(_0x42eae7>=_0x1ef875){_0x42eae7=_0x1ef875;_0x2d32ce=0xc8;}else{_0x2d32ce=0xce;}_0x54ae7b[_0xaed8('0x1a')](_0x2d32ce);return _0x54ae7b[_0xaed8('0x20')](_0xaed8('0x21'),_0x427d37+'-'+_0x42eae7+'/'+_0x1ef875)[_0xaed8('0x1b')](_0x4a7448);}return null;};}function patchUpdates(_0x48828f){return function(_0x5cd103){try{jsonpatch[_0xaed8('0x22')](_0x5cd103,_0x48828f,!![]);}catch(_0x5bafaf){return BPromise[_0xaed8('0x23')](_0x5bafaf);}return _0x5cd103[_0xaed8('0x24')]();};}function saveUpdates(_0x2ec32e,_0x344949){return function(_0x5a69aa){if(_0x5a69aa){return _0x5a69aa['update'](_0x2ec32e)['then'](function(_0x1a1acb){return _0x1a1acb;});}return null;};}function removeEntity(_0x4437aa,_0x448ef9){return function(_0x38a3f1){if(_0x38a3f1){return _0x38a3f1[_0xaed8('0x25')]()[_0xaed8('0x26')](function(){var _0x290b32=_0x38a3f1[_0xaed8('0x27')]({'plain':!![]});var _0x10c1fa='ChanSpies';return db[_0xaed8('0x28')][_0xaed8('0x25')]({'where':{'type':_0x10c1fa,'resourceId':_0x290b32['id']}})[_0xaed8('0x26')](function(){return _0x38a3f1;});})[_0xaed8('0x26')](function(){_0x4437aa[_0xaed8('0x1a')](0xcc)[_0xaed8('0x19')]();});}};}function handleEntityNotFound(_0x541662,_0x552555){return function(_0x4c442d){if(!_0x4c442d){_0x541662[_0xaed8('0x18')](0x194);}return _0x4c442d;};}function handleError(_0x5d80c7,_0x34c7ff){_0x34c7ff=_0x34c7ff||0x1f4;return function(_0x4b25d9){logger[_0xaed8('0x29')](_0x4b25d9[_0xaed8('0x2a')]);if(_0x4b25d9[_0xaed8('0x2b')]){delete _0x4b25d9[_0xaed8('0x2b')];}_0x5d80c7[_0xaed8('0x1a')](_0x34c7ff)[_0xaed8('0x2c')](_0x4b25d9);};}exports[_0xaed8('0x2d')]=function(_0xa093be,_0x16263d){var _0x4b1db6={},_0x478bce={},_0x24a703={'count':0x0,'rows':[]};var _0x27dd81=_[_0xaed8('0x2e')](db[_0xaed8('0x2f')][_0xaed8('0x30')],function(_0x539150){return{'name':_0x539150[_0xaed8('0x31')],'type':_0x539150[_0xaed8('0x32')][_0xaed8('0x33')]};});_0x478bce[_0xaed8('0x34')]=_[_0xaed8('0x2e')](_0x27dd81,_0xaed8('0x2b'));_0x478bce['query']=_['keys'](_0xa093be[_0xaed8('0x35')]);_0x478bce[_0xaed8('0x36')]=_[_0xaed8('0x37')](_0x478bce['model'],_0x478bce['query']);_0x4b1db6[_0xaed8('0x38')]=_[_0xaed8('0x37')](_0x478bce[_0xaed8('0x34')],qs['fields'](_0xa093be[_0xaed8('0x35')][_0xaed8('0x39')]));_0x4b1db6[_0xaed8('0x38')]=_0x4b1db6['attributes'][_0xaed8('0x3a')]?_0x4b1db6[_0xaed8('0x38')]:_0x478bce[_0xaed8('0x34')];if(!_0xa093be[_0xaed8('0x35')][_0xaed8('0x3b')](_0xaed8('0x3c'))){_0x4b1db6[_0xaed8('0x1d')]=qs[_0xaed8('0x1d')](_0xa093be[_0xaed8('0x35')]['limit']);_0x4b1db6[_0xaed8('0x1c')]=qs[_0xaed8('0x1c')](_0xa093be[_0xaed8('0x35')][_0xaed8('0x1c')]);}_0x4b1db6['order']=qs[_0xaed8('0x3d')](_0xa093be[_0xaed8('0x35')][_0xaed8('0x3d')]);_0x4b1db6[_0xaed8('0x3e')]=qs[_0xaed8('0x36')](_[_0xaed8('0x3f')](_0xa093be[_0xaed8('0x35')],_0x478bce[_0xaed8('0x36')]),_0x27dd81);if(_0xa093be['query'][_0xaed8('0x40')]){_0x4b1db6[_0xaed8('0x3e')]=_['merge'](_0x4b1db6[_0xaed8('0x3e')],{'$or':_['map'](_0x27dd81,function(_0x3e06b6){if(_0x3e06b6[_0xaed8('0x32')]!=='VIRTUAL'){var _0x21bc95={};_0x21bc95[_0x3e06b6[_0xaed8('0x2b')]]={'$like':'%'+_0xa093be['query'][_0xaed8('0x40')]+'%'};return _0x21bc95;}})});}_0x4b1db6=_[_0xaed8('0x41')]({},_0x4b1db6,_0xa093be['options']);var _0x2d458e={'where':_0x4b1db6[_0xaed8('0x3e')]};return db['VoiceChanSpy'][_0xaed8('0x1f')](_0x2d458e)['then'](function(_0x2aa6da){_0x24a703[_0xaed8('0x1f')]=_0x2aa6da;if(_0xa093be[_0xaed8('0x35')]['includeAll']){_0x4b1db6['include']=[{'all':!![]}];}return db[_0xaed8('0x2f')][_0xaed8('0x42')](_0x4b1db6);})['then'](function(_0x22ddd8){_0x24a703[_0xaed8('0x43')]=_0x22ddd8;return _0x24a703;})[_0xaed8('0x26')](respondWithFilteredResult(_0x16263d,_0x4b1db6))[_0xaed8('0x44')](handleError(_0x16263d,null));};exports[_0xaed8('0x45')]=function(_0x41f0c6,_0x3c05d2){var _0x170de5={'raw':![],'where':{'id':_0x41f0c6[_0xaed8('0x46')]['id']}},_0x1f1eaa={};_0x1f1eaa['model']=_[_0xaed8('0x47')](db['VoiceChanSpy'][_0xaed8('0x30')]);_0x1f1eaa[_0xaed8('0x35')]=_['keys'](_0x41f0c6[_0xaed8('0x35')]);_0x1f1eaa[_0xaed8('0x36')]=_[_0xaed8('0x37')](_0x1f1eaa['model'],_0x1f1eaa[_0xaed8('0x35')]);_0x170de5[_0xaed8('0x38')]=_['intersection'](_0x1f1eaa[_0xaed8('0x34')],qs[_0xaed8('0x39')](_0x41f0c6[_0xaed8('0x35')][_0xaed8('0x39')]));_0x170de5[_0xaed8('0x38')]=_0x170de5[_0xaed8('0x38')]['length']?_0x170de5[_0xaed8('0x38')]:_0x1f1eaa[_0xaed8('0x34')];if(_0x41f0c6[_0xaed8('0x35')][_0xaed8('0x48')]){_0x170de5[_0xaed8('0x49')]=[{'all':!![]}];}_0x170de5=_[_0xaed8('0x41')]({},_0x170de5,_0x41f0c6['options']);return db[_0xaed8('0x2f')][_0xaed8('0x4a')](_0x170de5)[_0xaed8('0x26')](handleEntityNotFound(_0x3c05d2,null))[_0xaed8('0x26')](respondWithResult(_0x3c05d2,null))[_0xaed8('0x44')](handleError(_0x3c05d2,null));};exports[_0xaed8('0x4b')]=function(_0x940feb,_0x26c015){return db[_0xaed8('0x2f')][_0xaed8('0x4b')](_0x940feb['body'],{})[_0xaed8('0x26')](function(_0x3168af){var _0x57e9d1=_0x940feb[_0xaed8('0x4c')][_0xaed8('0x27')]({'plain':!![]});if(!_0x57e9d1)throw new Error(_0xaed8('0x4d'));if(_0x57e9d1['role']===_0xaed8('0x4c')){var _0x3b6a26=_0x3168af['get']({'plain':!![]});var _0x213341=_0xaed8('0x4e');return db[_0xaed8('0x4f')][_0xaed8('0x4a')]({'where':{'name':_0x213341,'userProfileId':_0x57e9d1[_0xaed8('0x50')]},'raw':!![]})[_0xaed8('0x26')](function(_0x116b53){if(_0x116b53&&_0x116b53['autoAssociation']===0x0){return db[_0xaed8('0x28')][_0xaed8('0x4b')]({'name':_0x3b6a26[_0xaed8('0x2b')],'resourceId':_0x3b6a26['id'],'type':_0x116b53[_0xaed8('0x2b')],'sectionId':_0x116b53['id']},{})[_0xaed8('0x26')](function(){return _0x3168af;});}else{return _0x3168af;}})[_0xaed8('0x44')](function(_0x2508fa){logger[_0xaed8('0x29')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x2508fa);throw _0x2508fa;});}return _0x3168af;})[_0xaed8('0x26')](respondWithResult(_0x26c015,0xc9))[_0xaed8('0x44')](handleError(_0x26c015,null));};exports[_0xaed8('0x51')]=function(_0x107dbd,_0x7a404){if(_0x107dbd[_0xaed8('0x52')]['id']){delete _0x107dbd[_0xaed8('0x52')]['id'];}return db[_0xaed8('0x2f')]['find']({'where':{'id':_0x107dbd['params']['id']}})[_0xaed8('0x26')](handleEntityNotFound(_0x7a404,null))[_0xaed8('0x26')](saveUpdates(_0x107dbd[_0xaed8('0x52')],null))[_0xaed8('0x26')](respondWithResult(_0x7a404,null))[_0xaed8('0x44')](handleError(_0x7a404,null));};exports[_0xaed8('0x25')]=function(_0x3a5afb,_0x311881){return db[_0xaed8('0x2f')][_0xaed8('0x4a')]({'where':{'id':_0x3a5afb[_0xaed8('0x46')]['id']}})[_0xaed8('0x26')](handleEntityNotFound(_0x311881,null))[_0xaed8('0x26')](removeEntity(_0x311881,null))[_0xaed8('0x44')](handleError(_0x311881,null));};