bfbe856c8769b041d06b7f25cea65c3e6a4b1c35
[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 _0x01fe=['where','filters','pick','filter','merge','options','includeAll','include','catch','show','rawAttributes','length','find','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','zip-dir','fast-json-patch','bluebird','mustache','util','path','to-csv','fs-extra','lodash','squel','crypto','jsforce','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','ChanSpies','UserProfileResource','stack','name','send','index','map','VoiceChanSpy','fieldName','type','model','query','keys','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort'];(function(_0x1af1f0,_0x3dfb39){var _0x5c4479=function(_0x271c36){while(--_0x271c36){_0x1af1f0['push'](_0x1af1f0['shift']());}};_0x5c4479(++_0x3dfb39);}(_0x01fe,0x102));var _0xe01f=function(_0x24688c,_0x198dc9){_0x24688c=_0x24688c-0x0;var _0x2e8a35=_0x01fe[_0x24688c];return _0x2e8a35;};'use strict';var emlformat=require(_0xe01f('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xe01f('0x1'));var jsonpatch=require(_0xe01f('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xe01f('0x3'));var Mustache=require(_0xe01f('0x4'));var util=require(_0xe01f('0x5'));var path=require(_0xe01f('0x6'));var sox=require('sox');var csv=require(_0xe01f('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xe01f('0x8'));var _=require(_0xe01f('0x9'));var squel=require(_0xe01f('0xa'));var crypto=require(_0xe01f('0xb'));var jsforce=require(_0xe01f('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xe01f('0x7'));var querystring=require(_0xe01f('0xd'));var Papa=require('papaparse');var Redis=require(_0xe01f('0xe'));var authService=require('../../components/auth/service');var qs=require(_0xe01f('0xf'));var as=require(_0xe01f('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xe01f('0x11'))('api');var utils=require(_0xe01f('0x12'));var config=require(_0xe01f('0x13'));var licenseUtil=require(_0xe01f('0x14'));var db=require(_0xe01f('0x15'))['db'];function respondWithStatusCode(_0x2d3162,_0x94e3d8){_0x94e3d8=_0x94e3d8||0xcc;return function(_0x81aef3){if(_0x81aef3){return _0x2d3162[_0xe01f('0x16')](_0x94e3d8);}return _0x2d3162['status'](_0x94e3d8)[_0xe01f('0x17')]();};}function respondWithResult(_0x3a9b4b,_0x2d55c8){_0x2d55c8=_0x2d55c8||0xc8;return function(_0x3cb8ac){if(_0x3cb8ac){return _0x3a9b4b[_0xe01f('0x18')](_0x2d55c8)[_0xe01f('0x19')](_0x3cb8ac);}};}function respondWithFilteredResult(_0x664fbb,_0x5e5e30){return function(_0x53d3a1){if(_0x53d3a1){var _0x5e3877=typeof _0x5e5e30[_0xe01f('0x1a')]===_0xe01f('0x1b')&&typeof _0x5e5e30[_0xe01f('0x1c')]===_0xe01f('0x1b');var _0x26cd4c=_0x53d3a1[_0xe01f('0x1d')];var _0x144eef=_0x5e3877?0x0:_0x5e5e30[_0xe01f('0x1a')];var _0x9ee4b5=_0x5e3877?_0x53d3a1[_0xe01f('0x1d')]:_0x5e5e30['offset']+_0x5e5e30[_0xe01f('0x1c')];var _0x5ca305;if(_0x9ee4b5>=_0x26cd4c){_0x9ee4b5=_0x26cd4c;_0x5ca305=0xc8;}else{_0x5ca305=0xce;}_0x664fbb[_0xe01f('0x18')](_0x5ca305);return _0x664fbb[_0xe01f('0x1e')](_0xe01f('0x1f'),_0x144eef+'-'+_0x9ee4b5+'/'+_0x26cd4c)[_0xe01f('0x19')](_0x53d3a1);}return null;};}function patchUpdates(_0x5e9523){return function(_0x32a6b9){try{jsonpatch[_0xe01f('0x20')](_0x32a6b9,_0x5e9523,!![]);}catch(_0xccaf80){return BPromise[_0xe01f('0x21')](_0xccaf80);}return _0x32a6b9[_0xe01f('0x22')]();};}function saveUpdates(_0x3c34fa,_0x570d48){return function(_0x1faeb8){if(_0x1faeb8){return _0x1faeb8[_0xe01f('0x23')](_0x3c34fa)[_0xe01f('0x24')](function(_0xa6da95){return _0xa6da95;});}return null;};}function removeEntity(_0x2480ec,_0x38efcc){return function(_0x1ea55b){if(_0x1ea55b){return _0x1ea55b[_0xe01f('0x25')]()[_0xe01f('0x24')](function(){var _0x4b44b6=_0x1ea55b['get']({'plain':!![]});var _0x3138d3=_0xe01f('0x26');return db[_0xe01f('0x27')][_0xe01f('0x25')]({'where':{'type':_0x3138d3,'resourceId':_0x4b44b6['id']}})['then'](function(){return _0x1ea55b;});})[_0xe01f('0x24')](function(){_0x2480ec[_0xe01f('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x378c93,_0x5b9c5e){return function(_0x1b77c8){if(!_0x1b77c8){_0x378c93[_0xe01f('0x16')](0x194);}return _0x1b77c8;};}function handleError(_0x13dcd4,_0x4b85b8){_0x4b85b8=_0x4b85b8||0x1f4;return function(_0x940cb6){logger['error'](_0x940cb6[_0xe01f('0x28')]);if(_0x940cb6[_0xe01f('0x29')]){delete _0x940cb6[_0xe01f('0x29')];}_0x13dcd4[_0xe01f('0x18')](_0x4b85b8)[_0xe01f('0x2a')](_0x940cb6);};}exports[_0xe01f('0x2b')]=function(_0x11386e,_0x41d13d){var _0x1bdfcf={},_0x590598={},_0x3f725a={'count':0x0,'rows':[]};var _0x4bc3c8=_[_0xe01f('0x2c')](db[_0xe01f('0x2d')]['rawAttributes'],function(_0x15f98f){return{'name':_0x15f98f[_0xe01f('0x2e')],'type':_0x15f98f[_0xe01f('0x2f')]['key']};});_0x590598[_0xe01f('0x30')]=_[_0xe01f('0x2c')](_0x4bc3c8,_0xe01f('0x29'));_0x590598[_0xe01f('0x31')]=_[_0xe01f('0x32')](_0x11386e['query']);_0x590598['filters']=_['intersection'](_0x590598[_0xe01f('0x30')],_0x590598['query']);_0x1bdfcf[_0xe01f('0x33')]=_[_0xe01f('0x34')](_0x590598[_0xe01f('0x30')],qs[_0xe01f('0x35')](_0x11386e[_0xe01f('0x31')][_0xe01f('0x35')]));_0x1bdfcf[_0xe01f('0x33')]=_0x1bdfcf[_0xe01f('0x33')]['length']?_0x1bdfcf['attributes']:_0x590598[_0xe01f('0x30')];if(!_0x11386e[_0xe01f('0x31')][_0xe01f('0x36')](_0xe01f('0x37'))){_0x1bdfcf['limit']=qs[_0xe01f('0x1c')](_0x11386e[_0xe01f('0x31')][_0xe01f('0x1c')]);_0x1bdfcf['offset']=qs[_0xe01f('0x1a')](_0x11386e[_0xe01f('0x31')][_0xe01f('0x1a')]);}_0x1bdfcf[_0xe01f('0x38')]=qs[_0xe01f('0x39')](_0x11386e[_0xe01f('0x31')][_0xe01f('0x39')]);_0x1bdfcf[_0xe01f('0x3a')]=qs[_0xe01f('0x3b')](_[_0xe01f('0x3c')](_0x11386e[_0xe01f('0x31')],_0x590598[_0xe01f('0x3b')]),_0x4bc3c8);if(_0x11386e[_0xe01f('0x31')][_0xe01f('0x3d')]){_0x1bdfcf[_0xe01f('0x3a')]=_['merge'](_0x1bdfcf[_0xe01f('0x3a')],{'$or':_[_0xe01f('0x2c')](_0x4bc3c8,function(_0x1deac7){if(_0x1deac7[_0xe01f('0x2f')]!=='VIRTUAL'){var _0x36783f={};_0x36783f[_0x1deac7[_0xe01f('0x29')]]={'$like':'%'+_0x11386e[_0xe01f('0x31')][_0xe01f('0x3d')]+'%'};return _0x36783f;}})});}_0x1bdfcf=_[_0xe01f('0x3e')]({},_0x1bdfcf,_0x11386e[_0xe01f('0x3f')]);var _0x4fbb62={'where':_0x1bdfcf[_0xe01f('0x3a')]};return db[_0xe01f('0x2d')][_0xe01f('0x1d')](_0x4fbb62)[_0xe01f('0x24')](function(_0x20421f){_0x3f725a[_0xe01f('0x1d')]=_0x20421f;if(_0x11386e[_0xe01f('0x31')][_0xe01f('0x40')]){_0x1bdfcf[_0xe01f('0x41')]=[{'all':!![]}];}return db['VoiceChanSpy']['findAll'](_0x1bdfcf);})[_0xe01f('0x24')](function(_0x50b47){_0x3f725a['rows']=_0x50b47;return _0x3f725a;})[_0xe01f('0x24')](respondWithFilteredResult(_0x41d13d,_0x1bdfcf))[_0xe01f('0x42')](handleError(_0x41d13d,null));};exports[_0xe01f('0x43')]=function(_0x5625d8,_0x2eb993){var _0x2da2e9={'raw':![],'where':{'id':_0x5625d8['params']['id']}},_0x56785b={};_0x56785b['model']=_[_0xe01f('0x32')](db['VoiceChanSpy'][_0xe01f('0x44')]);_0x56785b['query']=_[_0xe01f('0x32')](_0x5625d8[_0xe01f('0x31')]);_0x56785b[_0xe01f('0x3b')]=_[_0xe01f('0x34')](_0x56785b[_0xe01f('0x30')],_0x56785b[_0xe01f('0x31')]);_0x2da2e9[_0xe01f('0x33')]=_[_0xe01f('0x34')](_0x56785b[_0xe01f('0x30')],qs[_0xe01f('0x35')](_0x5625d8[_0xe01f('0x31')]['fields']));_0x2da2e9[_0xe01f('0x33')]=_0x2da2e9[_0xe01f('0x33')][_0xe01f('0x45')]?_0x2da2e9[_0xe01f('0x33')]:_0x56785b[_0xe01f('0x30')];if(_0x5625d8['query'][_0xe01f('0x40')]){_0x2da2e9['include']=[{'all':!![]}];}_0x2da2e9=_['merge']({},_0x2da2e9,_0x5625d8[_0xe01f('0x3f')]);return db[_0xe01f('0x2d')][_0xe01f('0x46')](_0x2da2e9)[_0xe01f('0x24')](handleEntityNotFound(_0x2eb993,null))[_0xe01f('0x24')](respondWithResult(_0x2eb993,null))['catch'](handleError(_0x2eb993,null));};exports[_0xe01f('0x47')]=function(_0x337c5d,_0x3bb3b7){return db[_0xe01f('0x2d')][_0xe01f('0x47')](_0x337c5d[_0xe01f('0x48')],{})[_0xe01f('0x24')](function(_0x5a511c){var _0x3f4ae0=_0x337c5d['user'][_0xe01f('0x49')]({'plain':!![]});if(!_0x3f4ae0)throw new Error(_0xe01f('0x4a'));if(_0x3f4ae0['role']===_0xe01f('0x4b')){var _0x100742=_0x5a511c[_0xe01f('0x49')]({'plain':!![]});var _0xea4320=_0xe01f('0x26');return db[_0xe01f('0x4c')]['find']({'where':{'name':_0xea4320,'userProfileId':_0x3f4ae0['userProfileId']},'raw':!![]})[_0xe01f('0x24')](function(_0x216f69){if(_0x216f69&&_0x216f69['autoAssociation']===0x0){return db[_0xe01f('0x27')][_0xe01f('0x47')]({'name':_0x100742[_0xe01f('0x29')],'resourceId':_0x100742['id'],'type':_0x216f69[_0xe01f('0x29')],'sectionId':_0x216f69['id']},{})[_0xe01f('0x24')](function(){return _0x5a511c;});}else{return _0x5a511c;}})[_0xe01f('0x42')](function(_0x4ffa43){logger[_0xe01f('0x4d')](_0xe01f('0x4e'),_0x4ffa43);throw _0x4ffa43;});}return _0x5a511c;})['then'](respondWithResult(_0x3bb3b7,0xc9))[_0xe01f('0x42')](handleError(_0x3bb3b7,null));};exports[_0xe01f('0x23')]=function(_0x33b9a8,_0x47089f){if(_0x33b9a8[_0xe01f('0x48')]['id']){delete _0x33b9a8[_0xe01f('0x48')]['id'];}return db['VoiceChanSpy'][_0xe01f('0x46')]({'where':{'id':_0x33b9a8['params']['id']}})['then'](handleEntityNotFound(_0x47089f,null))[_0xe01f('0x24')](saveUpdates(_0x33b9a8[_0xe01f('0x48')],null))[_0xe01f('0x24')](respondWithResult(_0x47089f,null))[_0xe01f('0x42')](handleError(_0x47089f,null));};exports[_0xe01f('0x25')]=function(_0x3b0ab1,_0x3949e1){return db[_0xe01f('0x2d')]['find']({'where':{'id':_0x3b0ab1['params']['id']}})[_0xe01f('0x24')](handleEntityNotFound(_0x3949e1,null))['then'](removeEntity(_0x3949e1,null))[_0xe01f('0x42')](handleError(_0x3949e1,null));};