0844ff5fe36200b8e686e90150de17ab17df752f
[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 _0x8882=['offset','undefined','status','set','Content-Range','reject','save','update','then','destroy','error','stack','name','index','map','VoiceDialReport','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','sort','where','pick','filter','merge','options','count','includeAll','findAll','rows','catch','show','params','rawAttributes','include','find','create','body','describe','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','json'];(function(_0x20beae,_0x5eac6d){var _0xf5725=function(_0x926a3b){while(--_0x926a3b){_0x20beae['push'](_0x20beae['shift']());}};_0xf5725(++_0x5eac6d);}(_0x8882,0x11e));var _0x2888=function(_0x2b026c,_0x4cf3c5){_0x2b026c=_0x2b026c-0x0;var _0x12d562=_0x8882[_0x2b026c];return _0x12d562;};'use strict';var emlformat=require(_0x2888('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x2888('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2888('0x2'));var moment=require(_0x2888('0x3'));var BPromise=require(_0x2888('0x4'));var Mustache=require(_0x2888('0x5'));var util=require(_0x2888('0x6'));var path=require(_0x2888('0x7'));var sox=require(_0x2888('0x8'));var csv=require('to-csv');var ejs=require(_0x2888('0x9'));var fs=require('fs');var fs_extra=require(_0x2888('0xa'));var _=require(_0x2888('0xb'));var squel=require(_0x2888('0xc'));var crypto=require(_0x2888('0xd'));var jsforce=require(_0x2888('0xe'));var deskjs=require(_0x2888('0xf'));var toCsv=require(_0x2888('0x10'));var querystring=require(_0x2888('0x11'));var Papa=require(_0x2888('0x12'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x2888('0x13'));var as=require(_0x2888('0x14'));var hardwareService=require(_0x2888('0x15'));var logger=require('../../config/logger')(_0x2888('0x16'));var utils=require(_0x2888('0x17'));var config=require(_0x2888('0x18'));var licenseUtil=require(_0x2888('0x19'));var db=require(_0x2888('0x1a'))['db'];function respondWithStatusCode(_0x277dae,_0x3af7bf){_0x3af7bf=_0x3af7bf||0xcc;return function(_0x10662e){if(_0x10662e){return _0x277dae[_0x2888('0x1b')](_0x3af7bf);}return _0x277dae['status'](_0x3af7bf)[_0x2888('0x1c')]();};}function respondWithResult(_0x8af948,_0x57f84){_0x57f84=_0x57f84||0xc8;return function(_0x5edead){if(_0x5edead){return _0x8af948['status'](_0x57f84)[_0x2888('0x1d')](_0x5edead);}};}function respondWithFilteredResult(_0x3fcfda,_0x343e2f){return function(_0x3cde2f){if(_0x3cde2f){var _0x1078e2=typeof _0x343e2f[_0x2888('0x1e')]===_0x2888('0x1f')&&typeof _0x343e2f['limit']==='undefined';var _0x105c67=_0x3cde2f['count'];var _0x5019c8=_0x1078e2?0x0:_0x343e2f['offset'];var _0x22507d=_0x1078e2?_0x3cde2f['count']:_0x343e2f[_0x2888('0x1e')]+_0x343e2f['limit'];var _0x49fe57;if(_0x22507d>=_0x105c67){_0x22507d=_0x105c67;_0x49fe57=0xc8;}else{_0x49fe57=0xce;}_0x3fcfda[_0x2888('0x20')](_0x49fe57);return _0x3fcfda[_0x2888('0x21')](_0x2888('0x22'),_0x5019c8+'-'+_0x22507d+'/'+_0x105c67)[_0x2888('0x1d')](_0x3cde2f);}return null;};}function patchUpdates(_0x49b5f0){return function(_0x5e6f2c){try{jsonpatch['apply'](_0x5e6f2c,_0x49b5f0,!![]);}catch(_0xb69742){return BPromise[_0x2888('0x23')](_0xb69742);}return _0x5e6f2c[_0x2888('0x24')]();};}function saveUpdates(_0x3676f2,_0x516011){return function(_0x57de95){if(_0x57de95){return _0x57de95[_0x2888('0x25')](_0x3676f2)[_0x2888('0x26')](function(_0xa49472){return _0xa49472;});}return null;};}function removeEntity(_0x156281,_0x51ec38){return function(_0x879b4a){if(_0x879b4a){return _0x879b4a[_0x2888('0x27')]()['then'](function(){_0x156281[_0x2888('0x20')](0xcc)[_0x2888('0x1c')]();});}};}function handleEntityNotFound(_0x802f28,_0x17e9c0){return function(_0x28af37){if(!_0x28af37){_0x802f28['sendStatus'](0x194);}return _0x28af37;};}function handleError(_0x4b68b4,_0x2f2a55){_0x2f2a55=_0x2f2a55||0x1f4;return function(_0xaf7d0c){logger[_0x2888('0x28')](_0xaf7d0c[_0x2888('0x29')]);if(_0xaf7d0c[_0x2888('0x2a')]){delete _0xaf7d0c[_0x2888('0x2a')];}_0x4b68b4['status'](_0x2f2a55)['send'](_0xaf7d0c);};}exports[_0x2888('0x2b')]=function(_0x2ad8b9,_0xb28985){var _0x15ad0f={},_0x45f67a={},_0x574293={'count':0x0,'rows':[]};var _0x294bfe=_[_0x2888('0x2c')](db[_0x2888('0x2d')]['rawAttributes'],function(_0x358306){return{'name':_0x358306[_0x2888('0x2e')],'type':_0x358306[_0x2888('0x2f')][_0x2888('0x30')]};});_0x45f67a[_0x2888('0x31')]=_['map'](_0x294bfe,'name');_0x45f67a['query']=_[_0x2888('0x32')](_0x2ad8b9[_0x2888('0x33')]);_0x45f67a[_0x2888('0x34')]=_[_0x2888('0x35')](_0x45f67a[_0x2888('0x31')],_0x45f67a[_0x2888('0x33')]);_0x15ad0f[_0x2888('0x36')]=_[_0x2888('0x35')](_0x45f67a[_0x2888('0x31')],qs[_0x2888('0x37')](_0x2ad8b9[_0x2888('0x33')][_0x2888('0x37')]));_0x15ad0f[_0x2888('0x36')]=_0x15ad0f[_0x2888('0x36')][_0x2888('0x38')]?_0x15ad0f[_0x2888('0x36')]:_0x45f67a[_0x2888('0x31')];if(!_0x2ad8b9[_0x2888('0x33')][_0x2888('0x39')](_0x2888('0x3a'))){_0x15ad0f[_0x2888('0x3b')]=qs[_0x2888('0x3b')](_0x2ad8b9[_0x2888('0x33')][_0x2888('0x3b')]);_0x15ad0f[_0x2888('0x1e')]=qs[_0x2888('0x1e')](_0x2ad8b9[_0x2888('0x33')][_0x2888('0x1e')]);}_0x15ad0f['order']=qs[_0x2888('0x3c')](_0x2ad8b9['query'][_0x2888('0x3c')]);_0x15ad0f[_0x2888('0x3d')]=qs['filters'](_[_0x2888('0x3e')](_0x2ad8b9[_0x2888('0x33')],_0x45f67a[_0x2888('0x34')]),_0x294bfe);if(_0x2ad8b9[_0x2888('0x33')][_0x2888('0x3f')]){_0x15ad0f[_0x2888('0x3d')]=_[_0x2888('0x40')](_0x15ad0f['where'],{'$or':_['map'](_0x294bfe,function(_0x23dada){if(_0x23dada[_0x2888('0x2f')]!=='VIRTUAL'){var _0x435379={};_0x435379[_0x23dada[_0x2888('0x2a')]]={'$like':'%'+_0x2ad8b9[_0x2888('0x33')]['filter']+'%'};return _0x435379;}})});}_0x15ad0f=_[_0x2888('0x40')]({},_0x15ad0f,_0x2ad8b9[_0x2888('0x41')]);var _0x113ff2={'where':_0x15ad0f[_0x2888('0x3d')]};return db[_0x2888('0x2d')][_0x2888('0x42')](_0x113ff2)[_0x2888('0x26')](function(_0x24f5be){_0x574293['count']=_0x24f5be;if(_0x2ad8b9[_0x2888('0x33')][_0x2888('0x43')]){_0x15ad0f['include']=[{'all':!![]}];}return db[_0x2888('0x2d')][_0x2888('0x44')](_0x15ad0f);})[_0x2888('0x26')](function(_0xc53e2c){_0x574293[_0x2888('0x45')]=_0xc53e2c;return _0x574293;})['then'](respondWithFilteredResult(_0xb28985,_0x15ad0f))[_0x2888('0x46')](handleError(_0xb28985,null));};exports[_0x2888('0x47')]=function(_0x148838,_0x39e507){var _0x4318e5={'raw':!![],'where':{'id':_0x148838[_0x2888('0x48')]['id']}},_0x27508e={};_0x27508e[_0x2888('0x31')]=_[_0x2888('0x32')](db['VoiceDialReport'][_0x2888('0x49')]);_0x27508e[_0x2888('0x33')]=_[_0x2888('0x32')](_0x148838[_0x2888('0x33')]);_0x27508e[_0x2888('0x34')]=_[_0x2888('0x35')](_0x27508e[_0x2888('0x31')],_0x27508e['query']);_0x4318e5[_0x2888('0x36')]=_[_0x2888('0x35')](_0x27508e[_0x2888('0x31')],qs['fields'](_0x148838[_0x2888('0x33')][_0x2888('0x37')]));_0x4318e5[_0x2888('0x36')]=_0x4318e5[_0x2888('0x36')]['length']?_0x4318e5[_0x2888('0x36')]:_0x27508e['model'];if(_0x148838[_0x2888('0x33')][_0x2888('0x43')]){_0x4318e5[_0x2888('0x4a')]=[{'all':!![]}];}_0x4318e5=_[_0x2888('0x40')]({},_0x4318e5,_0x148838['options']);return db['VoiceDialReport'][_0x2888('0x4b')](_0x4318e5)[_0x2888('0x26')](handleEntityNotFound(_0x39e507,null))['then'](respondWithResult(_0x39e507,null))[_0x2888('0x46')](handleError(_0x39e507,null));};exports[_0x2888('0x4c')]=function(_0x365407,_0x272885){return db[_0x2888('0x2d')][_0x2888('0x4c')](_0x365407[_0x2888('0x4d')],{})[_0x2888('0x26')](respondWithResult(_0x272885,0xc9))['catch'](handleError(_0x272885,null));};exports[_0x2888('0x25')]=function(_0x5e924f,_0x1433d1){if(_0x5e924f[_0x2888('0x4d')]['id']){delete _0x5e924f[_0x2888('0x4d')]['id'];}return db[_0x2888('0x2d')]['find']({'where':{'id':_0x5e924f[_0x2888('0x48')]['id']}})[_0x2888('0x26')](handleEntityNotFound(_0x1433d1,null))[_0x2888('0x26')](saveUpdates(_0x5e924f[_0x2888('0x4d')],null))[_0x2888('0x26')](respondWithResult(_0x1433d1,null))['catch'](handleError(_0x1433d1,null));};exports['destroy']=function(_0x280a77,_0x34436d){return db[_0x2888('0x2d')][_0x2888('0x4b')]({'where':{'id':_0x280a77[_0x2888('0x48')]['id']}})[_0x2888('0x26')](handleEntityNotFound(_0x34436d,null))[_0x2888('0x26')](removeEntity(_0x34436d,null))[_0x2888('0x46')](handleError(_0x34436d,null));};exports[_0x2888('0x4e')]=function(_0x25baf6,_0x188bd3){return db[_0x2888('0x2d')][_0x2888('0x4e')]()[_0x2888('0x26')](respondWithResult(_0x188bd3,null))[_0x2888('0x46')](handleError(_0x188bd3,null));};