Built motion from commit efa66e19.|2.6.22
[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 _0x9649=['set','json','apply','reject','save','then','destroy','get','ChanSpies','UserProfileResource','stack','name','send','map','VoiceChanSpy','rawAttributes','fieldName','type','key','model','keys','query','filters','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','options','count','includeAll','include','findAll','catch','params','intersection','find','create','user','role','UserProfileSection','autoAssociation','error','body','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','sox','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','end','offset','undefined','limit'];(function(_0x5b18db,_0x55941d){var _0x4e6cb2=function(_0x24e20c){while(--_0x24e20c){_0x5b18db['push'](_0x5b18db['shift']());}};_0x4e6cb2(++_0x55941d);}(_0x9649,0x118));var _0x9964=function(_0x7c6267,_0x499f2f){_0x7c6267=_0x7c6267-0x0;var _0x388b31=_0x9649[_0x7c6267];return _0x388b31;};'use strict';var emlformat=require(_0x9964('0x0'));var rimraf=require(_0x9964('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9964('0x2'));var rp=require(_0x9964('0x3'));var moment=require(_0x9964('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x9964('0x5'));var util=require(_0x9964('0x6'));var path=require(_0x9964('0x7'));var sox=require(_0x9964('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9964('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x9964('0xa'));var jsforce=require(_0x9964('0xb'));var deskjs=require(_0x9964('0xc'));var toCsv=require('to-csv');var querystring=require(_0x9964('0xd'));var Papa=require(_0x9964('0xe'));var Redis=require(_0x9964('0xf'));var authService=require(_0x9964('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x9964('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9964('0x12'))(_0x9964('0x13'));var utils=require('../../config/utils');var config=require(_0x9964('0x14'));var licenseUtil=require(_0x9964('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2bd6ff,_0x4ef5c5){_0x4ef5c5=_0x4ef5c5||0xcc;return function(_0x1b8afa){if(_0x1b8afa){return _0x2bd6ff[_0x9964('0x16')](_0x4ef5c5);}return _0x2bd6ff[_0x9964('0x17')](_0x4ef5c5)[_0x9964('0x18')]();};}function respondWithResult(_0x22f5ce,_0x360a02){_0x360a02=_0x360a02||0xc8;return function(_0x44ce20){if(_0x44ce20){return _0x22f5ce['status'](_0x360a02)['json'](_0x44ce20);}};}function respondWithFilteredResult(_0x37f137,_0x2be683){return function(_0x561571){if(_0x561571){var _0x416340=typeof _0x2be683[_0x9964('0x19')]===_0x9964('0x1a')&&typeof _0x2be683[_0x9964('0x1b')]===_0x9964('0x1a');var _0x2c12f8=_0x561571['count'];var _0x2a7a61=_0x416340?0x0:_0x2be683[_0x9964('0x19')];var _0x58f157=_0x416340?_0x561571['count']:_0x2be683['offset']+_0x2be683[_0x9964('0x1b')];var _0xc4c0fe;if(_0x58f157>=_0x2c12f8){_0x58f157=_0x2c12f8;_0xc4c0fe=0xc8;}else{_0xc4c0fe=0xce;}_0x37f137[_0x9964('0x17')](_0xc4c0fe);return _0x37f137[_0x9964('0x1c')]('Content-Range',_0x2a7a61+'-'+_0x58f157+'/'+_0x2c12f8)[_0x9964('0x1d')](_0x561571);}return null;};}function patchUpdates(_0x5f2bbd){return function(_0x470a8d){try{jsonpatch[_0x9964('0x1e')](_0x470a8d,_0x5f2bbd,!![]);}catch(_0x209929){return BPromise[_0x9964('0x1f')](_0x209929);}return _0x470a8d[_0x9964('0x20')]();};}function saveUpdates(_0xea9fc2,_0x4053ad){return function(_0x341c56){if(_0x341c56){return _0x341c56['update'](_0xea9fc2)[_0x9964('0x21')](function(_0x3069d7){return _0x3069d7;});}return null;};}function removeEntity(_0x1629f9,_0x30ccf7){return function(_0x5b2689){if(_0x5b2689){return _0x5b2689[_0x9964('0x22')]()[_0x9964('0x21')](function(){var _0x3b3793=_0x5b2689[_0x9964('0x23')]({'plain':!![]});var _0x4be822=_0x9964('0x24');return db[_0x9964('0x25')][_0x9964('0x22')]({'where':{'type':_0x4be822,'resourceId':_0x3b3793['id']}})[_0x9964('0x21')](function(){return _0x5b2689;});})[_0x9964('0x21')](function(){_0x1629f9[_0x9964('0x17')](0xcc)[_0x9964('0x18')]();});}};}function handleEntityNotFound(_0x33be7b,_0x4f9a8b){return function(_0x524564){if(!_0x524564){_0x33be7b[_0x9964('0x16')](0x194);}return _0x524564;};}function handleError(_0x2c1fad,_0x108c0a){_0x108c0a=_0x108c0a||0x1f4;return function(_0x16ec83){logger['error'](_0x16ec83[_0x9964('0x26')]);if(_0x16ec83[_0x9964('0x27')]){delete _0x16ec83[_0x9964('0x27')];}_0x2c1fad[_0x9964('0x17')](_0x108c0a)[_0x9964('0x28')](_0x16ec83);};}exports['index']=function(_0x4c04ce,_0x2f013f){var _0x34ae09={},_0x52dbd4={},_0x48ac65={'count':0x0,'rows':[]};var _0x4ff4c9=_[_0x9964('0x29')](db[_0x9964('0x2a')][_0x9964('0x2b')],function(_0x4cc9a1){return{'name':_0x4cc9a1[_0x9964('0x2c')],'type':_0x4cc9a1[_0x9964('0x2d')][_0x9964('0x2e')]};});_0x52dbd4[_0x9964('0x2f')]=_[_0x9964('0x29')](_0x4ff4c9,_0x9964('0x27'));_0x52dbd4['query']=_[_0x9964('0x30')](_0x4c04ce[_0x9964('0x31')]);_0x52dbd4[_0x9964('0x32')]=_['intersection'](_0x52dbd4[_0x9964('0x2f')],_0x52dbd4[_0x9964('0x31')]);_0x34ae09[_0x9964('0x33')]=_['intersection'](_0x52dbd4[_0x9964('0x2f')],qs[_0x9964('0x34')](_0x4c04ce[_0x9964('0x31')][_0x9964('0x34')]));_0x34ae09[_0x9964('0x33')]=_0x34ae09[_0x9964('0x33')][_0x9964('0x35')]?_0x34ae09[_0x9964('0x33')]:_0x52dbd4[_0x9964('0x2f')];if(!_0x4c04ce[_0x9964('0x31')][_0x9964('0x36')](_0x9964('0x37'))){_0x34ae09[_0x9964('0x1b')]=qs[_0x9964('0x1b')](_0x4c04ce[_0x9964('0x31')][_0x9964('0x1b')]);_0x34ae09[_0x9964('0x19')]=qs[_0x9964('0x19')](_0x4c04ce['query'][_0x9964('0x19')]);}_0x34ae09['order']=qs[_0x9964('0x38')](_0x4c04ce[_0x9964('0x31')]['sort']);_0x34ae09[_0x9964('0x39')]=qs['filters'](_[_0x9964('0x3a')](_0x4c04ce[_0x9964('0x31')],_0x52dbd4[_0x9964('0x32')]),_0x4ff4c9);if(_0x4c04ce[_0x9964('0x31')][_0x9964('0x3b')]){_0x34ae09[_0x9964('0x39')]=_['merge'](_0x34ae09[_0x9964('0x39')],{'$or':_[_0x9964('0x29')](_0x4ff4c9,function(_0xcf49d2){if(_0xcf49d2[_0x9964('0x2d')]!=='VIRTUAL'){var _0x1b3cbe={};_0x1b3cbe[_0xcf49d2['name']]={'$like':'%'+_0x4c04ce[_0x9964('0x31')][_0x9964('0x3b')]+'%'};return _0x1b3cbe;}})});}_0x34ae09=_[_0x9964('0x3c')]({},_0x34ae09,_0x4c04ce[_0x9964('0x3d')]);var _0x3a82d3={'where':_0x34ae09[_0x9964('0x39')]};return db[_0x9964('0x2a')][_0x9964('0x3e')](_0x3a82d3)[_0x9964('0x21')](function(_0x47227d){_0x48ac65[_0x9964('0x3e')]=_0x47227d;if(_0x4c04ce['query'][_0x9964('0x3f')]){_0x34ae09[_0x9964('0x40')]=[{'all':!![]}];}return db[_0x9964('0x2a')][_0x9964('0x41')](_0x34ae09);})['then'](function(_0x138a3a){_0x48ac65['rows']=_0x138a3a;return _0x48ac65;})['then'](respondWithFilteredResult(_0x2f013f,_0x34ae09))[_0x9964('0x42')](handleError(_0x2f013f,null));};exports['show']=function(_0x77191f,_0x5949b4){var _0x12cd80={'raw':![],'where':{'id':_0x77191f[_0x9964('0x43')]['id']}},_0x246fab={};_0x246fab['model']=_['keys'](db['VoiceChanSpy'][_0x9964('0x2b')]);_0x246fab[_0x9964('0x31')]=_['keys'](_0x77191f[_0x9964('0x31')]);_0x246fab[_0x9964('0x32')]=_[_0x9964('0x44')](_0x246fab['model'],_0x246fab[_0x9964('0x31')]);_0x12cd80[_0x9964('0x33')]=_[_0x9964('0x44')](_0x246fab[_0x9964('0x2f')],qs['fields'](_0x77191f[_0x9964('0x31')][_0x9964('0x34')]));_0x12cd80[_0x9964('0x33')]=_0x12cd80[_0x9964('0x33')][_0x9964('0x35')]?_0x12cd80['attributes']:_0x246fab[_0x9964('0x2f')];if(_0x77191f[_0x9964('0x31')]['includeAll']){_0x12cd80[_0x9964('0x40')]=[{'all':!![]}];}_0x12cd80=_[_0x9964('0x3c')]({},_0x12cd80,_0x77191f[_0x9964('0x3d')]);return db['VoiceChanSpy'][_0x9964('0x45')](_0x12cd80)[_0x9964('0x21')](handleEntityNotFound(_0x5949b4,null))[_0x9964('0x21')](respondWithResult(_0x5949b4,null))[_0x9964('0x42')](handleError(_0x5949b4,null));};exports['create']=function(_0x14d611,_0x139a9e){return db[_0x9964('0x2a')][_0x9964('0x46')](_0x14d611['body'],{})[_0x9964('0x21')](function(_0x17aa8f){var _0x276bd=_0x14d611[_0x9964('0x47')][_0x9964('0x23')]({'plain':!![]});if(!_0x276bd)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x276bd[_0x9964('0x48')]===_0x9964('0x47')){var _0x2eadb4=_0x17aa8f[_0x9964('0x23')]({'plain':!![]});var _0x9e5962=_0x9964('0x24');return db[_0x9964('0x49')][_0x9964('0x45')]({'where':{'name':_0x9e5962,'userProfileId':_0x276bd['userProfileId']},'raw':!![]})[_0x9964('0x21')](function(_0x307d44){if(_0x307d44&&_0x307d44[_0x9964('0x4a')]===0x0){return db[_0x9964('0x25')][_0x9964('0x46')]({'name':_0x2eadb4[_0x9964('0x27')],'resourceId':_0x2eadb4['id'],'type':_0x307d44[_0x9964('0x27')],'sectionId':_0x307d44['id']},{})[_0x9964('0x21')](function(){return _0x17aa8f;});}else{return _0x17aa8f;}})['catch'](function(_0x25faa5){logger[_0x9964('0x4b')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x25faa5);throw _0x25faa5;});}return _0x17aa8f;})[_0x9964('0x21')](respondWithResult(_0x139a9e,0xc9))[_0x9964('0x42')](handleError(_0x139a9e,null));};exports['update']=function(_0x2b2535,_0x49fcd4){if(_0x2b2535['body']['id']){delete _0x2b2535[_0x9964('0x4c')]['id'];}return db[_0x9964('0x2a')][_0x9964('0x45')]({'where':{'id':_0x2b2535[_0x9964('0x43')]['id']}})[_0x9964('0x21')](handleEntityNotFound(_0x49fcd4,null))[_0x9964('0x21')](saveUpdates(_0x2b2535[_0x9964('0x4c')],null))[_0x9964('0x21')](respondWithResult(_0x49fcd4,null))[_0x9964('0x42')](handleError(_0x49fcd4,null));};exports['destroy']=function(_0x2ca871,_0xe67a50){return db[_0x9964('0x2a')][_0x9964('0x45')]({'where':{'id':_0x2ca871[_0x9964('0x43')]['id']}})[_0x9964('0x21')](handleEntityNotFound(_0xe67a50,null))['then'](removeEntity(_0xe67a50,null))[_0x9964('0x42')](handleError(_0xe67a50,null));};