Built motion from commit dc14b02d.|2.6.27
[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 _0x7b2e=['mustache','util','path','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','papaparse','../../components/parsers/qs','../../config/utils','../../mysqldb','sendStatus','status','end','json','undefined','count','offset','limit','Content-Range','apply','reject','save','then','destroy','error','stack','send','index','VoiceDialReport','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','include','findAll','rows','catch','show','params','includeAll','find','create','body','update','describe','rimraf','zip-dir','fast-json-patch','bluebird'];(function(_0x1b6eb6,_0x5a7238){var _0x194725=function(_0x3c137a){while(--_0x3c137a){_0x1b6eb6['push'](_0x1b6eb6['shift']());}};_0x194725(++_0x5a7238);}(_0x7b2e,0x1a6));var _0xe7b2=function(_0x27ba18,_0x2604d1){_0x27ba18=_0x27ba18-0x0;var _0x26c0a2=_0x7b2e[_0x27ba18];return _0x26c0a2;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe7b2('0x0'));var zipdir=require(_0xe7b2('0x1'));var jsonpatch=require(_0xe7b2('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xe7b2('0x3'));var Mustache=require(_0xe7b2('0x4'));var util=require(_0xe7b2('0x5'));var path=require(_0xe7b2('0x6'));var sox=require(_0xe7b2('0x7'));var csv=require(_0xe7b2('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xe7b2('0x9'));var _=require('lodash');var squel=require(_0xe7b2('0xa'));var crypto=require(_0xe7b2('0xb'));var jsforce=require(_0xe7b2('0xc'));var deskjs=require(_0xe7b2('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xe7b2('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xe7b2('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0xe7b2('0x10'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xe7b2('0x11'))['db'];function respondWithStatusCode(_0x3ee678,_0x39edd1){_0x39edd1=_0x39edd1||0xcc;return function(_0x21758d){if(_0x21758d){return _0x3ee678[_0xe7b2('0x12')](_0x39edd1);}return _0x3ee678[_0xe7b2('0x13')](_0x39edd1)[_0xe7b2('0x14')]();};}function respondWithResult(_0x3da868,_0x2507ee){_0x2507ee=_0x2507ee||0xc8;return function(_0xe22909){if(_0xe22909){return _0x3da868[_0xe7b2('0x13')](_0x2507ee)[_0xe7b2('0x15')](_0xe22909);}};}function respondWithFilteredResult(_0x44d5d6,_0x52d0eb){return function(_0x3f2f1a){if(_0x3f2f1a){var _0x3e60eb=typeof _0x52d0eb['offset']===_0xe7b2('0x16')&&typeof _0x52d0eb['limit']==='undefined';var _0x2073c0=_0x3f2f1a[_0xe7b2('0x17')];var _0x4c2648=_0x3e60eb?0x0:_0x52d0eb[_0xe7b2('0x18')];var _0x1d3a0c=_0x3e60eb?_0x3f2f1a[_0xe7b2('0x17')]:_0x52d0eb[_0xe7b2('0x18')]+_0x52d0eb[_0xe7b2('0x19')];var _0x1130ae;if(_0x1d3a0c>=_0x2073c0){_0x1d3a0c=_0x2073c0;_0x1130ae=0xc8;}else{_0x1130ae=0xce;}_0x44d5d6['status'](_0x1130ae);return _0x44d5d6['set'](_0xe7b2('0x1a'),_0x4c2648+'-'+_0x1d3a0c+'/'+_0x2073c0)[_0xe7b2('0x15')](_0x3f2f1a);}return null;};}function patchUpdates(_0x20514e){return function(_0x36fe06){try{jsonpatch[_0xe7b2('0x1b')](_0x36fe06,_0x20514e,!![]);}catch(_0x402411){return BPromise[_0xe7b2('0x1c')](_0x402411);}return _0x36fe06[_0xe7b2('0x1d')]();};}function saveUpdates(_0x3be698,_0x1818db){return function(_0x53f3b9){if(_0x53f3b9){return _0x53f3b9['update'](_0x3be698)[_0xe7b2('0x1e')](function(_0x4fa0e4){return _0x4fa0e4;});}return null;};}function removeEntity(_0x357763,_0x3dea39){return function(_0x1a5d2d){if(_0x1a5d2d){return _0x1a5d2d[_0xe7b2('0x1f')]()['then'](function(){_0x357763['status'](0xcc)[_0xe7b2('0x14')]();});}};}function handleEntityNotFound(_0x4a4aa2,_0x53764e){return function(_0xb5bc1e){if(!_0xb5bc1e){_0x4a4aa2[_0xe7b2('0x12')](0x194);}return _0xb5bc1e;};}function handleError(_0x135b49,_0x39430){_0x39430=_0x39430||0x1f4;return function(_0x1717fb){logger[_0xe7b2('0x20')](_0x1717fb[_0xe7b2('0x21')]);if(_0x1717fb['name']){delete _0x1717fb['name'];}_0x135b49[_0xe7b2('0x13')](_0x39430)[_0xe7b2('0x22')](_0x1717fb);};}exports[_0xe7b2('0x23')]=function(_0x58c91a,_0x373422){var _0x216881={},_0xe5f145={},_0x54c60e={'count':0x0,'rows':[]};var _0x42cb9e=_['map'](db[_0xe7b2('0x24')]['rawAttributes'],function(_0x101e0a){return{'name':_0x101e0a[_0xe7b2('0x25')],'type':_0x101e0a[_0xe7b2('0x26')][_0xe7b2('0x27')]};});_0xe5f145[_0xe7b2('0x28')]=_[_0xe7b2('0x29')](_0x42cb9e,'name');_0xe5f145[_0xe7b2('0x2a')]=_[_0xe7b2('0x2b')](_0x58c91a[_0xe7b2('0x2a')]);_0xe5f145[_0xe7b2('0x2c')]=_[_0xe7b2('0x2d')](_0xe5f145[_0xe7b2('0x28')],_0xe5f145['query']);_0x216881[_0xe7b2('0x2e')]=_[_0xe7b2('0x2d')](_0xe5f145[_0xe7b2('0x28')],qs[_0xe7b2('0x2f')](_0x58c91a[_0xe7b2('0x2a')][_0xe7b2('0x2f')]));_0x216881[_0xe7b2('0x2e')]=_0x216881[_0xe7b2('0x2e')][_0xe7b2('0x30')]?_0x216881[_0xe7b2('0x2e')]:_0xe5f145[_0xe7b2('0x28')];if(!_0x58c91a[_0xe7b2('0x2a')][_0xe7b2('0x31')](_0xe7b2('0x32'))){_0x216881['limit']=qs[_0xe7b2('0x19')](_0x58c91a[_0xe7b2('0x2a')]['limit']);_0x216881[_0xe7b2('0x18')]=qs[_0xe7b2('0x18')](_0x58c91a[_0xe7b2('0x2a')]['offset']);}_0x216881[_0xe7b2('0x33')]=qs[_0xe7b2('0x34')](_0x58c91a['query'][_0xe7b2('0x34')]);_0x216881[_0xe7b2('0x35')]=qs[_0xe7b2('0x2c')](_[_0xe7b2('0x36')](_0x58c91a[_0xe7b2('0x2a')],_0xe5f145[_0xe7b2('0x2c')]),_0x42cb9e);if(_0x58c91a[_0xe7b2('0x2a')][_0xe7b2('0x37')]){_0x216881[_0xe7b2('0x35')]=_['merge'](_0x216881[_0xe7b2('0x35')],{'$or':_[_0xe7b2('0x29')](_0x42cb9e,function(_0x235cec){if(_0x235cec[_0xe7b2('0x26')]!==_0xe7b2('0x38')){var _0x5d8bf1={};_0x5d8bf1[_0x235cec['name']]={'$like':'%'+_0x58c91a['query'][_0xe7b2('0x37')]+'%'};return _0x5d8bf1;}})});}_0x216881=_[_0xe7b2('0x39')]({},_0x216881,_0x58c91a[_0xe7b2('0x3a')]);var _0x2b33ef={'where':_0x216881[_0xe7b2('0x35')]};return db[_0xe7b2('0x24')][_0xe7b2('0x17')](_0x2b33ef)['then'](function(_0x588f35){_0x54c60e[_0xe7b2('0x17')]=_0x588f35;if(_0x58c91a[_0xe7b2('0x2a')]['includeAll']){_0x216881[_0xe7b2('0x3b')]=[{'all':!![]}];}return db[_0xe7b2('0x24')][_0xe7b2('0x3c')](_0x216881);})[_0xe7b2('0x1e')](function(_0x43e719){_0x54c60e[_0xe7b2('0x3d')]=_0x43e719;return _0x54c60e;})[_0xe7b2('0x1e')](respondWithFilteredResult(_0x373422,_0x216881))[_0xe7b2('0x3e')](handleError(_0x373422,null));};exports[_0xe7b2('0x3f')]=function(_0x50f244,_0xf7b918){var _0x552148={'raw':!![],'where':{'id':_0x50f244[_0xe7b2('0x40')]['id']}},_0x22165a={};_0x22165a[_0xe7b2('0x28')]=_['keys'](db[_0xe7b2('0x24')]['rawAttributes']);_0x22165a[_0xe7b2('0x2a')]=_['keys'](_0x50f244[_0xe7b2('0x2a')]);_0x22165a[_0xe7b2('0x2c')]=_[_0xe7b2('0x2d')](_0x22165a[_0xe7b2('0x28')],_0x22165a['query']);_0x552148[_0xe7b2('0x2e')]=_[_0xe7b2('0x2d')](_0x22165a[_0xe7b2('0x28')],qs[_0xe7b2('0x2f')](_0x50f244[_0xe7b2('0x2a')]['fields']));_0x552148[_0xe7b2('0x2e')]=_0x552148[_0xe7b2('0x2e')]['length']?_0x552148[_0xe7b2('0x2e')]:_0x22165a['model'];if(_0x50f244['query'][_0xe7b2('0x41')]){_0x552148[_0xe7b2('0x3b')]=[{'all':!![]}];}_0x552148=_[_0xe7b2('0x39')]({},_0x552148,_0x50f244['options']);return db[_0xe7b2('0x24')][_0xe7b2('0x42')](_0x552148)[_0xe7b2('0x1e')](handleEntityNotFound(_0xf7b918,null))[_0xe7b2('0x1e')](respondWithResult(_0xf7b918,null))[_0xe7b2('0x3e')](handleError(_0xf7b918,null));};exports[_0xe7b2('0x43')]=function(_0x326a00,_0x485fd6){return db['VoiceDialReport'][_0xe7b2('0x43')](_0x326a00[_0xe7b2('0x44')],{})['then'](respondWithResult(_0x485fd6,0xc9))[_0xe7b2('0x3e')](handleError(_0x485fd6,null));};exports[_0xe7b2('0x45')]=function(_0xaf4d4b,_0xdfce5c){if(_0xaf4d4b[_0xe7b2('0x44')]['id']){delete _0xaf4d4b[_0xe7b2('0x44')]['id'];}return db[_0xe7b2('0x24')]['find']({'where':{'id':_0xaf4d4b['params']['id']}})['then'](handleEntityNotFound(_0xdfce5c,null))[_0xe7b2('0x1e')](saveUpdates(_0xaf4d4b[_0xe7b2('0x44')],null))[_0xe7b2('0x1e')](respondWithResult(_0xdfce5c,null))['catch'](handleError(_0xdfce5c,null));};exports[_0xe7b2('0x1f')]=function(_0x41a749,_0x22b573){return db[_0xe7b2('0x24')][_0xe7b2('0x42')]({'where':{'id':_0x41a749[_0xe7b2('0x40')]['id']}})['then'](handleEntityNotFound(_0x22b573,null))[_0xe7b2('0x1e')](removeEntity(_0x22b573,null))['catch'](handleError(_0x22b573,null));};exports[_0xe7b2('0x46')]=function(_0x56495b,_0x1114de){return db['VoiceDialReport']['describe']()[_0xe7b2('0x1e')](respondWithResult(_0x1114de,null))['catch'](handleError(_0x1114de,null));};