5d9f4f0986c8d42ad6cb5d827c8fe778f997a3ba
[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 _0x5b5c=['stack','name','send','index','map','VoiceAgentReport','rawAttributes','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','include','findAll','rows','catch','show','params','merge','find','create','body','update','describe','rimraf','zip-dir','request-promise','bluebird','mustache','util','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','reject','then','destroy','error'];(function(_0x401d67,_0xeb1592){var _0x25076b=function(_0x233577){while(--_0x233577){_0x401d67['push'](_0x401d67['shift']());}};_0x25076b(++_0xeb1592);}(_0x5b5c,0xf5));var _0xc5b5=function(_0x441d59,_0x2d162a){_0x441d59=_0x441d59-0x0;var _0x105c65=_0x5b5c[_0x441d59];return _0x105c65;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xc5b5('0x0'));var zipdir=require(_0xc5b5('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xc5b5('0x2'));var moment=require('moment');var BPromise=require(_0xc5b5('0x3'));var Mustache=require(_0xc5b5('0x4'));var util=require(_0xc5b5('0x5'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xc5b5('0x6'));var fs=require('fs');var fs_extra=require(_0xc5b5('0x7'));var _=require(_0xc5b5('0x8'));var squel=require(_0xc5b5('0x9'));var crypto=require(_0xc5b5('0xa'));var jsforce=require(_0xc5b5('0xb'));var deskjs=require(_0xc5b5('0xc'));var toCsv=require('to-csv');var querystring=require(_0xc5b5('0xd'));var Papa=require('papaparse');var Redis=require(_0xc5b5('0xe'));var authService=require('../../components/auth/service');var qs=require(_0xc5b5('0xf'));var as=require(_0xc5b5('0x10'));var hardwareService=require(_0xc5b5('0x11'));var logger=require(_0xc5b5('0x12'))(_0xc5b5('0x13'));var utils=require(_0xc5b5('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0xc5b5('0x15'));var db=require(_0xc5b5('0x16'))['db'];function respondWithStatusCode(_0x27b62e,_0x3ec4a8){_0x3ec4a8=_0x3ec4a8||0xcc;return function(_0x475df9){if(_0x475df9){return _0x27b62e[_0xc5b5('0x17')](_0x3ec4a8);}return _0x27b62e['status'](_0x3ec4a8)[_0xc5b5('0x18')]();};}function respondWithResult(_0x4b914d,_0x4297a7){_0x4297a7=_0x4297a7||0xc8;return function(_0x329c19){if(_0x329c19){return _0x4b914d[_0xc5b5('0x19')](_0x4297a7)[_0xc5b5('0x1a')](_0x329c19);}};}function respondWithFilteredResult(_0x502d9d,_0x1813c5){return function(_0x3f18e4){if(_0x3f18e4){var _0x3b478a=typeof _0x1813c5[_0xc5b5('0x1b')]===_0xc5b5('0x1c')&&typeof _0x1813c5[_0xc5b5('0x1d')]===_0xc5b5('0x1c');var _0x37555c=_0x3f18e4[_0xc5b5('0x1e')];var _0x23fda0=_0x3b478a?0x0:_0x1813c5['offset'];var _0x1050a8=_0x3b478a?_0x3f18e4['count']:_0x1813c5[_0xc5b5('0x1b')]+_0x1813c5['limit'];var _0x1dc8cb;if(_0x1050a8>=_0x37555c){_0x1050a8=_0x37555c;_0x1dc8cb=0xc8;}else{_0x1dc8cb=0xce;}_0x502d9d[_0xc5b5('0x19')](_0x1dc8cb);return _0x502d9d['set']('Content-Range',_0x23fda0+'-'+_0x1050a8+'/'+_0x37555c)[_0xc5b5('0x1a')](_0x3f18e4);}return null;};}function patchUpdates(_0x50f5d1){return function(_0x2afe72){try{jsonpatch['apply'](_0x2afe72,_0x50f5d1,!![]);}catch(_0x24af95){return BPromise[_0xc5b5('0x1f')](_0x24af95);}return _0x2afe72['save']();};}function saveUpdates(_0x69a7dd,_0x35f657){return function(_0x4e1484){if(_0x4e1484){return _0x4e1484['update'](_0x69a7dd)[_0xc5b5('0x20')](function(_0x434203){return _0x434203;});}return null;};}function removeEntity(_0x1d5ced,_0x9c1480){return function(_0x49351f){if(_0x49351f){return _0x49351f[_0xc5b5('0x21')]()[_0xc5b5('0x20')](function(){_0x1d5ced[_0xc5b5('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x339783,_0x5765df){return function(_0x3e27e3){if(!_0x3e27e3){_0x339783['sendStatus'](0x194);}return _0x3e27e3;};}function handleError(_0x556ba0,_0x26d76e){_0x26d76e=_0x26d76e||0x1f4;return function(_0x398fd8){logger[_0xc5b5('0x22')](_0x398fd8[_0xc5b5('0x23')]);if(_0x398fd8[_0xc5b5('0x24')]){delete _0x398fd8[_0xc5b5('0x24')];}_0x556ba0['status'](_0x26d76e)[_0xc5b5('0x25')](_0x398fd8);};}exports[_0xc5b5('0x26')]=function(_0x5bdaaa,_0x368560){var _0x2ad39f={},_0x49b2f4={},_0x45670d={'count':0x0,'rows':[]};var _0x2a7e47=_[_0xc5b5('0x27')](db[_0xc5b5('0x28')][_0xc5b5('0x29')],function(_0x225f83){return{'name':_0x225f83['fieldName'],'type':_0x225f83[_0xc5b5('0x2a')]['key']};});_0x49b2f4[_0xc5b5('0x2b')]=_['map'](_0x2a7e47,_0xc5b5('0x24'));_0x49b2f4[_0xc5b5('0x2c')]=_[_0xc5b5('0x2d')](_0x5bdaaa[_0xc5b5('0x2c')]);_0x49b2f4[_0xc5b5('0x2e')]=_[_0xc5b5('0x2f')](_0x49b2f4['model'],_0x49b2f4[_0xc5b5('0x2c')]);_0x2ad39f[_0xc5b5('0x30')]=_[_0xc5b5('0x2f')](_0x49b2f4['model'],qs[_0xc5b5('0x31')](_0x5bdaaa[_0xc5b5('0x2c')][_0xc5b5('0x31')]));_0x2ad39f[_0xc5b5('0x30')]=_0x2ad39f[_0xc5b5('0x30')][_0xc5b5('0x32')]?_0x2ad39f[_0xc5b5('0x30')]:_0x49b2f4[_0xc5b5('0x2b')];if(!_0x5bdaaa[_0xc5b5('0x2c')][_0xc5b5('0x33')](_0xc5b5('0x34'))){_0x2ad39f[_0xc5b5('0x1d')]=qs['limit'](_0x5bdaaa[_0xc5b5('0x2c')]['limit']);_0x2ad39f['offset']=qs['offset'](_0x5bdaaa['query'][_0xc5b5('0x1b')]);}_0x2ad39f['order']=qs[_0xc5b5('0x35')](_0x5bdaaa[_0xc5b5('0x2c')][_0xc5b5('0x35')]);_0x2ad39f[_0xc5b5('0x36')]=qs[_0xc5b5('0x2e')](_[_0xc5b5('0x37')](_0x5bdaaa[_0xc5b5('0x2c')],_0x49b2f4[_0xc5b5('0x2e')]),_0x2a7e47);if(_0x5bdaaa['query'][_0xc5b5('0x38')]){_0x2ad39f[_0xc5b5('0x36')]=_['merge'](_0x2ad39f[_0xc5b5('0x36')],{'$or':_[_0xc5b5('0x27')](_0x2a7e47,function(_0x1af876){if(_0x1af876[_0xc5b5('0x2a')]!==_0xc5b5('0x39')){var _0x2f2df0={};_0x2f2df0[_0x1af876[_0xc5b5('0x24')]]={'$like':'%'+_0x5bdaaa[_0xc5b5('0x2c')]['filter']+'%'};return _0x2f2df0;}})});}_0x2ad39f=_['merge']({},_0x2ad39f,_0x5bdaaa['options']);var _0x521248={'where':_0x2ad39f['where']};return db[_0xc5b5('0x28')][_0xc5b5('0x1e')](_0x521248)[_0xc5b5('0x20')](function(_0x403cd0){_0x45670d['count']=_0x403cd0;if(_0x5bdaaa[_0xc5b5('0x2c')]['includeAll']){_0x2ad39f[_0xc5b5('0x3a')]=[{'all':!![]}];}return db[_0xc5b5('0x28')][_0xc5b5('0x3b')](_0x2ad39f);})[_0xc5b5('0x20')](function(_0x11595f){_0x45670d[_0xc5b5('0x3c')]=_0x11595f;return _0x45670d;})[_0xc5b5('0x20')](respondWithFilteredResult(_0x368560,_0x2ad39f))[_0xc5b5('0x3d')](handleError(_0x368560,null));};exports[_0xc5b5('0x3e')]=function(_0x8e773c,_0x2644eb){var _0x55a511={'raw':![],'where':{'id':_0x8e773c[_0xc5b5('0x3f')]['id']}},_0x12ca5e={};_0x12ca5e['model']=_[_0xc5b5('0x2d')](db[_0xc5b5('0x28')]['rawAttributes']);_0x12ca5e[_0xc5b5('0x2c')]=_[_0xc5b5('0x2d')](_0x8e773c[_0xc5b5('0x2c')]);_0x12ca5e['filters']=_[_0xc5b5('0x2f')](_0x12ca5e[_0xc5b5('0x2b')],_0x12ca5e[_0xc5b5('0x2c')]);_0x55a511['attributes']=_[_0xc5b5('0x2f')](_0x12ca5e[_0xc5b5('0x2b')],qs[_0xc5b5('0x31')](_0x8e773c[_0xc5b5('0x2c')]['fields']));_0x55a511[_0xc5b5('0x30')]=_0x55a511['attributes'][_0xc5b5('0x32')]?_0x55a511[_0xc5b5('0x30')]:_0x12ca5e[_0xc5b5('0x2b')];if(_0x8e773c['query']['includeAll']){_0x55a511[_0xc5b5('0x3a')]=[{'all':!![]}];}_0x55a511=_[_0xc5b5('0x40')]({},_0x55a511,_0x8e773c['options']);return db[_0xc5b5('0x28')][_0xc5b5('0x41')](_0x55a511)[_0xc5b5('0x20')](handleEntityNotFound(_0x2644eb,null))['then'](respondWithResult(_0x2644eb,null))[_0xc5b5('0x3d')](handleError(_0x2644eb,null));};exports[_0xc5b5('0x42')]=function(_0x59ca45,_0x3e04a9){return db['VoiceAgentReport']['create'](_0x59ca45[_0xc5b5('0x43')],{})[_0xc5b5('0x20')](respondWithResult(_0x3e04a9,0xc9))[_0xc5b5('0x3d')](handleError(_0x3e04a9,null));};exports[_0xc5b5('0x44')]=function(_0x3b1c98,_0x407c49){if(_0x3b1c98[_0xc5b5('0x43')]['id']){delete _0x3b1c98[_0xc5b5('0x43')]['id'];}return db['VoiceAgentReport'][_0xc5b5('0x41')]({'where':{'id':_0x3b1c98['params']['id']}})[_0xc5b5('0x20')](handleEntityNotFound(_0x407c49,null))['then'](saveUpdates(_0x3b1c98[_0xc5b5('0x43')],null))[_0xc5b5('0x20')](respondWithResult(_0x407c49,null))[_0xc5b5('0x3d')](handleError(_0x407c49,null));};exports['destroy']=function(_0x3d1206,_0x44639e){return db[_0xc5b5('0x28')][_0xc5b5('0x41')]({'where':{'id':_0x3d1206[_0xc5b5('0x3f')]['id']}})['then'](handleEntityNotFound(_0x44639e,null))[_0xc5b5('0x20')](removeEntity(_0x44639e,null))[_0xc5b5('0x3d')](handleError(_0x44639e,null));};exports[_0xc5b5('0x45')]=function(_0x4bfbb6,_0x151c8a){return db['VoiceAgentReport']['describe']()['then'](respondWithResult(_0x151c8a,null))[_0xc5b5('0x3d')](handleError(_0x151c8a,null));};