Built motion from commit e38a297d.|2.6.18
[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 _0x2182=['../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','get','ChanSpies','destroy','name','send','index','map','VoiceChanSpy','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','filter','where','merge','VIRTUAL','options','includeAll','include','rows','show','params','find','catch','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','autoAssociation','UserProfileResource','create','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch'];(function(_0x236c89,_0xd76ba9){var _0x3b2a15=function(_0x89e4f9){while(--_0x89e4f9){_0x236c89['push'](_0x236c89['shift']());}};_0x3b2a15(++_0xd76ba9);}(_0x2182,0xea));var _0x2218=function(_0x3bf83f,_0x181cac){_0x3bf83f=_0x3bf83f-0x0;var _0x22c4a9=_0x2182[_0x3bf83f];return _0x22c4a9;};'use strict';var emlformat=require(_0x2218('0x0'));var rimraf=require(_0x2218('0x1'));var zipdir=require(_0x2218('0x2'));var jsonpatch=require(_0x2218('0x3'));var rp=require('request-promise');var moment=require(_0x2218('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x2218('0x5'));var util=require(_0x2218('0x6'));var path=require(_0x2218('0x7'));var sox=require(_0x2218('0x8'));var csv=require(_0x2218('0x9'));var ejs=require(_0x2218('0xa'));var fs=require('fs');var fs_extra=require(_0x2218('0xb'));var _=require(_0x2218('0xc'));var squel=require(_0x2218('0xd'));var crypto=require(_0x2218('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x2218('0xf'));var toCsv=require(_0x2218('0x9'));var querystring=require(_0x2218('0x10'));var Papa=require(_0x2218('0x11'));var Redis=require('ioredis');var authService=require(_0x2218('0x12'));var qs=require(_0x2218('0x13'));var as=require(_0x2218('0x14'));var hardwareService=require(_0x2218('0x15'));var logger=require('../../config/logger')(_0x2218('0x16'));var utils=require(_0x2218('0x17'));var config=require(_0x2218('0x18'));var licenseUtil=require(_0x2218('0x19'));var db=require(_0x2218('0x1a'))['db'];function respondWithStatusCode(_0x4b1169,_0x1505a3){_0x1505a3=_0x1505a3||0xcc;return function(_0x5d7d24){if(_0x5d7d24){return _0x4b1169[_0x2218('0x1b')](_0x1505a3);}return _0x4b1169[_0x2218('0x1c')](_0x1505a3)[_0x2218('0x1d')]();};}function respondWithResult(_0x2b953a,_0x24722d){_0x24722d=_0x24722d||0xc8;return function(_0x27fde4){if(_0x27fde4){return _0x2b953a[_0x2218('0x1c')](_0x24722d)[_0x2218('0x1e')](_0x27fde4);}};}function respondWithFilteredResult(_0x1556f3,_0x3b89d4){return function(_0x466d80){if(_0x466d80){var _0x17aead=typeof _0x3b89d4[_0x2218('0x1f')]===_0x2218('0x20')&&typeof _0x3b89d4[_0x2218('0x21')]===_0x2218('0x20');var _0xfbc4a1=_0x466d80[_0x2218('0x22')];var _0x1c83ea=_0x17aead?0x0:_0x3b89d4[_0x2218('0x1f')];var _0x5ff3c4=_0x17aead?_0x466d80['count']:_0x3b89d4[_0x2218('0x1f')]+_0x3b89d4[_0x2218('0x21')];var _0x2989f0;if(_0x5ff3c4>=_0xfbc4a1){_0x5ff3c4=_0xfbc4a1;_0x2989f0=0xc8;}else{_0x2989f0=0xce;}_0x1556f3[_0x2218('0x1c')](_0x2989f0);return _0x1556f3[_0x2218('0x23')](_0x2218('0x24'),_0x1c83ea+'-'+_0x5ff3c4+'/'+_0xfbc4a1)[_0x2218('0x1e')](_0x466d80);}return null;};}function patchUpdates(_0x4533c2){return function(_0x2601a8){try{jsonpatch[_0x2218('0x25')](_0x2601a8,_0x4533c2,!![]);}catch(_0x2cee53){return BPromise[_0x2218('0x26')](_0x2cee53);}return _0x2601a8[_0x2218('0x27')]();};}function saveUpdates(_0x439e5d,_0x11a2be){return function(_0x268217){if(_0x268217){return _0x268217[_0x2218('0x28')](_0x439e5d)[_0x2218('0x29')](function(_0x4947a3){return _0x4947a3;});}return null;};}function removeEntity(_0x14c7de,_0x18ecf8){return function(_0x980f15){if(_0x980f15){return _0x980f15['destroy']()['then'](function(){var _0x123996=_0x980f15[_0x2218('0x2a')]({'plain':!![]});var _0x556da6=_0x2218('0x2b');return db['UserProfileResource'][_0x2218('0x2c')]({'where':{'type':_0x556da6,'resourceId':_0x123996['id']}})[_0x2218('0x29')](function(){return _0x980f15;});})[_0x2218('0x29')](function(){_0x14c7de[_0x2218('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4a5efa,_0x10f1ff){return function(_0x316651){if(!_0x316651){_0x4a5efa[_0x2218('0x1b')](0x194);}return _0x316651;};}function handleError(_0x193ecf,_0x5037b5){_0x5037b5=_0x5037b5||0x1f4;return function(_0x5acd05){logger['error'](_0x5acd05['stack']);if(_0x5acd05[_0x2218('0x2d')]){delete _0x5acd05[_0x2218('0x2d')];}_0x193ecf[_0x2218('0x1c')](_0x5037b5)[_0x2218('0x2e')](_0x5acd05);};}exports[_0x2218('0x2f')]=function(_0x45ba98,_0x2f3f1f){var _0x15e3fd={},_0xf61acf={},_0x7ffa54={'count':0x0,'rows':[]};var _0x2c1dfc=_[_0x2218('0x30')](db[_0x2218('0x31')][_0x2218('0x32')],function(_0x25921e){return{'name':_0x25921e[_0x2218('0x33')],'type':_0x25921e[_0x2218('0x34')][_0x2218('0x35')]};});_0xf61acf[_0x2218('0x36')]=_['map'](_0x2c1dfc,_0x2218('0x2d'));_0xf61acf[_0x2218('0x37')]=_[_0x2218('0x38')](_0x45ba98['query']);_0xf61acf[_0x2218('0x39')]=_[_0x2218('0x3a')](_0xf61acf[_0x2218('0x36')],_0xf61acf[_0x2218('0x37')]);_0x15e3fd[_0x2218('0x3b')]=_[_0x2218('0x3a')](_0xf61acf[_0x2218('0x36')],qs[_0x2218('0x3c')](_0x45ba98[_0x2218('0x37')]['fields']));_0x15e3fd[_0x2218('0x3b')]=_0x15e3fd[_0x2218('0x3b')][_0x2218('0x3d')]?_0x15e3fd['attributes']:_0xf61acf[_0x2218('0x36')];if(!_0x45ba98[_0x2218('0x37')][_0x2218('0x3e')](_0x2218('0x3f'))){_0x15e3fd[_0x2218('0x21')]=qs[_0x2218('0x21')](_0x45ba98[_0x2218('0x37')][_0x2218('0x21')]);_0x15e3fd[_0x2218('0x1f')]=qs['offset'](_0x45ba98[_0x2218('0x37')][_0x2218('0x1f')]);}_0x15e3fd['order']=qs[_0x2218('0x40')](_0x45ba98[_0x2218('0x37')][_0x2218('0x40')]);_0x15e3fd['where']=qs[_0x2218('0x39')](_['pick'](_0x45ba98['query'],_0xf61acf[_0x2218('0x39')]),_0x2c1dfc);if(_0x45ba98[_0x2218('0x37')][_0x2218('0x41')]){_0x15e3fd[_0x2218('0x42')]=_[_0x2218('0x43')](_0x15e3fd[_0x2218('0x42')],{'$or':_[_0x2218('0x30')](_0x2c1dfc,function(_0x5006b0){if(_0x5006b0[_0x2218('0x34')]!==_0x2218('0x44')){var _0x12435b={};_0x12435b[_0x5006b0[_0x2218('0x2d')]]={'$like':'%'+_0x45ba98['query'][_0x2218('0x41')]+'%'};return _0x12435b;}})});}_0x15e3fd=_[_0x2218('0x43')]({},_0x15e3fd,_0x45ba98[_0x2218('0x45')]);var _0x2978e3={'where':_0x15e3fd['where']};return db['VoiceChanSpy']['count'](_0x2978e3)['then'](function(_0x3a3b58){_0x7ffa54[_0x2218('0x22')]=_0x3a3b58;if(_0x45ba98[_0x2218('0x37')][_0x2218('0x46')]){_0x15e3fd[_0x2218('0x47')]=[{'all':!![]}];}return db[_0x2218('0x31')]['findAll'](_0x15e3fd);})[_0x2218('0x29')](function(_0x3e44e9){_0x7ffa54[_0x2218('0x48')]=_0x3e44e9;return _0x7ffa54;})[_0x2218('0x29')](respondWithFilteredResult(_0x2f3f1f,_0x15e3fd))['catch'](handleError(_0x2f3f1f,null));};exports[_0x2218('0x49')]=function(_0xdf22b2,_0x3c7bcd){var _0x34be4d={'raw':![],'where':{'id':_0xdf22b2[_0x2218('0x4a')]['id']}},_0xe60aa8={};_0xe60aa8[_0x2218('0x36')]=_['keys'](db[_0x2218('0x31')]['rawAttributes']);_0xe60aa8[_0x2218('0x37')]=_[_0x2218('0x38')](_0xdf22b2['query']);_0xe60aa8['filters']=_[_0x2218('0x3a')](_0xe60aa8[_0x2218('0x36')],_0xe60aa8[_0x2218('0x37')]);_0x34be4d['attributes']=_['intersection'](_0xe60aa8[_0x2218('0x36')],qs[_0x2218('0x3c')](_0xdf22b2[_0x2218('0x37')]['fields']));_0x34be4d[_0x2218('0x3b')]=_0x34be4d[_0x2218('0x3b')][_0x2218('0x3d')]?_0x34be4d[_0x2218('0x3b')]:_0xe60aa8[_0x2218('0x36')];if(_0xdf22b2[_0x2218('0x37')][_0x2218('0x46')]){_0x34be4d['include']=[{'all':!![]}];}_0x34be4d=_['merge']({},_0x34be4d,_0xdf22b2[_0x2218('0x45')]);return db[_0x2218('0x31')][_0x2218('0x4b')](_0x34be4d)[_0x2218('0x29')](handleEntityNotFound(_0x3c7bcd,null))[_0x2218('0x29')](respondWithResult(_0x3c7bcd,null))[_0x2218('0x4c')](handleError(_0x3c7bcd,null));};exports['create']=function(_0x3fbd76,_0x1a9b41){return db[_0x2218('0x31')]['create'](_0x3fbd76[_0x2218('0x4d')],{})[_0x2218('0x29')](function(_0x5db476){var _0x19d255=_0x3fbd76[_0x2218('0x4e')][_0x2218('0x2a')]({'plain':!![]});if(!_0x19d255)throw new Error(_0x2218('0x4f'));if(_0x19d255['role']==='user'){var _0x10b7fd=_0x5db476['get']({'plain':!![]});var _0x235a35=_0x2218('0x2b');return db['UserProfileSection'][_0x2218('0x4b')]({'where':{'name':_0x235a35,'userProfileId':_0x19d255['userProfileId']},'raw':!![]})['then'](function(_0x1e03a5){if(_0x1e03a5&&_0x1e03a5[_0x2218('0x50')]===0x0){return db[_0x2218('0x51')][_0x2218('0x52')]({'name':_0x10b7fd['name'],'resourceId':_0x10b7fd['id'],'type':_0x1e03a5[_0x2218('0x2d')],'sectionId':_0x1e03a5['id']},{})[_0x2218('0x29')](function(){return _0x5db476;});}else{return _0x5db476;}})['catch'](function(_0x110bf3){logger[_0x2218('0x53')](_0x2218('0x54'),_0x110bf3);throw _0x110bf3;});}return _0x5db476;})[_0x2218('0x29')](respondWithResult(_0x1a9b41,0xc9))['catch'](handleError(_0x1a9b41,null));};exports[_0x2218('0x28')]=function(_0x5d93e5,_0x3854c0){if(_0x5d93e5['body']['id']){delete _0x5d93e5[_0x2218('0x4d')]['id'];}return db[_0x2218('0x31')][_0x2218('0x4b')]({'where':{'id':_0x5d93e5['params']['id']}})[_0x2218('0x29')](handleEntityNotFound(_0x3854c0,null))['then'](saveUpdates(_0x5d93e5[_0x2218('0x4d')],null))['then'](respondWithResult(_0x3854c0,null))[_0x2218('0x4c')](handleError(_0x3854c0,null));};exports[_0x2218('0x2c')]=function(_0x248cee,_0x803f21){return db[_0x2218('0x31')][_0x2218('0x4b')]({'where':{'id':_0x248cee[_0x2218('0x4a')]['id']}})['then'](handleEntityNotFound(_0x803f21,null))[_0x2218('0x29')](removeEntity(_0x803f21,null))['catch'](handleError(_0x803f21,null));};