Built motion from commit 3770a7bd.|2.6.29
[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 _0x1ef8=['then','destroy','error','stack','name','send','index','map','fieldName','type','model','query','keys','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','VoiceDialReport','includeAll','include','findAll','rows','catch','show','params','rawAttributes','options','create','body','find','describe','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','undefined','limit','count','offset','set','Content-Range','json','reject','save','update'];(function(_0x57a381,_0xf90e44){var _0x198b6a=function(_0x15fc32){while(--_0x15fc32){_0x57a381['push'](_0x57a381['shift']());}};_0x198b6a(++_0xf90e44);}(_0x1ef8,0xcb));var _0x81ef=function(_0x4d37cc,_0x116ac6){_0x4d37cc=_0x4d37cc-0x0;var _0x2070ec=_0x1ef8[_0x4d37cc];return _0x2070ec;};'use strict';var emlformat=require(_0x81ef('0x0'));var rimraf=require(_0x81ef('0x1'));var zipdir=require(_0x81ef('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x81ef('0x3'));var moment=require(_0x81ef('0x4'));var BPromise=require(_0x81ef('0x5'));var Mustache=require(_0x81ef('0x6'));var util=require(_0x81ef('0x7'));var path=require(_0x81ef('0x8'));var sox=require(_0x81ef('0x9'));var csv=require(_0x81ef('0xa'));var ejs=require(_0x81ef('0xb'));var fs=require('fs');var fs_extra=require(_0x81ef('0xc'));var _=require('lodash');var squel=require(_0x81ef('0xd'));var crypto=require('crypto');var jsforce=require(_0x81ef('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x81ef('0xa'));var querystring=require(_0x81ef('0xf'));var Papa=require(_0x81ef('0x10'));var Redis=require(_0x81ef('0x11'));var authService=require(_0x81ef('0x12'));var qs=require(_0x81ef('0x13'));var as=require(_0x81ef('0x14'));var hardwareService=require(_0x81ef('0x15'));var logger=require('../../config/logger')(_0x81ef('0x16'));var utils=require(_0x81ef('0x17'));var config=require(_0x81ef('0x18'));var licenseUtil=require(_0x81ef('0x19'));var db=require(_0x81ef('0x1a'))['db'];function respondWithStatusCode(_0x15af36,_0x528164){_0x528164=_0x528164||0xcc;return function(_0x16ea7c){if(_0x16ea7c){return _0x15af36[_0x81ef('0x1b')](_0x528164);}return _0x15af36[_0x81ef('0x1c')](_0x528164)[_0x81ef('0x1d')]();};}function respondWithResult(_0x23ee07,_0x546986){_0x546986=_0x546986||0xc8;return function(_0x2e2154){if(_0x2e2154){return _0x23ee07[_0x81ef('0x1c')](_0x546986)['json'](_0x2e2154);}};}function respondWithFilteredResult(_0x1ac6be,_0x3159a4){return function(_0x50b235){if(_0x50b235){var _0x37151f=typeof _0x3159a4['offset']===_0x81ef('0x1e')&&typeof _0x3159a4[_0x81ef('0x1f')]===_0x81ef('0x1e');var _0x219cbe=_0x50b235[_0x81ef('0x20')];var _0x3477d0=_0x37151f?0x0:_0x3159a4[_0x81ef('0x21')];var _0x3f160e=_0x37151f?_0x50b235[_0x81ef('0x20')]:_0x3159a4[_0x81ef('0x21')]+_0x3159a4[_0x81ef('0x1f')];var _0x1b973f;if(_0x3f160e>=_0x219cbe){_0x3f160e=_0x219cbe;_0x1b973f=0xc8;}else{_0x1b973f=0xce;}_0x1ac6be[_0x81ef('0x1c')](_0x1b973f);return _0x1ac6be[_0x81ef('0x22')](_0x81ef('0x23'),_0x3477d0+'-'+_0x3f160e+'/'+_0x219cbe)[_0x81ef('0x24')](_0x50b235);}return null;};}function patchUpdates(_0x36f1b6){return function(_0x556e05){try{jsonpatch['apply'](_0x556e05,_0x36f1b6,!![]);}catch(_0x81bd57){return BPromise[_0x81ef('0x25')](_0x81bd57);}return _0x556e05[_0x81ef('0x26')]();};}function saveUpdates(_0x6d4179,_0x4f054b){return function(_0x24df13){if(_0x24df13){return _0x24df13[_0x81ef('0x27')](_0x6d4179)[_0x81ef('0x28')](function(_0x5a3b77){return _0x5a3b77;});}return null;};}function removeEntity(_0x29048e,_0x2cba8c){return function(_0x3f45f8){if(_0x3f45f8){return _0x3f45f8[_0x81ef('0x29')]()[_0x81ef('0x28')](function(){_0x29048e[_0x81ef('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x19e9d7,_0x270c90){return function(_0x28da3f){if(!_0x28da3f){_0x19e9d7[_0x81ef('0x1b')](0x194);}return _0x28da3f;};}function handleError(_0x3d2816,_0x37c5f3){_0x37c5f3=_0x37c5f3||0x1f4;return function(_0x2bac45){logger[_0x81ef('0x2a')](_0x2bac45[_0x81ef('0x2b')]);if(_0x2bac45[_0x81ef('0x2c')]){delete _0x2bac45[_0x81ef('0x2c')];}_0x3d2816[_0x81ef('0x1c')](_0x37c5f3)[_0x81ef('0x2d')](_0x2bac45);};}exports[_0x81ef('0x2e')]=function(_0x416032,_0x1f16c0){var _0x10c401={},_0x5bae97={},_0x588876={'count':0x0,'rows':[]};var _0x4b25a9=_[_0x81ef('0x2f')](db['VoiceDialReport']['rawAttributes'],function(_0x52f618){return{'name':_0x52f618[_0x81ef('0x30')],'type':_0x52f618[_0x81ef('0x31')]['key']};});_0x5bae97[_0x81ef('0x32')]=_['map'](_0x4b25a9,'name');_0x5bae97[_0x81ef('0x33')]=_[_0x81ef('0x34')](_0x416032[_0x81ef('0x33')]);_0x5bae97['filters']=_['intersection'](_0x5bae97[_0x81ef('0x32')],_0x5bae97['query']);_0x10c401[_0x81ef('0x35')]=_[_0x81ef('0x36')](_0x5bae97[_0x81ef('0x32')],qs['fields'](_0x416032['query'][_0x81ef('0x37')]));_0x10c401[_0x81ef('0x35')]=_0x10c401[_0x81ef('0x35')][_0x81ef('0x38')]?_0x10c401[_0x81ef('0x35')]:_0x5bae97[_0x81ef('0x32')];if(!_0x416032[_0x81ef('0x33')][_0x81ef('0x39')](_0x81ef('0x3a'))){_0x10c401[_0x81ef('0x1f')]=qs[_0x81ef('0x1f')](_0x416032[_0x81ef('0x33')][_0x81ef('0x1f')]);_0x10c401[_0x81ef('0x21')]=qs[_0x81ef('0x21')](_0x416032[_0x81ef('0x33')]['offset']);}_0x10c401[_0x81ef('0x3b')]=qs['sort'](_0x416032['query'][_0x81ef('0x3c')]);_0x10c401[_0x81ef('0x3d')]=qs[_0x81ef('0x3e')](_[_0x81ef('0x3f')](_0x416032[_0x81ef('0x33')],_0x5bae97[_0x81ef('0x3e')]),_0x4b25a9);if(_0x416032[_0x81ef('0x33')][_0x81ef('0x40')]){_0x10c401[_0x81ef('0x3d')]=_[_0x81ef('0x41')](_0x10c401[_0x81ef('0x3d')],{'$or':_[_0x81ef('0x2f')](_0x4b25a9,function(_0x14ed37){if(_0x14ed37[_0x81ef('0x31')]!==_0x81ef('0x42')){var _0x5371d8={};_0x5371d8[_0x14ed37['name']]={'$like':'%'+_0x416032[_0x81ef('0x33')]['filter']+'%'};return _0x5371d8;}})});}_0x10c401=_[_0x81ef('0x41')]({},_0x10c401,_0x416032['options']);var _0x69748e={'where':_0x10c401[_0x81ef('0x3d')]};return db[_0x81ef('0x43')][_0x81ef('0x20')](_0x69748e)[_0x81ef('0x28')](function(_0x31be55){_0x588876[_0x81ef('0x20')]=_0x31be55;if(_0x416032[_0x81ef('0x33')][_0x81ef('0x44')]){_0x10c401[_0x81ef('0x45')]=[{'all':!![]}];}return db['VoiceDialReport'][_0x81ef('0x46')](_0x10c401);})['then'](function(_0xe49a55){_0x588876[_0x81ef('0x47')]=_0xe49a55;return _0x588876;})[_0x81ef('0x28')](respondWithFilteredResult(_0x1f16c0,_0x10c401))[_0x81ef('0x48')](handleError(_0x1f16c0,null));};exports[_0x81ef('0x49')]=function(_0xf54a8a,_0x5bdcba){var _0x42f95d={'raw':!![],'where':{'id':_0xf54a8a[_0x81ef('0x4a')]['id']}},_0x2f743b={};_0x2f743b[_0x81ef('0x32')]=_[_0x81ef('0x34')](db[_0x81ef('0x43')][_0x81ef('0x4b')]);_0x2f743b[_0x81ef('0x33')]=_[_0x81ef('0x34')](_0xf54a8a[_0x81ef('0x33')]);_0x2f743b[_0x81ef('0x3e')]=_[_0x81ef('0x36')](_0x2f743b[_0x81ef('0x32')],_0x2f743b[_0x81ef('0x33')]);_0x42f95d[_0x81ef('0x35')]=_['intersection'](_0x2f743b[_0x81ef('0x32')],qs[_0x81ef('0x37')](_0xf54a8a[_0x81ef('0x33')][_0x81ef('0x37')]));_0x42f95d['attributes']=_0x42f95d[_0x81ef('0x35')][_0x81ef('0x38')]?_0x42f95d['attributes']:_0x2f743b[_0x81ef('0x32')];if(_0xf54a8a['query'][_0x81ef('0x44')]){_0x42f95d[_0x81ef('0x45')]=[{'all':!![]}];}_0x42f95d=_[_0x81ef('0x41')]({},_0x42f95d,_0xf54a8a[_0x81ef('0x4c')]);return db[_0x81ef('0x43')]['find'](_0x42f95d)[_0x81ef('0x28')](handleEntityNotFound(_0x5bdcba,null))[_0x81ef('0x28')](respondWithResult(_0x5bdcba,null))[_0x81ef('0x48')](handleError(_0x5bdcba,null));};exports[_0x81ef('0x4d')]=function(_0x2729fd,_0x2b5229){return db[_0x81ef('0x43')][_0x81ef('0x4d')](_0x2729fd['body'],{})[_0x81ef('0x28')](respondWithResult(_0x2b5229,0xc9))[_0x81ef('0x48')](handleError(_0x2b5229,null));};exports['update']=function(_0x2d27f6,_0x2d1b98){if(_0x2d27f6[_0x81ef('0x4e')]['id']){delete _0x2d27f6['body']['id'];}return db[_0x81ef('0x43')][_0x81ef('0x4f')]({'where':{'id':_0x2d27f6[_0x81ef('0x4a')]['id']}})[_0x81ef('0x28')](handleEntityNotFound(_0x2d1b98,null))[_0x81ef('0x28')](saveUpdates(_0x2d27f6['body'],null))[_0x81ef('0x28')](respondWithResult(_0x2d1b98,null))[_0x81ef('0x48')](handleError(_0x2d1b98,null));};exports[_0x81ef('0x29')]=function(_0x199b97,_0x51a6c6){return db[_0x81ef('0x43')]['find']({'where':{'id':_0x199b97[_0x81ef('0x4a')]['id']}})[_0x81ef('0x28')](handleEntityNotFound(_0x51a6c6,null))[_0x81ef('0x28')](removeEntity(_0x51a6c6,null))[_0x81ef('0x48')](handleError(_0x51a6c6,null));};exports[_0x81ef('0x50')]=function(_0x26e039,_0x9544f){return db['VoiceDialReport'][_0x81ef('0x50')]()[_0x81ef('0x28')](respondWithResult(_0x9544f,null))[_0x81ef('0x48')](handleError(_0x9544f,null));};