ae5ec540590832baaedc6b77de3685cf74118cc5
[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 _0xc742=['hasOwnProperty','nolimit','limit','order','sort','where','pick','merge','filter','count','include','catch','show','params','filters','options','find','body','describe','html-pdf','rimraf','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','sendStatus','json','offset','status','Content-Range','apply','save','update','destroy','then','end','error','stack','name','send','VoiceAgentReport','rawAttributes','fieldName','type','key','model','map','query','keys','intersection','attributes','fields','length'];(function(_0x2265b0,_0x279abe){var _0xc4900b=function(_0x549d54){while(--_0x549d54){_0x2265b0['push'](_0x2265b0['shift']());}};_0xc4900b(++_0x279abe);}(_0xc742,0x12f));var _0x2c74=function(_0x4f589d,_0x5168c7){_0x4f589d=_0x4f589d-0x0;var _0x51c112=_0xc742[_0x4f589d];return _0x51c112;};'use strict';var pdf=require(_0x2c74('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x2c74('0x1'));var zipdir=require(_0x2c74('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2c74('0x3'));var moment=require(_0x2c74('0x4'));var BPromise=require(_0x2c74('0x5'));var Mustache=require('mustache');var util=require(_0x2c74('0x6'));var path=require(_0x2c74('0x7'));var sox=require(_0x2c74('0x8'));var csv=require(_0x2c74('0x9'));var ejs=require(_0x2c74('0xa'));var fs=require('fs');var _=require(_0x2c74('0xb'));var squel=require(_0x2c74('0xc'));var crypto=require(_0x2c74('0xd'));var jsforce=require(_0x2c74('0xe'));var deskjs=require(_0x2c74('0xf'));var toCsv=require('to-csv');var querystring=require(_0x2c74('0x10'));var Papa=require(_0x2c74('0x11'));var Redis=require('ioredis');var authService=require(_0x2c74('0x12'));var qs=require(_0x2c74('0x13'));var as=require(_0x2c74('0x14'));var hardwareService=require(_0x2c74('0x15'));var logger=require('../../config/logger')(_0x2c74('0x16'));var utils=require(_0x2c74('0x17'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x44d6f3,_0x237803){_0x237803=_0x237803||0xcc;return function(_0x2a1f85){if(_0x2a1f85){return _0x44d6f3[_0x2c74('0x18')](_0x237803);}return _0x44d6f3['status'](_0x237803)['end']();};}function respondWithResult(_0x3d3700,_0x53169a){_0x53169a=_0x53169a||0xc8;return function(_0x22a0fe){if(_0x22a0fe){return _0x3d3700['status'](_0x53169a)[_0x2c74('0x19')](_0x22a0fe);}};}function respondWithFilteredResult(_0x1ccf5c,_0x5c2d9c){return function(_0x4ee9f2){if(_0x4ee9f2){var _0x5e8818=_0x4ee9f2['count'],_0x3e9010=_0x5c2d9c[_0x2c74('0x1a')],_0x48be1b=_0x5c2d9c[_0x2c74('0x1a')]+_0x5c2d9c['limit'],_0x133a01;if(_0x48be1b>=_0x5e8818){_0x48be1b=_0x5e8818;_0x133a01=0xc8;}else{_0x133a01=0xce;}_0x1ccf5c[_0x2c74('0x1b')](_0x133a01);return _0x1ccf5c['set'](_0x2c74('0x1c'),_0x3e9010+'-'+_0x48be1b+'/'+_0x5e8818)[_0x2c74('0x19')](_0x4ee9f2);}return null;};}function patchUpdates(_0x28d1f0){return function(_0x2dc075){try{jsonpatch[_0x2c74('0x1d')](_0x2dc075,_0x28d1f0,!![]);}catch(_0x2b62a9){return BPromise['reject'](_0x2b62a9);}return _0x2dc075[_0x2c74('0x1e')]();};}function saveUpdates(_0x16bbfb,_0x259ad9){return function(_0x13b5f8){if(_0x13b5f8){return _0x13b5f8[_0x2c74('0x1f')](_0x16bbfb)['then'](function(_0x472c83){return _0x472c83;});}return null;};}function removeEntity(_0x4be2b2,_0x3f192f){return function(_0x1b59e4){if(_0x1b59e4){return _0x1b59e4[_0x2c74('0x20')]()[_0x2c74('0x21')](function(){_0x4be2b2[_0x2c74('0x1b')](0xcc)[_0x2c74('0x22')]();});}};}function handleEntityNotFound(_0x581d67,_0x4e468e){return function(_0x1112e5){if(!_0x1112e5){_0x581d67[_0x2c74('0x18')](0x194);}return _0x1112e5;};}function handleError(_0x3d5192,_0x15eb8e){_0x15eb8e=_0x15eb8e||0x1f4;return function(_0x1a0b51){logger[_0x2c74('0x23')](_0x1a0b51[_0x2c74('0x24')]);if(_0x1a0b51['name']){delete _0x1a0b51[_0x2c74('0x25')];}_0x3d5192['status'](_0x15eb8e)[_0x2c74('0x26')](_0x1a0b51);};}exports['index']=function(_0x1d08f5,_0x49e506){var _0x285aa8={},_0x57253f={},_0x14680e={'count':0x0,'rows':[]};var _0x5e9db1=_['map'](db[_0x2c74('0x27')][_0x2c74('0x28')],function(_0x36902c){return{'name':_0x36902c[_0x2c74('0x29')],'type':_0x36902c[_0x2c74('0x2a')][_0x2c74('0x2b')]};});_0x57253f[_0x2c74('0x2c')]=_[_0x2c74('0x2d')](_0x5e9db1,'name');_0x57253f[_0x2c74('0x2e')]=_[_0x2c74('0x2f')](_0x1d08f5[_0x2c74('0x2e')]);_0x57253f['filters']=_[_0x2c74('0x30')](_0x57253f[_0x2c74('0x2c')],_0x57253f[_0x2c74('0x2e')]);_0x285aa8[_0x2c74('0x31')]=_[_0x2c74('0x30')](_0x57253f[_0x2c74('0x2c')],qs[_0x2c74('0x32')](_0x1d08f5['query'][_0x2c74('0x32')]));_0x285aa8[_0x2c74('0x31')]=_0x285aa8['attributes'][_0x2c74('0x33')]?_0x285aa8[_0x2c74('0x31')]:_0x57253f['model'];if(!_0x1d08f5[_0x2c74('0x2e')][_0x2c74('0x34')](_0x2c74('0x35'))){_0x285aa8['limit']=qs[_0x2c74('0x36')](_0x1d08f5[_0x2c74('0x2e')]['limit']);_0x285aa8['offset']=qs[_0x2c74('0x1a')](_0x1d08f5[_0x2c74('0x2e')][_0x2c74('0x1a')]);}_0x285aa8[_0x2c74('0x37')]=qs[_0x2c74('0x38')](_0x1d08f5[_0x2c74('0x2e')][_0x2c74('0x38')]);_0x285aa8[_0x2c74('0x39')]=qs['filters'](_[_0x2c74('0x3a')](_0x1d08f5[_0x2c74('0x2e')],_0x57253f['filters']),_0x5e9db1);if(_0x1d08f5[_0x2c74('0x2e')]['filter']){_0x285aa8[_0x2c74('0x39')]=_[_0x2c74('0x3b')](_0x285aa8['where'],{'$or':_['map'](_0x5e9db1,function(_0x57990d){if(_0x57990d[_0x2c74('0x2a')]!=='VIRTUAL'){var _0x1f8792={};_0x1f8792[_0x57990d[_0x2c74('0x25')]]={'$like':'%'+_0x1d08f5['query'][_0x2c74('0x3c')]+'%'};return _0x1f8792;}})});}_0x285aa8=_[_0x2c74('0x3b')]({},_0x285aa8,_0x1d08f5['options']);var _0x315f34={'where':_0x285aa8[_0x2c74('0x39')]};return db[_0x2c74('0x27')][_0x2c74('0x3d')](_0x315f34)[_0x2c74('0x21')](function(_0x1a9e06){_0x14680e[_0x2c74('0x3d')]=_0x1a9e06;if(_0x1d08f5[_0x2c74('0x2e')]['includeAll']){_0x285aa8[_0x2c74('0x3e')]=[{'all':!![]}];}return db[_0x2c74('0x27')]['findAll'](_0x285aa8);})[_0x2c74('0x21')](function(_0x1d699f){_0x14680e['rows']=_0x1d699f;return _0x14680e;})[_0x2c74('0x21')](respondWithFilteredResult(_0x49e506,_0x285aa8))[_0x2c74('0x3f')](handleError(_0x49e506,null));};exports[_0x2c74('0x40')]=function(_0x7becf4,_0x5690ee){var _0x3fedac={'raw':![],'where':{'id':_0x7becf4[_0x2c74('0x41')]['id']}},_0x4f8177={};_0x4f8177[_0x2c74('0x2c')]=_['keys'](db['VoiceAgentReport'][_0x2c74('0x28')]);_0x4f8177[_0x2c74('0x2e')]=_[_0x2c74('0x2f')](_0x7becf4[_0x2c74('0x2e')]);_0x4f8177[_0x2c74('0x42')]=_['intersection'](_0x4f8177[_0x2c74('0x2c')],_0x4f8177[_0x2c74('0x2e')]);_0x3fedac['attributes']=_[_0x2c74('0x30')](_0x4f8177['model'],qs[_0x2c74('0x32')](_0x7becf4['query'][_0x2c74('0x32')]));_0x3fedac[_0x2c74('0x31')]=_0x3fedac['attributes'][_0x2c74('0x33')]?_0x3fedac['attributes']:_0x4f8177[_0x2c74('0x2c')];if(_0x7becf4[_0x2c74('0x2e')]['includeAll']){_0x3fedac[_0x2c74('0x3e')]=[{'all':!![]}];}_0x3fedac=_[_0x2c74('0x3b')]({},_0x3fedac,_0x7becf4[_0x2c74('0x43')]);return db[_0x2c74('0x27')][_0x2c74('0x44')](_0x3fedac)['then'](handleEntityNotFound(_0x5690ee,null))[_0x2c74('0x21')](respondWithResult(_0x5690ee,null))[_0x2c74('0x3f')](handleError(_0x5690ee,null));};exports['create']=function(_0x4cae45,_0x469616){return db[_0x2c74('0x27')]['create'](_0x4cae45[_0x2c74('0x45')],{})[_0x2c74('0x21')](respondWithResult(_0x469616,0xc9))[_0x2c74('0x3f')](handleError(_0x469616,null));};exports[_0x2c74('0x1f')]=function(_0x51b9de,_0x14cf13){if(_0x51b9de[_0x2c74('0x45')]['id']){delete _0x51b9de[_0x2c74('0x45')]['id'];}return db[_0x2c74('0x27')][_0x2c74('0x44')]({'where':{'id':_0x51b9de['params']['id']}})[_0x2c74('0x21')](handleEntityNotFound(_0x14cf13,null))[_0x2c74('0x21')](saveUpdates(_0x51b9de[_0x2c74('0x45')],null))['then'](respondWithResult(_0x14cf13,null))[_0x2c74('0x3f')](handleError(_0x14cf13,null));};exports[_0x2c74('0x20')]=function(_0x30124b,_0x51a283){return db[_0x2c74('0x27')][_0x2c74('0x44')]({'where':{'id':_0x30124b[_0x2c74('0x41')]['id']}})[_0x2c74('0x21')](handleEntityNotFound(_0x51a283,null))[_0x2c74('0x21')](removeEntity(_0x51a283,null))[_0x2c74('0x3f')](handleError(_0x51a283,null));};exports[_0x2c74('0x46')]=function(_0x2a3a60,_0x48a99a){return db['VoiceAgentReport'][_0x2c74('0x46')]()[_0x2c74('0x21')](respondWithResult(_0x48a99a,null))['catch'](handleError(_0x48a99a,null));};