Built motion from commit ddca4d0d.|2.5.47
[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 _0xca84=['destroy','error','name','send','show','params','keys','DashboardItem','rawAttributes','query','intersection','attributes','model','fields','length','includeAll','include','merge','find','catch','iframe','attrUrl','attrs','value','https://','custom','attrPath','clock','attrHourFormat','attrTimezone','0.00','attrFontSize','counter','attrMetric','total','attrVoiceQueues','attrChannel','attrEmailAccounts','attrFaxAccounts','attrSmsAccounts','attrOpenchannelAccounts','attrWhatsappAccounts','attrChatWebsites','multibar-chart','pie-chart','attrSerie1','attrSerie2','voice','web-report','attrReport','attrRefresh','widgetAttributes:\x20%s','create','body','update','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','redis','socket.io-emitter','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','then'];(function(_0x218ca4,_0x41cc40){var _0x1b3ff9=function(_0x5003cd){while(--_0x5003cd){_0x218ca4['push'](_0x218ca4['shift']());}};_0x1b3ff9(++_0x41cc40);}(_0xca84,0xf5));var _0x4ca8=function(_0x31c095,_0x200e17){_0x31c095=_0x31c095-0x0;var _0x29c32a=_0xca84[_0x31c095];return _0x29c32a;};'use strict';var emlformat=require(_0x4ca8('0x0'));var rimraf=require(_0x4ca8('0x1'));var zipdir=require(_0x4ca8('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4ca8('0x3'));var moment=require(_0x4ca8('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x4ca8('0x5'));var util=require(_0x4ca8('0x6'));var path=require(_0x4ca8('0x7'));var sox=require(_0x4ca8('0x8'));var csv=require(_0x4ca8('0x9'));var ejs=require(_0x4ca8('0xa'));var fs=require('fs');var fs_extra=require(_0x4ca8('0xb'));var _=require(_0x4ca8('0xc'));var squel=require(_0x4ca8('0xd'));var crypto=require(_0x4ca8('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x4ca8('0xf'));var toCsv=require('to-csv');var querystring=require(_0x4ca8('0x10'));var Papa=require('papaparse');var Redis=require(_0x4ca8('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x4ca8('0x12'));var as=require(_0x4ca8('0x13'));var hardwareService=require(_0x4ca8('0x14'));var logger=require(_0x4ca8('0x15'))(_0x4ca8('0x16'));var utils=require(_0x4ca8('0x17'));var config=require(_0x4ca8('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config['redis']=_['defaults'](config[_0x4ca8('0x19')],{'host':'localhost','port':0x18eb});var socket=require(_0x4ca8('0x1a'))(new Redis(config[_0x4ca8('0x19')]));require('./dashboardItem.socket')['register'](socket);function respondWithStatusCode(_0xaf215e,_0x28e9ce){_0x28e9ce=_0x28e9ce||0xcc;return function(_0x3a34d7){if(_0x3a34d7){return _0xaf215e[_0x4ca8('0x1b')](_0x28e9ce);}return _0xaf215e[_0x4ca8('0x1c')](_0x28e9ce)[_0x4ca8('0x1d')]();};}function respondWithResult(_0x342481,_0x2104a4){_0x2104a4=_0x2104a4||0xc8;return function(_0x2603d5){if(_0x2603d5){return _0x342481[_0x4ca8('0x1c')](_0x2104a4)[_0x4ca8('0x1e')](_0x2603d5);}};}function respondWithFilteredResult(_0x316b80,_0x48dadd){return function(_0xedd3){if(_0xedd3){var _0x41a736=typeof _0x48dadd[_0x4ca8('0x1f')]===_0x4ca8('0x20')&&typeof _0x48dadd[_0x4ca8('0x21')]==='undefined';var _0x23b57a=_0xedd3[_0x4ca8('0x22')];var _0x51a8c8=_0x41a736?0x0:_0x48dadd[_0x4ca8('0x1f')];var _0x4a6348=_0x41a736?_0xedd3[_0x4ca8('0x22')]:_0x48dadd[_0x4ca8('0x1f')]+_0x48dadd[_0x4ca8('0x21')];var _0x838ff0;if(_0x4a6348>=_0x23b57a){_0x4a6348=_0x23b57a;_0x838ff0=0xc8;}else{_0x838ff0=0xce;}_0x316b80[_0x4ca8('0x1c')](_0x838ff0);return _0x316b80['set'](_0x4ca8('0x23'),_0x51a8c8+'-'+_0x4a6348+'/'+_0x23b57a)[_0x4ca8('0x1e')](_0xedd3);}return null;};}function patchUpdates(_0x354072){return function(_0x28a04f){try{jsonpatch[_0x4ca8('0x24')](_0x28a04f,_0x354072,!![]);}catch(_0x4d090a){return BPromise[_0x4ca8('0x25')](_0x4d090a);}return _0x28a04f[_0x4ca8('0x26')]();};}function saveUpdates(_0x398ed4,_0x5e41d9){return function(_0x2245d0){if(_0x2245d0){return _0x2245d0['update'](_0x398ed4)[_0x4ca8('0x27')](function(_0x297341){return _0x297341;});}return null;};}function removeEntity(_0xbe9bd4,_0x5c150c){return function(_0x21cd51){if(_0x21cd51){return _0x21cd51[_0x4ca8('0x28')]()[_0x4ca8('0x27')](function(){_0xbe9bd4[_0x4ca8('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x369e26,_0x3d8862){return function(_0x5966d2){if(!_0x5966d2){_0x369e26[_0x4ca8('0x1b')](0x194);}return _0x5966d2;};}function handleError(_0x415356,_0x1ced8f){_0x1ced8f=_0x1ced8f||0x1f4;return function(_0x2735d1){logger[_0x4ca8('0x29')](_0x2735d1['stack']);if(_0x2735d1[_0x4ca8('0x2a')]){delete _0x2735d1[_0x4ca8('0x2a')];}_0x415356['status'](_0x1ced8f)[_0x4ca8('0x2b')](_0x2735d1);};}exports[_0x4ca8('0x2c')]=function(_0x2554ec,_0xe96d6c){var _0x4432e1={'raw':![],'where':{'id':_0x2554ec[_0x4ca8('0x2d')]['id']}},_0x42e05f={};_0x42e05f['model']=_[_0x4ca8('0x2e')](db[_0x4ca8('0x2f')][_0x4ca8('0x30')]);_0x42e05f[_0x4ca8('0x31')]=_[_0x4ca8('0x2e')](_0x2554ec[_0x4ca8('0x31')]);_0x42e05f['filters']=_[_0x4ca8('0x32')](_0x42e05f['model'],_0x42e05f[_0x4ca8('0x31')]);_0x4432e1[_0x4ca8('0x33')]=_[_0x4ca8('0x32')](_0x42e05f[_0x4ca8('0x34')],qs['fields'](_0x2554ec['query'][_0x4ca8('0x35')]));_0x4432e1['attributes']=_0x4432e1[_0x4ca8('0x33')][_0x4ca8('0x36')]?_0x4432e1[_0x4ca8('0x33')]:_0x42e05f[_0x4ca8('0x34')];if(_0x2554ec[_0x4ca8('0x31')][_0x4ca8('0x37')]){_0x4432e1[_0x4ca8('0x38')]=[{'all':!![]}];}_0x4432e1=_[_0x4ca8('0x39')]({},_0x4432e1,_0x2554ec['options']);return db['DashboardItem']['find'](_0x4432e1)['then'](handleEntityNotFound(_0xe96d6c,null))[_0x4ca8('0x27')](respondWithResult(_0xe96d6c,null))['catch'](handleError(_0xe96d6c,null));};exports[_0x4ca8('0x28')]=function(_0x297b37,_0xcb6f15){return db[_0x4ca8('0x2f')][_0x4ca8('0x3a')]({'where':{'id':_0x297b37[_0x4ca8('0x2d')]['id']}})['then'](handleEntityNotFound(_0xcb6f15,null))[_0x4ca8('0x27')](removeEntity(_0xcb6f15,null))[_0x4ca8('0x3b')](handleError(_0xcb6f15,null));};function widgetAttributes(_0x97f721){try{switch(_0x97f721['type']){case _0x4ca8('0x3c'):return[{'name':_0x4ca8('0x3d'),'value':_0x97f721[_0x4ca8('0x3d')]||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721[_0x4ca8('0x3e')][0x0]?_0x97f721[_0x4ca8('0x3e')][0x0][_0x4ca8('0x3f')]:undefined)||_0x4ca8('0x40')}];case _0x4ca8('0x41'):return[{'name':_0x4ca8('0x42'),'value':_0x97f721['attrPath']||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721['attrs'][0x0]?_0x97f721['attrs'][0x0][_0x4ca8('0x3f')]:undefined)||''}];case _0x4ca8('0x43'):return[{'name':_0x4ca8('0x44'),'value':_0x97f721[_0x4ca8('0x44')]||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721['attrs'][0x0]?_0x97f721[_0x4ca8('0x3e')][0x0][_0x4ca8('0x3f')]:undefined)||'HH:mm:ss'},{'name':_0x4ca8('0x45'),'value':_0x97f721[_0x4ca8('0x45')]||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721[_0x4ca8('0x3e')][0x1]?_0x97f721[_0x4ca8('0x3e')][0x1][_0x4ca8('0x3f')]:undefined)||_0x4ca8('0x46')},{'name':'attrFontSize','value':_0x97f721[_0x4ca8('0x47')]||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721['attrs'][0x2]?_0x97f721[_0x4ca8('0x3e')][0x2][_0x4ca8('0x3f')]:undefined)||0xc}];case _0x4ca8('0x48'):return[{'name':_0x4ca8('0x49'),'value':_0x97f721[_0x4ca8('0x49')]||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721['attrs'][0x0]?_0x97f721[_0x4ca8('0x3e')][0x0]['value']:undefined)||_0x4ca8('0x4a')},{'name':'attrVoiceQueues','value':_0x97f721[_0x4ca8('0x4b')]||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721[_0x4ca8('0x3e')][0x1]?_0x97f721['attrs'][0x1][_0x4ca8('0x3f')]:undefined)||[]},{'name':_0x4ca8('0x47'),'value':_0x97f721[_0x4ca8('0x47')]||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721[_0x4ca8('0x3e')][0x2]?_0x97f721[_0x4ca8('0x3e')][0x2][_0x4ca8('0x3f')]:undefined)||0x14},{'name':_0x4ca8('0x4c'),'value':_0x97f721[_0x4ca8('0x4c')]||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721[_0x4ca8('0x3e')][0x3]?_0x97f721[_0x4ca8('0x3e')][0x3][_0x4ca8('0x3f')]:undefined)||'voice'},{'name':'attrEmailAccounts','value':_0x97f721[_0x4ca8('0x4d')]||(_0x97f721['attrs']&&_0x97f721[_0x4ca8('0x3e')][0x4]?_0x97f721['attrs'][0x4][_0x4ca8('0x3f')]:undefined)||''},{'name':_0x4ca8('0x4e'),'value':_0x97f721[_0x4ca8('0x4e')]||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721[_0x4ca8('0x3e')][0x5]?_0x97f721[_0x4ca8('0x3e')][0x5][_0x4ca8('0x3f')]:undefined)||''},{'name':_0x4ca8('0x4f'),'value':_0x97f721[_0x4ca8('0x4f')]||(_0x97f721['attrs']&&_0x97f721[_0x4ca8('0x3e')][0x6]?_0x97f721[_0x4ca8('0x3e')][0x6]['value']:undefined)||''},{'name':_0x4ca8('0x50'),'value':_0x97f721[_0x4ca8('0x50')]||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721[_0x4ca8('0x3e')][0x7]?_0x97f721[_0x4ca8('0x3e')][0x7][_0x4ca8('0x3f')]:undefined)||''},{'name':_0x4ca8('0x51'),'value':_0x97f721[_0x4ca8('0x51')]||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721[_0x4ca8('0x3e')][0x8]?_0x97f721[_0x4ca8('0x3e')][0x8][_0x4ca8('0x3f')]:undefined)||''},{'name':_0x4ca8('0x52'),'value':_0x97f721['attrChatWebsites']||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721[_0x4ca8('0x3e')][0x9]?_0x97f721[_0x4ca8('0x3e')][0x9][_0x4ca8('0x3f')]:undefined)||''}];case _0x4ca8('0x53'):case _0x4ca8('0x54'):return[{'name':_0x4ca8('0x55'),'value':_0x97f721[_0x4ca8('0x55')]||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721[_0x4ca8('0x3e')][0x0]?_0x97f721[_0x4ca8('0x3e')][0x0][_0x4ca8('0x3f')]:undefined)||'total'},{'name':_0x4ca8('0x56'),'value':_0x97f721[_0x4ca8('0x56')]||(_0x97f721['attrs']&&_0x97f721[_0x4ca8('0x3e')][0x1]?_0x97f721[_0x4ca8('0x3e')][0x1][_0x4ca8('0x3f')]:undefined)||null},{'name':'attrSerie3','value':_0x97f721['attrSerie3']||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721[_0x4ca8('0x3e')][0x2]?_0x97f721[_0x4ca8('0x3e')][0x2][_0x4ca8('0x3f')]:undefined)||null},{'name':'attrVoiceQueues','value':_0x97f721['attrVoiceQueues']||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721[_0x4ca8('0x3e')][0x3]?_0x97f721['attrs'][0x3][_0x4ca8('0x3f')]:undefined)||[]},{'name':_0x4ca8('0x4c'),'value':_0x97f721[_0x4ca8('0x4c')]||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721[_0x4ca8('0x3e')][0x4]?_0x97f721[_0x4ca8('0x3e')][0x4][_0x4ca8('0x3f')]:undefined)||_0x4ca8('0x57')},{'name':_0x4ca8('0x4d'),'value':_0x97f721['attrEmailAccounts']||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721['attrs'][0x5]?_0x97f721[_0x4ca8('0x3e')][0x5][_0x4ca8('0x3f')]:undefined)||''},{'name':_0x4ca8('0x4e'),'value':_0x97f721[_0x4ca8('0x4e')]||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721[_0x4ca8('0x3e')][0x6]?_0x97f721[_0x4ca8('0x3e')][0x6][_0x4ca8('0x3f')]:undefined)||''},{'name':_0x4ca8('0x4f'),'value':_0x97f721[_0x4ca8('0x4f')]||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721[_0x4ca8('0x3e')][0x7]?_0x97f721['attrs'][0x7][_0x4ca8('0x3f')]:undefined)||''},{'name':'attrOpenchannelAccounts','value':_0x97f721[_0x4ca8('0x50')]||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721[_0x4ca8('0x3e')][0x8]?_0x97f721[_0x4ca8('0x3e')][0x8][_0x4ca8('0x3f')]:undefined)||''},{'name':_0x4ca8('0x51'),'value':_0x97f721[_0x4ca8('0x51')]||(_0x97f721['attrs']&&_0x97f721[_0x4ca8('0x3e')][0x9]?_0x97f721[_0x4ca8('0x3e')][0x9][_0x4ca8('0x3f')]:undefined)||''},{'name':_0x4ca8('0x52'),'value':_0x97f721[_0x4ca8('0x52')]||(_0x97f721['attrs']&&_0x97f721[_0x4ca8('0x3e')][0xa]?_0x97f721[_0x4ca8('0x3e')][0xa][_0x4ca8('0x3f')]:undefined)||''}];case _0x4ca8('0x58'):return[{'name':'attrReport','type':_0x97f721['reportType']||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721[_0x4ca8('0x3e')][0x0]?_0x97f721[_0x4ca8('0x3e')][0x0]['type']:undefined)||null,'value':_0x97f721[_0x4ca8('0x59')]||(_0x97f721['attrs']&&_0x97f721[_0x4ca8('0x3e')][0x0]?_0x97f721[_0x4ca8('0x3e')][0x0]['value']:undefined)||null},{'name':_0x4ca8('0x5a'),'value':_0x97f721[_0x4ca8('0x5a')]||(_0x97f721[_0x4ca8('0x3e')]&&_0x97f721['attrs'][0x1]?_0x97f721[_0x4ca8('0x3e')][0x1][_0x4ca8('0x3f')]:undefined)||0x0}];default:return[];}}catch(_0x529e3a){logger['error'](_0x4ca8('0x5b'),JSON['stringify'](_0x529e3a));return[];}}exports[_0x4ca8('0x5c')]=function(_0x376f67,_0x5a60f1){if(_0x376f67[_0x4ca8('0x5d')]){_0x376f67[_0x4ca8('0x5d')][_0x4ca8('0x3e')]=widgetAttributes(_0x376f67[_0x4ca8('0x5d')]);}return db[_0x4ca8('0x2f')][_0x4ca8('0x5c')](_0x376f67[_0x4ca8('0x5d')],{})[_0x4ca8('0x27')](respondWithResult(_0x5a60f1,0xc9))[_0x4ca8('0x3b')](handleError(_0x5a60f1,null));};exports[_0x4ca8('0x5e')]=function(_0x5ed72d,_0x20aacc){if(_0x5ed72d[_0x4ca8('0x5d')]['id']){delete _0x5ed72d['body']['id'];}_0x5ed72d[_0x4ca8('0x5d')][_0x4ca8('0x3e')]=widgetAttributes(_0x5ed72d['body']);return db[_0x4ca8('0x2f')]['find']({'where':{'id':_0x5ed72d[_0x4ca8('0x2d')]['id']}})[_0x4ca8('0x27')](handleEntityNotFound(_0x20aacc,null))[_0x4ca8('0x27')](saveUpdates(_0x5ed72d[_0x4ca8('0x5d')],null))[_0x4ca8('0x27')](respondWithResult(_0x20aacc,null))[_0x4ca8('0x3b')](handleError(_0x20aacc,null));};