6cc0e4672ef8cf5f742209b1ce0acb3a02108f6c
[motion2.git] / server / api / voiceDialReport / voiceDialReport.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 _0x2cb2=['catch','show','params','include','options','find','create','body','destroy','describe','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','limit','count','set','json','reject','save','update','then','end','stack','name','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','VoiceDialReport','includeAll','findAll','rows'];(function(_0x25a9cb,_0x1fb3b3){var _0x2626cf=function(_0x20e9da){while(--_0x20e9da){_0x25a9cb['push'](_0x25a9cb['shift']());}};_0x2626cf(++_0x1fb3b3);}(_0x2cb2,0x9e));var _0x22cb=function(_0x44cb72,_0x5bbf15){_0x44cb72=_0x44cb72-0x0;var _0x71ae36=_0x2cb2[_0x44cb72];return _0x71ae36;};'use strict';var emlformat=require(_0x22cb('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x22cb('0x1'));var jsonpatch=require(_0x22cb('0x2'));var rp=require(_0x22cb('0x3'));var moment=require(_0x22cb('0x4'));var BPromise=require(_0x22cb('0x5'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x22cb('0x6'));var ejs=require(_0x22cb('0x7'));var fs=require('fs');var fs_extra=require(_0x22cb('0x8'));var _=require(_0x22cb('0x9'));var squel=require(_0x22cb('0xa'));var crypto=require(_0x22cb('0xb'));var jsforce=require(_0x22cb('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x22cb('0x6'));var querystring=require(_0x22cb('0xd'));var Papa=require(_0x22cb('0xe'));var Redis=require(_0x22cb('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x22cb('0x10'));var as=require(_0x22cb('0x11'));var hardwareService=require(_0x22cb('0x12'));var logger=require('../../config/logger')(_0x22cb('0x13'));var utils=require(_0x22cb('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x22cb('0x15'));var db=require(_0x22cb('0x16'))['db'];function respondWithStatusCode(_0xd15d3c,_0x585a6a){_0x585a6a=_0x585a6a||0xcc;return function(_0x24f699){if(_0x24f699){return _0xd15d3c[_0x22cb('0x17')](_0x585a6a);}return _0xd15d3c['status'](_0x585a6a)['end']();};}function respondWithResult(_0x588726,_0x8d4d01){_0x8d4d01=_0x8d4d01||0xc8;return function(_0x560ee6){if(_0x560ee6){return _0x588726[_0x22cb('0x18')](_0x8d4d01)['json'](_0x560ee6);}};}function respondWithFilteredResult(_0x4927cf,_0x40d717){return function(_0x5c493f){if(_0x5c493f){var _0xd52c5=typeof _0x40d717[_0x22cb('0x19')]===_0x22cb('0x1a')&&typeof _0x40d717[_0x22cb('0x1b')]===_0x22cb('0x1a');var _0x4b2b5e=_0x5c493f['count'];var _0x5e62d0=_0xd52c5?0x0:_0x40d717[_0x22cb('0x19')];var _0x44975e=_0xd52c5?_0x5c493f[_0x22cb('0x1c')]:_0x40d717['offset']+_0x40d717[_0x22cb('0x1b')];var _0x5437af;if(_0x44975e>=_0x4b2b5e){_0x44975e=_0x4b2b5e;_0x5437af=0xc8;}else{_0x5437af=0xce;}_0x4927cf[_0x22cb('0x18')](_0x5437af);return _0x4927cf[_0x22cb('0x1d')]('Content-Range',_0x5e62d0+'-'+_0x44975e+'/'+_0x4b2b5e)[_0x22cb('0x1e')](_0x5c493f);}return null;};}function patchUpdates(_0x560c20){return function(_0x143394){try{jsonpatch['apply'](_0x143394,_0x560c20,!![]);}catch(_0x3df794){return BPromise[_0x22cb('0x1f')](_0x3df794);}return _0x143394[_0x22cb('0x20')]();};}function saveUpdates(_0x2867be,_0x48f8ab){return function(_0x1cd2cc){if(_0x1cd2cc){return _0x1cd2cc[_0x22cb('0x21')](_0x2867be)[_0x22cb('0x22')](function(_0x23b3c4){return _0x23b3c4;});}return null;};}function removeEntity(_0x5e1792,_0x55ee24){return function(_0x4f68f3){if(_0x4f68f3){return _0x4f68f3['destroy']()['then'](function(){_0x5e1792[_0x22cb('0x18')](0xcc)[_0x22cb('0x23')]();});}};}function handleEntityNotFound(_0x1fbe03,_0x34f8dc){return function(_0x2bf99a){if(!_0x2bf99a){_0x1fbe03[_0x22cb('0x17')](0x194);}return _0x2bf99a;};}function handleError(_0x3516a6,_0x599b7d){_0x599b7d=_0x599b7d||0x1f4;return function(_0x4b04a7){logger['error'](_0x4b04a7[_0x22cb('0x24')]);if(_0x4b04a7[_0x22cb('0x25')]){delete _0x4b04a7[_0x22cb('0x25')];}_0x3516a6[_0x22cb('0x18')](_0x599b7d)['send'](_0x4b04a7);};}exports[_0x22cb('0x26')]=function(_0x574bcf,_0x293805){var _0x5a68de={},_0x514a5f={},_0x359757={'count':0x0,'rows':[]};var _0x15d47e=_[_0x22cb('0x27')](db['VoiceDialReport'][_0x22cb('0x28')],function(_0x57acb0){return{'name':_0x57acb0[_0x22cb('0x29')],'type':_0x57acb0[_0x22cb('0x2a')][_0x22cb('0x2b')]};});_0x514a5f[_0x22cb('0x2c')]=_[_0x22cb('0x27')](_0x15d47e,_0x22cb('0x25'));_0x514a5f[_0x22cb('0x2d')]=_[_0x22cb('0x2e')](_0x574bcf['query']);_0x514a5f[_0x22cb('0x2f')]=_[_0x22cb('0x30')](_0x514a5f['model'],_0x514a5f['query']);_0x5a68de[_0x22cb('0x31')]=_[_0x22cb('0x30')](_0x514a5f[_0x22cb('0x2c')],qs[_0x22cb('0x32')](_0x574bcf[_0x22cb('0x2d')][_0x22cb('0x32')]));_0x5a68de[_0x22cb('0x31')]=_0x5a68de[_0x22cb('0x31')][_0x22cb('0x33')]?_0x5a68de['attributes']:_0x514a5f[_0x22cb('0x2c')];if(!_0x574bcf[_0x22cb('0x2d')][_0x22cb('0x34')](_0x22cb('0x35'))){_0x5a68de['limit']=qs['limit'](_0x574bcf[_0x22cb('0x2d')]['limit']);_0x5a68de['offset']=qs[_0x22cb('0x19')](_0x574bcf[_0x22cb('0x2d')][_0x22cb('0x19')]);}_0x5a68de['order']=qs[_0x22cb('0x36')](_0x574bcf[_0x22cb('0x2d')][_0x22cb('0x36')]);_0x5a68de[_0x22cb('0x37')]=qs[_0x22cb('0x2f')](_[_0x22cb('0x38')](_0x574bcf[_0x22cb('0x2d')],_0x514a5f[_0x22cb('0x2f')]),_0x15d47e);if(_0x574bcf['query'][_0x22cb('0x39')]){_0x5a68de[_0x22cb('0x37')]=_[_0x22cb('0x3a')](_0x5a68de[_0x22cb('0x37')],{'$or':_[_0x22cb('0x27')](_0x15d47e,function(_0x182b96){if(_0x182b96[_0x22cb('0x2a')]!==_0x22cb('0x3b')){var _0x5b4e51={};_0x5b4e51[_0x182b96[_0x22cb('0x25')]]={'$like':'%'+_0x574bcf[_0x22cb('0x2d')][_0x22cb('0x39')]+'%'};return _0x5b4e51;}})});}_0x5a68de=_[_0x22cb('0x3a')]({},_0x5a68de,_0x574bcf['options']);var _0x5541d3={'where':_0x5a68de[_0x22cb('0x37')]};return db[_0x22cb('0x3c')]['count'](_0x5541d3)[_0x22cb('0x22')](function(_0x5a3190){_0x359757[_0x22cb('0x1c')]=_0x5a3190;if(_0x574bcf[_0x22cb('0x2d')][_0x22cb('0x3d')]){_0x5a68de['include']=[{'all':!![]}];}return db['VoiceDialReport'][_0x22cb('0x3e')](_0x5a68de);})[_0x22cb('0x22')](function(_0x54b148){_0x359757[_0x22cb('0x3f')]=_0x54b148;return _0x359757;})[_0x22cb('0x22')](respondWithFilteredResult(_0x293805,_0x5a68de))[_0x22cb('0x40')](handleError(_0x293805,null));};exports[_0x22cb('0x41')]=function(_0x35eb74,_0x799197){var _0x1f76f6={'raw':!![],'where':{'id':_0x35eb74[_0x22cb('0x42')]['id']}},_0x42ece0={};_0x42ece0[_0x22cb('0x2c')]=_[_0x22cb('0x2e')](db[_0x22cb('0x3c')][_0x22cb('0x28')]);_0x42ece0['query']=_[_0x22cb('0x2e')](_0x35eb74[_0x22cb('0x2d')]);_0x42ece0['filters']=_[_0x22cb('0x30')](_0x42ece0[_0x22cb('0x2c')],_0x42ece0[_0x22cb('0x2d')]);_0x1f76f6['attributes']=_[_0x22cb('0x30')](_0x42ece0[_0x22cb('0x2c')],qs[_0x22cb('0x32')](_0x35eb74['query'][_0x22cb('0x32')]));_0x1f76f6[_0x22cb('0x31')]=_0x1f76f6[_0x22cb('0x31')]['length']?_0x1f76f6[_0x22cb('0x31')]:_0x42ece0[_0x22cb('0x2c')];if(_0x35eb74[_0x22cb('0x2d')][_0x22cb('0x3d')]){_0x1f76f6[_0x22cb('0x43')]=[{'all':!![]}];}_0x1f76f6=_[_0x22cb('0x3a')]({},_0x1f76f6,_0x35eb74[_0x22cb('0x44')]);return db[_0x22cb('0x3c')][_0x22cb('0x45')](_0x1f76f6)['then'](handleEntityNotFound(_0x799197,null))[_0x22cb('0x22')](respondWithResult(_0x799197,null))[_0x22cb('0x40')](handleError(_0x799197,null));};exports[_0x22cb('0x46')]=function(_0x450951,_0x271520){return db[_0x22cb('0x3c')][_0x22cb('0x46')](_0x450951['body'],{})[_0x22cb('0x22')](respondWithResult(_0x271520,0xc9))[_0x22cb('0x40')](handleError(_0x271520,null));};exports[_0x22cb('0x21')]=function(_0x1ce0d6,_0x49d37d){if(_0x1ce0d6['body']['id']){delete _0x1ce0d6['body']['id'];}return db[_0x22cb('0x3c')][_0x22cb('0x45')]({'where':{'id':_0x1ce0d6[_0x22cb('0x42')]['id']}})[_0x22cb('0x22')](handleEntityNotFound(_0x49d37d,null))[_0x22cb('0x22')](saveUpdates(_0x1ce0d6[_0x22cb('0x47')],null))[_0x22cb('0x22')](respondWithResult(_0x49d37d,null))['catch'](handleError(_0x49d37d,null));};exports[_0x22cb('0x48')]=function(_0x59428d,_0x38069c){return db[_0x22cb('0x3c')]['find']({'where':{'id':_0x59428d[_0x22cb('0x42')]['id']}})[_0x22cb('0x22')](handleEntityNotFound(_0x38069c,null))['then'](removeEntity(_0x38069c,null))['catch'](handleError(_0x38069c,null));};exports[_0x22cb('0x49')]=function(_0x13853e,_0x4cc1a2){return db['VoiceDialReport'][_0x22cb('0x49')]()[_0x22cb('0x22')](respondWithResult(_0x4cc1a2,null))[_0x22cb('0x40')](handleError(_0x4cc1a2,null));};