c3cff4d6899f0fe4705605bf630f17a1c69b339a
[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 _0x84d6=['json','offset','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','rawAttributes','type','key','query','keys','filters','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','limit','order','pick','where','merge','filter','options','VoiceDialReport','includeAll','include','findAll','rows','catch','show','params','body','find','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','fs-extra','squel','crypto','querystring','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end'];(function(_0x42930,_0x6d1f3a){var _0x177554=function(_0x9f7b9){while(--_0x9f7b9){_0x42930['push'](_0x42930['shift']());}};_0x177554(++_0x6d1f3a);}(_0x84d6,0x1a3));var _0x684d=function(_0x337cbd,_0x1dd3be){_0x337cbd=_0x337cbd-0x0;var _0x1efe17=_0x84d6[_0x337cbd];return _0x1efe17;};'use strict';var emlformat=require(_0x684d('0x0'));var rimraf=require(_0x684d('0x1'));var zipdir=require(_0x684d('0x2'));var jsonpatch=require(_0x684d('0x3'));var rp=require(_0x684d('0x4'));var moment=require('moment');var BPromise=require(_0x684d('0x5'));var Mustache=require(_0x684d('0x6'));var util=require('util');var path=require(_0x684d('0x7'));var sox=require(_0x684d('0x8'));var csv=require(_0x684d('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x684d('0xa'));var _=require('lodash');var squel=require(_0x684d('0xb'));var crypto=require(_0x684d('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x684d('0x9'));var querystring=require(_0x684d('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x684d('0xe'));var qs=require(_0x684d('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x684d('0x10'));var logger=require(_0x684d('0x11'))(_0x684d('0x12'));var utils=require('../../config/utils');var config=require(_0x684d('0x13'));var licenseUtil=require(_0x684d('0x14'));var db=require(_0x684d('0x15'))['db'];function respondWithStatusCode(_0x446cc7,_0x4f25a6){_0x4f25a6=_0x4f25a6||0xcc;return function(_0x2b9cf9){if(_0x2b9cf9){return _0x446cc7[_0x684d('0x16')](_0x4f25a6);}return _0x446cc7[_0x684d('0x17')](_0x4f25a6)[_0x684d('0x18')]();};}function respondWithResult(_0x24c94c,_0x592c12){_0x592c12=_0x592c12||0xc8;return function(_0x1bbd7d){if(_0x1bbd7d){return _0x24c94c[_0x684d('0x17')](_0x592c12)[_0x684d('0x19')](_0x1bbd7d);}};}function respondWithFilteredResult(_0xd59ab5,_0xa49cea){return function(_0x217ae0){if(_0x217ae0){var _0x59c4c7=typeof _0xa49cea[_0x684d('0x1a')]===_0x684d('0x1b')&&typeof _0xa49cea['limit']==='undefined';var _0x3b218d=_0x217ae0[_0x684d('0x1c')];var _0x30a2a1=_0x59c4c7?0x0:_0xa49cea['offset'];var _0x3cdd00=_0x59c4c7?_0x217ae0[_0x684d('0x1c')]:_0xa49cea[_0x684d('0x1a')]+_0xa49cea['limit'];var _0x24d2ef;if(_0x3cdd00>=_0x3b218d){_0x3cdd00=_0x3b218d;_0x24d2ef=0xc8;}else{_0x24d2ef=0xce;}_0xd59ab5[_0x684d('0x17')](_0x24d2ef);return _0xd59ab5[_0x684d('0x1d')](_0x684d('0x1e'),_0x30a2a1+'-'+_0x3cdd00+'/'+_0x3b218d)[_0x684d('0x19')](_0x217ae0);}return null;};}function patchUpdates(_0x4d7cd4){return function(_0x492c5d){try{jsonpatch[_0x684d('0x1f')](_0x492c5d,_0x4d7cd4,!![]);}catch(_0x477ba7){return BPromise[_0x684d('0x20')](_0x477ba7);}return _0x492c5d[_0x684d('0x21')]();};}function saveUpdates(_0x3dc50b,_0x3c2447){return function(_0x5dd67a){if(_0x5dd67a){return _0x5dd67a[_0x684d('0x22')](_0x3dc50b)[_0x684d('0x23')](function(_0x53c122){return _0x53c122;});}return null;};}function removeEntity(_0x51481b,_0x53076d){return function(_0x2cb7ef){if(_0x2cb7ef){return _0x2cb7ef[_0x684d('0x24')]()['then'](function(){_0x51481b['status'](0xcc)[_0x684d('0x18')]();});}};}function handleEntityNotFound(_0x13f68c,_0x28e210){return function(_0x224b79){if(!_0x224b79){_0x13f68c[_0x684d('0x16')](0x194);}return _0x224b79;};}function handleError(_0x54909f,_0xe38506){_0xe38506=_0xe38506||0x1f4;return function(_0x4be588){logger[_0x684d('0x25')](_0x4be588[_0x684d('0x26')]);if(_0x4be588['name']){delete _0x4be588[_0x684d('0x27')];}_0x54909f[_0x684d('0x17')](_0xe38506)[_0x684d('0x28')](_0x4be588);};}exports[_0x684d('0x29')]=function(_0x207ae7,_0x251e16){var _0x1bd835={},_0x21d678={},_0x476fb5={'count':0x0,'rows':[]};var _0x3c8722=_[_0x684d('0x2a')](db['VoiceDialReport'][_0x684d('0x2b')],function(_0x4cbc73){return{'name':_0x4cbc73['fieldName'],'type':_0x4cbc73[_0x684d('0x2c')][_0x684d('0x2d')]};});_0x21d678['model']=_[_0x684d('0x2a')](_0x3c8722,_0x684d('0x27'));_0x21d678[_0x684d('0x2e')]=_[_0x684d('0x2f')](_0x207ae7[_0x684d('0x2e')]);_0x21d678[_0x684d('0x30')]=_[_0x684d('0x31')](_0x21d678['model'],_0x21d678[_0x684d('0x2e')]);_0x1bd835[_0x684d('0x32')]=_[_0x684d('0x31')](_0x21d678[_0x684d('0x33')],qs[_0x684d('0x34')](_0x207ae7['query'][_0x684d('0x34')]));_0x1bd835[_0x684d('0x32')]=_0x1bd835[_0x684d('0x32')][_0x684d('0x35')]?_0x1bd835[_0x684d('0x32')]:_0x21d678['model'];if(!_0x207ae7[_0x684d('0x2e')][_0x684d('0x36')](_0x684d('0x37'))){_0x1bd835[_0x684d('0x38')]=qs['limit'](_0x207ae7[_0x684d('0x2e')][_0x684d('0x38')]);_0x1bd835[_0x684d('0x1a')]=qs[_0x684d('0x1a')](_0x207ae7['query'][_0x684d('0x1a')]);}_0x1bd835[_0x684d('0x39')]=qs['sort'](_0x207ae7[_0x684d('0x2e')]['sort']);_0x1bd835['where']=qs[_0x684d('0x30')](_[_0x684d('0x3a')](_0x207ae7[_0x684d('0x2e')],_0x21d678[_0x684d('0x30')]),_0x3c8722);if(_0x207ae7[_0x684d('0x2e')]['filter']){_0x1bd835[_0x684d('0x3b')]=_[_0x684d('0x3c')](_0x1bd835['where'],{'$or':_[_0x684d('0x2a')](_0x3c8722,function(_0x252584){if(_0x252584[_0x684d('0x2c')]!=='VIRTUAL'){var _0x1ef2dc={};_0x1ef2dc[_0x252584[_0x684d('0x27')]]={'$like':'%'+_0x207ae7[_0x684d('0x2e')][_0x684d('0x3d')]+'%'};return _0x1ef2dc;}})});}_0x1bd835=_['merge']({},_0x1bd835,_0x207ae7[_0x684d('0x3e')]);var _0x49fbfa={'where':_0x1bd835[_0x684d('0x3b')]};return db[_0x684d('0x3f')][_0x684d('0x1c')](_0x49fbfa)[_0x684d('0x23')](function(_0x31cc07){_0x476fb5[_0x684d('0x1c')]=_0x31cc07;if(_0x207ae7['query'][_0x684d('0x40')]){_0x1bd835[_0x684d('0x41')]=[{'all':!![]}];}return db[_0x684d('0x3f')][_0x684d('0x42')](_0x1bd835);})['then'](function(_0x5d0b99){_0x476fb5[_0x684d('0x43')]=_0x5d0b99;return _0x476fb5;})[_0x684d('0x23')](respondWithFilteredResult(_0x251e16,_0x1bd835))[_0x684d('0x44')](handleError(_0x251e16,null));};exports[_0x684d('0x45')]=function(_0x433b8c,_0x4a0078){var _0x3dbc67={'raw':!![],'where':{'id':_0x433b8c[_0x684d('0x46')]['id']}},_0x17efd4={};_0x17efd4[_0x684d('0x33')]=_[_0x684d('0x2f')](db[_0x684d('0x3f')][_0x684d('0x2b')]);_0x17efd4[_0x684d('0x2e')]=_['keys'](_0x433b8c[_0x684d('0x2e')]);_0x17efd4['filters']=_[_0x684d('0x31')](_0x17efd4[_0x684d('0x33')],_0x17efd4[_0x684d('0x2e')]);_0x3dbc67['attributes']=_[_0x684d('0x31')](_0x17efd4[_0x684d('0x33')],qs[_0x684d('0x34')](_0x433b8c[_0x684d('0x2e')]['fields']));_0x3dbc67['attributes']=_0x3dbc67[_0x684d('0x32')]['length']?_0x3dbc67['attributes']:_0x17efd4[_0x684d('0x33')];if(_0x433b8c[_0x684d('0x2e')][_0x684d('0x40')]){_0x3dbc67['include']=[{'all':!![]}];}_0x3dbc67=_[_0x684d('0x3c')]({},_0x3dbc67,_0x433b8c[_0x684d('0x3e')]);return db['VoiceDialReport']['find'](_0x3dbc67)[_0x684d('0x23')](handleEntityNotFound(_0x4a0078,null))[_0x684d('0x23')](respondWithResult(_0x4a0078,null))[_0x684d('0x44')](handleError(_0x4a0078,null));};exports['create']=function(_0x50317c,_0x523074){return db[_0x684d('0x3f')]['create'](_0x50317c[_0x684d('0x47')],{})[_0x684d('0x23')](respondWithResult(_0x523074,0xc9))[_0x684d('0x44')](handleError(_0x523074,null));};exports[_0x684d('0x22')]=function(_0x374250,_0x2d38d8){if(_0x374250[_0x684d('0x47')]['id']){delete _0x374250[_0x684d('0x47')]['id'];}return db[_0x684d('0x3f')][_0x684d('0x48')]({'where':{'id':_0x374250[_0x684d('0x46')]['id']}})[_0x684d('0x23')](handleEntityNotFound(_0x2d38d8,null))[_0x684d('0x23')](saveUpdates(_0x374250[_0x684d('0x47')],null))['then'](respondWithResult(_0x2d38d8,null))[_0x684d('0x44')](handleError(_0x2d38d8,null));};exports[_0x684d('0x24')]=function(_0x53c941,_0x117ed6){return db[_0x684d('0x3f')][_0x684d('0x48')]({'where':{'id':_0x53c941[_0x684d('0x46')]['id']}})[_0x684d('0x23')](handleEntityNotFound(_0x117ed6,null))[_0x684d('0x23')](removeEntity(_0x117ed6,null))[_0x684d('0x44')](handleError(_0x117ed6,null));};exports[_0x684d('0x49')]=function(_0x5e4d52,_0x2bed9c){return db[_0x684d('0x3f')]['describe']()[_0x684d('0x23')](respondWithResult(_0x2bed9c,null))[_0x684d('0x44')](handleError(_0x2bed9c,null));};