f8c95a4adfed7d640f43cd038ed2cb15f58d7415
[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 _0x9d02=['save','update','then','destroy','get','UserProfileResource','error','stack','name','send','index','VoiceChanSpy','type','model','query','keys','filters','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','map','VIRTUAL','merge','options','includeAll','findAll','catch','show','params','rawAttributes','fields','include','find','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','ChanSpies','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','eml-format','zip-dir','request-promise','bluebird','mustache','path','sox','to-csv','squel','crypto','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject'];(function(_0x5cca31,_0x17e88f){var _0x3bddc6=function(_0x3b50ee){while(--_0x3b50ee){_0x5cca31['push'](_0x5cca31['shift']());}};_0x3bddc6(++_0x17e88f);}(_0x9d02,0x118));var _0x29d0=function(_0x39cc88,_0x16ebe4){_0x39cc88=_0x39cc88-0x0;var _0x4256fa=_0x9d02[_0x39cc88];return _0x4256fa;};'use strict';var emlformat=require(_0x29d0('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x29d0('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x29d0('0x2'));var moment=require('moment');var BPromise=require(_0x29d0('0x3'));var Mustache=require(_0x29d0('0x4'));var util=require('util');var path=require(_0x29d0('0x5'));var sox=require(_0x29d0('0x6'));var csv=require(_0x29d0('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x29d0('0x8'));var crypto=require(_0x29d0('0x9'));var jsforce=require('jsforce');var deskjs=require(_0x29d0('0xa'));var toCsv=require(_0x29d0('0x7'));var querystring=require('querystring');var Papa=require(_0x29d0('0xb'));var Redis=require(_0x29d0('0xc'));var authService=require('../../components/auth/service');var qs=require(_0x29d0('0xd'));var as=require(_0x29d0('0xe'));var hardwareService=require(_0x29d0('0xf'));var logger=require(_0x29d0('0x10'))('api');var utils=require('../../config/utils');var config=require(_0x29d0('0x11'));var licenseUtil=require(_0x29d0('0x12'));var db=require(_0x29d0('0x13'))['db'];function respondWithStatusCode(_0x1413fd,_0x12cba7){_0x12cba7=_0x12cba7||0xcc;return function(_0x357120){if(_0x357120){return _0x1413fd[_0x29d0('0x14')](_0x12cba7);}return _0x1413fd[_0x29d0('0x15')](_0x12cba7)[_0x29d0('0x16')]();};}function respondWithResult(_0x4c5eed,_0x22903c){_0x22903c=_0x22903c||0xc8;return function(_0x2474b3){if(_0x2474b3){return _0x4c5eed[_0x29d0('0x15')](_0x22903c)[_0x29d0('0x17')](_0x2474b3);}};}function respondWithFilteredResult(_0x120c96,_0xa0b9dc){return function(_0x55ba12){if(_0x55ba12){var _0x24562f=typeof _0xa0b9dc[_0x29d0('0x18')]===_0x29d0('0x19')&&typeof _0xa0b9dc['limit']===_0x29d0('0x19');var _0x6964fa=_0x55ba12[_0x29d0('0x1a')];var _0x443031=_0x24562f?0x0:_0xa0b9dc[_0x29d0('0x18')];var _0x28c0ee=_0x24562f?_0x55ba12['count']:_0xa0b9dc[_0x29d0('0x18')]+_0xa0b9dc[_0x29d0('0x1b')];var _0x1135f6;if(_0x28c0ee>=_0x6964fa){_0x28c0ee=_0x6964fa;_0x1135f6=0xc8;}else{_0x1135f6=0xce;}_0x120c96[_0x29d0('0x15')](_0x1135f6);return _0x120c96[_0x29d0('0x1c')](_0x29d0('0x1d'),_0x443031+'-'+_0x28c0ee+'/'+_0x6964fa)['json'](_0x55ba12);}return null;};}function patchUpdates(_0x385e63){return function(_0x170993){try{jsonpatch[_0x29d0('0x1e')](_0x170993,_0x385e63,!![]);}catch(_0x4d981a){return BPromise[_0x29d0('0x1f')](_0x4d981a);}return _0x170993[_0x29d0('0x20')]();};}function saveUpdates(_0x1f9e73,_0x4179a0){return function(_0x5cf0dc){if(_0x5cf0dc){return _0x5cf0dc[_0x29d0('0x21')](_0x1f9e73)[_0x29d0('0x22')](function(_0x47302e){return _0x47302e;});}return null;};}function removeEntity(_0x5aed48,_0x40da12){return function(_0x1c80f2){if(_0x1c80f2){return _0x1c80f2[_0x29d0('0x23')]()[_0x29d0('0x22')](function(){var _0x2a976d=_0x1c80f2[_0x29d0('0x24')]({'plain':!![]});var _0x39037a='ChanSpies';return db[_0x29d0('0x25')][_0x29d0('0x23')]({'where':{'type':_0x39037a,'resourceId':_0x2a976d['id']}})[_0x29d0('0x22')](function(){return _0x1c80f2;});})[_0x29d0('0x22')](function(){_0x5aed48[_0x29d0('0x15')](0xcc)[_0x29d0('0x16')]();});}};}function handleEntityNotFound(_0x5c4be8,_0x342a0d){return function(_0x4b6012){if(!_0x4b6012){_0x5c4be8[_0x29d0('0x14')](0x194);}return _0x4b6012;};}function handleError(_0x579948,_0x123637){_0x123637=_0x123637||0x1f4;return function(_0x275f80){logger[_0x29d0('0x26')](_0x275f80[_0x29d0('0x27')]);if(_0x275f80[_0x29d0('0x28')]){delete _0x275f80[_0x29d0('0x28')];}_0x579948[_0x29d0('0x15')](_0x123637)[_0x29d0('0x29')](_0x275f80);};}exports[_0x29d0('0x2a')]=function(_0x3f7809,_0x15bb23){var _0x5aeee9={},_0x308e22={},_0x1df4b3={'count':0x0,'rows':[]};var _0x1d4d3d=_['map'](db[_0x29d0('0x2b')]['rawAttributes'],function(_0x345ce9){return{'name':_0x345ce9['fieldName'],'type':_0x345ce9[_0x29d0('0x2c')]['key']};});_0x308e22[_0x29d0('0x2d')]=_['map'](_0x1d4d3d,_0x29d0('0x28'));_0x308e22[_0x29d0('0x2e')]=_[_0x29d0('0x2f')](_0x3f7809[_0x29d0('0x2e')]);_0x308e22[_0x29d0('0x30')]=_['intersection'](_0x308e22[_0x29d0('0x2d')],_0x308e22[_0x29d0('0x2e')]);_0x5aeee9['attributes']=_['intersection'](_0x308e22['model'],qs['fields'](_0x3f7809[_0x29d0('0x2e')]['fields']));_0x5aeee9[_0x29d0('0x31')]=_0x5aeee9[_0x29d0('0x31')][_0x29d0('0x32')]?_0x5aeee9[_0x29d0('0x31')]:_0x308e22['model'];if(!_0x3f7809[_0x29d0('0x2e')][_0x29d0('0x33')](_0x29d0('0x34'))){_0x5aeee9['limit']=qs['limit'](_0x3f7809['query']['limit']);_0x5aeee9[_0x29d0('0x18')]=qs[_0x29d0('0x18')](_0x3f7809[_0x29d0('0x2e')][_0x29d0('0x18')]);}_0x5aeee9[_0x29d0('0x35')]=qs[_0x29d0('0x36')](_0x3f7809[_0x29d0('0x2e')]['sort']);_0x5aeee9[_0x29d0('0x37')]=qs[_0x29d0('0x30')](_[_0x29d0('0x38')](_0x3f7809['query'],_0x308e22[_0x29d0('0x30')]),_0x1d4d3d);if(_0x3f7809['query'][_0x29d0('0x39')]){_0x5aeee9['where']=_['merge'](_0x5aeee9[_0x29d0('0x37')],{'$or':_[_0x29d0('0x3a')](_0x1d4d3d,function(_0x3ffece){if(_0x3ffece['type']!==_0x29d0('0x3b')){var _0x1076e0={};_0x1076e0[_0x3ffece[_0x29d0('0x28')]]={'$like':'%'+_0x3f7809[_0x29d0('0x2e')][_0x29d0('0x39')]+'%'};return _0x1076e0;}})});}_0x5aeee9=_[_0x29d0('0x3c')]({},_0x5aeee9,_0x3f7809[_0x29d0('0x3d')]);var _0x539190={'where':_0x5aeee9['where']};return db[_0x29d0('0x2b')]['count'](_0x539190)[_0x29d0('0x22')](function(_0x3f95db){_0x1df4b3[_0x29d0('0x1a')]=_0x3f95db;if(_0x3f7809[_0x29d0('0x2e')][_0x29d0('0x3e')]){_0x5aeee9['include']=[{'all':!![]}];}return db[_0x29d0('0x2b')][_0x29d0('0x3f')](_0x5aeee9);})[_0x29d0('0x22')](function(_0x3370dc){_0x1df4b3['rows']=_0x3370dc;return _0x1df4b3;})[_0x29d0('0x22')](respondWithFilteredResult(_0x15bb23,_0x5aeee9))[_0x29d0('0x40')](handleError(_0x15bb23,null));};exports[_0x29d0('0x41')]=function(_0x35b606,_0x3e42c0){var _0x23eebf={'raw':![],'where':{'id':_0x35b606[_0x29d0('0x42')]['id']}},_0x33ca2f={};_0x33ca2f[_0x29d0('0x2d')]=_[_0x29d0('0x2f')](db[_0x29d0('0x2b')][_0x29d0('0x43')]);_0x33ca2f[_0x29d0('0x2e')]=_[_0x29d0('0x2f')](_0x35b606['query']);_0x33ca2f[_0x29d0('0x30')]=_['intersection'](_0x33ca2f[_0x29d0('0x2d')],_0x33ca2f[_0x29d0('0x2e')]);_0x23eebf[_0x29d0('0x31')]=_['intersection'](_0x33ca2f['model'],qs[_0x29d0('0x44')](_0x35b606[_0x29d0('0x2e')][_0x29d0('0x44')]));_0x23eebf[_0x29d0('0x31')]=_0x23eebf['attributes'][_0x29d0('0x32')]?_0x23eebf[_0x29d0('0x31')]:_0x33ca2f[_0x29d0('0x2d')];if(_0x35b606[_0x29d0('0x2e')][_0x29d0('0x3e')]){_0x23eebf[_0x29d0('0x45')]=[{'all':!![]}];}_0x23eebf=_[_0x29d0('0x3c')]({},_0x23eebf,_0x35b606['options']);return db['VoiceChanSpy'][_0x29d0('0x46')](_0x23eebf)[_0x29d0('0x22')](handleEntityNotFound(_0x3e42c0,null))['then'](respondWithResult(_0x3e42c0,null))[_0x29d0('0x40')](handleError(_0x3e42c0,null));};exports['create']=function(_0x418761,_0x1ceb93){return db[_0x29d0('0x2b')]['create'](_0x418761['body'],{})[_0x29d0('0x22')](function(_0x84156b){var _0x364302=_0x418761['user']['get']({'plain':!![]});if(!_0x364302)throw new Error(_0x29d0('0x47'));if(_0x364302['role']===_0x29d0('0x48')){var _0x1e1dc2=_0x84156b['get']({'plain':!![]});var _0x430830=_0x29d0('0x49');return db[_0x29d0('0x4a')][_0x29d0('0x46')]({'where':{'name':_0x430830,'userProfileId':_0x364302['userProfileId']},'raw':!![]})[_0x29d0('0x22')](function(_0x3435c6){if(_0x3435c6&&_0x3435c6[_0x29d0('0x4b')]===0x0){return db[_0x29d0('0x25')]['create']({'name':_0x1e1dc2['name'],'resourceId':_0x1e1dc2['id'],'type':_0x3435c6[_0x29d0('0x28')],'sectionId':_0x3435c6['id']},{})[_0x29d0('0x22')](function(){return _0x84156b;});}else{return _0x84156b;}})[_0x29d0('0x40')](function(_0x30502b){logger[_0x29d0('0x26')](_0x29d0('0x4c'),_0x30502b);throw _0x30502b;});}return _0x84156b;})[_0x29d0('0x22')](respondWithResult(_0x1ceb93,0xc9))[_0x29d0('0x40')](handleError(_0x1ceb93,null));};exports['update']=function(_0x81a61e,_0x978177){if(_0x81a61e['body']['id']){delete _0x81a61e[_0x29d0('0x4d')]['id'];}return db[_0x29d0('0x2b')][_0x29d0('0x46')]({'where':{'id':_0x81a61e['params']['id']}})['then'](handleEntityNotFound(_0x978177,null))[_0x29d0('0x22')](saveUpdates(_0x81a61e[_0x29d0('0x4d')],null))[_0x29d0('0x22')](respondWithResult(_0x978177,null))[_0x29d0('0x40')](handleError(_0x978177,null));};exports['destroy']=function(_0x2f3566,_0x31b1b8){return db[_0x29d0('0x2b')]['find']({'where':{'id':_0x2f3566[_0x29d0('0x42')]['id']}})[_0x29d0('0x22')](handleEntityNotFound(_0x31b1b8,null))['then'](removeEntity(_0x31b1b8,null))[_0x29d0('0x40')](handleError(_0x31b1b8,null));};