2b6793068217a6a8737c6906d28072f93d0d83cb
[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 _0x110a=['ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','offset','limit','count','set','Content-Range','apply','reject','save','update','then','error','stack','name','send','map','VoiceDialReport','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','findAll','rows','params','rawAttributes','include','find','catch','create','body','destroy','describe','eml-format','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv'];(function(_0xfc56d,_0x57c229){var _0x585b3a=function(_0x378493){while(--_0x378493){_0xfc56d['push'](_0xfc56d['shift']());}};_0x585b3a(++_0x57c229);}(_0x110a,0x1b9));var _0xa110=function(_0x485840,_0x122071){_0x485840=_0x485840-0x0;var _0x41ec7d=_0x110a[_0x485840];return _0x41ec7d;};'use strict';var emlformat=require(_0xa110('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xa110('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xa110('0x2'));var moment=require(_0xa110('0x3'));var BPromise=require(_0xa110('0x4'));var Mustache=require(_0xa110('0x5'));var util=require('util');var path=require(_0xa110('0x6'));var sox=require(_0xa110('0x7'));var csv=require(_0xa110('0x8'));var ejs=require(_0xa110('0x9'));var fs=require('fs');var fs_extra=require(_0xa110('0xa'));var _=require(_0xa110('0xb'));var squel=require(_0xa110('0xc'));var crypto=require(_0xa110('0xd'));var jsforce=require(_0xa110('0xe'));var deskjs=require(_0xa110('0xf'));var toCsv=require(_0xa110('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xa110('0x10'));var authService=require(_0xa110('0x11'));var qs=require(_0xa110('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa110('0x13'));var logger=require('../../config/logger')(_0xa110('0x14'));var utils=require(_0xa110('0x15'));var config=require(_0xa110('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xa110('0x17'))['db'];function respondWithStatusCode(_0x23ec1d,_0x4eadd8){_0x4eadd8=_0x4eadd8||0xcc;return function(_0x368286){if(_0x368286){return _0x23ec1d[_0xa110('0x18')](_0x4eadd8);}return _0x23ec1d['status'](_0x4eadd8)[_0xa110('0x19')]();};}function respondWithResult(_0x2218ab,_0x33a305){_0x33a305=_0x33a305||0xc8;return function(_0x5579ab){if(_0x5579ab){return _0x2218ab[_0xa110('0x1a')](_0x33a305)[_0xa110('0x1b')](_0x5579ab);}};}function respondWithFilteredResult(_0x29e397,_0x31cd3d){return function(_0x52be31){if(_0x52be31){var _0x444b97=typeof _0x31cd3d[_0xa110('0x1c')]==='undefined'&&typeof _0x31cd3d[_0xa110('0x1d')]==='undefined';var _0x87a033=_0x52be31[_0xa110('0x1e')];var _0x784438=_0x444b97?0x0:_0x31cd3d[_0xa110('0x1c')];var _0x48a4c6=_0x444b97?_0x52be31[_0xa110('0x1e')]:_0x31cd3d['offset']+_0x31cd3d[_0xa110('0x1d')];var _0xae381;if(_0x48a4c6>=_0x87a033){_0x48a4c6=_0x87a033;_0xae381=0xc8;}else{_0xae381=0xce;}_0x29e397['status'](_0xae381);return _0x29e397[_0xa110('0x1f')](_0xa110('0x20'),_0x784438+'-'+_0x48a4c6+'/'+_0x87a033)[_0xa110('0x1b')](_0x52be31);}return null;};}function patchUpdates(_0x469ae7){return function(_0x36023e){try{jsonpatch[_0xa110('0x21')](_0x36023e,_0x469ae7,!![]);}catch(_0x7741fa){return BPromise[_0xa110('0x22')](_0x7741fa);}return _0x36023e[_0xa110('0x23')]();};}function saveUpdates(_0x5525f9,_0x5a936d){return function(_0xf0753b){if(_0xf0753b){return _0xf0753b[_0xa110('0x24')](_0x5525f9)['then'](function(_0x3a9421){return _0x3a9421;});}return null;};}function removeEntity(_0xdeebb9,_0x13d7f4){return function(_0x3e9d57){if(_0x3e9d57){return _0x3e9d57['destroy']()[_0xa110('0x25')](function(){_0xdeebb9[_0xa110('0x1a')](0xcc)[_0xa110('0x19')]();});}};}function handleEntityNotFound(_0x14923f,_0x375808){return function(_0x3dfa96){if(!_0x3dfa96){_0x14923f[_0xa110('0x18')](0x194);}return _0x3dfa96;};}function handleError(_0x2d0965,_0x27f603){_0x27f603=_0x27f603||0x1f4;return function(_0xe22b13){logger[_0xa110('0x26')](_0xe22b13[_0xa110('0x27')]);if(_0xe22b13['name']){delete _0xe22b13[_0xa110('0x28')];}_0x2d0965['status'](_0x27f603)[_0xa110('0x29')](_0xe22b13);};}exports['index']=function(_0x2a22fa,_0x133001){var _0x3b1793={},_0x5d393a={},_0x5c63de={'count':0x0,'rows':[]};var _0x1c6507=_[_0xa110('0x2a')](db[_0xa110('0x2b')]['rawAttributes'],function(_0x5a1d12){return{'name':_0x5a1d12['fieldName'],'type':_0x5a1d12[_0xa110('0x2c')][_0xa110('0x2d')]};});_0x5d393a[_0xa110('0x2e')]=_[_0xa110('0x2a')](_0x1c6507,'name');_0x5d393a[_0xa110('0x2f')]=_[_0xa110('0x30')](_0x2a22fa[_0xa110('0x2f')]);_0x5d393a[_0xa110('0x31')]=_[_0xa110('0x32')](_0x5d393a[_0xa110('0x2e')],_0x5d393a['query']);_0x3b1793[_0xa110('0x33')]=_[_0xa110('0x32')](_0x5d393a['model'],qs[_0xa110('0x34')](_0x2a22fa[_0xa110('0x2f')][_0xa110('0x34')]));_0x3b1793[_0xa110('0x33')]=_0x3b1793[_0xa110('0x33')]['length']?_0x3b1793[_0xa110('0x33')]:_0x5d393a[_0xa110('0x2e')];if(!_0x2a22fa[_0xa110('0x2f')][_0xa110('0x35')](_0xa110('0x36'))){_0x3b1793[_0xa110('0x1d')]=qs['limit'](_0x2a22fa[_0xa110('0x2f')][_0xa110('0x1d')]);_0x3b1793[_0xa110('0x1c')]=qs['offset'](_0x2a22fa['query'][_0xa110('0x1c')]);}_0x3b1793[_0xa110('0x37')]=qs[_0xa110('0x38')](_0x2a22fa['query'][_0xa110('0x38')]);_0x3b1793['where']=qs['filters'](_[_0xa110('0x39')](_0x2a22fa[_0xa110('0x2f')],_0x5d393a[_0xa110('0x31')]),_0x1c6507);if(_0x2a22fa[_0xa110('0x2f')][_0xa110('0x3a')]){_0x3b1793[_0xa110('0x3b')]=_[_0xa110('0x3c')](_0x3b1793[_0xa110('0x3b')],{'$or':_['map'](_0x1c6507,function(_0x30b19a){if(_0x30b19a[_0xa110('0x2c')]!==_0xa110('0x3d')){var _0x35de8d={};_0x35de8d[_0x30b19a[_0xa110('0x28')]]={'$like':'%'+_0x2a22fa['query'][_0xa110('0x3a')]+'%'};return _0x35de8d;}})});}_0x3b1793=_['merge']({},_0x3b1793,_0x2a22fa[_0xa110('0x3e')]);var _0x493bea={'where':_0x3b1793[_0xa110('0x3b')]};return db[_0xa110('0x2b')][_0xa110('0x1e')](_0x493bea)['then'](function(_0x11df22){_0x5c63de[_0xa110('0x1e')]=_0x11df22;if(_0x2a22fa[_0xa110('0x2f')][_0xa110('0x3f')]){_0x3b1793['include']=[{'all':!![]}];}return db[_0xa110('0x2b')][_0xa110('0x40')](_0x3b1793);})[_0xa110('0x25')](function(_0x5dee18){_0x5c63de[_0xa110('0x41')]=_0x5dee18;return _0x5c63de;})['then'](respondWithFilteredResult(_0x133001,_0x3b1793))['catch'](handleError(_0x133001,null));};exports['show']=function(_0xaaadbd,_0x40fcf2){var _0x5c5e41={'raw':!![],'where':{'id':_0xaaadbd[_0xa110('0x42')]['id']}},_0x5c0a39={};_0x5c0a39[_0xa110('0x2e')]=_[_0xa110('0x30')](db[_0xa110('0x2b')][_0xa110('0x43')]);_0x5c0a39[_0xa110('0x2f')]=_['keys'](_0xaaadbd[_0xa110('0x2f')]);_0x5c0a39[_0xa110('0x31')]=_[_0xa110('0x32')](_0x5c0a39['model'],_0x5c0a39['query']);_0x5c5e41[_0xa110('0x33')]=_['intersection'](_0x5c0a39['model'],qs[_0xa110('0x34')](_0xaaadbd[_0xa110('0x2f')]['fields']));_0x5c5e41[_0xa110('0x33')]=_0x5c5e41[_0xa110('0x33')]['length']?_0x5c5e41[_0xa110('0x33')]:_0x5c0a39[_0xa110('0x2e')];if(_0xaaadbd[_0xa110('0x2f')][_0xa110('0x3f')]){_0x5c5e41[_0xa110('0x44')]=[{'all':!![]}];}_0x5c5e41=_['merge']({},_0x5c5e41,_0xaaadbd[_0xa110('0x3e')]);return db[_0xa110('0x2b')][_0xa110('0x45')](_0x5c5e41)[_0xa110('0x25')](handleEntityNotFound(_0x40fcf2,null))['then'](respondWithResult(_0x40fcf2,null))[_0xa110('0x46')](handleError(_0x40fcf2,null));};exports['create']=function(_0x3acb87,_0x9c4546){return db[_0xa110('0x2b')][_0xa110('0x47')](_0x3acb87[_0xa110('0x48')],{})[_0xa110('0x25')](respondWithResult(_0x9c4546,0xc9))[_0xa110('0x46')](handleError(_0x9c4546,null));};exports[_0xa110('0x24')]=function(_0x2303d4,_0x50831a){if(_0x2303d4[_0xa110('0x48')]['id']){delete _0x2303d4['body']['id'];}return db[_0xa110('0x2b')][_0xa110('0x45')]({'where':{'id':_0x2303d4[_0xa110('0x42')]['id']}})[_0xa110('0x25')](handleEntityNotFound(_0x50831a,null))[_0xa110('0x25')](saveUpdates(_0x2303d4['body'],null))[_0xa110('0x25')](respondWithResult(_0x50831a,null))[_0xa110('0x46')](handleError(_0x50831a,null));};exports[_0xa110('0x49')]=function(_0x9bdeec,_0x33d00e){return db[_0xa110('0x2b')][_0xa110('0x45')]({'where':{'id':_0x9bdeec['params']['id']}})['then'](handleEntityNotFound(_0x33d00e,null))['then'](removeEntity(_0x33d00e,null))[_0xa110('0x46')](handleError(_0x33d00e,null));};exports['describe']=function(_0x1a9598,_0x3d059e){return db[_0xa110('0x2b')][_0xa110('0x4a')]()[_0xa110('0x25')](respondWithResult(_0x3d059e,null))[_0xa110('0x46')](handleError(_0x3d059e,null));};