Built motion from commit f7863d46.|2.5.41
[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 _0x2968=['find','create','body','describe','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','destroy','then','error','stack','name','send','index','VoiceDialReport','type','map','query','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','catch','show','params','rawAttributes','length'];(function(_0x3358ba,_0x24c5fc){var _0x296e73=function(_0x843ff3){while(--_0x843ff3){_0x3358ba['push'](_0x3358ba['shift']());}};_0x296e73(++_0x24c5fc);}(_0x2968,0xeb));var _0x8296=function(_0x181b86,_0x1c8eb7){_0x181b86=_0x181b86-0x0;var _0x5af2fd=_0x2968[_0x181b86];return _0x5af2fd;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8296('0x0'));var zipdir=require(_0x8296('0x1'));var jsonpatch=require(_0x8296('0x2'));var rp=require(_0x8296('0x3'));var moment=require(_0x8296('0x4'));var BPromise=require(_0x8296('0x5'));var Mustache=require(_0x8296('0x6'));var util=require(_0x8296('0x7'));var path=require(_0x8296('0x8'));var sox=require(_0x8296('0x9'));var csv=require(_0x8296('0xa'));var ejs=require(_0x8296('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x8296('0xc'));var crypto=require(_0x8296('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x8296('0xe'));var toCsv=require(_0x8296('0xa'));var querystring=require(_0x8296('0xf'));var Papa=require(_0x8296('0x10'));var Redis=require(_0x8296('0x11'));var authService=require(_0x8296('0x12'));var qs=require(_0x8296('0x13'));var as=require(_0x8296('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x8296('0x15'))(_0x8296('0x16'));var utils=require('../../config/utils');var config=require(_0x8296('0x17'));var licenseUtil=require(_0x8296('0x18'));var db=require(_0x8296('0x19'))['db'];function respondWithStatusCode(_0x31c86c,_0x6fe9b4){_0x6fe9b4=_0x6fe9b4||0xcc;return function(_0x13e64d){if(_0x13e64d){return _0x31c86c[_0x8296('0x1a')](_0x6fe9b4);}return _0x31c86c[_0x8296('0x1b')](_0x6fe9b4)[_0x8296('0x1c')]();};}function respondWithResult(_0x47ea92,_0x4e99d9){_0x4e99d9=_0x4e99d9||0xc8;return function(_0x56f3ce){if(_0x56f3ce){return _0x47ea92[_0x8296('0x1b')](_0x4e99d9)[_0x8296('0x1d')](_0x56f3ce);}};}function respondWithFilteredResult(_0x162d48,_0x51c622){return function(_0x1328d2){if(_0x1328d2){var _0x2d0682=typeof _0x51c622[_0x8296('0x1e')]==='undefined'&&typeof _0x51c622[_0x8296('0x1f')]===_0x8296('0x20');var _0x469655=_0x1328d2[_0x8296('0x21')];var _0x3b0cf9=_0x2d0682?0x0:_0x51c622[_0x8296('0x1e')];var _0x4ff809=_0x2d0682?_0x1328d2['count']:_0x51c622[_0x8296('0x1e')]+_0x51c622['limit'];var _0x53c8aa;if(_0x4ff809>=_0x469655){_0x4ff809=_0x469655;_0x53c8aa=0xc8;}else{_0x53c8aa=0xce;}_0x162d48[_0x8296('0x1b')](_0x53c8aa);return _0x162d48[_0x8296('0x22')](_0x8296('0x23'),_0x3b0cf9+'-'+_0x4ff809+'/'+_0x469655)[_0x8296('0x1d')](_0x1328d2);}return null;};}function patchUpdates(_0x5e1f22){return function(_0x2f046d){try{jsonpatch[_0x8296('0x24')](_0x2f046d,_0x5e1f22,!![]);}catch(_0x3bfca5){return BPromise[_0x8296('0x25')](_0x3bfca5);}return _0x2f046d[_0x8296('0x26')]();};}function saveUpdates(_0x3c3561,_0x4d9ab5){return function(_0x1aae4d){if(_0x1aae4d){return _0x1aae4d[_0x8296('0x27')](_0x3c3561)['then'](function(_0x522fd4){return _0x522fd4;});}return null;};}function removeEntity(_0x2d2bda,_0x459043){return function(_0x1bce99){if(_0x1bce99){return _0x1bce99[_0x8296('0x28')]()[_0x8296('0x29')](function(){_0x2d2bda[_0x8296('0x1b')](0xcc)[_0x8296('0x1c')]();});}};}function handleEntityNotFound(_0xeeb8b,_0x23e9cc){return function(_0x445f6f){if(!_0x445f6f){_0xeeb8b['sendStatus'](0x194);}return _0x445f6f;};}function handleError(_0x47fa7b,_0x5c3120){_0x5c3120=_0x5c3120||0x1f4;return function(_0x2f6c6e){logger[_0x8296('0x2a')](_0x2f6c6e[_0x8296('0x2b')]);if(_0x2f6c6e[_0x8296('0x2c')]){delete _0x2f6c6e['name'];}_0x47fa7b[_0x8296('0x1b')](_0x5c3120)[_0x8296('0x2d')](_0x2f6c6e);};}exports[_0x8296('0x2e')]=function(_0x106255,_0x211ddc){var _0x5088c8={},_0x122079={},_0x33e89c={'count':0x0,'rows':[]};var _0x3523fa=_['map'](db[_0x8296('0x2f')]['rawAttributes'],function(_0x15f88d){return{'name':_0x15f88d['fieldName'],'type':_0x15f88d[_0x8296('0x30')]['key']};});_0x122079['model']=_[_0x8296('0x31')](_0x3523fa,_0x8296('0x2c'));_0x122079['query']=_['keys'](_0x106255[_0x8296('0x32')]);_0x122079[_0x8296('0x33')]=_[_0x8296('0x34')](_0x122079[_0x8296('0x35')],_0x122079[_0x8296('0x32')]);_0x5088c8[_0x8296('0x36')]=_[_0x8296('0x34')](_0x122079[_0x8296('0x35')],qs[_0x8296('0x37')](_0x106255[_0x8296('0x32')][_0x8296('0x37')]));_0x5088c8[_0x8296('0x36')]=_0x5088c8[_0x8296('0x36')]['length']?_0x5088c8['attributes']:_0x122079[_0x8296('0x35')];if(!_0x106255[_0x8296('0x32')][_0x8296('0x38')](_0x8296('0x39'))){_0x5088c8[_0x8296('0x1f')]=qs['limit'](_0x106255[_0x8296('0x32')][_0x8296('0x1f')]);_0x5088c8[_0x8296('0x1e')]=qs[_0x8296('0x1e')](_0x106255[_0x8296('0x32')][_0x8296('0x1e')]);}_0x5088c8['order']=qs[_0x8296('0x3a')](_0x106255[_0x8296('0x32')][_0x8296('0x3a')]);_0x5088c8[_0x8296('0x3b')]=qs[_0x8296('0x33')](_[_0x8296('0x3c')](_0x106255['query'],_0x122079[_0x8296('0x33')]),_0x3523fa);if(_0x106255[_0x8296('0x32')][_0x8296('0x3d')]){_0x5088c8[_0x8296('0x3b')]=_[_0x8296('0x3e')](_0x5088c8[_0x8296('0x3b')],{'$or':_[_0x8296('0x31')](_0x3523fa,function(_0x180cbf){if(_0x180cbf[_0x8296('0x30')]!==_0x8296('0x3f')){var _0x3125cf={};_0x3125cf[_0x180cbf[_0x8296('0x2c')]]={'$like':'%'+_0x106255[_0x8296('0x32')][_0x8296('0x3d')]+'%'};return _0x3125cf;}})});}_0x5088c8=_[_0x8296('0x3e')]({},_0x5088c8,_0x106255[_0x8296('0x40')]);var _0x4678f2={'where':_0x5088c8[_0x8296('0x3b')]};return db[_0x8296('0x2f')][_0x8296('0x21')](_0x4678f2)[_0x8296('0x29')](function(_0xfadc45){_0x33e89c[_0x8296('0x21')]=_0xfadc45;if(_0x106255[_0x8296('0x32')][_0x8296('0x41')]){_0x5088c8[_0x8296('0x42')]=[{'all':!![]}];}return db[_0x8296('0x2f')][_0x8296('0x43')](_0x5088c8);})[_0x8296('0x29')](function(_0x704831){_0x33e89c['rows']=_0x704831;return _0x33e89c;})[_0x8296('0x29')](respondWithFilteredResult(_0x211ddc,_0x5088c8))[_0x8296('0x44')](handleError(_0x211ddc,null));};exports[_0x8296('0x45')]=function(_0x367c25,_0x27aad9){var _0x5854c4={'raw':!![],'where':{'id':_0x367c25[_0x8296('0x46')]['id']}},_0x4326bd={};_0x4326bd[_0x8296('0x35')]=_['keys'](db[_0x8296('0x2f')][_0x8296('0x47')]);_0x4326bd[_0x8296('0x32')]=_['keys'](_0x367c25[_0x8296('0x32')]);_0x4326bd[_0x8296('0x33')]=_[_0x8296('0x34')](_0x4326bd[_0x8296('0x35')],_0x4326bd[_0x8296('0x32')]);_0x5854c4[_0x8296('0x36')]=_[_0x8296('0x34')](_0x4326bd[_0x8296('0x35')],qs['fields'](_0x367c25[_0x8296('0x32')][_0x8296('0x37')]));_0x5854c4[_0x8296('0x36')]=_0x5854c4[_0x8296('0x36')][_0x8296('0x48')]?_0x5854c4[_0x8296('0x36')]:_0x4326bd[_0x8296('0x35')];if(_0x367c25['query'][_0x8296('0x41')]){_0x5854c4[_0x8296('0x42')]=[{'all':!![]}];}_0x5854c4=_['merge']({},_0x5854c4,_0x367c25['options']);return db[_0x8296('0x2f')][_0x8296('0x49')](_0x5854c4)[_0x8296('0x29')](handleEntityNotFound(_0x27aad9,null))['then'](respondWithResult(_0x27aad9,null))[_0x8296('0x44')](handleError(_0x27aad9,null));};exports[_0x8296('0x4a')]=function(_0xa783c9,_0x2c04b1){return db['VoiceDialReport'][_0x8296('0x4a')](_0xa783c9[_0x8296('0x4b')],{})[_0x8296('0x29')](respondWithResult(_0x2c04b1,0xc9))[_0x8296('0x44')](handleError(_0x2c04b1,null));};exports[_0x8296('0x27')]=function(_0x267689,_0x50b16a){if(_0x267689[_0x8296('0x4b')]['id']){delete _0x267689[_0x8296('0x4b')]['id'];}return db[_0x8296('0x2f')]['find']({'where':{'id':_0x267689[_0x8296('0x46')]['id']}})[_0x8296('0x29')](handleEntityNotFound(_0x50b16a,null))[_0x8296('0x29')](saveUpdates(_0x267689[_0x8296('0x4b')],null))['then'](respondWithResult(_0x50b16a,null))[_0x8296('0x44')](handleError(_0x50b16a,null));};exports[_0x8296('0x28')]=function(_0x1849a3,_0x2d5bda){return db[_0x8296('0x2f')][_0x8296('0x49')]({'where':{'id':_0x1849a3[_0x8296('0x46')]['id']}})[_0x8296('0x29')](handleEntityNotFound(_0x2d5bda,null))['then'](removeEntity(_0x2d5bda,null))['catch'](handleError(_0x2d5bda,null));};exports[_0x8296('0x4c')]=function(_0xeb8e05,_0x6a7c99){return db['VoiceDialReport'][_0x8296('0x4c')]()[_0x8296('0x29')](respondWithResult(_0x6a7c99,null))['catch'](handleError(_0x6a7c99,null));};