7eb63d14c6d587ce740be4c298dfbdb47ed4e561
[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 _0x2060=['intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','options','includeAll','include','findAll','rows','catch','params','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','ejs','fs-extra','squel','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','sendStatus','end','json','offset','undefined','limit','count','status','set','Content-Range','apply','save','then','destroy','ChanSpies','error','name','send','index','map','VoiceChanSpy','rawAttributes','fieldName','type','key','query','keys','filters'];(function(_0x417b1a,_0x3cfce5){var _0x1e41af=function(_0xe2e44e){while(--_0xe2e44e){_0x417b1a['push'](_0x417b1a['shift']());}};_0x1e41af(++_0x3cfce5);}(_0x2060,0x1be));var _0x0206=function(_0x4e3bbb,_0x311a10){_0x4e3bbb=_0x4e3bbb-0x0;var _0xc3dba=_0x2060[_0x4e3bbb];return _0xc3dba;};'use strict';var emlformat=require(_0x0206('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x0206('0x1'));var jsonpatch=require(_0x0206('0x2'));var rp=require(_0x0206('0x3'));var moment=require(_0x0206('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x0206('0x5'));var util=require(_0x0206('0x6'));var path=require('path');var sox=require(_0x0206('0x7'));var csv=require('to-csv');var ejs=require(_0x0206('0x8'));var fs=require('fs');var fs_extra=require(_0x0206('0x9'));var _=require('lodash');var squel=require(_0x0206('0xa'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x0206('0xb'));var toCsv=require(_0x0206('0xc'));var querystring=require(_0x0206('0xd'));var Papa=require(_0x0206('0xe'));var Redis=require(_0x0206('0xf'));var authService=require(_0x0206('0x10'));var qs=require(_0x0206('0x11'));var as=require(_0x0206('0x12'));var hardwareService=require(_0x0206('0x13'));var logger=require(_0x0206('0x14'))(_0x0206('0x15'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x0206('0x16'));var db=require(_0x0206('0x17'))['db'];function respondWithStatusCode(_0x58cef1,_0x3e7cc1){_0x3e7cc1=_0x3e7cc1||0xcc;return function(_0x3d4bb6){if(_0x3d4bb6){return _0x58cef1[_0x0206('0x18')](_0x3e7cc1);}return _0x58cef1['status'](_0x3e7cc1)[_0x0206('0x19')]();};}function respondWithResult(_0x430327,_0x1838e0){_0x1838e0=_0x1838e0||0xc8;return function(_0x46acdb){if(_0x46acdb){return _0x430327['status'](_0x1838e0)[_0x0206('0x1a')](_0x46acdb);}};}function respondWithFilteredResult(_0x4bedf9,_0x1370bd){return function(_0x1ac4b0){if(_0x1ac4b0){var _0x41a062=typeof _0x1370bd[_0x0206('0x1b')]===_0x0206('0x1c')&&typeof _0x1370bd[_0x0206('0x1d')]==='undefined';var _0x5c7b5a=_0x1ac4b0[_0x0206('0x1e')];var _0x5641df=_0x41a062?0x0:_0x1370bd['offset'];var _0x2db2da=_0x41a062?_0x1ac4b0[_0x0206('0x1e')]:_0x1370bd[_0x0206('0x1b')]+_0x1370bd[_0x0206('0x1d')];var _0x5540e4;if(_0x2db2da>=_0x5c7b5a){_0x2db2da=_0x5c7b5a;_0x5540e4=0xc8;}else{_0x5540e4=0xce;}_0x4bedf9[_0x0206('0x1f')](_0x5540e4);return _0x4bedf9[_0x0206('0x20')](_0x0206('0x21'),_0x5641df+'-'+_0x2db2da+'/'+_0x5c7b5a)[_0x0206('0x1a')](_0x1ac4b0);}return null;};}function patchUpdates(_0x3c189c){return function(_0x41aa22){try{jsonpatch[_0x0206('0x22')](_0x41aa22,_0x3c189c,!![]);}catch(_0x237fe3){return BPromise['reject'](_0x237fe3);}return _0x41aa22[_0x0206('0x23')]();};}function saveUpdates(_0x5da8a4,_0x5cc687){return function(_0x2a37c7){if(_0x2a37c7){return _0x2a37c7['update'](_0x5da8a4)[_0x0206('0x24')](function(_0x98c27e){return _0x98c27e;});}return null;};}function removeEntity(_0x34feb9,_0x4c5452){return function(_0x399f38){if(_0x399f38){return _0x399f38[_0x0206('0x25')]()[_0x0206('0x24')](function(){var _0x4c5027=_0x399f38['get']({'plain':!![]});var _0x3b9890=_0x0206('0x26');return db['UserProfileResource'][_0x0206('0x25')]({'where':{'type':_0x3b9890,'resourceId':_0x4c5027['id']}})[_0x0206('0x24')](function(){return _0x399f38;});})[_0x0206('0x24')](function(){_0x34feb9[_0x0206('0x1f')](0xcc)[_0x0206('0x19')]();});}};}function handleEntityNotFound(_0x519a0a,_0x847866){return function(_0x18513c){if(!_0x18513c){_0x519a0a[_0x0206('0x18')](0x194);}return _0x18513c;};}function handleError(_0x5ec89c,_0x29405f){_0x29405f=_0x29405f||0x1f4;return function(_0x45a10b){logger[_0x0206('0x27')](_0x45a10b['stack']);if(_0x45a10b[_0x0206('0x28')]){delete _0x45a10b[_0x0206('0x28')];}_0x5ec89c['status'](_0x29405f)[_0x0206('0x29')](_0x45a10b);};}exports[_0x0206('0x2a')]=function(_0x3e1e35,_0x497a24){var _0x852de4={},_0x136543={},_0x29f96a={'count':0x0,'rows':[]};var _0x338aab=_[_0x0206('0x2b')](db[_0x0206('0x2c')][_0x0206('0x2d')],function(_0x1f1a71){return{'name':_0x1f1a71[_0x0206('0x2e')],'type':_0x1f1a71[_0x0206('0x2f')][_0x0206('0x30')]};});_0x136543['model']=_['map'](_0x338aab,_0x0206('0x28'));_0x136543[_0x0206('0x31')]=_[_0x0206('0x32')](_0x3e1e35[_0x0206('0x31')]);_0x136543[_0x0206('0x33')]=_[_0x0206('0x34')](_0x136543[_0x0206('0x35')],_0x136543['query']);_0x852de4[_0x0206('0x36')]=_[_0x0206('0x34')](_0x136543[_0x0206('0x35')],qs[_0x0206('0x37')](_0x3e1e35[_0x0206('0x31')]['fields']));_0x852de4[_0x0206('0x36')]=_0x852de4[_0x0206('0x36')][_0x0206('0x38')]?_0x852de4['attributes']:_0x136543[_0x0206('0x35')];if(!_0x3e1e35['query'][_0x0206('0x39')](_0x0206('0x3a'))){_0x852de4[_0x0206('0x1d')]=qs['limit'](_0x3e1e35[_0x0206('0x31')][_0x0206('0x1d')]);_0x852de4['offset']=qs['offset'](_0x3e1e35[_0x0206('0x31')][_0x0206('0x1b')]);}_0x852de4[_0x0206('0x3b')]=qs[_0x0206('0x3c')](_0x3e1e35[_0x0206('0x31')][_0x0206('0x3c')]);_0x852de4['where']=qs[_0x0206('0x33')](_[_0x0206('0x3d')](_0x3e1e35['query'],_0x136543['filters']),_0x338aab);if(_0x3e1e35[_0x0206('0x31')][_0x0206('0x3e')]){_0x852de4[_0x0206('0x3f')]=_[_0x0206('0x40')](_0x852de4[_0x0206('0x3f')],{'$or':_[_0x0206('0x2b')](_0x338aab,function(_0x41601e){if(_0x41601e[_0x0206('0x2f')]!=='VIRTUAL'){var _0x6e6f3a={};_0x6e6f3a[_0x41601e['name']]={'$like':'%'+_0x3e1e35[_0x0206('0x31')]['filter']+'%'};return _0x6e6f3a;}})});}_0x852de4=_[_0x0206('0x40')]({},_0x852de4,_0x3e1e35[_0x0206('0x41')]);var _0x2e4920={'where':_0x852de4[_0x0206('0x3f')]};return db[_0x0206('0x2c')]['count'](_0x2e4920)[_0x0206('0x24')](function(_0x25c382){_0x29f96a['count']=_0x25c382;if(_0x3e1e35[_0x0206('0x31')][_0x0206('0x42')]){_0x852de4[_0x0206('0x43')]=[{'all':!![]}];}return db[_0x0206('0x2c')][_0x0206('0x44')](_0x852de4);})[_0x0206('0x24')](function(_0x57b354){_0x29f96a[_0x0206('0x45')]=_0x57b354;return _0x29f96a;})[_0x0206('0x24')](respondWithFilteredResult(_0x497a24,_0x852de4))[_0x0206('0x46')](handleError(_0x497a24,null));};exports['show']=function(_0x228b3c,_0x1bf78f){var _0x414d61={'raw':![],'where':{'id':_0x228b3c[_0x0206('0x47')]['id']}},_0x198840={};_0x198840[_0x0206('0x35')]=_['keys'](db[_0x0206('0x2c')][_0x0206('0x2d')]);_0x198840[_0x0206('0x31')]=_[_0x0206('0x32')](_0x228b3c[_0x0206('0x31')]);_0x198840[_0x0206('0x33')]=_['intersection'](_0x198840['model'],_0x198840['query']);_0x414d61[_0x0206('0x36')]=_[_0x0206('0x34')](_0x198840[_0x0206('0x35')],qs[_0x0206('0x37')](_0x228b3c[_0x0206('0x31')][_0x0206('0x37')]));_0x414d61[_0x0206('0x36')]=_0x414d61[_0x0206('0x36')][_0x0206('0x38')]?_0x414d61[_0x0206('0x36')]:_0x198840[_0x0206('0x35')];if(_0x228b3c['query'][_0x0206('0x42')]){_0x414d61[_0x0206('0x43')]=[{'all':!![]}];}_0x414d61=_['merge']({},_0x414d61,_0x228b3c[_0x0206('0x41')]);return db[_0x0206('0x2c')][_0x0206('0x48')](_0x414d61)['then'](handleEntityNotFound(_0x1bf78f,null))['then'](respondWithResult(_0x1bf78f,null))[_0x0206('0x46')](handleError(_0x1bf78f,null));};exports[_0x0206('0x49')]=function(_0x3827e9,_0x3c308f){return db['VoiceChanSpy'][_0x0206('0x49')](_0x3827e9[_0x0206('0x4a')],{})[_0x0206('0x24')](function(_0x25808a){var _0xd7176a=_0x3827e9[_0x0206('0x4b')][_0x0206('0x4c')]({'plain':!![]});if(!_0xd7176a)throw new Error(_0x0206('0x4d'));if(_0xd7176a[_0x0206('0x4e')]===_0x0206('0x4b')){var _0x5a4ecb=_0x25808a[_0x0206('0x4c')]({'plain':!![]});var _0x16390f=_0x0206('0x26');return db[_0x0206('0x4f')][_0x0206('0x48')]({'where':{'name':_0x16390f,'userProfileId':_0xd7176a[_0x0206('0x50')]},'raw':!![]})[_0x0206('0x24')](function(_0x5e8417){if(_0x5e8417&&_0x5e8417['autoAssociation']===0x0){return db['UserProfileResource'][_0x0206('0x49')]({'name':_0x5a4ecb[_0x0206('0x28')],'resourceId':_0x5a4ecb['id'],'type':_0x5e8417[_0x0206('0x28')],'sectionId':_0x5e8417['id']},{})['then'](function(){return _0x25808a;});}else{return _0x25808a;}})['catch'](function(_0x457c72){logger['error'](_0x0206('0x51'),_0x457c72);throw _0x457c72;});}return _0x25808a;})[_0x0206('0x24')](respondWithResult(_0x3c308f,0xc9))[_0x0206('0x46')](handleError(_0x3c308f,null));};exports[_0x0206('0x52')]=function(_0x31f5d3,_0x1d1bff){if(_0x31f5d3['body']['id']){delete _0x31f5d3[_0x0206('0x4a')]['id'];}return db[_0x0206('0x2c')]['find']({'where':{'id':_0x31f5d3[_0x0206('0x47')]['id']}})[_0x0206('0x24')](handleEntityNotFound(_0x1d1bff,null))[_0x0206('0x24')](saveUpdates(_0x31f5d3[_0x0206('0x4a')],null))['then'](respondWithResult(_0x1d1bff,null))[_0x0206('0x46')](handleError(_0x1d1bff,null));};exports[_0x0206('0x25')]=function(_0x187b56,_0x4eb26a){return db[_0x0206('0x2c')][_0x0206('0x48')]({'where':{'id':_0x187b56[_0x0206('0x47')]['id']}})[_0x0206('0x24')](handleEntityNotFound(_0x4eb26a,null))['then'](removeEntity(_0x4eb26a,null))[_0x0206('0x46')](handleError(_0x4eb26a,null));};