246c0e9d5c1c733620af7e21a1b71b69ce381944
[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 _0x86f3=['nolimit','order','sort','where','filter','merge','VIRTUAL','options','VoiceChanSpy','includeAll','include','rows','catch','show','params','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','lodash','crypto','jsforce','to-csv','querystring','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','save','update','then','destroy','get','ChanSpies','error','stack','name','send','index','map','rawAttributes','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty'];(function(_0x56d405,_0x17046b){var _0x20df65=function(_0xbbcee1){while(--_0xbbcee1){_0x56d405['push'](_0x56d405['shift']());}};_0x20df65(++_0x17046b);}(_0x86f3,0xbb));var _0x386f=function(_0xd63e3a,_0x1bd6eb){_0xd63e3a=_0xd63e3a-0x0;var _0x19c178=_0x86f3[_0xd63e3a];return _0x19c178;};'use strict';var pdf=require(_0x386f('0x0'));var emlformat=require(_0x386f('0x1'));var rimraf=require(_0x386f('0x2'));var zipdir=require(_0x386f('0x3'));var jsonpatch=require(_0x386f('0x4'));var rp=require(_0x386f('0x5'));var moment=require('moment');var BPromise=require(_0x386f('0x6'));var Mustache=require(_0x386f('0x7'));var util=require(_0x386f('0x8'));var path=require('path');var sox=require(_0x386f('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x386f('0xa'));var squel=require('squel');var crypto=require(_0x386f('0xb'));var jsforce=require(_0x386f('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x386f('0xd'));var querystring=require(_0x386f('0xe'));var Papa=require('papaparse');var Redis=require(_0x386f('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x386f('0x10'));var hardwareService=require(_0x386f('0x11'));var logger=require(_0x386f('0x12'))(_0x386f('0x13'));var utils=require(_0x386f('0x14'));var config=require(_0x386f('0x15'));var licenseUtil=require(_0x386f('0x16'));var db=require(_0x386f('0x17'))['db'];function respondWithStatusCode(_0x4c147f,_0x11339e){_0x11339e=_0x11339e||0xcc;return function(_0x1cabf7){if(_0x1cabf7){return _0x4c147f[_0x386f('0x18')](_0x11339e);}return _0x4c147f[_0x386f('0x19')](_0x11339e)[_0x386f('0x1a')]();};}function respondWithResult(_0x55ead8,_0x5e9bc0){_0x5e9bc0=_0x5e9bc0||0xc8;return function(_0x5a024a){if(_0x5a024a){return _0x55ead8[_0x386f('0x19')](_0x5e9bc0)[_0x386f('0x1b')](_0x5a024a);}};}function respondWithFilteredResult(_0x83f1dd,_0x51788d){return function(_0xe43bd0){if(_0xe43bd0){var _0x495642=_0xe43bd0[_0x386f('0x1c')],_0x4d74be=_0x51788d[_0x386f('0x1d')],_0x207617=_0x51788d['offset']+_0x51788d[_0x386f('0x1e')],_0x5e1536;if(_0x207617>=_0x495642){_0x207617=_0x495642;_0x5e1536=0xc8;}else{_0x5e1536=0xce;}_0x83f1dd[_0x386f('0x19')](_0x5e1536);return _0x83f1dd[_0x386f('0x1f')](_0x386f('0x20'),_0x4d74be+'-'+_0x207617+'/'+_0x495642)[_0x386f('0x1b')](_0xe43bd0);}return null;};}function patchUpdates(_0x7f3bde){return function(_0x5adfac){try{jsonpatch['apply'](_0x5adfac,_0x7f3bde,!![]);}catch(_0x2dd7ba){return BPromise['reject'](_0x2dd7ba);}return _0x5adfac[_0x386f('0x21')]();};}function saveUpdates(_0xc10423,_0x109966){return function(_0x193d46){if(_0x193d46){return _0x193d46[_0x386f('0x22')](_0xc10423)[_0x386f('0x23')](function(_0x5eedcd){return _0x5eedcd;});}return null;};}function removeEntity(_0x120c00,_0x33d26f){return function(_0x2d1640){if(_0x2d1640){return _0x2d1640[_0x386f('0x24')]()[_0x386f('0x23')](function(){var _0x89985d=_0x2d1640[_0x386f('0x25')]({'plain':!![]});var _0xb52ee=_0x386f('0x26');return db['UserProfileResource'][_0x386f('0x24')]({'where':{'type':_0xb52ee,'resourceId':_0x89985d['id']}})[_0x386f('0x23')](function(){return _0x2d1640;});})['then'](function(){_0x120c00[_0x386f('0x19')](0xcc)[_0x386f('0x1a')]();});}};}function handleEntityNotFound(_0xcd9823,_0x506d94){return function(_0x3c93bf){if(!_0x3c93bf){_0xcd9823[_0x386f('0x18')](0x194);}return _0x3c93bf;};}function handleError(_0x312ba5,_0x384b2d){_0x384b2d=_0x384b2d||0x1f4;return function(_0x550a6e){logger[_0x386f('0x27')](_0x550a6e[_0x386f('0x28')]);if(_0x550a6e['name']){delete _0x550a6e[_0x386f('0x29')];}_0x312ba5[_0x386f('0x19')](_0x384b2d)[_0x386f('0x2a')](_0x550a6e);};}exports[_0x386f('0x2b')]=function(_0x539d45,_0x28dcb3){var _0x356733={},_0x1ae599={},_0x4d3ca5={'count':0x0,'rows':[]};var _0x489801=_[_0x386f('0x2c')](db['VoiceChanSpy'][_0x386f('0x2d')],function(_0x543738){return{'name':_0x543738['fieldName'],'type':_0x543738[_0x386f('0x2e')]['key']};});_0x1ae599[_0x386f('0x2f')]=_[_0x386f('0x2c')](_0x489801,_0x386f('0x29'));_0x1ae599[_0x386f('0x30')]=_[_0x386f('0x31')](_0x539d45['query']);_0x1ae599[_0x386f('0x32')]=_[_0x386f('0x33')](_0x1ae599[_0x386f('0x2f')],_0x1ae599[_0x386f('0x30')]);_0x356733[_0x386f('0x34')]=_[_0x386f('0x33')](_0x1ae599[_0x386f('0x2f')],qs[_0x386f('0x35')](_0x539d45['query'][_0x386f('0x35')]));_0x356733[_0x386f('0x34')]=_0x356733[_0x386f('0x34')][_0x386f('0x36')]?_0x356733['attributes']:_0x1ae599['model'];if(!_0x539d45[_0x386f('0x30')][_0x386f('0x37')](_0x386f('0x38'))){_0x356733[_0x386f('0x1e')]=qs[_0x386f('0x1e')](_0x539d45['query'][_0x386f('0x1e')]);_0x356733[_0x386f('0x1d')]=qs[_0x386f('0x1d')](_0x539d45[_0x386f('0x30')]['offset']);}_0x356733[_0x386f('0x39')]=qs[_0x386f('0x3a')](_0x539d45[_0x386f('0x30')][_0x386f('0x3a')]);_0x356733[_0x386f('0x3b')]=qs[_0x386f('0x32')](_['pick'](_0x539d45[_0x386f('0x30')],_0x1ae599[_0x386f('0x32')]),_0x489801);if(_0x539d45[_0x386f('0x30')][_0x386f('0x3c')]){_0x356733[_0x386f('0x3b')]=_[_0x386f('0x3d')](_0x356733[_0x386f('0x3b')],{'$or':_[_0x386f('0x2c')](_0x489801,function(_0x3233f0){if(_0x3233f0[_0x386f('0x2e')]!==_0x386f('0x3e')){var _0x21fa4d={};_0x21fa4d[_0x3233f0[_0x386f('0x29')]]={'$like':'%'+_0x539d45[_0x386f('0x30')][_0x386f('0x3c')]+'%'};return _0x21fa4d;}})});}_0x356733=_[_0x386f('0x3d')]({},_0x356733,_0x539d45[_0x386f('0x3f')]);var _0x4304e9={'where':_0x356733['where']};return db[_0x386f('0x40')][_0x386f('0x1c')](_0x4304e9)[_0x386f('0x23')](function(_0x52940f){_0x4d3ca5['count']=_0x52940f;if(_0x539d45[_0x386f('0x30')][_0x386f('0x41')]){_0x356733[_0x386f('0x42')]=[{'all':!![]}];}return db['VoiceChanSpy']['findAll'](_0x356733);})[_0x386f('0x23')](function(_0x8caa4b){_0x4d3ca5[_0x386f('0x43')]=_0x8caa4b;return _0x4d3ca5;})[_0x386f('0x23')](respondWithFilteredResult(_0x28dcb3,_0x356733))[_0x386f('0x44')](handleError(_0x28dcb3,null));};exports[_0x386f('0x45')]=function(_0x318811,_0xb73697){var _0x280eed={'raw':![],'where':{'id':_0x318811[_0x386f('0x46')]['id']}},_0xeefdce={};_0xeefdce[_0x386f('0x2f')]=_['keys'](db[_0x386f('0x40')][_0x386f('0x2d')]);_0xeefdce[_0x386f('0x30')]=_[_0x386f('0x31')](_0x318811[_0x386f('0x30')]);_0xeefdce['filters']=_['intersection'](_0xeefdce[_0x386f('0x2f')],_0xeefdce[_0x386f('0x30')]);_0x280eed[_0x386f('0x34')]=_[_0x386f('0x33')](_0xeefdce[_0x386f('0x2f')],qs[_0x386f('0x35')](_0x318811['query'][_0x386f('0x35')]));_0x280eed['attributes']=_0x280eed['attributes'][_0x386f('0x36')]?_0x280eed[_0x386f('0x34')]:_0xeefdce[_0x386f('0x2f')];if(_0x318811[_0x386f('0x30')][_0x386f('0x41')]){_0x280eed['include']=[{'all':!![]}];}_0x280eed=_['merge']({},_0x280eed,_0x318811[_0x386f('0x3f')]);return db[_0x386f('0x40')][_0x386f('0x47')](_0x280eed)[_0x386f('0x23')](handleEntityNotFound(_0xb73697,null))[_0x386f('0x23')](respondWithResult(_0xb73697,null))[_0x386f('0x44')](handleError(_0xb73697,null));};exports[_0x386f('0x48')]=function(_0x5bc97d,_0x31c2dc){return db['VoiceChanSpy'][_0x386f('0x48')](_0x5bc97d['body'],{})['then'](function(_0x2271a5){var _0x6e7484=_0x5bc97d[_0x386f('0x49')][_0x386f('0x25')]({'plain':!![]});if(!_0x6e7484)throw new Error(_0x386f('0x4a'));if(_0x6e7484[_0x386f('0x4b')]==='user'){var _0x2f0584=_0x2271a5['get']({'plain':!![]});var _0x3cc23b='ChanSpies';return db[_0x386f('0x4c')][_0x386f('0x47')]({'where':{'name':_0x3cc23b,'userProfileId':_0x6e7484[_0x386f('0x4d')]},'raw':!![]})[_0x386f('0x23')](function(_0x238bac){if(_0x238bac&&_0x238bac['autoAssociation']===0x0){return db[_0x386f('0x4e')][_0x386f('0x48')]({'name':_0x2f0584['name'],'resourceId':_0x2f0584['id'],'type':_0x238bac[_0x386f('0x29')],'sectionId':_0x238bac['id']},{})[_0x386f('0x23')](function(){return _0x2271a5;});}else{return _0x2271a5;}})[_0x386f('0x44')](function(_0x4ce20b){logger['error'](_0x386f('0x4f'),_0x4ce20b);throw _0x4ce20b;});}return _0x2271a5;})[_0x386f('0x23')](respondWithResult(_0x31c2dc,0xc9))[_0x386f('0x44')](handleError(_0x31c2dc,null));};exports['update']=function(_0x144652,_0x551f7f){if(_0x144652[_0x386f('0x50')]['id']){delete _0x144652[_0x386f('0x50')]['id'];}return db[_0x386f('0x40')]['find']({'where':{'id':_0x144652[_0x386f('0x46')]['id']}})['then'](handleEntityNotFound(_0x551f7f,null))[_0x386f('0x23')](saveUpdates(_0x144652[_0x386f('0x50')],null))['then'](respondWithResult(_0x551f7f,null))['catch'](handleError(_0x551f7f,null));};exports[_0x386f('0x24')]=function(_0x53ed8a,_0x1822fb){return db[_0x386f('0x40')]['find']({'where':{'id':_0x53ed8a['params']['id']}})[_0x386f('0x23')](handleEntityNotFound(_0x1822fb,null))['then'](removeEntity(_0x1822fb,null))[_0x386f('0x44')](handleError(_0x1822fb,null));};