e76e1fe4e1adcf26c5dbfa0a6571e1c2da1e348f
[motion2.git] / server / api / voiceAgentReport / voiceAgentReport.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 _0x7b9b=['json','count','offset','limit','status','set','Content-Range','apply','save','update','then','destroy','error','stack','name','send','index','VoiceAgentReport','rawAttributes','keys','query','filters','intersection','model','fields','attributes','hasOwnProperty','nolimit','order','sort','pick','filter','merge','where','type','key','VIRTUAL','options','includeAll','findAll','rows','catch','params','length','find','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','sox','to-csv','ejs','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','end'];(function(_0x2aa0e7,_0x4e5145){var _0x1472c0=function(_0x4deaeb){while(--_0x4deaeb){_0x2aa0e7['push'](_0x2aa0e7['shift']());}};_0x1472c0(++_0x4e5145);}(_0x7b9b,0x198));var _0xb7b9=function(_0x2509c7,_0x36e452){_0x2509c7=_0x2509c7-0x0;var _0x4e9c91=_0x7b9b[_0x2509c7];return _0x4e9c91;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xb7b9('0x0'));var rimraf=require(_0xb7b9('0x1'));var zipdir=require(_0xb7b9('0x2'));var jsonpatch=require(_0xb7b9('0x3'));var rp=require(_0xb7b9('0x4'));var moment=require('moment');var BPromise=require(_0xb7b9('0x5'));var Mustache=require('mustache');var util=require(_0xb7b9('0x6'));var path=require('path');var sox=require(_0xb7b9('0x7'));var csv=require(_0xb7b9('0x8'));var ejs=require(_0xb7b9('0x9'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0xb7b9('0xa'));var jsforce=require(_0xb7b9('0xb'));var deskjs=require(_0xb7b9('0xc'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xb7b9('0xd'));var Redis=require(_0xb7b9('0xe'));var authService=require(_0xb7b9('0xf'));var qs=require(_0xb7b9('0x10'));var hardwareService=require(_0xb7b9('0x11'));var logger=require(_0xb7b9('0x12'))(_0xb7b9('0x13'));var utils=require('../../config/utils');var config=require(_0xb7b9('0x14'));var db=require(_0xb7b9('0x15'))['db'];function respondWithStatusCode(_0x320871,_0x4c14a4){_0x4c14a4=_0x4c14a4||0xcc;return function(_0x4c9174){if(_0x4c9174){return _0x320871[_0xb7b9('0x16')](_0x4c14a4);}return _0x320871['status'](_0x4c14a4)[_0xb7b9('0x17')]();};}function respondWithResult(_0x11cc0c,_0x43960d){_0x43960d=_0x43960d||0xc8;return function(_0x36c145){if(_0x36c145){return _0x11cc0c['status'](_0x43960d)[_0xb7b9('0x18')](_0x36c145);}};}function respondWithFilteredResult(_0x84233f,_0x469590){return function(_0x50706a){if(_0x50706a){var _0x4bb6a4=_0x50706a[_0xb7b9('0x19')],_0x3c2013=_0x469590[_0xb7b9('0x1a')],_0x3df425=_0x469590[_0xb7b9('0x1a')]+_0x469590[_0xb7b9('0x1b')],_0x479098;if(_0x3df425>=_0x4bb6a4){_0x3df425=_0x4bb6a4;_0x479098=0xc8;}else{_0x479098=0xce;}_0x84233f[_0xb7b9('0x1c')](_0x479098);return _0x84233f[_0xb7b9('0x1d')](_0xb7b9('0x1e'),_0x3c2013+'-'+_0x3df425+'/'+_0x4bb6a4)[_0xb7b9('0x18')](_0x50706a);}return null;};}function patchUpdates(_0x331fae){return function(_0x3ba07c){try{jsonpatch[_0xb7b9('0x1f')](_0x3ba07c,_0x331fae,!![]);}catch(_0x2c41e6){return BPromise['reject'](_0x2c41e6);}return _0x3ba07c[_0xb7b9('0x20')]();};}function saveUpdates(_0x20c4f4,_0x5240ed){return function(_0xba9019){if(_0xba9019){return _0xba9019[_0xb7b9('0x21')](_0x20c4f4)[_0xb7b9('0x22')](function(_0x40447a){return _0x40447a;});}return null;};}function removeEntity(_0x224cbb,_0xc8342e){return function(_0x18fac1){if(_0x18fac1){return _0x18fac1[_0xb7b9('0x23')]()['then'](function(){_0x224cbb['status'](0xcc)[_0xb7b9('0x17')]();});}};}function handleEntityNotFound(_0x598821,_0x4beda8){return function(_0x29752a){if(!_0x29752a){_0x598821[_0xb7b9('0x16')](0x194);}return _0x29752a;};}function handleError(_0x3812c4,_0x16a092){_0x16a092=_0x16a092||0x1f4;return function(_0x17e112){logger[_0xb7b9('0x24')](_0x17e112[_0xb7b9('0x25')]);if(_0x17e112[_0xb7b9('0x26')]){delete _0x17e112[_0xb7b9('0x26')];}_0x3812c4[_0xb7b9('0x1c')](_0x16a092)[_0xb7b9('0x27')](_0x17e112);};}exports[_0xb7b9('0x28')]=function(_0x483f3a,_0x3709dc){var _0x1669d3={},_0x151a34={},_0x2c4ebc={'count':0x0,'rows':[]};var _0x55f65d=db[_0xb7b9('0x29')][_0xb7b9('0x2a')];_0x151a34['model']=_['keys'](_0x55f65d);_0x151a34['query']=_[_0xb7b9('0x2b')](_0x483f3a[_0xb7b9('0x2c')]);_0x151a34[_0xb7b9('0x2d')]=_[_0xb7b9('0x2e')](_0x151a34[_0xb7b9('0x2f')],_0x151a34[_0xb7b9('0x2c')]);_0x1669d3['attributes']=_['intersection'](_0x151a34['model'],qs['fields'](_0x483f3a['query'][_0xb7b9('0x30')]));_0x1669d3[_0xb7b9('0x31')]=_0x1669d3[_0xb7b9('0x31')]['length']?_0x1669d3[_0xb7b9('0x31')]:_0x151a34[_0xb7b9('0x2f')];if(!_0x483f3a[_0xb7b9('0x2c')][_0xb7b9('0x32')](_0xb7b9('0x33'))){_0x1669d3[_0xb7b9('0x1b')]=qs[_0xb7b9('0x1b')](_0x483f3a[_0xb7b9('0x2c')]['limit']);_0x1669d3[_0xb7b9('0x1a')]=qs[_0xb7b9('0x1a')](_0x483f3a['query']['offset']);}_0x1669d3[_0xb7b9('0x34')]=qs[_0xb7b9('0x35')](_0x483f3a[_0xb7b9('0x2c')][_0xb7b9('0x35')]);_0x1669d3['where']=qs[_0xb7b9('0x2d')](_[_0xb7b9('0x36')](_0x483f3a[_0xb7b9('0x2c')],_0x151a34['filters']));if(_0x483f3a[_0xb7b9('0x2c')][_0xb7b9('0x37')]){_0x1669d3['where']=_[_0xb7b9('0x38')](_0x1669d3[_0xb7b9('0x39')],{'$or':_['map'](_0x55f65d,function(_0x420498){if(_0x420498[_0xb7b9('0x3a')][_0xb7b9('0x3b')]!==_0xb7b9('0x3c')){var _0x159c3e={};_0x159c3e[_0x420498['field']]={'$like':'%'+_0x483f3a[_0xb7b9('0x2c')][_0xb7b9('0x37')]+'%'};return _0x159c3e;}})});}_0x1669d3=_[_0xb7b9('0x38')]({},_0x1669d3,_0x483f3a[_0xb7b9('0x3d')]);var _0x332f79={'where':_0x1669d3[_0xb7b9('0x39')]};return db[_0xb7b9('0x29')][_0xb7b9('0x19')](_0x332f79)[_0xb7b9('0x22')](function(_0x307390){_0x2c4ebc['count']=_0x307390;if(_0x483f3a[_0xb7b9('0x2c')][_0xb7b9('0x3e')]){_0x1669d3['include']=[{'all':!![]}];}return db[_0xb7b9('0x29')][_0xb7b9('0x3f')](_0x1669d3);})[_0xb7b9('0x22')](function(_0x5bef85){_0x2c4ebc[_0xb7b9('0x40')]=_0x5bef85;return _0x2c4ebc;})[_0xb7b9('0x22')](respondWithFilteredResult(_0x3709dc,_0x1669d3))[_0xb7b9('0x41')](handleError(_0x3709dc,null));};exports['show']=function(_0x1ba4bd,_0xbd19b9){var _0x216f30={'raw':![],'where':{'id':_0x1ba4bd[_0xb7b9('0x42')]['id']}},_0x29f877={};_0x29f877['model']=_[_0xb7b9('0x2b')](db['VoiceAgentReport']['rawAttributes']);_0x29f877[_0xb7b9('0x2c')]=_[_0xb7b9('0x2b')](_0x1ba4bd[_0xb7b9('0x2c')]);_0x29f877[_0xb7b9('0x2d')]=_['intersection'](_0x29f877[_0xb7b9('0x2f')],_0x29f877[_0xb7b9('0x2c')]);_0x216f30[_0xb7b9('0x31')]=_[_0xb7b9('0x2e')](_0x29f877[_0xb7b9('0x2f')],qs[_0xb7b9('0x30')](_0x1ba4bd[_0xb7b9('0x2c')][_0xb7b9('0x30')]));_0x216f30[_0xb7b9('0x31')]=_0x216f30[_0xb7b9('0x31')][_0xb7b9('0x43')]?_0x216f30['attributes']:_0x29f877['model'];if(_0x1ba4bd['query'][_0xb7b9('0x3e')]){_0x216f30['include']=[{'all':!![]}];}_0x216f30=_[_0xb7b9('0x38')]({},_0x216f30,_0x1ba4bd['options']);return db[_0xb7b9('0x29')][_0xb7b9('0x44')](_0x216f30)[_0xb7b9('0x22')](handleEntityNotFound(_0xbd19b9,null))[_0xb7b9('0x22')](respondWithResult(_0xbd19b9,null))[_0xb7b9('0x41')](handleError(_0xbd19b9,null));};exports[_0xb7b9('0x45')]=function(_0x4cd78d,_0x3db742){return db['VoiceAgentReport'][_0xb7b9('0x45')](_0x4cd78d['body'],{})[_0xb7b9('0x22')](respondWithResult(_0x3db742,0xc9))[_0xb7b9('0x41')](handleError(_0x3db742,null));};exports['update']=function(_0x240983,_0x2e4bb6){if(_0x240983['body']['id']){delete _0x240983[_0xb7b9('0x46')]['id'];}return db[_0xb7b9('0x29')][_0xb7b9('0x44')]({'where':{'id':_0x240983['params']['id']}})[_0xb7b9('0x22')](handleEntityNotFound(_0x2e4bb6,null))['then'](saveUpdates(_0x240983[_0xb7b9('0x46')],null))[_0xb7b9('0x22')](respondWithResult(_0x2e4bb6,null))['catch'](handleError(_0x2e4bb6,null));};exports[_0xb7b9('0x23')]=function(_0x47cb8d,_0x3f3524){return db['VoiceAgentReport'][_0xb7b9('0x44')]({'where':{'id':_0x47cb8d[_0xb7b9('0x42')]['id']}})[_0xb7b9('0x22')](handleEntityNotFound(_0x3f3524,null))[_0xb7b9('0x22')](removeEntity(_0x3f3524,null))[_0xb7b9('0x41')](handleError(_0x3f3524,null));};exports['describe']=function(_0x5c7c88,_0x4f4623){return db[_0xb7b9('0x29')][_0xb7b9('0x47')]()[_0xb7b9('0x22')](respondWithResult(_0x4f4623,null))[_0xb7b9('0x41')](handleError(_0x4f4623,null));};