Built motion from commit e0fa946e.|2.6.5
[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 _0x264c=['VoiceDialReport','rawAttributes','fieldName','key','model','query','filters','intersection','fields','attributes','length','order','sort','where','filter','merge','type','VIRTUAL','options','includeAll','findAll','catch','show','params','keys','include','body','find','describe','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','then','destroy','error','stack','name','index','map'];(function(_0x2f4729,_0x1b665b){var _0xa02b9c=function(_0x3cde32){while(--_0x3cde32){_0x2f4729['push'](_0x2f4729['shift']());}};_0xa02b9c(++_0x1b665b);}(_0x264c,0x18f));var _0xc264=function(_0x15c421,_0x6366f7){_0x15c421=_0x15c421-0x0;var _0x5e5ed5=_0x264c[_0x15c421];return _0x5e5ed5;};'use strict';var emlformat=require(_0xc264('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xc264('0x1'));var jsonpatch=require(_0xc264('0x2'));var rp=require(_0xc264('0x3'));var moment=require(_0xc264('0x4'));var BPromise=require(_0xc264('0x5'));var Mustache=require(_0xc264('0x6'));var util=require(_0xc264('0x7'));var path=require('path');var sox=require(_0xc264('0x8'));var csv=require(_0xc264('0x9'));var ejs=require(_0xc264('0xa'));var fs=require('fs');var fs_extra=require(_0xc264('0xb'));var _=require('lodash');var squel=require(_0xc264('0xc'));var crypto=require(_0xc264('0xd'));var jsforce=require(_0xc264('0xe'));var deskjs=require(_0xc264('0xf'));var toCsv=require(_0xc264('0x9'));var querystring=require(_0xc264('0x10'));var Papa=require(_0xc264('0x11'));var Redis=require('ioredis');var authService=require(_0xc264('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xc264('0x13'));var hardwareService=require(_0xc264('0x14'));var logger=require(_0xc264('0x15'))(_0xc264('0x16'));var utils=require(_0xc264('0x17'));var config=require(_0xc264('0x18'));var licenseUtil=require(_0xc264('0x19'));var db=require(_0xc264('0x1a'))['db'];function respondWithStatusCode(_0x3ec7c4,_0x5dd29e){_0x5dd29e=_0x5dd29e||0xcc;return function(_0x573913){if(_0x573913){return _0x3ec7c4[_0xc264('0x1b')](_0x5dd29e);}return _0x3ec7c4['status'](_0x5dd29e)[_0xc264('0x1c')]();};}function respondWithResult(_0x8e2aa3,_0x2adda6){_0x2adda6=_0x2adda6||0xc8;return function(_0x114386){if(_0x114386){return _0x8e2aa3[_0xc264('0x1d')](_0x2adda6)[_0xc264('0x1e')](_0x114386);}};}function respondWithFilteredResult(_0x216923,_0x225390){return function(_0x564149){if(_0x564149){var _0x1e0446=typeof _0x225390[_0xc264('0x1f')]===_0xc264('0x20')&&typeof _0x225390[_0xc264('0x21')]===_0xc264('0x20');var _0x395066=_0x564149[_0xc264('0x22')];var _0x24199d=_0x1e0446?0x0:_0x225390['offset'];var _0x53bb57=_0x1e0446?_0x564149[_0xc264('0x22')]:_0x225390['offset']+_0x225390['limit'];var _0x5e707d;if(_0x53bb57>=_0x395066){_0x53bb57=_0x395066;_0x5e707d=0xc8;}else{_0x5e707d=0xce;}_0x216923[_0xc264('0x1d')](_0x5e707d);return _0x216923[_0xc264('0x23')](_0xc264('0x24'),_0x24199d+'-'+_0x53bb57+'/'+_0x395066)[_0xc264('0x1e')](_0x564149);}return null;};}function patchUpdates(_0x5da0e2){return function(_0x22a464){try{jsonpatch[_0xc264('0x25')](_0x22a464,_0x5da0e2,!![]);}catch(_0x2ace26){return BPromise['reject'](_0x2ace26);}return _0x22a464['save']();};}function saveUpdates(_0x14af3d,_0x2f9a7a){return function(_0x3b7739){if(_0x3b7739){return _0x3b7739['update'](_0x14af3d)[_0xc264('0x26')](function(_0x484dab){return _0x484dab;});}return null;};}function removeEntity(_0x18f986,_0x3c385e){return function(_0x4a2817){if(_0x4a2817){return _0x4a2817[_0xc264('0x27')]()[_0xc264('0x26')](function(){_0x18f986['status'](0xcc)[_0xc264('0x1c')]();});}};}function handleEntityNotFound(_0x4768b0,_0x588997){return function(_0x318ce5){if(!_0x318ce5){_0x4768b0['sendStatus'](0x194);}return _0x318ce5;};}function handleError(_0x4f7ac4,_0x5aaf1c){_0x5aaf1c=_0x5aaf1c||0x1f4;return function(_0x58432a){logger[_0xc264('0x28')](_0x58432a[_0xc264('0x29')]);if(_0x58432a[_0xc264('0x2a')]){delete _0x58432a[_0xc264('0x2a')];}_0x4f7ac4[_0xc264('0x1d')](_0x5aaf1c)['send'](_0x58432a);};}exports[_0xc264('0x2b')]=function(_0x406552,_0x11807e){var _0x466a0f={},_0x321ac7={},_0x15bb90={'count':0x0,'rows':[]};var _0xb35ec=_[_0xc264('0x2c')](db[_0xc264('0x2d')][_0xc264('0x2e')],function(_0x4d2655){return{'name':_0x4d2655[_0xc264('0x2f')],'type':_0x4d2655['type'][_0xc264('0x30')]};});_0x321ac7[_0xc264('0x31')]=_['map'](_0xb35ec,_0xc264('0x2a'));_0x321ac7[_0xc264('0x32')]=_['keys'](_0x406552[_0xc264('0x32')]);_0x321ac7[_0xc264('0x33')]=_['intersection'](_0x321ac7['model'],_0x321ac7[_0xc264('0x32')]);_0x466a0f['attributes']=_[_0xc264('0x34')](_0x321ac7[_0xc264('0x31')],qs['fields'](_0x406552[_0xc264('0x32')][_0xc264('0x35')]));_0x466a0f[_0xc264('0x36')]=_0x466a0f[_0xc264('0x36')][_0xc264('0x37')]?_0x466a0f[_0xc264('0x36')]:_0x321ac7['model'];if(!_0x406552[_0xc264('0x32')]['hasOwnProperty']('nolimit')){_0x466a0f[_0xc264('0x21')]=qs['limit'](_0x406552[_0xc264('0x32')][_0xc264('0x21')]);_0x466a0f[_0xc264('0x1f')]=qs[_0xc264('0x1f')](_0x406552[_0xc264('0x32')]['offset']);}_0x466a0f[_0xc264('0x38')]=qs[_0xc264('0x39')](_0x406552[_0xc264('0x32')][_0xc264('0x39')]);_0x466a0f[_0xc264('0x3a')]=qs[_0xc264('0x33')](_['pick'](_0x406552[_0xc264('0x32')],_0x321ac7[_0xc264('0x33')]),_0xb35ec);if(_0x406552[_0xc264('0x32')][_0xc264('0x3b')]){_0x466a0f['where']=_[_0xc264('0x3c')](_0x466a0f[_0xc264('0x3a')],{'$or':_[_0xc264('0x2c')](_0xb35ec,function(_0x4b48d8){if(_0x4b48d8[_0xc264('0x3d')]!==_0xc264('0x3e')){var _0x2031a7={};_0x2031a7[_0x4b48d8[_0xc264('0x2a')]]={'$like':'%'+_0x406552[_0xc264('0x32')][_0xc264('0x3b')]+'%'};return _0x2031a7;}})});}_0x466a0f=_[_0xc264('0x3c')]({},_0x466a0f,_0x406552[_0xc264('0x3f')]);var _0x308e9b={'where':_0x466a0f[_0xc264('0x3a')]};return db[_0xc264('0x2d')][_0xc264('0x22')](_0x308e9b)['then'](function(_0x1f298e){_0x15bb90['count']=_0x1f298e;if(_0x406552[_0xc264('0x32')][_0xc264('0x40')]){_0x466a0f['include']=[{'all':!![]}];}return db['VoiceDialReport'][_0xc264('0x41')](_0x466a0f);})[_0xc264('0x26')](function(_0x568d3b){_0x15bb90['rows']=_0x568d3b;return _0x15bb90;})['then'](respondWithFilteredResult(_0x11807e,_0x466a0f))[_0xc264('0x42')](handleError(_0x11807e,null));};exports[_0xc264('0x43')]=function(_0x27551e,_0x284742){var _0xae8e5e={'raw':!![],'where':{'id':_0x27551e[_0xc264('0x44')]['id']}},_0x287ed3={};_0x287ed3[_0xc264('0x31')]=_['keys'](db['VoiceDialReport']['rawAttributes']);_0x287ed3[_0xc264('0x32')]=_[_0xc264('0x45')](_0x27551e[_0xc264('0x32')]);_0x287ed3[_0xc264('0x33')]=_['intersection'](_0x287ed3[_0xc264('0x31')],_0x287ed3[_0xc264('0x32')]);_0xae8e5e['attributes']=_[_0xc264('0x34')](_0x287ed3['model'],qs['fields'](_0x27551e[_0xc264('0x32')][_0xc264('0x35')]));_0xae8e5e[_0xc264('0x36')]=_0xae8e5e['attributes'][_0xc264('0x37')]?_0xae8e5e[_0xc264('0x36')]:_0x287ed3[_0xc264('0x31')];if(_0x27551e[_0xc264('0x32')][_0xc264('0x40')]){_0xae8e5e[_0xc264('0x46')]=[{'all':!![]}];}_0xae8e5e=_[_0xc264('0x3c')]({},_0xae8e5e,_0x27551e[_0xc264('0x3f')]);return db['VoiceDialReport']['find'](_0xae8e5e)[_0xc264('0x26')](handleEntityNotFound(_0x284742,null))['then'](respondWithResult(_0x284742,null))[_0xc264('0x42')](handleError(_0x284742,null));};exports['create']=function(_0x154192,_0x48f973){return db[_0xc264('0x2d')]['create'](_0x154192[_0xc264('0x47')],{})[_0xc264('0x26')](respondWithResult(_0x48f973,0xc9))['catch'](handleError(_0x48f973,null));};exports['update']=function(_0x235515,_0x33cd1b){if(_0x235515[_0xc264('0x47')]['id']){delete _0x235515['body']['id'];}return db['VoiceDialReport'][_0xc264('0x48')]({'where':{'id':_0x235515[_0xc264('0x44')]['id']}})['then'](handleEntityNotFound(_0x33cd1b,null))[_0xc264('0x26')](saveUpdates(_0x235515[_0xc264('0x47')],null))[_0xc264('0x26')](respondWithResult(_0x33cd1b,null))['catch'](handleError(_0x33cd1b,null));};exports[_0xc264('0x27')]=function(_0x43c3f1,_0x1978c3){return db[_0xc264('0x2d')][_0xc264('0x48')]({'where':{'id':_0x43c3f1[_0xc264('0x44')]['id']}})['then'](handleEntityNotFound(_0x1978c3,null))['then'](removeEntity(_0x1978c3,null))[_0xc264('0x42')](handleError(_0x1978c3,null));};exports[_0xc264('0x49')]=function(_0x488194,_0x129099){return db[_0xc264('0x2d')][_0xc264('0x49')]()[_0xc264('0x26')](respondWithResult(_0x129099,null))['catch'](handleError(_0x129099,null));};