d6e73076192d38704032c14cd408cb203a379161
[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 _0x6a79=['where','pick','filter','merge','map','key','VIRTUAL','field','options','VoiceAgentReport','includeAll','include','findAll','rows','catch','show','params','find','create','body','destroy','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','desk.js','querystring','papaparse','../../components/parsers/qs','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','error','stack','name','send','index','rawAttributes','model','keys','query','filters','intersection','attributes','fields','hasOwnProperty','order'];(function(_0x160afc,_0x37946a){var _0x2b06c0=function(_0x3c269c){while(--_0x3c269c){_0x160afc['push'](_0x160afc['shift']());}};_0x2b06c0(++_0x37946a);}(_0x6a79,0x1c5));var _0x96a7=function(_0x54b749,_0x45913f){_0x54b749=_0x54b749-0x0;var _0x5a1b77=_0x6a79[_0x54b749];return _0x5a1b77;};'use strict';var pdf=require(_0x96a7('0x0'));var emlformat=require(_0x96a7('0x1'));var rimraf=require(_0x96a7('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x96a7('0x3'));var rp=require(_0x96a7('0x4'));var moment=require(_0x96a7('0x5'));var BPromise=require(_0x96a7('0x6'));var Mustache=require('mustache');var util=require(_0x96a7('0x7'));var path=require(_0x96a7('0x8'));var sox=require(_0x96a7('0x9'));var csv=require(_0x96a7('0xa'));var ejs=require(_0x96a7('0xb'));var fs=require('fs');var _=require(_0x96a7('0xc'));var squel=require(_0x96a7('0xd'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x96a7('0xe'));var toCsv=require('to-csv');var querystring=require(_0x96a7('0xf'));var Papa=require(_0x96a7('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x96a7('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x96a7('0x12'));var utils=require(_0x96a7('0x13'));var config=require(_0x96a7('0x14'));var db=require(_0x96a7('0x15'))['db'];function respondWithStatusCode(_0x353009,_0x293fdf){_0x293fdf=_0x293fdf||0xcc;return function(_0x816435){if(_0x816435){return _0x353009[_0x96a7('0x16')](_0x293fdf);}return _0x353009[_0x96a7('0x17')](_0x293fdf)[_0x96a7('0x18')]();};}function respondWithResult(_0x5cc780,_0x5ea7eb){_0x5ea7eb=_0x5ea7eb||0xc8;return function(_0x340b69){if(_0x340b69){return _0x5cc780[_0x96a7('0x17')](_0x5ea7eb)[_0x96a7('0x19')](_0x340b69);}};}function respondWithFilteredResult(_0x19c5ae,_0x770f43){return function(_0x4ef4b6){if(_0x4ef4b6){var _0x133893=_0x4ef4b6[_0x96a7('0x1a')],_0x2798c1=_0x770f43[_0x96a7('0x1b')],_0x5c68c7=_0x770f43[_0x96a7('0x1b')]+_0x770f43[_0x96a7('0x1c')],_0x2f366b;if(_0x5c68c7>=_0x133893){_0x5c68c7=_0x133893;_0x2f366b=0xc8;}else{_0x2f366b=0xce;}_0x19c5ae[_0x96a7('0x17')](_0x2f366b);return _0x19c5ae[_0x96a7('0x1d')](_0x96a7('0x1e'),_0x2798c1+'-'+_0x5c68c7+'/'+_0x133893)[_0x96a7('0x19')](_0x4ef4b6);}return null;};}function patchUpdates(_0x57283d){return function(_0x44502a){try{jsonpatch[_0x96a7('0x1f')](_0x44502a,_0x57283d,!![]);}catch(_0x26ecff){return BPromise[_0x96a7('0x20')](_0x26ecff);}return _0x44502a[_0x96a7('0x21')]();};}function saveUpdates(_0x1f120a,_0x5e70ee){return function(_0x4aa448){if(_0x4aa448){return _0x4aa448[_0x96a7('0x22')](_0x1f120a)[_0x96a7('0x23')](function(_0xa862f4){return _0xa862f4;});}return null;};}function removeEntity(_0x3a4f14,_0x4ac80f){return function(_0x42a5f3){if(_0x42a5f3){return _0x42a5f3['destroy']()[_0x96a7('0x23')](function(){_0x3a4f14[_0x96a7('0x17')](0xcc)[_0x96a7('0x18')]();});}};}function handleEntityNotFound(_0x261696,_0xf79dbc){return function(_0x5eeaf3){if(!_0x5eeaf3){_0x261696[_0x96a7('0x16')](0x194);}return _0x5eeaf3;};}function handleError(_0x203529,_0x46da94){_0x46da94=_0x46da94||0x1f4;return function(_0x2a8629){logger[_0x96a7('0x24')](_0x2a8629[_0x96a7('0x25')]);if(_0x2a8629[_0x96a7('0x26')]){delete _0x2a8629[_0x96a7('0x26')];}_0x203529[_0x96a7('0x17')](_0x46da94)[_0x96a7('0x27')](_0x2a8629);};}exports[_0x96a7('0x28')]=function(_0x38ed37,_0x2c7011){var _0x4aa45a={},_0x342a00={},_0xccb1ca={'count':0x0,'rows':[]};var _0xd42ef=db['VoiceAgentReport'][_0x96a7('0x29')];_0x342a00[_0x96a7('0x2a')]=_[_0x96a7('0x2b')](_0xd42ef);_0x342a00[_0x96a7('0x2c')]=_[_0x96a7('0x2b')](_0x38ed37[_0x96a7('0x2c')]);_0x342a00[_0x96a7('0x2d')]=_[_0x96a7('0x2e')](_0x342a00[_0x96a7('0x2a')],_0x342a00[_0x96a7('0x2c')]);_0x4aa45a[_0x96a7('0x2f')]=_[_0x96a7('0x2e')](_0x342a00[_0x96a7('0x2a')],qs[_0x96a7('0x30')](_0x38ed37[_0x96a7('0x2c')][_0x96a7('0x30')]));_0x4aa45a[_0x96a7('0x2f')]=_0x4aa45a[_0x96a7('0x2f')]['length']?_0x4aa45a['attributes']:_0x342a00[_0x96a7('0x2a')];if(!_0x38ed37['query'][_0x96a7('0x31')]('nolimit')){_0x4aa45a[_0x96a7('0x1c')]=qs[_0x96a7('0x1c')](_0x38ed37['query']['limit']);_0x4aa45a[_0x96a7('0x1b')]=qs[_0x96a7('0x1b')](_0x38ed37[_0x96a7('0x2c')][_0x96a7('0x1b')]);}_0x4aa45a[_0x96a7('0x32')]=qs['sort'](_0x38ed37[_0x96a7('0x2c')]['sort']);_0x4aa45a[_0x96a7('0x33')]=qs[_0x96a7('0x2d')](_[_0x96a7('0x34')](_0x38ed37['query'],_0x342a00['filters']));if(_0x38ed37['query'][_0x96a7('0x35')]){_0x4aa45a[_0x96a7('0x33')]=_[_0x96a7('0x36')](_0x4aa45a[_0x96a7('0x33')],{'$or':_[_0x96a7('0x37')](_0xd42ef,function(_0x5f070f){if(_0x5f070f['type'][_0x96a7('0x38')]!==_0x96a7('0x39')){var _0x514313={};_0x514313[_0x5f070f[_0x96a7('0x3a')]]={'$like':'%'+_0x38ed37[_0x96a7('0x2c')][_0x96a7('0x35')]+'%'};return _0x514313;}})});}_0x4aa45a=_[_0x96a7('0x36')]({},_0x4aa45a,_0x38ed37[_0x96a7('0x3b')]);var _0x2322d1={'where':_0x4aa45a[_0x96a7('0x33')]};return db[_0x96a7('0x3c')][_0x96a7('0x1a')](_0x2322d1)['then'](function(_0x11ebf4){_0xccb1ca[_0x96a7('0x1a')]=_0x11ebf4;if(_0x38ed37['query'][_0x96a7('0x3d')]){_0x4aa45a[_0x96a7('0x3e')]=[{'all':!![]}];}return db[_0x96a7('0x3c')][_0x96a7('0x3f')](_0x4aa45a);})[_0x96a7('0x23')](function(_0x43f092){_0xccb1ca[_0x96a7('0x40')]=_0x43f092;return _0xccb1ca;})[_0x96a7('0x23')](respondWithFilteredResult(_0x2c7011,_0x4aa45a))[_0x96a7('0x41')](handleError(_0x2c7011,null));};exports[_0x96a7('0x42')]=function(_0x17a0ad,_0x45c127){var _0x19f88b={'raw':![],'where':{'id':_0x17a0ad[_0x96a7('0x43')]['id']}},_0x599a9f={};_0x599a9f['model']=_['keys'](db[_0x96a7('0x3c')][_0x96a7('0x29')]);_0x599a9f[_0x96a7('0x2c')]=_['keys'](_0x17a0ad[_0x96a7('0x2c')]);_0x599a9f[_0x96a7('0x2d')]=_['intersection'](_0x599a9f[_0x96a7('0x2a')],_0x599a9f[_0x96a7('0x2c')]);_0x19f88b[_0x96a7('0x2f')]=_[_0x96a7('0x2e')](_0x599a9f[_0x96a7('0x2a')],qs[_0x96a7('0x30')](_0x17a0ad[_0x96a7('0x2c')]['fields']));_0x19f88b['attributes']=_0x19f88b[_0x96a7('0x2f')]['length']?_0x19f88b[_0x96a7('0x2f')]:_0x599a9f[_0x96a7('0x2a')];if(_0x17a0ad[_0x96a7('0x2c')][_0x96a7('0x3d')]){_0x19f88b[_0x96a7('0x3e')]=[{'all':!![]}];}_0x19f88b=_['merge']({},_0x19f88b,_0x17a0ad[_0x96a7('0x3b')]);return db[_0x96a7('0x3c')][_0x96a7('0x44')](_0x19f88b)[_0x96a7('0x23')](handleEntityNotFound(_0x45c127,null))['then'](respondWithResult(_0x45c127,null))[_0x96a7('0x41')](handleError(_0x45c127,null));};exports[_0x96a7('0x45')]=function(_0x1d9d02,_0x50c163){return db[_0x96a7('0x3c')]['create'](_0x1d9d02['body'],{})[_0x96a7('0x23')](respondWithResult(_0x50c163,0xc9))[_0x96a7('0x41')](handleError(_0x50c163,null));};exports[_0x96a7('0x22')]=function(_0x1391f8,_0x54d190){if(_0x1391f8['body']['id']){delete _0x1391f8[_0x96a7('0x46')]['id'];}return db['VoiceAgentReport'][_0x96a7('0x44')]({'where':{'id':_0x1391f8[_0x96a7('0x43')]['id']}})['then'](handleEntityNotFound(_0x54d190,null))['then'](saveUpdates(_0x1391f8[_0x96a7('0x46')],null))[_0x96a7('0x23')](respondWithResult(_0x54d190,null))[_0x96a7('0x41')](handleError(_0x54d190,null));};exports[_0x96a7('0x47')]=function(_0x5cbfb1,_0xaaa9a9){return db[_0x96a7('0x3c')]['find']({'where':{'id':_0x5cbfb1[_0x96a7('0x43')]['id']}})[_0x96a7('0x23')](handleEntityNotFound(_0xaaa9a9,null))[_0x96a7('0x23')](removeEntity(_0xaaa9a9,null))[_0x96a7('0x41')](handleError(_0xaaa9a9,null));};exports['describe']=function(_0xa0f6b8,_0x231237){return db['VoiceAgentReport']['describe']()[_0x96a7('0x23')](respondWithResult(_0x231237,null))[_0x96a7('0x41')](handleError(_0x231237,null));};