d041954d69b7a3d4b2ef52721478bd288efc0229
[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 _0x7936=['sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../mysqldb','sendStatus','json','count','offset','limit','status','set','Content-Range','reject','save','update','then','get','ChanSpies','UserProfileResource','destroy','end','name','send','index','map','rawAttributes','fieldName','type','model','keys','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','VoiceChanSpy','includeAll','include','findAll','rows','catch','show','params','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','html-pdf','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','path'];(function(_0x43d11d,_0xccff91){var _0x38cd08=function(_0x131ae2){while(--_0x131ae2){_0x43d11d['push'](_0x43d11d['shift']());}};_0x38cd08(++_0xccff91);}(_0x7936,0xa3));var _0x6793=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x7936[_0x3dd15e];return _0x231fd0;};'use strict';var pdf=require(_0x6793('0x0'));var emlformat=require(_0x6793('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x6793('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6793('0x3'));var moment=require(_0x6793('0x4'));var BPromise=require(_0x6793('0x5'));var Mustache=require(_0x6793('0x6'));var util=require(_0x6793('0x7'));var path=require(_0x6793('0x8'));var sox=require(_0x6793('0x9'));var csv=require(_0x6793('0xa'));var ejs=require(_0x6793('0xb'));var fs=require('fs');var _=require(_0x6793('0xc'));var squel=require(_0x6793('0xd'));var crypto=require(_0x6793('0xe'));var jsforce=require(_0x6793('0xf'));var deskjs=require(_0x6793('0x10'));var toCsv=require(_0x6793('0xa'));var querystring=require(_0x6793('0x11'));var Papa=require(_0x6793('0x12'));var Redis=require(_0x6793('0x13'));var authService=require(_0x6793('0x14'));var qs=require(_0x6793('0x15'));var as=require(_0x6793('0x16'));var hardwareService=require(_0x6793('0x17'));var logger=require(_0x6793('0x18'))(_0x6793('0x19'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x6793('0x1a'))['db'];function respondWithStatusCode(_0x35ee22,_0x5441b2){_0x5441b2=_0x5441b2||0xcc;return function(_0x2a3ea2){if(_0x2a3ea2){return _0x35ee22[_0x6793('0x1b')](_0x5441b2);}return _0x35ee22['status'](_0x5441b2)['end']();};}function respondWithResult(_0x130537,_0x39bcb2){_0x39bcb2=_0x39bcb2||0xc8;return function(_0x19b80f){if(_0x19b80f){return _0x130537['status'](_0x39bcb2)[_0x6793('0x1c')](_0x19b80f);}};}function respondWithFilteredResult(_0xdc37b3,_0x287493){return function(_0x797f12){if(_0x797f12){var _0x19d7cf=_0x797f12[_0x6793('0x1d')],_0x2756c0=_0x287493[_0x6793('0x1e')],_0xfecd56=_0x287493[_0x6793('0x1e')]+_0x287493[_0x6793('0x1f')],_0x40fbb6;if(_0xfecd56>=_0x19d7cf){_0xfecd56=_0x19d7cf;_0x40fbb6=0xc8;}else{_0x40fbb6=0xce;}_0xdc37b3[_0x6793('0x20')](_0x40fbb6);return _0xdc37b3[_0x6793('0x21')](_0x6793('0x22'),_0x2756c0+'-'+_0xfecd56+'/'+_0x19d7cf)[_0x6793('0x1c')](_0x797f12);}return null;};}function patchUpdates(_0x128538){return function(_0xd3f227){try{jsonpatch['apply'](_0xd3f227,_0x128538,!![]);}catch(_0x2aafe9){return BPromise[_0x6793('0x23')](_0x2aafe9);}return _0xd3f227[_0x6793('0x24')]();};}function saveUpdates(_0x215cf8,_0x3430e3){return function(_0x5d24e6){if(_0x5d24e6){return _0x5d24e6[_0x6793('0x25')](_0x215cf8)[_0x6793('0x26')](function(_0x11774e){return _0x11774e;});}return null;};}function removeEntity(_0x1f507e,_0x1b80af){return function(_0x5bc972){if(_0x5bc972){return _0x5bc972['destroy']()['then'](function(){var _0x307048=_0x5bc972[_0x6793('0x27')]({'plain':!![]});var _0x1d73c8=_0x6793('0x28');return db[_0x6793('0x29')][_0x6793('0x2a')]({'where':{'type':_0x1d73c8,'resourceId':_0x307048['id']}})[_0x6793('0x26')](function(){return _0x5bc972;});})[_0x6793('0x26')](function(){_0x1f507e['status'](0xcc)[_0x6793('0x2b')]();});}};}function handleEntityNotFound(_0x17d03b,_0x562c03){return function(_0x1be5b3){if(!_0x1be5b3){_0x17d03b[_0x6793('0x1b')](0x194);}return _0x1be5b3;};}function handleError(_0x59f936,_0x499f2b){_0x499f2b=_0x499f2b||0x1f4;return function(_0x448260){logger['error'](_0x448260['stack']);if(_0x448260[_0x6793('0x2c')]){delete _0x448260[_0x6793('0x2c')];}_0x59f936[_0x6793('0x20')](_0x499f2b)[_0x6793('0x2d')](_0x448260);};}exports[_0x6793('0x2e')]=function(_0x5edb8b,_0x35a840){var _0x4993a1={},_0x21c1f5={},_0x33fdeb={'count':0x0,'rows':[]};var _0x21a7cb=_[_0x6793('0x2f')](db['VoiceChanSpy'][_0x6793('0x30')],function(_0x1fe152){return{'name':_0x1fe152[_0x6793('0x31')],'type':_0x1fe152[_0x6793('0x32')]['key']};});_0x21c1f5[_0x6793('0x33')]=_['map'](_0x21a7cb,_0x6793('0x2c'));_0x21c1f5['query']=_[_0x6793('0x34')](_0x5edb8b[_0x6793('0x35')]);_0x21c1f5['filters']=_[_0x6793('0x36')](_0x21c1f5[_0x6793('0x33')],_0x21c1f5['query']);_0x4993a1[_0x6793('0x37')]=_[_0x6793('0x36')](_0x21c1f5['model'],qs[_0x6793('0x38')](_0x5edb8b[_0x6793('0x35')][_0x6793('0x38')]));_0x4993a1[_0x6793('0x37')]=_0x4993a1[_0x6793('0x37')][_0x6793('0x39')]?_0x4993a1[_0x6793('0x37')]:_0x21c1f5[_0x6793('0x33')];if(!_0x5edb8b['query'][_0x6793('0x3a')](_0x6793('0x3b'))){_0x4993a1[_0x6793('0x1f')]=qs['limit'](_0x5edb8b[_0x6793('0x35')][_0x6793('0x1f')]);_0x4993a1[_0x6793('0x1e')]=qs[_0x6793('0x1e')](_0x5edb8b[_0x6793('0x35')][_0x6793('0x1e')]);}_0x4993a1[_0x6793('0x3c')]=qs['sort'](_0x5edb8b['query'][_0x6793('0x3d')]);_0x4993a1[_0x6793('0x3e')]=qs[_0x6793('0x3f')](_[_0x6793('0x40')](_0x5edb8b[_0x6793('0x35')],_0x21c1f5[_0x6793('0x3f')]),_0x21a7cb);if(_0x5edb8b[_0x6793('0x35')][_0x6793('0x41')]){_0x4993a1[_0x6793('0x3e')]=_[_0x6793('0x42')](_0x4993a1[_0x6793('0x3e')],{'$or':_[_0x6793('0x2f')](_0x21a7cb,function(_0x30cbe4){if(_0x30cbe4['type']!==_0x6793('0x43')){var _0xaafe9c={};_0xaafe9c[_0x30cbe4[_0x6793('0x2c')]]={'$like':'%'+_0x5edb8b[_0x6793('0x35')][_0x6793('0x41')]+'%'};return _0xaafe9c;}})});}_0x4993a1=_[_0x6793('0x42')]({},_0x4993a1,_0x5edb8b[_0x6793('0x44')]);var _0x3419f3={'where':_0x4993a1[_0x6793('0x3e')]};return db[_0x6793('0x45')][_0x6793('0x1d')](_0x3419f3)[_0x6793('0x26')](function(_0xfdca7){_0x33fdeb[_0x6793('0x1d')]=_0xfdca7;if(_0x5edb8b['query'][_0x6793('0x46')]){_0x4993a1[_0x6793('0x47')]=[{'all':!![]}];}return db[_0x6793('0x45')][_0x6793('0x48')](_0x4993a1);})[_0x6793('0x26')](function(_0x419b9f){_0x33fdeb[_0x6793('0x49')]=_0x419b9f;return _0x33fdeb;})[_0x6793('0x26')](respondWithFilteredResult(_0x35a840,_0x4993a1))[_0x6793('0x4a')](handleError(_0x35a840,null));};exports[_0x6793('0x4b')]=function(_0x5e4eee,_0xbd6308){var _0x2fe21a={'raw':![],'where':{'id':_0x5e4eee[_0x6793('0x4c')]['id']}},_0xc04fc3={};_0xc04fc3[_0x6793('0x33')]=_[_0x6793('0x34')](db[_0x6793('0x45')][_0x6793('0x30')]);_0xc04fc3['query']=_[_0x6793('0x34')](_0x5e4eee[_0x6793('0x35')]);_0xc04fc3[_0x6793('0x3f')]=_[_0x6793('0x36')](_0xc04fc3[_0x6793('0x33')],_0xc04fc3[_0x6793('0x35')]);_0x2fe21a['attributes']=_[_0x6793('0x36')](_0xc04fc3[_0x6793('0x33')],qs[_0x6793('0x38')](_0x5e4eee[_0x6793('0x35')][_0x6793('0x38')]));_0x2fe21a[_0x6793('0x37')]=_0x2fe21a[_0x6793('0x37')]['length']?_0x2fe21a['attributes']:_0xc04fc3[_0x6793('0x33')];if(_0x5e4eee[_0x6793('0x35')]['includeAll']){_0x2fe21a[_0x6793('0x47')]=[{'all':!![]}];}_0x2fe21a=_[_0x6793('0x42')]({},_0x2fe21a,_0x5e4eee[_0x6793('0x44')]);return db[_0x6793('0x45')][_0x6793('0x4d')](_0x2fe21a)[_0x6793('0x26')](handleEntityNotFound(_0xbd6308,null))[_0x6793('0x26')](respondWithResult(_0xbd6308,null))[_0x6793('0x4a')](handleError(_0xbd6308,null));};exports['create']=function(_0x5312d1,_0x392c3d){return db[_0x6793('0x45')][_0x6793('0x4e')](_0x5312d1[_0x6793('0x4f')],{})['then'](function(_0x52477d){var _0x3372e9=_0x5312d1['user'][_0x6793('0x27')]({'plain':!![]});if(!_0x3372e9)throw new Error(_0x6793('0x50'));if(_0x3372e9['role']===_0x6793('0x51')){var _0x57c670=_0x52477d[_0x6793('0x27')]({'plain':!![]});var _0x3c468a=_0x6793('0x28');return db[_0x6793('0x52')][_0x6793('0x4d')]({'where':{'name':_0x3c468a,'userProfileId':_0x3372e9['userProfileId']},'raw':!![]})[_0x6793('0x26')](function(_0x3d2351){if(_0x3d2351&&_0x3d2351[_0x6793('0x53')]===0x0){return db[_0x6793('0x29')][_0x6793('0x4e')]({'name':_0x57c670[_0x6793('0x2c')],'resourceId':_0x57c670['id'],'type':_0x3d2351['name'],'sectionId':_0x3d2351['id']},{})[_0x6793('0x26')](function(){return _0x52477d;});}else{return _0x52477d;}})['catch'](function(_0x3b04a6){logger[_0x6793('0x54')](_0x6793('0x55'),_0x3b04a6);throw _0x3b04a6;});}return _0x52477d;})[_0x6793('0x26')](respondWithResult(_0x392c3d,0xc9))['catch'](handleError(_0x392c3d,null));};exports[_0x6793('0x25')]=function(_0x511f0b,_0x19f61d){if(_0x511f0b[_0x6793('0x4f')]['id']){delete _0x511f0b['body']['id'];}return db[_0x6793('0x45')][_0x6793('0x4d')]({'where':{'id':_0x511f0b[_0x6793('0x4c')]['id']}})[_0x6793('0x26')](handleEntityNotFound(_0x19f61d,null))['then'](saveUpdates(_0x511f0b[_0x6793('0x4f')],null))['then'](respondWithResult(_0x19f61d,null))[_0x6793('0x4a')](handleError(_0x19f61d,null));};exports[_0x6793('0x2a')]=function(_0x45cb4f,_0x5a9bb7){return db[_0x6793('0x45')][_0x6793('0x4d')]({'where':{'id':_0x45cb4f[_0x6793('0x4c')]['id']}})[_0x6793('0x26')](handleEntityNotFound(_0x5a9bb7,null))['then'](removeEntity(_0x5a9bb7,null))[_0x6793('0x4a')](handleError(_0x5a9bb7,null));};