Built motion from commit 85328c08.|2.5.50
[motion2.git] / server / api / dashboardItem / dashboardItem.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 _0x975b=['then','destroy','sendStatus','error','stack','name','send','show','params','model','keys','rawAttributes','query','intersection','attributes','fields','length','includeAll','include','merge','options','DashboardItem','find','catch','type','attrUrl','attrs','value','https://','custom','attrPath','clock','attrHourFormat','HH:mm:ss','attrFontSize','counter','attrVoiceQueues','attrChannel','voice','attrEmailAccounts','attrFaxAccounts','attrSmsAccounts','attrWhatsappAccounts','attrChatWebsites','multibar-chart','pie-chart','attrSerie1','attrSerie2','attrSerie3','attrOpenchannelAccounts','web-report','attrReport','attrRefresh','widgetAttributes:\x20%s','stringify','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./dashboardItem.socket','status','end','json','offset','undefined','count','limit','Content-Range','apply','reject','save','update'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x975b,0x1c9));var _0xb975=function(_0x5834c2,_0x3716f1){_0x5834c2=_0x5834c2-0x0;var _0x1d64ad=_0x975b[_0x5834c2];return _0x1d64ad;};'use strict';var emlformat=require(_0xb975('0x0'));var rimraf=require(_0xb975('0x1'));var zipdir=require(_0xb975('0x2'));var jsonpatch=require(_0xb975('0x3'));var rp=require(_0xb975('0x4'));var moment=require(_0xb975('0x5'));var BPromise=require(_0xb975('0x6'));var Mustache=require('mustache');var util=require(_0xb975('0x7'));var path=require(_0xb975('0x8'));var sox=require(_0xb975('0x9'));var csv=require(_0xb975('0xa'));var ejs=require(_0xb975('0xb'));var fs=require('fs');var fs_extra=require(_0xb975('0xc'));var _=require(_0xb975('0xd'));var squel=require('squel');var crypto=require(_0xb975('0xe'));var jsforce=require(_0xb975('0xf'));var deskjs=require(_0xb975('0x10'));var toCsv=require('to-csv');var querystring=require(_0xb975('0x11'));var Papa=require(_0xb975('0x12'));var Redis=require(_0xb975('0x13'));var authService=require('../../components/auth/service');var qs=require(_0xb975('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb975('0x15'));var logger=require('../../config/logger')(_0xb975('0x16'));var utils=require('../../config/utils');var config=require(_0xb975('0x17'));var licenseUtil=require(_0xb975('0x18'));var db=require(_0xb975('0x19'))['db'];config[_0xb975('0x1a')]=_[_0xb975('0x1b')](config['redis'],{'host':_0xb975('0x1c'),'port':0x18eb});var socket=require(_0xb975('0x1d'))(new Redis(config[_0xb975('0x1a')]));require(_0xb975('0x1e'))['register'](socket);function respondWithStatusCode(_0x470ead,_0x3bc289){_0x3bc289=_0x3bc289||0xcc;return function(_0x394b6d){if(_0x394b6d){return _0x470ead['sendStatus'](_0x3bc289);}return _0x470ead[_0xb975('0x1f')](_0x3bc289)[_0xb975('0x20')]();};}function respondWithResult(_0x36d959,_0x5dc59d){_0x5dc59d=_0x5dc59d||0xc8;return function(_0x15c8b2){if(_0x15c8b2){return _0x36d959['status'](_0x5dc59d)[_0xb975('0x21')](_0x15c8b2);}};}function respondWithFilteredResult(_0x34e062,_0xaa1ba3){return function(_0x347a04){if(_0x347a04){var _0x2c5d5f=typeof _0xaa1ba3[_0xb975('0x22')]===_0xb975('0x23')&&typeof _0xaa1ba3['limit']==='undefined';var _0x2abb84=_0x347a04[_0xb975('0x24')];var _0x2e34a6=_0x2c5d5f?0x0:_0xaa1ba3[_0xb975('0x22')];var _0x504057=_0x2c5d5f?_0x347a04[_0xb975('0x24')]:_0xaa1ba3['offset']+_0xaa1ba3[_0xb975('0x25')];var _0x3f0876;if(_0x504057>=_0x2abb84){_0x504057=_0x2abb84;_0x3f0876=0xc8;}else{_0x3f0876=0xce;}_0x34e062[_0xb975('0x1f')](_0x3f0876);return _0x34e062['set'](_0xb975('0x26'),_0x2e34a6+'-'+_0x504057+'/'+_0x2abb84)['json'](_0x347a04);}return null;};}function patchUpdates(_0x5d1312){return function(_0x25e027){try{jsonpatch[_0xb975('0x27')](_0x25e027,_0x5d1312,!![]);}catch(_0x226f21){return BPromise[_0xb975('0x28')](_0x226f21);}return _0x25e027[_0xb975('0x29')]();};}function saveUpdates(_0x5620fc,_0xad0c02){return function(_0x4db831){if(_0x4db831){return _0x4db831[_0xb975('0x2a')](_0x5620fc)[_0xb975('0x2b')](function(_0xc0d861){return _0xc0d861;});}return null;};}function removeEntity(_0x263f73,_0x5309c6){return function(_0x13c091){if(_0x13c091){return _0x13c091[_0xb975('0x2c')]()[_0xb975('0x2b')](function(){_0x263f73[_0xb975('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x323600,_0x388f4d){return function(_0x67fcc5){if(!_0x67fcc5){_0x323600[_0xb975('0x2d')](0x194);}return _0x67fcc5;};}function handleError(_0x7b12da,_0x165e2d){_0x165e2d=_0x165e2d||0x1f4;return function(_0x442bc6){logger[_0xb975('0x2e')](_0x442bc6[_0xb975('0x2f')]);if(_0x442bc6['name']){delete _0x442bc6[_0xb975('0x30')];}_0x7b12da[_0xb975('0x1f')](_0x165e2d)[_0xb975('0x31')](_0x442bc6);};}exports[_0xb975('0x32')]=function(_0x1fa1c3,_0x3bd5cb){var _0x2de7e5={'raw':![],'where':{'id':_0x1fa1c3[_0xb975('0x33')]['id']}},_0xa8ee8c={};_0xa8ee8c[_0xb975('0x34')]=_[_0xb975('0x35')](db['DashboardItem'][_0xb975('0x36')]);_0xa8ee8c['query']=_['keys'](_0x1fa1c3[_0xb975('0x37')]);_0xa8ee8c['filters']=_[_0xb975('0x38')](_0xa8ee8c[_0xb975('0x34')],_0xa8ee8c['query']);_0x2de7e5[_0xb975('0x39')]=_['intersection'](_0xa8ee8c[_0xb975('0x34')],qs[_0xb975('0x3a')](_0x1fa1c3[_0xb975('0x37')][_0xb975('0x3a')]));_0x2de7e5[_0xb975('0x39')]=_0x2de7e5['attributes'][_0xb975('0x3b')]?_0x2de7e5['attributes']:_0xa8ee8c['model'];if(_0x1fa1c3[_0xb975('0x37')][_0xb975('0x3c')]){_0x2de7e5[_0xb975('0x3d')]=[{'all':!![]}];}_0x2de7e5=_[_0xb975('0x3e')]({},_0x2de7e5,_0x1fa1c3[_0xb975('0x3f')]);return db[_0xb975('0x40')][_0xb975('0x41')](_0x2de7e5)[_0xb975('0x2b')](handleEntityNotFound(_0x3bd5cb,null))['then'](respondWithResult(_0x3bd5cb,null))[_0xb975('0x42')](handleError(_0x3bd5cb,null));};exports[_0xb975('0x2c')]=function(_0x5c6fe2,_0x271798){return db[_0xb975('0x40')][_0xb975('0x41')]({'where':{'id':_0x5c6fe2[_0xb975('0x33')]['id']}})[_0xb975('0x2b')](handleEntityNotFound(_0x271798,null))[_0xb975('0x2b')](removeEntity(_0x271798,null))[_0xb975('0x42')](handleError(_0x271798,null));};function widgetAttributes(_0x4d9864){try{switch(_0x4d9864[_0xb975('0x43')]){case'iframe':return[{'name':_0xb975('0x44'),'value':_0x4d9864[_0xb975('0x44')]||(_0x4d9864['attrs']&&_0x4d9864[_0xb975('0x45')][0x0]?_0x4d9864['attrs'][0x0][_0xb975('0x46')]:undefined)||_0xb975('0x47')}];case _0xb975('0x48'):return[{'name':_0xb975('0x49'),'value':_0x4d9864[_0xb975('0x49')]||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864[_0xb975('0x45')][0x0]?_0x4d9864[_0xb975('0x45')][0x0]['value']:undefined)||''}];case _0xb975('0x4a'):return[{'name':_0xb975('0x4b'),'value':_0x4d9864[_0xb975('0x4b')]||(_0x4d9864['attrs']&&_0x4d9864['attrs'][0x0]?_0x4d9864[_0xb975('0x45')][0x0][_0xb975('0x46')]:undefined)||_0xb975('0x4c')},{'name':'attrTimezone','value':_0x4d9864['attrTimezone']||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864[_0xb975('0x45')][0x1]?_0x4d9864[_0xb975('0x45')][0x1][_0xb975('0x46')]:undefined)||'0.00'},{'name':_0xb975('0x4d'),'value':_0x4d9864[_0xb975('0x4d')]||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864[_0xb975('0x45')][0x2]?_0x4d9864['attrs'][0x2][_0xb975('0x46')]:undefined)||0xc}];case _0xb975('0x4e'):return[{'name':'attrMetric','value':_0x4d9864['attrMetric']||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864['attrs'][0x0]?_0x4d9864['attrs'][0x0][_0xb975('0x46')]:undefined)||'total'},{'name':_0xb975('0x4f'),'value':_0x4d9864[_0xb975('0x4f')]||(_0x4d9864['attrs']&&_0x4d9864[_0xb975('0x45')][0x1]?_0x4d9864[_0xb975('0x45')][0x1][_0xb975('0x46')]:undefined)||[]},{'name':_0xb975('0x4d'),'value':_0x4d9864[_0xb975('0x4d')]||(_0x4d9864['attrs']&&_0x4d9864[_0xb975('0x45')][0x2]?_0x4d9864[_0xb975('0x45')][0x2][_0xb975('0x46')]:undefined)||0x14},{'name':'attrChannel','value':_0x4d9864[_0xb975('0x50')]||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864[_0xb975('0x45')][0x3]?_0x4d9864['attrs'][0x3][_0xb975('0x46')]:undefined)||_0xb975('0x51')},{'name':_0xb975('0x52'),'value':_0x4d9864[_0xb975('0x52')]||(_0x4d9864['attrs']&&_0x4d9864['attrs'][0x4]?_0x4d9864['attrs'][0x4][_0xb975('0x46')]:undefined)||''},{'name':_0xb975('0x53'),'value':_0x4d9864[_0xb975('0x53')]||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864[_0xb975('0x45')][0x5]?_0x4d9864[_0xb975('0x45')][0x5][_0xb975('0x46')]:undefined)||''},{'name':_0xb975('0x54'),'value':_0x4d9864[_0xb975('0x54')]||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864[_0xb975('0x45')][0x6]?_0x4d9864['attrs'][0x6][_0xb975('0x46')]:undefined)||''},{'name':'attrOpenchannelAccounts','value':_0x4d9864['attrOpenchannelAccounts']||(_0x4d9864['attrs']&&_0x4d9864[_0xb975('0x45')][0x7]?_0x4d9864[_0xb975('0x45')][0x7]['value']:undefined)||''},{'name':_0xb975('0x55'),'value':_0x4d9864[_0xb975('0x55')]||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864[_0xb975('0x45')][0x8]?_0x4d9864[_0xb975('0x45')][0x8][_0xb975('0x46')]:undefined)||''},{'name':_0xb975('0x56'),'value':_0x4d9864[_0xb975('0x56')]||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864['attrs'][0x9]?_0x4d9864['attrs'][0x9]['value']:undefined)||''}];case _0xb975('0x57'):case _0xb975('0x58'):return[{'name':'attrSerie1','value':_0x4d9864[_0xb975('0x59')]||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864[_0xb975('0x45')][0x0]?_0x4d9864['attrs'][0x0][_0xb975('0x46')]:undefined)||'total'},{'name':_0xb975('0x5a'),'value':_0x4d9864['attrSerie2']||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864[_0xb975('0x45')][0x1]?_0x4d9864[_0xb975('0x45')][0x1][_0xb975('0x46')]:undefined)||null},{'name':'attrSerie3','value':_0x4d9864[_0xb975('0x5b')]||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864['attrs'][0x2]?_0x4d9864['attrs'][0x2]['value']:undefined)||null},{'name':_0xb975('0x4f'),'value':_0x4d9864[_0xb975('0x4f')]||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864[_0xb975('0x45')][0x3]?_0x4d9864[_0xb975('0x45')][0x3][_0xb975('0x46')]:undefined)||[]},{'name':_0xb975('0x50'),'value':_0x4d9864[_0xb975('0x50')]||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864[_0xb975('0x45')][0x4]?_0x4d9864[_0xb975('0x45')][0x4][_0xb975('0x46')]:undefined)||_0xb975('0x51')},{'name':_0xb975('0x52'),'value':_0x4d9864[_0xb975('0x52')]||(_0x4d9864['attrs']&&_0x4d9864[_0xb975('0x45')][0x5]?_0x4d9864[_0xb975('0x45')][0x5][_0xb975('0x46')]:undefined)||''},{'name':_0xb975('0x53'),'value':_0x4d9864[_0xb975('0x53')]||(_0x4d9864['attrs']&&_0x4d9864['attrs'][0x6]?_0x4d9864['attrs'][0x6][_0xb975('0x46')]:undefined)||''},{'name':_0xb975('0x54'),'value':_0x4d9864[_0xb975('0x54')]||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864[_0xb975('0x45')][0x7]?_0x4d9864[_0xb975('0x45')][0x7]['value']:undefined)||''},{'name':_0xb975('0x5c'),'value':_0x4d9864['attrOpenchannelAccounts']||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864['attrs'][0x8]?_0x4d9864[_0xb975('0x45')][0x8][_0xb975('0x46')]:undefined)||''},{'name':_0xb975('0x55'),'value':_0x4d9864[_0xb975('0x55')]||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864[_0xb975('0x45')][0x9]?_0x4d9864[_0xb975('0x45')][0x9][_0xb975('0x46')]:undefined)||''},{'name':_0xb975('0x56'),'value':_0x4d9864[_0xb975('0x56')]||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864[_0xb975('0x45')][0xa]?_0x4d9864[_0xb975('0x45')][0xa][_0xb975('0x46')]:undefined)||''}];case _0xb975('0x5d'):return[{'name':_0xb975('0x5e'),'type':_0x4d9864['reportType']||(_0x4d9864['attrs']&&_0x4d9864[_0xb975('0x45')][0x0]?_0x4d9864['attrs'][0x0][_0xb975('0x43')]:undefined)||null,'value':_0x4d9864[_0xb975('0x5e')]||(_0x4d9864[_0xb975('0x45')]&&_0x4d9864['attrs'][0x0]?_0x4d9864[_0xb975('0x45')][0x0][_0xb975('0x46')]:undefined)||null},{'name':'attrRefresh','value':_0x4d9864[_0xb975('0x5f')]||(_0x4d9864['attrs']&&_0x4d9864[_0xb975('0x45')][0x1]?_0x4d9864[_0xb975('0x45')][0x1][_0xb975('0x46')]:undefined)||0x0}];default:return[];}}catch(_0x2c1aca){logger[_0xb975('0x2e')](_0xb975('0x60'),JSON[_0xb975('0x61')](_0x2c1aca));return[];}}exports[_0xb975('0x62')]=function(_0xad129e,_0x318174){if(_0xad129e[_0xb975('0x63')]){_0xad129e[_0xb975('0x63')][_0xb975('0x45')]=widgetAttributes(_0xad129e['body']);}return db[_0xb975('0x40')][_0xb975('0x62')](_0xad129e[_0xb975('0x63')],{})['then'](respondWithResult(_0x318174,0xc9))['catch'](handleError(_0x318174,null));};exports[_0xb975('0x2a')]=function(_0x270640,_0xb2c0d1){if(_0x270640[_0xb975('0x63')]['id']){delete _0x270640[_0xb975('0x63')]['id'];}_0x270640[_0xb975('0x63')][_0xb975('0x45')]=widgetAttributes(_0x270640[_0xb975('0x63')]);return db[_0xb975('0x40')][_0xb975('0x41')]({'where':{'id':_0x270640[_0xb975('0x33')]['id']}})['then'](handleEntityNotFound(_0xb2c0d1,null))[_0xb975('0x2b')](saveUpdates(_0x270640[_0xb975('0x63')],null))[_0xb975('0x2b')](respondWithResult(_0xb2c0d1,null))[_0xb975('0x42')](handleError(_0xb2c0d1,null));};