7c05d55acf8ab0cb9b172c3ab94c314200f34116
[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 _0xdace=['ChanSpies','UserProfileResource','name','send','map','VoiceChanSpy','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv','ejs','fs-extra','squel','crypto','jsforce','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/license/util','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','update','destroy','then','get'];(function(_0x49a015,_0x5ec28e){var _0x57a62f=function(_0x3b996c){while(--_0x3b996c){_0x49a015['push'](_0x49a015['shift']());}};_0x57a62f(++_0x5ec28e);}(_0xdace,0xc5));var _0xedac=function(_0x53d172,_0x46611b){_0x53d172=_0x53d172-0x0;var _0x1bd0a2=_0xdace[_0x53d172];return _0x1bd0a2;};'use strict';var emlformat=require(_0xedac('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xedac('0x1'));var jsonpatch=require(_0xedac('0x2'));var rp=require(_0xedac('0x3'));var moment=require('moment');var BPromise=require(_0xedac('0x4'));var Mustache=require(_0xedac('0x5'));var util=require(_0xedac('0x6'));var path=require(_0xedac('0x7'));var sox=require('sox');var csv=require(_0xedac('0x8'));var ejs=require(_0xedac('0x9'));var fs=require('fs');var fs_extra=require(_0xedac('0xa'));var _=require('lodash');var squel=require(_0xedac('0xb'));var crypto=require(_0xedac('0xc'));var jsforce=require(_0xedac('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xedac('0x8'));var querystring=require(_0xedac('0xe'));var Papa=require(_0xedac('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xedac('0x10'));var as=require(_0xedac('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xedac('0x12'));var utils=require(_0xedac('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0xedac('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x21c6ae,_0x1b0503){_0x1b0503=_0x1b0503||0xcc;return function(_0x306af5){if(_0x306af5){return _0x21c6ae[_0xedac('0x15')](_0x1b0503);}return _0x21c6ae[_0xedac('0x16')](_0x1b0503)[_0xedac('0x17')]();};}function respondWithResult(_0x28444a,_0x11f0b0){_0x11f0b0=_0x11f0b0||0xc8;return function(_0x593030){if(_0x593030){return _0x28444a[_0xedac('0x16')](_0x11f0b0)[_0xedac('0x18')](_0x593030);}};}function respondWithFilteredResult(_0x2f0c7c,_0x2676c3){return function(_0x15068){if(_0x15068){var _0x590e9b=typeof _0x2676c3[_0xedac('0x19')]==='undefined'&&typeof _0x2676c3[_0xedac('0x1a')]===_0xedac('0x1b');var _0xdad128=_0x15068[_0xedac('0x1c')];var _0x4fb540=_0x590e9b?0x0:_0x2676c3['offset'];var _0x2d02d7=_0x590e9b?_0x15068[_0xedac('0x1c')]:_0x2676c3[_0xedac('0x19')]+_0x2676c3[_0xedac('0x1a')];var _0x5a5438;if(_0x2d02d7>=_0xdad128){_0x2d02d7=_0xdad128;_0x5a5438=0xc8;}else{_0x5a5438=0xce;}_0x2f0c7c['status'](_0x5a5438);return _0x2f0c7c[_0xedac('0x1d')](_0xedac('0x1e'),_0x4fb540+'-'+_0x2d02d7+'/'+_0xdad128)[_0xedac('0x18')](_0x15068);}return null;};}function patchUpdates(_0xcc1605){return function(_0x2f5eee){try{jsonpatch[_0xedac('0x1f')](_0x2f5eee,_0xcc1605,!![]);}catch(_0x160be7){return BPromise[_0xedac('0x20')](_0x160be7);}return _0x2f5eee['save']();};}function saveUpdates(_0x4593e8,_0x510005){return function(_0x29cd40){if(_0x29cd40){return _0x29cd40[_0xedac('0x21')](_0x4593e8)['then'](function(_0x46e09d){return _0x46e09d;});}return null;};}function removeEntity(_0x404b8d,_0x1c87bf){return function(_0x1e5e47){if(_0x1e5e47){return _0x1e5e47[_0xedac('0x22')]()[_0xedac('0x23')](function(){var _0x5d7c31=_0x1e5e47[_0xedac('0x24')]({'plain':!![]});var _0x87d343=_0xedac('0x25');return db[_0xedac('0x26')][_0xedac('0x22')]({'where':{'type':_0x87d343,'resourceId':_0x5d7c31['id']}})[_0xedac('0x23')](function(){return _0x1e5e47;});})[_0xedac('0x23')](function(){_0x404b8d[_0xedac('0x16')](0xcc)[_0xedac('0x17')]();});}};}function handleEntityNotFound(_0x4663c0,_0x4c5566){return function(_0x25d7f5){if(!_0x25d7f5){_0x4663c0[_0xedac('0x15')](0x194);}return _0x25d7f5;};}function handleError(_0x19aed3,_0x5dff75){_0x5dff75=_0x5dff75||0x1f4;return function(_0x313e06){logger['error'](_0x313e06['stack']);if(_0x313e06[_0xedac('0x27')]){delete _0x313e06[_0xedac('0x27')];}_0x19aed3[_0xedac('0x16')](_0x5dff75)[_0xedac('0x28')](_0x313e06);};}exports['index']=function(_0x4e25da,_0xe813e6){var _0x32d945={},_0x24b182={},_0x2ee8d7={'count':0x0,'rows':[]};var _0x1b2a93=_[_0xedac('0x29')](db[_0xedac('0x2a')]['rawAttributes'],function(_0x3bc910){return{'name':_0x3bc910[_0xedac('0x2b')],'type':_0x3bc910[_0xedac('0x2c')]['key']};});_0x24b182[_0xedac('0x2d')]=_[_0xedac('0x29')](_0x1b2a93,'name');_0x24b182[_0xedac('0x2e')]=_[_0xedac('0x2f')](_0x4e25da['query']);_0x24b182[_0xedac('0x30')]=_[_0xedac('0x31')](_0x24b182[_0xedac('0x2d')],_0x24b182[_0xedac('0x2e')]);_0x32d945[_0xedac('0x32')]=_[_0xedac('0x31')](_0x24b182[_0xedac('0x2d')],qs[_0xedac('0x33')](_0x4e25da[_0xedac('0x2e')][_0xedac('0x33')]));_0x32d945['attributes']=_0x32d945[_0xedac('0x32')][_0xedac('0x34')]?_0x32d945[_0xedac('0x32')]:_0x24b182[_0xedac('0x2d')];if(!_0x4e25da[_0xedac('0x2e')][_0xedac('0x35')](_0xedac('0x36'))){_0x32d945[_0xedac('0x1a')]=qs[_0xedac('0x1a')](_0x4e25da[_0xedac('0x2e')][_0xedac('0x1a')]);_0x32d945[_0xedac('0x19')]=qs[_0xedac('0x19')](_0x4e25da[_0xedac('0x2e')][_0xedac('0x19')]);}_0x32d945['order']=qs[_0xedac('0x37')](_0x4e25da[_0xedac('0x2e')][_0xedac('0x37')]);_0x32d945[_0xedac('0x38')]=qs['filters'](_[_0xedac('0x39')](_0x4e25da[_0xedac('0x2e')],_0x24b182[_0xedac('0x30')]),_0x1b2a93);if(_0x4e25da['query'][_0xedac('0x3a')]){_0x32d945[_0xedac('0x38')]=_[_0xedac('0x3b')](_0x32d945['where'],{'$or':_[_0xedac('0x29')](_0x1b2a93,function(_0x17b7c3){if(_0x17b7c3['type']!==_0xedac('0x3c')){var _0x2fa832={};_0x2fa832[_0x17b7c3['name']]={'$like':'%'+_0x4e25da[_0xedac('0x2e')]['filter']+'%'};return _0x2fa832;}})});}_0x32d945=_[_0xedac('0x3b')]({},_0x32d945,_0x4e25da[_0xedac('0x3d')]);var _0x2e3fcd={'where':_0x32d945[_0xedac('0x38')]};return db[_0xedac('0x2a')][_0xedac('0x1c')](_0x2e3fcd)['then'](function(_0x2370aa){_0x2ee8d7[_0xedac('0x1c')]=_0x2370aa;if(_0x4e25da[_0xedac('0x2e')][_0xedac('0x3e')]){_0x32d945[_0xedac('0x3f')]=[{'all':!![]}];}return db[_0xedac('0x2a')][_0xedac('0x40')](_0x32d945);})[_0xedac('0x23')](function(_0x2dcff4){_0x2ee8d7[_0xedac('0x41')]=_0x2dcff4;return _0x2ee8d7;})[_0xedac('0x23')](respondWithFilteredResult(_0xe813e6,_0x32d945))[_0xedac('0x42')](handleError(_0xe813e6,null));};exports[_0xedac('0x43')]=function(_0x1418ff,_0x8742ea){var _0x46f025={'raw':![],'where':{'id':_0x1418ff[_0xedac('0x44')]['id']}},_0x4cbae0={};_0x4cbae0[_0xedac('0x2d')]=_[_0xedac('0x2f')](db['VoiceChanSpy']['rawAttributes']);_0x4cbae0['query']=_[_0xedac('0x2f')](_0x1418ff[_0xedac('0x2e')]);_0x4cbae0['filters']=_[_0xedac('0x31')](_0x4cbae0['model'],_0x4cbae0[_0xedac('0x2e')]);_0x46f025['attributes']=_[_0xedac('0x31')](_0x4cbae0[_0xedac('0x2d')],qs[_0xedac('0x33')](_0x1418ff[_0xedac('0x2e')][_0xedac('0x33')]));_0x46f025['attributes']=_0x46f025['attributes'][_0xedac('0x34')]?_0x46f025['attributes']:_0x4cbae0[_0xedac('0x2d')];if(_0x1418ff[_0xedac('0x2e')][_0xedac('0x3e')]){_0x46f025['include']=[{'all':!![]}];}_0x46f025=_[_0xedac('0x3b')]({},_0x46f025,_0x1418ff[_0xedac('0x3d')]);return db[_0xedac('0x2a')]['find'](_0x46f025)[_0xedac('0x23')](handleEntityNotFound(_0x8742ea,null))[_0xedac('0x23')](respondWithResult(_0x8742ea,null))[_0xedac('0x42')](handleError(_0x8742ea,null));};exports['create']=function(_0x5e6079,_0x2cb3ca){return db[_0xedac('0x2a')]['create'](_0x5e6079['body'],{})[_0xedac('0x23')](function(_0x38425e){var _0x4e81bc=_0x5e6079[_0xedac('0x45')]['get']({'plain':!![]});if(!_0x4e81bc)throw new Error(_0xedac('0x46'));if(_0x4e81bc[_0xedac('0x47')]===_0xedac('0x45')){var _0x104842=_0x38425e[_0xedac('0x24')]({'plain':!![]});var _0x10ad82='ChanSpies';return db[_0xedac('0x48')][_0xedac('0x49')]({'where':{'name':_0x10ad82,'userProfileId':_0x4e81bc['userProfileId']},'raw':!![]})[_0xedac('0x23')](function(_0x2d0846){if(_0x2d0846&&_0x2d0846[_0xedac('0x4a')]===0x0){return db['UserProfileResource']['create']({'name':_0x104842[_0xedac('0x27')],'resourceId':_0x104842['id'],'type':_0x2d0846[_0xedac('0x27')],'sectionId':_0x2d0846['id']},{})['then'](function(){return _0x38425e;});}else{return _0x38425e;}})[_0xedac('0x42')](function(_0x1bb739){logger[_0xedac('0x4b')](_0xedac('0x4c'),_0x1bb739);throw _0x1bb739;});}return _0x38425e;})[_0xedac('0x23')](respondWithResult(_0x2cb3ca,0xc9))[_0xedac('0x42')](handleError(_0x2cb3ca,null));};exports[_0xedac('0x21')]=function(_0x15d582,_0x5a6e3c){if(_0x15d582['body']['id']){delete _0x15d582[_0xedac('0x4d')]['id'];}return db[_0xedac('0x2a')][_0xedac('0x49')]({'where':{'id':_0x15d582['params']['id']}})[_0xedac('0x23')](handleEntityNotFound(_0x5a6e3c,null))[_0xedac('0x23')](saveUpdates(_0x15d582['body'],null))[_0xedac('0x23')](respondWithResult(_0x5a6e3c,null))[_0xedac('0x42')](handleError(_0x5a6e3c,null));};exports['destroy']=function(_0x575620,_0x5ad779){return db[_0xedac('0x2a')]['find']({'where':{'id':_0x575620[_0xedac('0x44')]['id']}})['then'](handleEntityNotFound(_0x5ad779,null))['then'](removeEntity(_0x5ad779,null))[_0xedac('0x42')](handleError(_0x5ad779,null));};