Built motion from commit 9d0783e6.|2.6.13
[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 _0xf46a=['util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','status','end','json','offset','undefined','count','limit','set','reject','save','update','then','destroy','get','UserProfileResource','sendStatus','error','stack','name','index','map','VoiceChanSpy','rawAttributes','fieldName','type','key','query','keys','filters','model','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','pick','where','merge','VIRTUAL','filter','options','includeAll','include','findAll','catch','show','params','length','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','ChanSpies','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache'];(function(_0x590b61,_0x4c4335){var _0x1a14dc=function(_0x2ff4f6){while(--_0x2ff4f6){_0x590b61['push'](_0x590b61['shift']());}};_0x1a14dc(++_0x4c4335);}(_0xf46a,0xa4));var _0xaf46=function(_0x339bcf,_0x2d5b55){_0x339bcf=_0x339bcf-0x0;var _0x3db866=_0xf46a[_0x339bcf];return _0x3db866;};'use strict';var emlformat=require(_0xaf46('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xaf46('0x1'));var jsonpatch=require(_0xaf46('0x2'));var rp=require('request-promise');var moment=require(_0xaf46('0x3'));var BPromise=require(_0xaf46('0x4'));var Mustache=require(_0xaf46('0x5'));var util=require(_0xaf46('0x6'));var path=require(_0xaf46('0x7'));var sox=require(_0xaf46('0x8'));var csv=require(_0xaf46('0x9'));var ejs=require(_0xaf46('0xa'));var fs=require('fs');var fs_extra=require(_0xaf46('0xb'));var _=require(_0xaf46('0xc'));var squel=require(_0xaf46('0xd'));var crypto=require(_0xaf46('0xe'));var jsforce=require(_0xaf46('0xf'));var deskjs=require(_0xaf46('0x10'));var toCsv=require('to-csv');var querystring=require(_0xaf46('0x11'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xaf46('0x12'));var as=require(_0xaf46('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xaf46('0x14'))(_0xaf46('0x15'));var utils=require(_0xaf46('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xaf46('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x356c69,_0x54fd90){_0x54fd90=_0x54fd90||0xcc;return function(_0x18e367){if(_0x18e367){return _0x356c69['sendStatus'](_0x54fd90);}return _0x356c69[_0xaf46('0x18')](_0x54fd90)[_0xaf46('0x19')]();};}function respondWithResult(_0xf43dde,_0x38f7da){_0x38f7da=_0x38f7da||0xc8;return function(_0x453a9a){if(_0x453a9a){return _0xf43dde[_0xaf46('0x18')](_0x38f7da)[_0xaf46('0x1a')](_0x453a9a);}};}function respondWithFilteredResult(_0x1b961d,_0x548bfd){return function(_0x4e2279){if(_0x4e2279){var _0x5819e3=typeof _0x548bfd[_0xaf46('0x1b')]==='undefined'&&typeof _0x548bfd['limit']===_0xaf46('0x1c');var _0x34b107=_0x4e2279['count'];var _0x128ad8=_0x5819e3?0x0:_0x548bfd[_0xaf46('0x1b')];var _0x224413=_0x5819e3?_0x4e2279[_0xaf46('0x1d')]:_0x548bfd[_0xaf46('0x1b')]+_0x548bfd[_0xaf46('0x1e')];var _0x52e5c8;if(_0x224413>=_0x34b107){_0x224413=_0x34b107;_0x52e5c8=0xc8;}else{_0x52e5c8=0xce;}_0x1b961d[_0xaf46('0x18')](_0x52e5c8);return _0x1b961d[_0xaf46('0x1f')]('Content-Range',_0x128ad8+'-'+_0x224413+'/'+_0x34b107)[_0xaf46('0x1a')](_0x4e2279);}return null;};}function patchUpdates(_0x4459d5){return function(_0x5edf46){try{jsonpatch['apply'](_0x5edf46,_0x4459d5,!![]);}catch(_0x535ef1){return BPromise[_0xaf46('0x20')](_0x535ef1);}return _0x5edf46[_0xaf46('0x21')]();};}function saveUpdates(_0x4d1c36,_0x183cb6){return function(_0x539489){if(_0x539489){return _0x539489[_0xaf46('0x22')](_0x4d1c36)[_0xaf46('0x23')](function(_0x4759bb){return _0x4759bb;});}return null;};}function removeEntity(_0x9ec76,_0x442797){return function(_0x39946c){if(_0x39946c){return _0x39946c[_0xaf46('0x24')]()[_0xaf46('0x23')](function(){var _0xabed9f=_0x39946c[_0xaf46('0x25')]({'plain':!![]});var _0x4fa802='ChanSpies';return db[_0xaf46('0x26')][_0xaf46('0x24')]({'where':{'type':_0x4fa802,'resourceId':_0xabed9f['id']}})[_0xaf46('0x23')](function(){return _0x39946c;});})[_0xaf46('0x23')](function(){_0x9ec76[_0xaf46('0x18')](0xcc)[_0xaf46('0x19')]();});}};}function handleEntityNotFound(_0x2b4c69,_0x2363c4){return function(_0x5aa8af){if(!_0x5aa8af){_0x2b4c69[_0xaf46('0x27')](0x194);}return _0x5aa8af;};}function handleError(_0x15c047,_0x4d49c1){_0x4d49c1=_0x4d49c1||0x1f4;return function(_0x1cee17){logger[_0xaf46('0x28')](_0x1cee17[_0xaf46('0x29')]);if(_0x1cee17[_0xaf46('0x2a')]){delete _0x1cee17[_0xaf46('0x2a')];}_0x15c047[_0xaf46('0x18')](_0x4d49c1)['send'](_0x1cee17);};}exports[_0xaf46('0x2b')]=function(_0x15cba5,_0x5eb4e1){var _0x7bd7f3={},_0x3d9c3d={},_0x242278={'count':0x0,'rows':[]};var _0x2de249=_[_0xaf46('0x2c')](db[_0xaf46('0x2d')][_0xaf46('0x2e')],function(_0x27b76f){return{'name':_0x27b76f[_0xaf46('0x2f')],'type':_0x27b76f[_0xaf46('0x30')][_0xaf46('0x31')]};});_0x3d9c3d['model']=_[_0xaf46('0x2c')](_0x2de249,'name');_0x3d9c3d[_0xaf46('0x32')]=_[_0xaf46('0x33')](_0x15cba5[_0xaf46('0x32')]);_0x3d9c3d[_0xaf46('0x34')]=_['intersection'](_0x3d9c3d[_0xaf46('0x35')],_0x3d9c3d[_0xaf46('0x32')]);_0x7bd7f3[_0xaf46('0x36')]=_[_0xaf46('0x37')](_0x3d9c3d['model'],qs['fields'](_0x15cba5[_0xaf46('0x32')][_0xaf46('0x38')]));_0x7bd7f3[_0xaf46('0x36')]=_0x7bd7f3[_0xaf46('0x36')]['length']?_0x7bd7f3[_0xaf46('0x36')]:_0x3d9c3d[_0xaf46('0x35')];if(!_0x15cba5[_0xaf46('0x32')][_0xaf46('0x39')](_0xaf46('0x3a'))){_0x7bd7f3[_0xaf46('0x1e')]=qs['limit'](_0x15cba5[_0xaf46('0x32')]['limit']);_0x7bd7f3[_0xaf46('0x1b')]=qs[_0xaf46('0x1b')](_0x15cba5['query'][_0xaf46('0x1b')]);}_0x7bd7f3[_0xaf46('0x3b')]=qs[_0xaf46('0x3c')](_0x15cba5[_0xaf46('0x32')][_0xaf46('0x3c')]);_0x7bd7f3['where']=qs[_0xaf46('0x34')](_[_0xaf46('0x3d')](_0x15cba5[_0xaf46('0x32')],_0x3d9c3d['filters']),_0x2de249);if(_0x15cba5[_0xaf46('0x32')]['filter']){_0x7bd7f3[_0xaf46('0x3e')]=_[_0xaf46('0x3f')](_0x7bd7f3['where'],{'$or':_[_0xaf46('0x2c')](_0x2de249,function(_0x4743dc){if(_0x4743dc[_0xaf46('0x30')]!==_0xaf46('0x40')){var _0x1d9a56={};_0x1d9a56[_0x4743dc[_0xaf46('0x2a')]]={'$like':'%'+_0x15cba5[_0xaf46('0x32')][_0xaf46('0x41')]+'%'};return _0x1d9a56;}})});}_0x7bd7f3=_[_0xaf46('0x3f')]({},_0x7bd7f3,_0x15cba5[_0xaf46('0x42')]);var _0x470583={'where':_0x7bd7f3[_0xaf46('0x3e')]};return db[_0xaf46('0x2d')][_0xaf46('0x1d')](_0x470583)[_0xaf46('0x23')](function(_0x408499){_0x242278[_0xaf46('0x1d')]=_0x408499;if(_0x15cba5[_0xaf46('0x32')][_0xaf46('0x43')]){_0x7bd7f3[_0xaf46('0x44')]=[{'all':!![]}];}return db[_0xaf46('0x2d')][_0xaf46('0x45')](_0x7bd7f3);})['then'](function(_0x3e601e){_0x242278['rows']=_0x3e601e;return _0x242278;})[_0xaf46('0x23')](respondWithFilteredResult(_0x5eb4e1,_0x7bd7f3))[_0xaf46('0x46')](handleError(_0x5eb4e1,null));};exports[_0xaf46('0x47')]=function(_0x11ff9d,_0xf8fc88){var _0x3030e5={'raw':![],'where':{'id':_0x11ff9d[_0xaf46('0x48')]['id']}},_0x463ad7={};_0x463ad7[_0xaf46('0x35')]=_['keys'](db['VoiceChanSpy']['rawAttributes']);_0x463ad7[_0xaf46('0x32')]=_[_0xaf46('0x33')](_0x11ff9d['query']);_0x463ad7[_0xaf46('0x34')]=_[_0xaf46('0x37')](_0x463ad7[_0xaf46('0x35')],_0x463ad7['query']);_0x3030e5[_0xaf46('0x36')]=_[_0xaf46('0x37')](_0x463ad7[_0xaf46('0x35')],qs[_0xaf46('0x38')](_0x11ff9d[_0xaf46('0x32')]['fields']));_0x3030e5[_0xaf46('0x36')]=_0x3030e5[_0xaf46('0x36')][_0xaf46('0x49')]?_0x3030e5[_0xaf46('0x36')]:_0x463ad7['model'];if(_0x11ff9d[_0xaf46('0x32')][_0xaf46('0x43')]){_0x3030e5['include']=[{'all':!![]}];}_0x3030e5=_[_0xaf46('0x3f')]({},_0x3030e5,_0x11ff9d[_0xaf46('0x42')]);return db[_0xaf46('0x2d')]['find'](_0x3030e5)[_0xaf46('0x23')](handleEntityNotFound(_0xf8fc88,null))[_0xaf46('0x23')](respondWithResult(_0xf8fc88,null))[_0xaf46('0x46')](handleError(_0xf8fc88,null));};exports[_0xaf46('0x4a')]=function(_0x409f9f,_0x512a35){return db[_0xaf46('0x2d')][_0xaf46('0x4a')](_0x409f9f['body'],{})[_0xaf46('0x23')](function(_0x1dd3ea){var _0x2f3402=_0x409f9f[_0xaf46('0x4b')][_0xaf46('0x25')]({'plain':!![]});if(!_0x2f3402)throw new Error(_0xaf46('0x4c'));if(_0x2f3402[_0xaf46('0x4d')]===_0xaf46('0x4b')){var _0x115ffd=_0x1dd3ea[_0xaf46('0x25')]({'plain':!![]});var _0x30d1d2=_0xaf46('0x4e');return db[_0xaf46('0x4f')][_0xaf46('0x50')]({'where':{'name':_0x30d1d2,'userProfileId':_0x2f3402[_0xaf46('0x51')]},'raw':!![]})[_0xaf46('0x23')](function(_0x58b631){if(_0x58b631&&_0x58b631[_0xaf46('0x52')]===0x0){return db[_0xaf46('0x26')]['create']({'name':_0x115ffd['name'],'resourceId':_0x115ffd['id'],'type':_0x58b631[_0xaf46('0x2a')],'sectionId':_0x58b631['id']},{})[_0xaf46('0x23')](function(){return _0x1dd3ea;});}else{return _0x1dd3ea;}})[_0xaf46('0x46')](function(_0x5a819e){logger[_0xaf46('0x28')](_0xaf46('0x53'),_0x5a819e);throw _0x5a819e;});}return _0x1dd3ea;})[_0xaf46('0x23')](respondWithResult(_0x512a35,0xc9))['catch'](handleError(_0x512a35,null));};exports[_0xaf46('0x22')]=function(_0x33b3bb,_0x32d900){if(_0x33b3bb[_0xaf46('0x54')]['id']){delete _0x33b3bb['body']['id'];}return db[_0xaf46('0x2d')][_0xaf46('0x50')]({'where':{'id':_0x33b3bb[_0xaf46('0x48')]['id']}})[_0xaf46('0x23')](handleEntityNotFound(_0x32d900,null))[_0xaf46('0x23')](saveUpdates(_0x33b3bb[_0xaf46('0x54')],null))['then'](respondWithResult(_0x32d900,null))[_0xaf46('0x46')](handleError(_0x32d900,null));};exports[_0xaf46('0x24')]=function(_0x8f83b6,_0x42385b){return db[_0xaf46('0x2d')]['find']({'where':{'id':_0x8f83b6[_0xaf46('0x48')]['id']}})[_0xaf46('0x23')](handleEntityNotFound(_0x42385b,null))[_0xaf46('0x23')](removeEntity(_0x42385b,null))[_0xaf46('0x46')](handleError(_0x42385b,null));};