a4f0064ab048c1416343ec3b12fbd7c5f7023379
[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 _0x6883=['type','key','model','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','keys','find','catch','create','body','html-pdf','zip-dir','fast-json-patch','moment','path','sox','ejs','squel','crypto','jsforce','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','apply','reject','save','update','then','destroy','name','send','map','VoiceAgentReport','rawAttributes','fieldName'];(function(_0x349a6a,_0x291b2a){var _0x3f6577=function(_0x384071){while(--_0x384071){_0x349a6a['push'](_0x349a6a['shift']());}};_0x3f6577(++_0x291b2a);}(_0x6883,0x1b6));var _0x3688=function(_0x5d78bf,_0x3c7bd7){_0x5d78bf=_0x5d78bf-0x0;var _0x7c07d4=_0x6883[_0x5d78bf];return _0x7c07d4;};'use strict';var pdf=require(_0x3688('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x3688('0x1'));var jsonpatch=require(_0x3688('0x2'));var rp=require('request-promise');var moment=require(_0x3688('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0x3688('0x4'));var sox=require(_0x3688('0x5'));var csv=require('to-csv');var ejs=require(_0x3688('0x6'));var fs=require('fs');var _=require('lodash');var squel=require(_0x3688('0x7'));var crypto=require(_0x3688('0x8'));var jsforce=require(_0x3688('0x9'));var deskjs=require('desk.js');var toCsv=require(_0x3688('0xa'));var querystring=require(_0x3688('0xb'));var Papa=require('papaparse');var Redis=require(_0x3688('0xc'));var authService=require(_0x3688('0xd'));var qs=require(_0x3688('0xe'));var as=require(_0x3688('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x3688('0x10'));var db=require(_0x3688('0x11'))['db'];function respondWithStatusCode(_0x460392,_0x2c5bd5){_0x2c5bd5=_0x2c5bd5||0xcc;return function(_0x11aa6d){if(_0x11aa6d){return _0x460392[_0x3688('0x12')](_0x2c5bd5);}return _0x460392[_0x3688('0x13')](_0x2c5bd5)[_0x3688('0x14')]();};}function respondWithResult(_0x1b89c1,_0x3a9305){_0x3a9305=_0x3a9305||0xc8;return function(_0x4348ad){if(_0x4348ad){return _0x1b89c1['status'](_0x3a9305)[_0x3688('0x15')](_0x4348ad);}};}function respondWithFilteredResult(_0xeb53f6,_0x426fe6){return function(_0x5c177f){if(_0x5c177f){var _0x852323=_0x5c177f[_0x3688('0x16')],_0x35b16a=_0x426fe6['offset'],_0x3ef61b=_0x426fe6[_0x3688('0x17')]+_0x426fe6[_0x3688('0x18')],_0x1118d5;if(_0x3ef61b>=_0x852323){_0x3ef61b=_0x852323;_0x1118d5=0xc8;}else{_0x1118d5=0xce;}_0xeb53f6['status'](_0x1118d5);return _0xeb53f6[_0x3688('0x19')]('Content-Range',_0x35b16a+'-'+_0x3ef61b+'/'+_0x852323)[_0x3688('0x15')](_0x5c177f);}return null;};}function patchUpdates(_0x2dc947){return function(_0x3266aa){try{jsonpatch[_0x3688('0x1a')](_0x3266aa,_0x2dc947,!![]);}catch(_0x3c78de){return BPromise[_0x3688('0x1b')](_0x3c78de);}return _0x3266aa[_0x3688('0x1c')]();};}function saveUpdates(_0x473889,_0x378223){return function(_0x29c13f){if(_0x29c13f){return _0x29c13f[_0x3688('0x1d')](_0x473889)[_0x3688('0x1e')](function(_0x2f94f9){return _0x2f94f9;});}return null;};}function removeEntity(_0x2d8501,_0x4cc9b0){return function(_0x392fc5){if(_0x392fc5){return _0x392fc5[_0x3688('0x1f')]()['then'](function(){_0x2d8501[_0x3688('0x13')](0xcc)[_0x3688('0x14')]();});}};}function handleEntityNotFound(_0x5b87b8,_0x667a9f){return function(_0x5ea084){if(!_0x5ea084){_0x5b87b8['sendStatus'](0x194);}return _0x5ea084;};}function handleError(_0x3f8222,_0x37ea5d){_0x37ea5d=_0x37ea5d||0x1f4;return function(_0x2526c7){logger['error'](_0x2526c7['stack']);if(_0x2526c7[_0x3688('0x20')]){delete _0x2526c7[_0x3688('0x20')];}_0x3f8222['status'](_0x37ea5d)[_0x3688('0x21')](_0x2526c7);};}exports['index']=function(_0x59f577,_0xc1207e){var _0x2413f0={},_0x51dfe4={},_0x56e4ab={'count':0x0,'rows':[]};var _0x44a96b=_[_0x3688('0x22')](db[_0x3688('0x23')][_0x3688('0x24')],function(_0x5588b4){return{'name':_0x5588b4[_0x3688('0x25')],'type':_0x5588b4[_0x3688('0x26')][_0x3688('0x27')]};});_0x51dfe4[_0x3688('0x28')]=_[_0x3688('0x22')](_0x44a96b,_0x3688('0x20'));_0x51dfe4['query']=_['keys'](_0x59f577[_0x3688('0x29')]);_0x51dfe4[_0x3688('0x2a')]=_['intersection'](_0x51dfe4[_0x3688('0x28')],_0x51dfe4['query']);_0x2413f0[_0x3688('0x2b')]=_[_0x3688('0x2c')](_0x51dfe4[_0x3688('0x28')],qs['fields'](_0x59f577[_0x3688('0x29')][_0x3688('0x2d')]));_0x2413f0[_0x3688('0x2b')]=_0x2413f0[_0x3688('0x2b')][_0x3688('0x2e')]?_0x2413f0[_0x3688('0x2b')]:_0x51dfe4[_0x3688('0x28')];if(!_0x59f577[_0x3688('0x29')][_0x3688('0x2f')](_0x3688('0x30'))){_0x2413f0[_0x3688('0x18')]=qs[_0x3688('0x18')](_0x59f577['query'][_0x3688('0x18')]);_0x2413f0['offset']=qs[_0x3688('0x17')](_0x59f577[_0x3688('0x29')][_0x3688('0x17')]);}_0x2413f0[_0x3688('0x31')]=qs['sort'](_0x59f577[_0x3688('0x29')][_0x3688('0x32')]);_0x2413f0[_0x3688('0x33')]=qs['filters'](_[_0x3688('0x34')](_0x59f577[_0x3688('0x29')],_0x51dfe4[_0x3688('0x2a')]),_0x44a96b);if(_0x59f577[_0x3688('0x29')][_0x3688('0x35')]){_0x2413f0[_0x3688('0x33')]=_[_0x3688('0x36')](_0x2413f0[_0x3688('0x33')],{'$or':_[_0x3688('0x22')](_0x44a96b,function(_0x3c66a6){if(_0x3c66a6[_0x3688('0x26')]!==_0x3688('0x37')){var _0x5bafd3={};_0x5bafd3[_0x3c66a6['name']]={'$like':'%'+_0x59f577[_0x3688('0x29')][_0x3688('0x35')]+'%'};return _0x5bafd3;}})});}_0x2413f0=_[_0x3688('0x36')]({},_0x2413f0,_0x59f577[_0x3688('0x38')]);var _0x3fe881={'where':_0x2413f0['where']};return db[_0x3688('0x23')]['count'](_0x3fe881)[_0x3688('0x1e')](function(_0x777b11){_0x56e4ab[_0x3688('0x16')]=_0x777b11;if(_0x59f577[_0x3688('0x29')][_0x3688('0x39')]){_0x2413f0[_0x3688('0x3a')]=[{'all':!![]}];}return db[_0x3688('0x23')][_0x3688('0x3b')](_0x2413f0);})[_0x3688('0x1e')](function(_0x599547){_0x56e4ab[_0x3688('0x3c')]=_0x599547;return _0x56e4ab;})[_0x3688('0x1e')](respondWithFilteredResult(_0xc1207e,_0x2413f0))['catch'](handleError(_0xc1207e,null));};exports[_0x3688('0x3d')]=function(_0x2a10bb,_0x50131a){var _0x5d4715={'raw':![],'where':{'id':_0x2a10bb[_0x3688('0x3e')]['id']}},_0x1210dc={};_0x1210dc[_0x3688('0x28')]=_[_0x3688('0x3f')](db[_0x3688('0x23')][_0x3688('0x24')]);_0x1210dc[_0x3688('0x29')]=_[_0x3688('0x3f')](_0x2a10bb['query']);_0x1210dc['filters']=_[_0x3688('0x2c')](_0x1210dc[_0x3688('0x28')],_0x1210dc[_0x3688('0x29')]);_0x5d4715[_0x3688('0x2b')]=_['intersection'](_0x1210dc[_0x3688('0x28')],qs[_0x3688('0x2d')](_0x2a10bb[_0x3688('0x29')][_0x3688('0x2d')]));_0x5d4715[_0x3688('0x2b')]=_0x5d4715[_0x3688('0x2b')][_0x3688('0x2e')]?_0x5d4715['attributes']:_0x1210dc['model'];if(_0x2a10bb[_0x3688('0x29')][_0x3688('0x39')]){_0x5d4715['include']=[{'all':!![]}];}_0x5d4715=_[_0x3688('0x36')]({},_0x5d4715,_0x2a10bb[_0x3688('0x38')]);return db[_0x3688('0x23')][_0x3688('0x40')](_0x5d4715)[_0x3688('0x1e')](handleEntityNotFound(_0x50131a,null))[_0x3688('0x1e')](respondWithResult(_0x50131a,null))[_0x3688('0x41')](handleError(_0x50131a,null));};exports[_0x3688('0x42')]=function(_0x26d307,_0x47d54d){return db[_0x3688('0x23')][_0x3688('0x42')](_0x26d307[_0x3688('0x43')],{})['then'](respondWithResult(_0x47d54d,0xc9))[_0x3688('0x41')](handleError(_0x47d54d,null));};exports[_0x3688('0x1d')]=function(_0x1fd5b3,_0x3a304e){if(_0x1fd5b3['body']['id']){delete _0x1fd5b3[_0x3688('0x43')]['id'];}return db[_0x3688('0x23')][_0x3688('0x40')]({'where':{'id':_0x1fd5b3[_0x3688('0x3e')]['id']}})[_0x3688('0x1e')](handleEntityNotFound(_0x3a304e,null))['then'](saveUpdates(_0x1fd5b3[_0x3688('0x43')],null))[_0x3688('0x1e')](respondWithResult(_0x3a304e,null))[_0x3688('0x41')](handleError(_0x3a304e,null));};exports[_0x3688('0x1f')]=function(_0xe908e6,_0x2265e5){return db[_0x3688('0x23')]['find']({'where':{'id':_0xe908e6[_0x3688('0x3e')]['id']}})['then'](handleEntityNotFound(_0x2265e5,null))['then'](removeEntity(_0x2265e5,null))['catch'](handleError(_0x2265e5,null));};exports['describe']=function(_0x4f8cb5,_0x42542b){return db['VoiceAgentReport']['describe']()[_0x3688('0x1e')](respondWithResult(_0x42542b,null))[_0x3688('0x41')](handleError(_0x42542b,null));};