Built motion from commit 3c2ce842.|2.6.31
[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 _0x8f9d=['params','model','DashboardItem','query','keys','filters','intersection','attributes','length','include','merge','find','catch','type','iframe','attrUrl','attrs','value','https://','attrPath','clock','attrHourFormat','attrTimezone','0.00','attrFontSize','counter','total','attrVoiceQueues','attrChannel','voice','attrEmailAccounts','attrFaxAccounts','attrOpenchannelAccounts','attrChatWebsites','multibar-chart','pie-chart','attrSerie1','attrSerie2','attrSerie3','attrSmsAccounts','attrWhatsappAccounts','web-report','attrReport','reportType','attrRefresh','stringify','create','body','update','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','desk.js','to-csv','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','defaults','redis','localhost','./dashboardItem.socket','register','sendStatus','status','end','undefined','count','offset','limit','set','Content-Range','json','apply','reject','save','then','destroy','error','name','send','show'];(function(_0x2d7a82,_0x25c994){var _0x3a3b7b=function(_0x1dcf5f){while(--_0x1dcf5f){_0x2d7a82['push'](_0x2d7a82['shift']());}};_0x3a3b7b(++_0x25c994);}(_0x8f9d,0x93));var _0xd8f9=function(_0x19950b,_0x53d0d7){_0x19950b=_0x19950b-0x0;var _0x3c6b41=_0x8f9d[_0x19950b];return _0x3c6b41;};'use strict';var emlformat=require(_0xd8f9('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xd8f9('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd8f9('0x2'));var moment=require(_0xd8f9('0x3'));var BPromise=require(_0xd8f9('0x4'));var Mustache=require(_0xd8f9('0x5'));var util=require(_0xd8f9('0x6'));var path=require(_0xd8f9('0x7'));var sox=require(_0xd8f9('0x8'));var csv=require('to-csv');var ejs=require(_0xd8f9('0x9'));var fs=require('fs');var fs_extra=require(_0xd8f9('0xa'));var _=require(_0xd8f9('0xb'));var squel=require(_0xd8f9('0xc'));var crypto=require(_0xd8f9('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xd8f9('0xe'));var toCsv=require(_0xd8f9('0xf'));var querystring=require('querystring');var Papa=require(_0xd8f9('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xd8f9('0x11'));var as=require(_0xd8f9('0x12'));var hardwareService=require(_0xd8f9('0x13'));var logger=require(_0xd8f9('0x14'))(_0xd8f9('0x15'));var utils=require(_0xd8f9('0x16'));var config=require(_0xd8f9('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xd8f9('0x18'))['db'];config['redis']=_[_0xd8f9('0x19')](config[_0xd8f9('0x1a')],{'host':_0xd8f9('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xd8f9('0x1a')]));require(_0xd8f9('0x1c'))[_0xd8f9('0x1d')](socket);function respondWithStatusCode(_0x223f10,_0x4c11f2){_0x4c11f2=_0x4c11f2||0xcc;return function(_0x3529e9){if(_0x3529e9){return _0x223f10[_0xd8f9('0x1e')](_0x4c11f2);}return _0x223f10[_0xd8f9('0x1f')](_0x4c11f2)[_0xd8f9('0x20')]();};}function respondWithResult(_0x3a3a41,_0x19603a){_0x19603a=_0x19603a||0xc8;return function(_0x566448){if(_0x566448){return _0x3a3a41['status'](_0x19603a)['json'](_0x566448);}};}function respondWithFilteredResult(_0x284a1a,_0xc6a825){return function(_0x4d5b8d){if(_0x4d5b8d){var _0x35943f=typeof _0xc6a825['offset']===_0xd8f9('0x21')&&typeof _0xc6a825['limit']==='undefined';var _0x58956e=_0x4d5b8d[_0xd8f9('0x22')];var _0x5d094d=_0x35943f?0x0:_0xc6a825[_0xd8f9('0x23')];var _0xef802d=_0x35943f?_0x4d5b8d[_0xd8f9('0x22')]:_0xc6a825[_0xd8f9('0x23')]+_0xc6a825[_0xd8f9('0x24')];var _0x45b2e3;if(_0xef802d>=_0x58956e){_0xef802d=_0x58956e;_0x45b2e3=0xc8;}else{_0x45b2e3=0xce;}_0x284a1a['status'](_0x45b2e3);return _0x284a1a[_0xd8f9('0x25')](_0xd8f9('0x26'),_0x5d094d+'-'+_0xef802d+'/'+_0x58956e)[_0xd8f9('0x27')](_0x4d5b8d);}return null;};}function patchUpdates(_0x36d740){return function(_0x1bf210){try{jsonpatch[_0xd8f9('0x28')](_0x1bf210,_0x36d740,!![]);}catch(_0x4c5808){return BPromise[_0xd8f9('0x29')](_0x4c5808);}return _0x1bf210[_0xd8f9('0x2a')]();};}function saveUpdates(_0x1fcd45,_0x956cc3){return function(_0x290553){if(_0x290553){return _0x290553['update'](_0x1fcd45)[_0xd8f9('0x2b')](function(_0x1d6796){return _0x1d6796;});}return null;};}function removeEntity(_0x28854a,_0xd15475){return function(_0x3e68dc){if(_0x3e68dc){return _0x3e68dc[_0xd8f9('0x2c')]()[_0xd8f9('0x2b')](function(){_0x28854a[_0xd8f9('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x464a6a,_0x4764d9){return function(_0x3967fb){if(!_0x3967fb){_0x464a6a['sendStatus'](0x194);}return _0x3967fb;};}function handleError(_0x5bd32e,_0x4c08b0){_0x4c08b0=_0x4c08b0||0x1f4;return function(_0x3f85a2){logger[_0xd8f9('0x2d')](_0x3f85a2['stack']);if(_0x3f85a2[_0xd8f9('0x2e')]){delete _0x3f85a2[_0xd8f9('0x2e')];}_0x5bd32e['status'](_0x4c08b0)[_0xd8f9('0x2f')](_0x3f85a2);};}exports[_0xd8f9('0x30')]=function(_0x2786db,_0x4caa27){var _0xda1b6d={'raw':![],'where':{'id':_0x2786db[_0xd8f9('0x31')]['id']}},_0x48f7c0={};_0x48f7c0[_0xd8f9('0x32')]=_['keys'](db[_0xd8f9('0x33')]['rawAttributes']);_0x48f7c0[_0xd8f9('0x34')]=_[_0xd8f9('0x35')](_0x2786db[_0xd8f9('0x34')]);_0x48f7c0[_0xd8f9('0x36')]=_[_0xd8f9('0x37')](_0x48f7c0[_0xd8f9('0x32')],_0x48f7c0[_0xd8f9('0x34')]);_0xda1b6d['attributes']=_[_0xd8f9('0x37')](_0x48f7c0['model'],qs['fields'](_0x2786db['query']['fields']));_0xda1b6d[_0xd8f9('0x38')]=_0xda1b6d[_0xd8f9('0x38')][_0xd8f9('0x39')]?_0xda1b6d[_0xd8f9('0x38')]:_0x48f7c0[_0xd8f9('0x32')];if(_0x2786db['query']['includeAll']){_0xda1b6d[_0xd8f9('0x3a')]=[{'all':!![]}];}_0xda1b6d=_[_0xd8f9('0x3b')]({},_0xda1b6d,_0x2786db['options']);return db[_0xd8f9('0x33')][_0xd8f9('0x3c')](_0xda1b6d)[_0xd8f9('0x2b')](handleEntityNotFound(_0x4caa27,null))['then'](respondWithResult(_0x4caa27,null))['catch'](handleError(_0x4caa27,null));};exports['destroy']=function(_0x542312,_0xed6ba){return db[_0xd8f9('0x33')][_0xd8f9('0x3c')]({'where':{'id':_0x542312[_0xd8f9('0x31')]['id']}})[_0xd8f9('0x2b')](handleEntityNotFound(_0xed6ba,null))['then'](removeEntity(_0xed6ba,null))[_0xd8f9('0x3d')](handleError(_0xed6ba,null));};function widgetAttributes(_0x2bc390){try{switch(_0x2bc390[_0xd8f9('0x3e')]){case _0xd8f9('0x3f'):return[{'name':_0xd8f9('0x40'),'value':_0x2bc390[_0xd8f9('0x40')]||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x0]?_0x2bc390[_0xd8f9('0x41')][0x0][_0xd8f9('0x42')]:undefined)||_0xd8f9('0x43')}];case'custom':return[{'name':_0xd8f9('0x44'),'value':_0x2bc390[_0xd8f9('0x44')]||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x0]?_0x2bc390['attrs'][0x0][_0xd8f9('0x42')]:undefined)||''}];case _0xd8f9('0x45'):return[{'name':_0xd8f9('0x46'),'value':_0x2bc390[_0xd8f9('0x46')]||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x0]?_0x2bc390['attrs'][0x0]['value']:undefined)||'HH:mm:ss'},{'name':_0xd8f9('0x47'),'value':_0x2bc390[_0xd8f9('0x47')]||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x1]?_0x2bc390[_0xd8f9('0x41')][0x1][_0xd8f9('0x42')]:undefined)||_0xd8f9('0x48')},{'name':_0xd8f9('0x49'),'value':_0x2bc390[_0xd8f9('0x49')]||(_0x2bc390['attrs']&&_0x2bc390['attrs'][0x2]?_0x2bc390[_0xd8f9('0x41')][0x2][_0xd8f9('0x42')]:undefined)||0xc}];case _0xd8f9('0x4a'):return[{'name':'attrMetric','value':_0x2bc390['attrMetric']||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x0]?_0x2bc390[_0xd8f9('0x41')][0x0]['value']:undefined)||_0xd8f9('0x4b')},{'name':_0xd8f9('0x4c'),'value':_0x2bc390[_0xd8f9('0x4c')]||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x1]?_0x2bc390[_0xd8f9('0x41')][0x1][_0xd8f9('0x42')]:undefined)||[]},{'name':_0xd8f9('0x49'),'value':_0x2bc390[_0xd8f9('0x49')]||(_0x2bc390['attrs']&&_0x2bc390['attrs'][0x2]?_0x2bc390['attrs'][0x2][_0xd8f9('0x42')]:undefined)||0x14},{'name':_0xd8f9('0x4d'),'value':_0x2bc390[_0xd8f9('0x4d')]||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x3]?_0x2bc390[_0xd8f9('0x41')][0x3][_0xd8f9('0x42')]:undefined)||_0xd8f9('0x4e')},{'name':_0xd8f9('0x4f'),'value':_0x2bc390[_0xd8f9('0x4f')]||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x4]?_0x2bc390[_0xd8f9('0x41')][0x4]['value']:undefined)||''},{'name':_0xd8f9('0x50'),'value':_0x2bc390[_0xd8f9('0x50')]||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x5]?_0x2bc390['attrs'][0x5][_0xd8f9('0x42')]:undefined)||''},{'name':'attrSmsAccounts','value':_0x2bc390['attrSmsAccounts']||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x6]?_0x2bc390[_0xd8f9('0x41')][0x6][_0xd8f9('0x42')]:undefined)||''},{'name':_0xd8f9('0x51'),'value':_0x2bc390[_0xd8f9('0x51')]||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x7]?_0x2bc390[_0xd8f9('0x41')][0x7][_0xd8f9('0x42')]:undefined)||''},{'name':'attrWhatsappAccounts','value':_0x2bc390['attrWhatsappAccounts']||(_0x2bc390['attrs']&&_0x2bc390[_0xd8f9('0x41')][0x8]?_0x2bc390[_0xd8f9('0x41')][0x8]['value']:undefined)||''},{'name':_0xd8f9('0x52'),'value':_0x2bc390[_0xd8f9('0x52')]||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x9]?_0x2bc390[_0xd8f9('0x41')][0x9][_0xd8f9('0x42')]:undefined)||''}];case _0xd8f9('0x53'):case _0xd8f9('0x54'):return[{'name':'attrSerie1','value':_0x2bc390[_0xd8f9('0x55')]||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x0]?_0x2bc390[_0xd8f9('0x41')][0x0][_0xd8f9('0x42')]:undefined)||_0xd8f9('0x4b')},{'name':_0xd8f9('0x56'),'value':_0x2bc390[_0xd8f9('0x56')]||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x1]?_0x2bc390[_0xd8f9('0x41')][0x1]['value']:undefined)||null},{'name':_0xd8f9('0x57'),'value':_0x2bc390[_0xd8f9('0x57')]||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x2]?_0x2bc390['attrs'][0x2][_0xd8f9('0x42')]:undefined)||null},{'name':_0xd8f9('0x4c'),'value':_0x2bc390[_0xd8f9('0x4c')]||(_0x2bc390['attrs']&&_0x2bc390[_0xd8f9('0x41')][0x3]?_0x2bc390[_0xd8f9('0x41')][0x3][_0xd8f9('0x42')]:undefined)||[]},{'name':_0xd8f9('0x4d'),'value':_0x2bc390['attrChannel']||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x4]?_0x2bc390['attrs'][0x4]['value']:undefined)||_0xd8f9('0x4e')},{'name':_0xd8f9('0x4f'),'value':_0x2bc390[_0xd8f9('0x4f')]||(_0x2bc390['attrs']&&_0x2bc390[_0xd8f9('0x41')][0x5]?_0x2bc390['attrs'][0x5][_0xd8f9('0x42')]:undefined)||''},{'name':'attrFaxAccounts','value':_0x2bc390[_0xd8f9('0x50')]||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x6]?_0x2bc390[_0xd8f9('0x41')][0x6]['value']:undefined)||''},{'name':_0xd8f9('0x58'),'value':_0x2bc390[_0xd8f9('0x58')]||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x7]?_0x2bc390[_0xd8f9('0x41')][0x7][_0xd8f9('0x42')]:undefined)||''},{'name':_0xd8f9('0x51'),'value':_0x2bc390[_0xd8f9('0x51')]||(_0x2bc390['attrs']&&_0x2bc390[_0xd8f9('0x41')][0x8]?_0x2bc390[_0xd8f9('0x41')][0x8][_0xd8f9('0x42')]:undefined)||''},{'name':_0xd8f9('0x59'),'value':_0x2bc390[_0xd8f9('0x59')]||(_0x2bc390['attrs']&&_0x2bc390['attrs'][0x9]?_0x2bc390['attrs'][0x9][_0xd8f9('0x42')]:undefined)||''},{'name':_0xd8f9('0x52'),'value':_0x2bc390['attrChatWebsites']||(_0x2bc390['attrs']&&_0x2bc390[_0xd8f9('0x41')][0xa]?_0x2bc390[_0xd8f9('0x41')][0xa][_0xd8f9('0x42')]:undefined)||''}];case _0xd8f9('0x5a'):return[{'name':_0xd8f9('0x5b'),'type':_0x2bc390[_0xd8f9('0x5c')]||(_0x2bc390['attrs']&&_0x2bc390[_0xd8f9('0x41')][0x0]?_0x2bc390[_0xd8f9('0x41')][0x0][_0xd8f9('0x3e')]:undefined)||null,'value':_0x2bc390[_0xd8f9('0x5b')]||(_0x2bc390['attrs']&&_0x2bc390[_0xd8f9('0x41')][0x0]?_0x2bc390[_0xd8f9('0x41')][0x0][_0xd8f9('0x42')]:undefined)||null},{'name':_0xd8f9('0x5d'),'value':_0x2bc390[_0xd8f9('0x5d')]||(_0x2bc390[_0xd8f9('0x41')]&&_0x2bc390[_0xd8f9('0x41')][0x1]?_0x2bc390[_0xd8f9('0x41')][0x1][_0xd8f9('0x42')]:undefined)||0x0}];default:return[];}}catch(_0x47ecf8){logger['error']('widgetAttributes:\x20%s',JSON[_0xd8f9('0x5e')](_0x47ecf8));return[];}}exports[_0xd8f9('0x5f')]=function(_0x2a8815,_0x23d4fb){if(_0x2a8815[_0xd8f9('0x60')]){_0x2a8815[_0xd8f9('0x60')][_0xd8f9('0x41')]=widgetAttributes(_0x2a8815[_0xd8f9('0x60')]);}return db['DashboardItem'][_0xd8f9('0x5f')](_0x2a8815['body'],{})[_0xd8f9('0x2b')](respondWithResult(_0x23d4fb,0xc9))[_0xd8f9('0x3d')](handleError(_0x23d4fb,null));};exports[_0xd8f9('0x61')]=function(_0x4580dc,_0x28f06f){if(_0x4580dc[_0xd8f9('0x60')]['id']){delete _0x4580dc[_0xd8f9('0x60')]['id'];}_0x4580dc[_0xd8f9('0x60')]['attrs']=widgetAttributes(_0x4580dc[_0xd8f9('0x60')]);return db['DashboardItem'][_0xd8f9('0x3c')]({'where':{'id':_0x4580dc['params']['id']}})['then'](handleEntityNotFound(_0x28f06f,null))[_0xd8f9('0x2b')](saveUpdates(_0x4580dc['body'],null))['then'](respondWithResult(_0x28f06f,null))[_0xd8f9('0x3d')](handleError(_0x28f06f,null));};