483a8022744cfec00ceb50813bd8efaf6ad60876
[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 _0x93fe=['create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','get','UserProfileSection','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','params','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','reject','destroy','then','ChanSpies','UserProfileResource','stack','name','index','map','VoiceChanSpy','rawAttributes','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','merge','VIRTUAL','filter','includeAll','rows','catch','show','keys','include','options','find'];(function(_0x1f9f37,_0x18776e){var _0x21c080=function(_0x4acb93){while(--_0x4acb93){_0x1f9f37['push'](_0x1f9f37['shift']());}};_0x21c080(++_0x18776e);}(_0x93fe,0xf8));var _0xe93f=function(_0x181713,_0x3e3b73){_0x181713=_0x181713-0x0;var _0x416976=_0x93fe[_0x181713];return _0x416976;};'use strict';var pdf=require(_0xe93f('0x0'));var emlformat=require(_0xe93f('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xe93f('0x2'));var jsonpatch=require(_0xe93f('0x3'));var rp=require(_0xe93f('0x4'));var moment=require(_0xe93f('0x5'));var BPromise=require(_0xe93f('0x6'));var Mustache=require(_0xe93f('0x7'));var util=require('util');var path=require(_0xe93f('0x8'));var sox=require(_0xe93f('0x9'));var csv=require(_0xe93f('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xe93f('0xb'));var squel=require(_0xe93f('0xc'));var crypto=require(_0xe93f('0xd'));var jsforce=require(_0xe93f('0xe'));var deskjs=require(_0xe93f('0xf'));var toCsv=require('to-csv');var querystring=require(_0xe93f('0x10'));var Papa=require('papaparse');var Redis=require(_0xe93f('0x11'));var authService=require(_0xe93f('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xe93f('0x13'));var hardwareService=require(_0xe93f('0x14'));var logger=require(_0xe93f('0x15'))('api');var utils=require(_0xe93f('0x16'));var config=require(_0xe93f('0x17'));var db=require(_0xe93f('0x18'))['db'];function respondWithStatusCode(_0x104df4,_0x4e1d70){_0x4e1d70=_0x4e1d70||0xcc;return function(_0x419ae7){if(_0x419ae7){return _0x104df4[_0xe93f('0x19')](_0x4e1d70);}return _0x104df4['status'](_0x4e1d70)[_0xe93f('0x1a')]();};}function respondWithResult(_0x445aae,_0x42daeb){_0x42daeb=_0x42daeb||0xc8;return function(_0x209d24){if(_0x209d24){return _0x445aae[_0xe93f('0x1b')](_0x42daeb)[_0xe93f('0x1c')](_0x209d24);}};}function respondWithFilteredResult(_0x32864a,_0x45e59f){return function(_0x7b4e5f){if(_0x7b4e5f){var _0x368d68=_0x7b4e5f[_0xe93f('0x1d')],_0xdd080b=_0x45e59f['offset'],_0xa061a9=_0x45e59f[_0xe93f('0x1e')]+_0x45e59f[_0xe93f('0x1f')],_0x54271f;if(_0xa061a9>=_0x368d68){_0xa061a9=_0x368d68;_0x54271f=0xc8;}else{_0x54271f=0xce;}_0x32864a[_0xe93f('0x1b')](_0x54271f);return _0x32864a[_0xe93f('0x20')](_0xe93f('0x21'),_0xdd080b+'-'+_0xa061a9+'/'+_0x368d68)[_0xe93f('0x1c')](_0x7b4e5f);}return null;};}function patchUpdates(_0x1727cc){return function(_0x3fdfce){try{jsonpatch[_0xe93f('0x22')](_0x3fdfce,_0x1727cc,!![]);}catch(_0x48cf33){return BPromise[_0xe93f('0x23')](_0x48cf33);}return _0x3fdfce['save']();};}function saveUpdates(_0x49e274,_0x4fbf61){return function(_0x486d81){if(_0x486d81){return _0x486d81['update'](_0x49e274)['then'](function(_0x433530){return _0x433530;});}return null;};}function removeEntity(_0x236ace,_0x51611b){return function(_0xcb6724){if(_0xcb6724){return _0xcb6724[_0xe93f('0x24')]()[_0xe93f('0x25')](function(){var _0x41f004=_0xcb6724['get']({'plain':!![]});var _0x58ed39=_0xe93f('0x26');return db[_0xe93f('0x27')]['destroy']({'where':{'type':_0x58ed39,'resourceId':_0x41f004['id']}})[_0xe93f('0x25')](function(){return _0xcb6724;});})[_0xe93f('0x25')](function(){_0x236ace[_0xe93f('0x1b')](0xcc)[_0xe93f('0x1a')]();});}};}function handleEntityNotFound(_0x5be7d0,_0x59453a){return function(_0xe1daf8){if(!_0xe1daf8){_0x5be7d0['sendStatus'](0x194);}return _0xe1daf8;};}function handleError(_0x2ca748,_0x3b4933){_0x3b4933=_0x3b4933||0x1f4;return function(_0x4a7fcc){logger['error'](_0x4a7fcc[_0xe93f('0x28')]);if(_0x4a7fcc[_0xe93f('0x29')]){delete _0x4a7fcc[_0xe93f('0x29')];}_0x2ca748['status'](_0x3b4933)['send'](_0x4a7fcc);};}exports[_0xe93f('0x2a')]=function(_0x4ab7ca,_0x263f96){var _0x242982={},_0x4a415d={},_0x277ecf={'count':0x0,'rows':[]};var _0x5c994c=_[_0xe93f('0x2b')](db[_0xe93f('0x2c')][_0xe93f('0x2d')],function(_0x185d2b){return{'name':_0x185d2b['fieldName'],'type':_0x185d2b[_0xe93f('0x2e')]['key']};});_0x4a415d[_0xe93f('0x2f')]=_['map'](_0x5c994c,_0xe93f('0x29'));_0x4a415d['query']=_['keys'](_0x4ab7ca[_0xe93f('0x30')]);_0x4a415d[_0xe93f('0x31')]=_[_0xe93f('0x32')](_0x4a415d[_0xe93f('0x2f')],_0x4a415d[_0xe93f('0x30')]);_0x242982[_0xe93f('0x33')]=_[_0xe93f('0x32')](_0x4a415d[_0xe93f('0x2f')],qs['fields'](_0x4ab7ca['query'][_0xe93f('0x34')]));_0x242982[_0xe93f('0x33')]=_0x242982['attributes'][_0xe93f('0x35')]?_0x242982[_0xe93f('0x33')]:_0x4a415d[_0xe93f('0x2f')];if(!_0x4ab7ca[_0xe93f('0x30')][_0xe93f('0x36')]('nolimit')){_0x242982[_0xe93f('0x1f')]=qs[_0xe93f('0x1f')](_0x4ab7ca[_0xe93f('0x30')]['limit']);_0x242982[_0xe93f('0x1e')]=qs[_0xe93f('0x1e')](_0x4ab7ca['query'][_0xe93f('0x1e')]);}_0x242982['order']=qs[_0xe93f('0x37')](_0x4ab7ca[_0xe93f('0x30')][_0xe93f('0x37')]);_0x242982[_0xe93f('0x38')]=qs[_0xe93f('0x31')](_['pick'](_0x4ab7ca[_0xe93f('0x30')],_0x4a415d['filters']),_0x5c994c);if(_0x4ab7ca[_0xe93f('0x30')]['filter']){_0x242982[_0xe93f('0x38')]=_[_0xe93f('0x39')](_0x242982[_0xe93f('0x38')],{'$or':_[_0xe93f('0x2b')](_0x5c994c,function(_0x20a543){if(_0x20a543[_0xe93f('0x2e')]!==_0xe93f('0x3a')){var _0x27bd57={};_0x27bd57[_0x20a543[_0xe93f('0x29')]]={'$like':'%'+_0x4ab7ca['query'][_0xe93f('0x3b')]+'%'};return _0x27bd57;}})});}_0x242982=_[_0xe93f('0x39')]({},_0x242982,_0x4ab7ca['options']);var _0x140128={'where':_0x242982['where']};return db[_0xe93f('0x2c')][_0xe93f('0x1d')](_0x140128)[_0xe93f('0x25')](function(_0x440889){_0x277ecf['count']=_0x440889;if(_0x4ab7ca['query'][_0xe93f('0x3c')]){_0x242982['include']=[{'all':!![]}];}return db[_0xe93f('0x2c')]['findAll'](_0x242982);})[_0xe93f('0x25')](function(_0x324352){_0x277ecf[_0xe93f('0x3d')]=_0x324352;return _0x277ecf;})[_0xe93f('0x25')](respondWithFilteredResult(_0x263f96,_0x242982))[_0xe93f('0x3e')](handleError(_0x263f96,null));};exports[_0xe93f('0x3f')]=function(_0x2f2de8,_0x5f5cb8){var _0x23219d={'raw':![],'where':{'id':_0x2f2de8['params']['id']}},_0x4ab195={};_0x4ab195[_0xe93f('0x2f')]=_[_0xe93f('0x40')](db[_0xe93f('0x2c')][_0xe93f('0x2d')]);_0x4ab195[_0xe93f('0x30')]=_['keys'](_0x2f2de8[_0xe93f('0x30')]);_0x4ab195[_0xe93f('0x31')]=_['intersection'](_0x4ab195['model'],_0x4ab195[_0xe93f('0x30')]);_0x23219d['attributes']=_[_0xe93f('0x32')](_0x4ab195[_0xe93f('0x2f')],qs[_0xe93f('0x34')](_0x2f2de8[_0xe93f('0x30')]['fields']));_0x23219d['attributes']=_0x23219d[_0xe93f('0x33')][_0xe93f('0x35')]?_0x23219d[_0xe93f('0x33')]:_0x4ab195[_0xe93f('0x2f')];if(_0x2f2de8[_0xe93f('0x30')]['includeAll']){_0x23219d[_0xe93f('0x41')]=[{'all':!![]}];}_0x23219d=_[_0xe93f('0x39')]({},_0x23219d,_0x2f2de8[_0xe93f('0x42')]);return db[_0xe93f('0x2c')][_0xe93f('0x43')](_0x23219d)['then'](handleEntityNotFound(_0x5f5cb8,null))[_0xe93f('0x25')](respondWithResult(_0x5f5cb8,null))['catch'](handleError(_0x5f5cb8,null));};exports[_0xe93f('0x44')]=function(_0x3523cb,_0x3a84ed){return db[_0xe93f('0x2c')][_0xe93f('0x44')](_0x3523cb[_0xe93f('0x45')],{})[_0xe93f('0x25')](function(_0x38478f){var _0x861b15=_0x3523cb['user']['get']({'plain':!![]});if(!_0x861b15)throw new Error(_0xe93f('0x46'));if(_0x861b15['role']===_0xe93f('0x47')){var _0x7eb131=_0x38478f[_0xe93f('0x48')]({'plain':!![]});var _0x5bb385=_0xe93f('0x26');return db[_0xe93f('0x49')]['find']({'where':{'name':_0x5bb385,'userProfileId':_0x861b15['userProfileId']},'raw':!![]})['then'](function(_0x54b2ac){if(_0x54b2ac&&_0x54b2ac[_0xe93f('0x4a')]===0x0){return db[_0xe93f('0x27')][_0xe93f('0x44')]({'name':_0x7eb131['name'],'resourceId':_0x7eb131['id'],'type':_0x54b2ac['name'],'sectionId':_0x54b2ac['id']},{})[_0xe93f('0x25')](function(){return _0x38478f;});}else{return _0x38478f;}})[_0xe93f('0x3e')](function(_0x207ef9){logger[_0xe93f('0x4b')](_0xe93f('0x4c'),_0x207ef9);throw _0x207ef9;});}return _0x38478f;})[_0xe93f('0x25')](respondWithResult(_0x3a84ed,0xc9))[_0xe93f('0x3e')](handleError(_0x3a84ed,null));};exports[_0xe93f('0x4d')]=function(_0x39983c,_0x71b74){if(_0x39983c['body']['id']){delete _0x39983c['body']['id'];}return db[_0xe93f('0x2c')][_0xe93f('0x43')]({'where':{'id':_0x39983c[_0xe93f('0x4e')]['id']}})['then'](handleEntityNotFound(_0x71b74,null))['then'](saveUpdates(_0x39983c[_0xe93f('0x45')],null))[_0xe93f('0x25')](respondWithResult(_0x71b74,null))[_0xe93f('0x3e')](handleError(_0x71b74,null));};exports['destroy']=function(_0x4b6ef7,_0x2f1f49){return db['VoiceChanSpy'][_0xe93f('0x43')]({'where':{'id':_0x4b6ef7[_0xe93f('0x4e')]['id']}})[_0xe93f('0x25')](handleEntityNotFound(_0x2f1f49,null))[_0xe93f('0x25')](removeEntity(_0x2f1f49,null))[_0xe93f('0x3e')](handleError(_0x2f1f49,null));};