e2843b26d52cd82a301c1883172675cf08aecbef
[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 _0x111d=['json','count','offset','limit','set','Content-Range','apply','save','update','then','destroy','end','error','stack','name','index','map','rawAttributes','type','model','keys','query','attributes','fields','hasOwnProperty','order','sort','where','filters','pick','filter','merge','VIRTUAL','VoiceDialReport','include','findAll','rows','catch','params','intersection','length','includeAll','create','body','find','html-pdf','rimraf','zip-dir','fast-json-patch','bluebird','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status'];(function(_0xa084e5,_0x587617){var _0x71a4c0=function(_0x424c81){while(--_0x424c81){_0xa084e5['push'](_0xa084e5['shift']());}};_0x71a4c0(++_0x587617);}(_0x111d,0xb7));var _0xd111=function(_0x28947d,_0x4cc9c6){_0x28947d=_0x28947d-0x0;var _0x12d2ee=_0x111d[_0x28947d];return _0x12d2ee;};'use strict';var pdf=require(_0xd111('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xd111('0x1'));var zipdir=require(_0xd111('0x2'));var jsonpatch=require(_0xd111('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xd111('0x4'));var Mustache=require('mustache');var util=require(_0xd111('0x5'));var path=require(_0xd111('0x6'));var sox=require(_0xd111('0x7'));var csv=require(_0xd111('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xd111('0x9'));var squel=require(_0xd111('0xa'));var crypto=require(_0xd111('0xb'));var jsforce=require(_0xd111('0xc'));var deskjs=require(_0xd111('0xd'));var toCsv=require(_0xd111('0x8'));var querystring=require(_0xd111('0xe'));var Papa=require('papaparse');var Redis=require(_0xd111('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xd111('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd111('0x11'));var logger=require('../../config/logger')(_0xd111('0x12'));var utils=require('../../config/utils');var config=require(_0xd111('0x13'));var licenseUtil=require(_0xd111('0x14'));var db=require(_0xd111('0x15'))['db'];function respondWithStatusCode(_0x44053e,_0x4ac407){_0x4ac407=_0x4ac407||0xcc;return function(_0x373ee6){if(_0x373ee6){return _0x44053e[_0xd111('0x16')](_0x4ac407);}return _0x44053e[_0xd111('0x17')](_0x4ac407)['end']();};}function respondWithResult(_0x23ec15,_0x28dfbe){_0x28dfbe=_0x28dfbe||0xc8;return function(_0x3dd0b8){if(_0x3dd0b8){return _0x23ec15[_0xd111('0x17')](_0x28dfbe)[_0xd111('0x18')](_0x3dd0b8);}};}function respondWithFilteredResult(_0x143ea8,_0x5b2ef0){return function(_0x192967){if(_0x192967){var _0x4fdc99=_0x192967[_0xd111('0x19')],_0x463d9e=_0x5b2ef0[_0xd111('0x1a')],_0x15c685=_0x5b2ef0[_0xd111('0x1a')]+_0x5b2ef0[_0xd111('0x1b')],_0x41ecaf;if(_0x15c685>=_0x4fdc99){_0x15c685=_0x4fdc99;_0x41ecaf=0xc8;}else{_0x41ecaf=0xce;}_0x143ea8[_0xd111('0x17')](_0x41ecaf);return _0x143ea8[_0xd111('0x1c')](_0xd111('0x1d'),_0x463d9e+'-'+_0x15c685+'/'+_0x4fdc99)[_0xd111('0x18')](_0x192967);}return null;};}function patchUpdates(_0x286b96){return function(_0x5db5bb){try{jsonpatch[_0xd111('0x1e')](_0x5db5bb,_0x286b96,!![]);}catch(_0x45b132){return BPromise['reject'](_0x45b132);}return _0x5db5bb[_0xd111('0x1f')]();};}function saveUpdates(_0x55c431,_0x5c62af){return function(_0x36e6e0){if(_0x36e6e0){return _0x36e6e0[_0xd111('0x20')](_0x55c431)[_0xd111('0x21')](function(_0x22af85){return _0x22af85;});}return null;};}function removeEntity(_0xfc31cf,_0x321e2d){return function(_0x261f37){if(_0x261f37){return _0x261f37[_0xd111('0x22')]()['then'](function(){_0xfc31cf[_0xd111('0x17')](0xcc)[_0xd111('0x23')]();});}};}function handleEntityNotFound(_0x5c0b41,_0x68c10b){return function(_0x13eb78){if(!_0x13eb78){_0x5c0b41['sendStatus'](0x194);}return _0x13eb78;};}function handleError(_0x4ae8f9,_0x2386ff){_0x2386ff=_0x2386ff||0x1f4;return function(_0x4fda78){logger[_0xd111('0x24')](_0x4fda78[_0xd111('0x25')]);if(_0x4fda78[_0xd111('0x26')]){delete _0x4fda78[_0xd111('0x26')];}_0x4ae8f9[_0xd111('0x17')](_0x2386ff)['send'](_0x4fda78);};}exports[_0xd111('0x27')]=function(_0x14619d,_0x2f24ec){var _0x412f00={},_0x3c5884={},_0x385c07={'count':0x0,'rows':[]};var _0x4c8f84=_[_0xd111('0x28')](db['VoiceDialReport'][_0xd111('0x29')],function(_0x5364d0){return{'name':_0x5364d0['fieldName'],'type':_0x5364d0[_0xd111('0x2a')]['key']};});_0x3c5884[_0xd111('0x2b')]=_[_0xd111('0x28')](_0x4c8f84,_0xd111('0x26'));_0x3c5884['query']=_[_0xd111('0x2c')](_0x14619d[_0xd111('0x2d')]);_0x3c5884['filters']=_['intersection'](_0x3c5884[_0xd111('0x2b')],_0x3c5884[_0xd111('0x2d')]);_0x412f00[_0xd111('0x2e')]=_['intersection'](_0x3c5884['model'],qs[_0xd111('0x2f')](_0x14619d[_0xd111('0x2d')]['fields']));_0x412f00[_0xd111('0x2e')]=_0x412f00['attributes']['length']?_0x412f00['attributes']:_0x3c5884[_0xd111('0x2b')];if(!_0x14619d[_0xd111('0x2d')][_0xd111('0x30')]('nolimit')){_0x412f00[_0xd111('0x1b')]=qs['limit'](_0x14619d['query'][_0xd111('0x1b')]);_0x412f00[_0xd111('0x1a')]=qs[_0xd111('0x1a')](_0x14619d[_0xd111('0x2d')]['offset']);}_0x412f00[_0xd111('0x31')]=qs['sort'](_0x14619d[_0xd111('0x2d')][_0xd111('0x32')]);_0x412f00[_0xd111('0x33')]=qs[_0xd111('0x34')](_[_0xd111('0x35')](_0x14619d['query'],_0x3c5884[_0xd111('0x34')]),_0x4c8f84);if(_0x14619d[_0xd111('0x2d')][_0xd111('0x36')]){_0x412f00['where']=_[_0xd111('0x37')](_0x412f00[_0xd111('0x33')],{'$or':_['map'](_0x4c8f84,function(_0x437609){if(_0x437609['type']!==_0xd111('0x38')){var _0x15b72a={};_0x15b72a[_0x437609[_0xd111('0x26')]]={'$like':'%'+_0x14619d[_0xd111('0x2d')][_0xd111('0x36')]+'%'};return _0x15b72a;}})});}_0x412f00=_[_0xd111('0x37')]({},_0x412f00,_0x14619d['options']);var _0x901805={'where':_0x412f00[_0xd111('0x33')]};return db[_0xd111('0x39')][_0xd111('0x19')](_0x901805)['then'](function(_0x3b19ae){_0x385c07[_0xd111('0x19')]=_0x3b19ae;if(_0x14619d['query']['includeAll']){_0x412f00[_0xd111('0x3a')]=[{'all':!![]}];}return db['VoiceDialReport'][_0xd111('0x3b')](_0x412f00);})[_0xd111('0x21')](function(_0x709af1){_0x385c07[_0xd111('0x3c')]=_0x709af1;return _0x385c07;})['then'](respondWithFilteredResult(_0x2f24ec,_0x412f00))[_0xd111('0x3d')](handleError(_0x2f24ec,null));};exports['show']=function(_0x120336,_0x2fbef9){var _0x57ab98={'raw':!![],'where':{'id':_0x120336[_0xd111('0x3e')]['id']}},_0xe6cd89={};_0xe6cd89[_0xd111('0x2b')]=_[_0xd111('0x2c')](db['VoiceDialReport'][_0xd111('0x29')]);_0xe6cd89[_0xd111('0x2d')]=_[_0xd111('0x2c')](_0x120336[_0xd111('0x2d')]);_0xe6cd89[_0xd111('0x34')]=_[_0xd111('0x3f')](_0xe6cd89[_0xd111('0x2b')],_0xe6cd89[_0xd111('0x2d')]);_0x57ab98[_0xd111('0x2e')]=_[_0xd111('0x3f')](_0xe6cd89[_0xd111('0x2b')],qs[_0xd111('0x2f')](_0x120336[_0xd111('0x2d')][_0xd111('0x2f')]));_0x57ab98[_0xd111('0x2e')]=_0x57ab98[_0xd111('0x2e')][_0xd111('0x40')]?_0x57ab98['attributes']:_0xe6cd89[_0xd111('0x2b')];if(_0x120336[_0xd111('0x2d')][_0xd111('0x41')]){_0x57ab98[_0xd111('0x3a')]=[{'all':!![]}];}_0x57ab98=_[_0xd111('0x37')]({},_0x57ab98,_0x120336['options']);return db[_0xd111('0x39')]['find'](_0x57ab98)[_0xd111('0x21')](handleEntityNotFound(_0x2fbef9,null))[_0xd111('0x21')](respondWithResult(_0x2fbef9,null))[_0xd111('0x3d')](handleError(_0x2fbef9,null));};exports['create']=function(_0x3f778c,_0x51e2b4){return db[_0xd111('0x39')][_0xd111('0x42')](_0x3f778c['body'],{})[_0xd111('0x21')](respondWithResult(_0x51e2b4,0xc9))[_0xd111('0x3d')](handleError(_0x51e2b4,null));};exports[_0xd111('0x20')]=function(_0x205241,_0x506156){if(_0x205241[_0xd111('0x43')]['id']){delete _0x205241['body']['id'];}return db['VoiceDialReport'][_0xd111('0x44')]({'where':{'id':_0x205241[_0xd111('0x3e')]['id']}})[_0xd111('0x21')](handleEntityNotFound(_0x506156,null))[_0xd111('0x21')](saveUpdates(_0x205241[_0xd111('0x43')],null))[_0xd111('0x21')](respondWithResult(_0x506156,null))[_0xd111('0x3d')](handleError(_0x506156,null));};exports[_0xd111('0x22')]=function(_0x28cb2c,_0x4dbc00){return db[_0xd111('0x39')][_0xd111('0x44')]({'where':{'id':_0x28cb2c[_0xd111('0x3e')]['id']}})[_0xd111('0x21')](handleEntityNotFound(_0x4dbc00,null))[_0xd111('0x21')](removeEntity(_0x4dbc00,null))[_0xd111('0x3d')](handleError(_0x4dbc00,null));};exports['describe']=function(_0x28c1e8,_0x2a54e2){return db[_0xd111('0x39')]['describe']()[_0xd111('0x21')](respondWithResult(_0x2a54e2,null))[_0xd111('0x3d')](handleError(_0x2a54e2,null));};