74ea578db7a0534f81d474f270326e8ed5dbbe69
[motion2.git] / server / api / dashboard / dashboard.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 _0x3f3d=['filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','includeAll','include','findAll','show','params','options','find','create','user','role','UserProfileSection','userProfileId','autoAssociation','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','omit','createdAt','updatedAt','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','iframe','attrUrl','attrs','value','https://','attrPath','clock','attrHourFormat','HH:mm:ss','attrTimezone','0.00','attrFontSize','counter','attrMetric','total','attrVoiceQueues','attrEmailAccounts','attrFaxAccounts','attrSmsAccounts','attrOpenchannelAccounts','attrWhatsappAccounts','attrChatWebsites','multibar-chart','pie-chart','attrSerie1','attrSerie2','attrSerie3','attrChannel','voice','web-report','reportType','attrReport','stringify','DashboardId','DashboardItem','findOne','getItems','rimraf','fast-json-patch','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','./dashboard.socket','sendStatus','status','offset','undefined','limit','count','set','Content-Range','save','update','then','destroy','get','CustomDashboards','UserProfileResource','end','error','stack','name','send','index','map','Dashboard','rawAttributes','type','key','model','query','keys'];(function(_0x2bf6dd,_0x5b9754){var _0x5dff2b=function(_0x1886c6){while(--_0x1886c6){_0x2bf6dd['push'](_0x2bf6dd['shift']());}};_0x5dff2b(++_0x5b9754);}(_0x3f3d,0x145));var _0xd3f3=function(_0x7c2035,_0x13334){_0x7c2035=_0x7c2035-0x0;var _0x50f5c1=_0x3f3d[_0x7c2035];return _0x50f5c1;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xd3f3('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd3f3('0x1'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xd3f3('0x2'));var Mustache=require(_0xd3f3('0x3'));var util=require('util');var path=require(_0xd3f3('0x4'));var sox=require(_0xd3f3('0x5'));var csv=require(_0xd3f3('0x6'));var ejs=require(_0xd3f3('0x7'));var fs=require('fs');var fs_extra=require(_0xd3f3('0x8'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xd3f3('0x9'));var jsforce=require(_0xd3f3('0xa'));var deskjs=require('desk.js');var toCsv=require(_0xd3f3('0x6'));var querystring=require(_0xd3f3('0xb'));var Papa=require(_0xd3f3('0xc'));var Redis=require(_0xd3f3('0xd'));var authService=require(_0xd3f3('0xe'));var qs=require(_0xd3f3('0xf'));var as=require(_0xd3f3('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd3f3('0x11'))(_0xd3f3('0x12'));var utils=require(_0xd3f3('0x13'));var config=require(_0xd3f3('0x14'));var licenseUtil=require(_0xd3f3('0x15'));var db=require(_0xd3f3('0x16'))['db'];config[_0xd3f3('0x17')]=_[_0xd3f3('0x18')](config[_0xd3f3('0x17')],{'host':'localhost','port':0x18eb});var socket=require(_0xd3f3('0x19'))(new Redis(config[_0xd3f3('0x17')]));require(_0xd3f3('0x1a'))['register'](socket);function respondWithStatusCode(_0x2035ab,_0x5e222e){_0x5e222e=_0x5e222e||0xcc;return function(_0x12d0c3){if(_0x12d0c3){return _0x2035ab[_0xd3f3('0x1b')](_0x5e222e);}return _0x2035ab[_0xd3f3('0x1c')](_0x5e222e)['end']();};}function respondWithResult(_0x58c4f7,_0x4372e6){_0x4372e6=_0x4372e6||0xc8;return function(_0x2a732b){if(_0x2a732b){return _0x58c4f7[_0xd3f3('0x1c')](_0x4372e6)['json'](_0x2a732b);}};}function respondWithFilteredResult(_0x4dcf1f,_0x19b1ed){return function(_0x4061b4){if(_0x4061b4){var _0x646127=typeof _0x19b1ed[_0xd3f3('0x1d')]===_0xd3f3('0x1e')&&typeof _0x19b1ed[_0xd3f3('0x1f')]===_0xd3f3('0x1e');var _0x4cfac8=_0x4061b4[_0xd3f3('0x20')];var _0x3e5d71=_0x646127?0x0:_0x19b1ed[_0xd3f3('0x1d')];var _0x16dc2c=_0x646127?_0x4061b4['count']:_0x19b1ed['offset']+_0x19b1ed[_0xd3f3('0x1f')];var _0x3c526d;if(_0x16dc2c>=_0x4cfac8){_0x16dc2c=_0x4cfac8;_0x3c526d=0xc8;}else{_0x3c526d=0xce;}_0x4dcf1f[_0xd3f3('0x1c')](_0x3c526d);return _0x4dcf1f[_0xd3f3('0x21')](_0xd3f3('0x22'),_0x3e5d71+'-'+_0x16dc2c+'/'+_0x4cfac8)['json'](_0x4061b4);}return null;};}function patchUpdates(_0x357da4){return function(_0x54f0cb){try{jsonpatch['apply'](_0x54f0cb,_0x357da4,!![]);}catch(_0x48527b){return BPromise['reject'](_0x48527b);}return _0x54f0cb[_0xd3f3('0x23')]();};}function saveUpdates(_0x3788f7,_0x4f438a){return function(_0x5f05b2){if(_0x5f05b2){return _0x5f05b2[_0xd3f3('0x24')](_0x3788f7)[_0xd3f3('0x25')](function(_0x32547f){return _0x32547f;});}return null;};}function removeEntity(_0x33107a,_0x2b05ea){return function(_0x899d78){if(_0x899d78){return _0x899d78[_0xd3f3('0x26')]()[_0xd3f3('0x25')](function(){var _0x4d35d2=_0x899d78[_0xd3f3('0x27')]({'plain':!![]});var _0x593773=_0xd3f3('0x28');return db[_0xd3f3('0x29')]['destroy']({'where':{'type':_0x593773,'resourceId':_0x4d35d2['id']}})[_0xd3f3('0x25')](function(){return _0x899d78;});})[_0xd3f3('0x25')](function(){_0x33107a[_0xd3f3('0x1c')](0xcc)[_0xd3f3('0x2a')]();});}};}function handleEntityNotFound(_0x243cfe,_0x18f449){return function(_0x239838){if(!_0x239838){_0x243cfe[_0xd3f3('0x1b')](0x194);}return _0x239838;};}function handleError(_0xae34ca,_0x2e8214){_0x2e8214=_0x2e8214||0x1f4;return function(_0x407526){logger[_0xd3f3('0x2b')](_0x407526[_0xd3f3('0x2c')]);if(_0x407526['name']){delete _0x407526[_0xd3f3('0x2d')];}_0xae34ca[_0xd3f3('0x1c')](_0x2e8214)[_0xd3f3('0x2e')](_0x407526);};}exports[_0xd3f3('0x2f')]=function(_0x59301a,_0x554a70){var _0x3df781={},_0x2a19f9={},_0x582601={'count':0x0,'rows':[]};var _0x5dedc2=_[_0xd3f3('0x30')](db[_0xd3f3('0x31')][_0xd3f3('0x32')],function(_0x56f882){return{'name':_0x56f882['fieldName'],'type':_0x56f882[_0xd3f3('0x33')][_0xd3f3('0x34')]};});_0x2a19f9[_0xd3f3('0x35')]=_[_0xd3f3('0x30')](_0x5dedc2,_0xd3f3('0x2d'));_0x2a19f9[_0xd3f3('0x36')]=_[_0xd3f3('0x37')](_0x59301a[_0xd3f3('0x36')]);_0x2a19f9[_0xd3f3('0x38')]=_['intersection'](_0x2a19f9['model'],_0x2a19f9[_0xd3f3('0x36')]);_0x3df781[_0xd3f3('0x39')]=_[_0xd3f3('0x3a')](_0x2a19f9['model'],qs[_0xd3f3('0x3b')](_0x59301a[_0xd3f3('0x36')][_0xd3f3('0x3b')]));_0x3df781[_0xd3f3('0x39')]=_0x3df781[_0xd3f3('0x39')][_0xd3f3('0x3c')]?_0x3df781[_0xd3f3('0x39')]:_0x2a19f9[_0xd3f3('0x35')];if(!_0x59301a[_0xd3f3('0x36')][_0xd3f3('0x3d')](_0xd3f3('0x3e'))){_0x3df781[_0xd3f3('0x1f')]=qs['limit'](_0x59301a[_0xd3f3('0x36')]['limit']);_0x3df781['offset']=qs[_0xd3f3('0x1d')](_0x59301a[_0xd3f3('0x36')]['offset']);}_0x3df781[_0xd3f3('0x3f')]=qs[_0xd3f3('0x40')](_0x59301a[_0xd3f3('0x36')][_0xd3f3('0x40')]);_0x3df781[_0xd3f3('0x41')]=qs[_0xd3f3('0x38')](_[_0xd3f3('0x42')](_0x59301a[_0xd3f3('0x36')],_0x2a19f9['filters']),_0x5dedc2);if(_0x59301a[_0xd3f3('0x36')]['filter']){_0x3df781[_0xd3f3('0x41')]=_['merge'](_0x3df781[_0xd3f3('0x41')],{'$or':_[_0xd3f3('0x30')](_0x5dedc2,function(_0x242f0a){if(_0x242f0a[_0xd3f3('0x33')]!=='VIRTUAL'){var _0x46c9c2={};_0x46c9c2[_0x242f0a[_0xd3f3('0x2d')]]={'$like':'%'+_0x59301a['query'][_0xd3f3('0x43')]+'%'};return _0x46c9c2;}})});}_0x3df781=_[_0xd3f3('0x44')]({},_0x3df781,_0x59301a['options']);var _0x3511b0={'where':_0x3df781['where']};return db[_0xd3f3('0x31')][_0xd3f3('0x20')](_0x3511b0)[_0xd3f3('0x25')](function(_0x537319){_0x582601[_0xd3f3('0x20')]=_0x537319;if(_0x59301a[_0xd3f3('0x36')][_0xd3f3('0x45')]){_0x3df781[_0xd3f3('0x46')]=[{'all':!![]}];}return db[_0xd3f3('0x31')][_0xd3f3('0x47')](_0x3df781);})['then'](function(_0x48af63){_0x582601['rows']=_0x48af63;return _0x582601;})[_0xd3f3('0x25')](respondWithFilteredResult(_0x554a70,_0x3df781))['catch'](handleError(_0x554a70,null));};exports[_0xd3f3('0x48')]=function(_0x14edff,_0x1eba8d){var _0x513e05={'raw':![],'where':{'id':_0x14edff[_0xd3f3('0x49')]['id']}},_0x518ff7={};_0x518ff7['model']=_[_0xd3f3('0x37')](db['Dashboard'][_0xd3f3('0x32')]);_0x518ff7[_0xd3f3('0x36')]=_[_0xd3f3('0x37')](_0x14edff[_0xd3f3('0x36')]);_0x518ff7['filters']=_[_0xd3f3('0x3a')](_0x518ff7[_0xd3f3('0x35')],_0x518ff7[_0xd3f3('0x36')]);_0x513e05[_0xd3f3('0x39')]=_[_0xd3f3('0x3a')](_0x518ff7[_0xd3f3('0x35')],qs[_0xd3f3('0x3b')](_0x14edff[_0xd3f3('0x36')][_0xd3f3('0x3b')]));_0x513e05[_0xd3f3('0x39')]=_0x513e05['attributes'][_0xd3f3('0x3c')]?_0x513e05[_0xd3f3('0x39')]:_0x518ff7[_0xd3f3('0x35')];if(_0x14edff[_0xd3f3('0x36')][_0xd3f3('0x45')]){_0x513e05[_0xd3f3('0x46')]=[{'all':!![]}];}_0x513e05=_[_0xd3f3('0x44')]({},_0x513e05,_0x14edff[_0xd3f3('0x4a')]);return db[_0xd3f3('0x31')][_0xd3f3('0x4b')](_0x513e05)[_0xd3f3('0x25')](handleEntityNotFound(_0x1eba8d,null))[_0xd3f3('0x25')](respondWithResult(_0x1eba8d,null))['catch'](handleError(_0x1eba8d,null));};exports[_0xd3f3('0x4c')]=function(_0x5bc987,_0x179392){return db['Dashboard'][_0xd3f3('0x4c')](_0x5bc987['body'],{})[_0xd3f3('0x25')](function(_0x41284b){var _0x39022c=_0x5bc987[_0xd3f3('0x4d')][_0xd3f3('0x27')]({'plain':!![]});if(!_0x39022c)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x39022c[_0xd3f3('0x4e')]===_0xd3f3('0x4d')){var _0x5b5917=_0x41284b[_0xd3f3('0x27')]({'plain':!![]});var _0x3d3f48=_0xd3f3('0x28');return db[_0xd3f3('0x4f')][_0xd3f3('0x4b')]({'where':{'name':_0x3d3f48,'userProfileId':_0x39022c[_0xd3f3('0x50')]},'raw':!![]})[_0xd3f3('0x25')](function(_0x30dc4f){if(_0x30dc4f&&_0x30dc4f[_0xd3f3('0x51')]===0x0){return db[_0xd3f3('0x29')][_0xd3f3('0x4c')]({'name':_0x5b5917[_0xd3f3('0x2d')],'resourceId':_0x5b5917['id'],'type':_0x30dc4f[_0xd3f3('0x2d')],'sectionId':_0x30dc4f['id']},{})['then'](function(){return _0x41284b;});}else{return _0x41284b;}})[_0xd3f3('0x52')](function(_0x3d8032){logger['error'](_0xd3f3('0x53'),_0x3d8032);throw _0x3d8032;});}return _0x41284b;})[_0xd3f3('0x25')](respondWithResult(_0x179392,0xc9))[_0xd3f3('0x52')](handleError(_0x179392,null));};exports[_0xd3f3('0x54')]=function(_0x59e9d0,_0x54179d){var _0x4ba1cf={'where':{'id':_0x59e9d0[_0xd3f3('0x49')]['id']}},_0x15d378={};_0x15d378[_0xd3f3('0x35')]=_[_0xd3f3('0x37')](db[_0xd3f3('0x31')][_0xd3f3('0x32')]);_0x4ba1cf[_0xd3f3('0x39')]=_[_0xd3f3('0x3a')](_0x15d378[_0xd3f3('0x35')],qs[_0xd3f3('0x3b')](_0x59e9d0['query'][_0xd3f3('0x3b')]));_0x4ba1cf['attributes']=_0x4ba1cf[_0xd3f3('0x39')][_0xd3f3('0x3c')]?_0x4ba1cf['attributes']:_0x15d378[_0xd3f3('0x35')];if(_0x59e9d0[_0xd3f3('0x36')]['includeAll']){_0x4ba1cf[_0xd3f3('0x46')]=[{'all':!![]}];}_0x4ba1cf=_[_0xd3f3('0x44')]({},_0x4ba1cf,_0x59e9d0['options']);return db[_0xd3f3('0x31')][_0xd3f3('0x4b')](_0x4ba1cf)[_0xd3f3('0x25')](handleEntityNotFound(_0x54179d,null))[_0xd3f3('0x25')](function(_0x437ac8){if(_0x437ac8){var _0x294032=_0x437ac8[_0xd3f3('0x27')]({'plain':!![]});_0x294032=qs[_0xd3f3('0x55')](_0x294032,['id',_0xd3f3('0x56'),_0xd3f3('0x57')]);_0x59e9d0['body']=_[_0xd3f3('0x55')](_0x59e9d0[_0xd3f3('0x58')],['id',_0xd3f3('0x56'),_0xd3f3('0x57')]);return db['Dashboard'][_0xd3f3('0x4c')](_[_0xd3f3('0x44')](_0x294032,_0x59e9d0[_0xd3f3('0x58')]),{'include':_0x59e9d0[_0xd3f3('0x36')]['includeAll']?[{'all':!![]}]:undefined})['then'](function(_0x78dd0){var _0xabdb1d=_0x59e9d0[_0xd3f3('0x4d')][_0xd3f3('0x27')]({'plain':!![]});if(!_0xabdb1d)throw new Error(_0xd3f3('0x59'));if(_0xabdb1d['role']===_0xd3f3('0x4d')){var _0x117ca8=_0x78dd0[_0xd3f3('0x27')]({'plain':!![]});var _0x30a8d2=_0xd3f3('0x28');return db[_0xd3f3('0x4f')][_0xd3f3('0x4b')]({'where':{'name':_0x30a8d2,'userProfileId':_0xabdb1d['userProfileId']},'raw':!![]})['then'](function(_0x22b0e4){if(_0x22b0e4&&_0x22b0e4[_0xd3f3('0x51')]===0x0){return db['UserProfileResource'][_0xd3f3('0x4c')]({'name':_0x117ca8[_0xd3f3('0x2d')],'resourceId':_0x117ca8['id'],'type':_0x22b0e4[_0xd3f3('0x2d')],'sectionId':_0x22b0e4['id']},{})[_0xd3f3('0x25')](function(){return _0x78dd0;});}else{return _0x78dd0;}})[_0xd3f3('0x52')](function(_0x4a2217){logger[_0xd3f3('0x2b')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x4a2217);throw _0x4a2217;});}return _0x78dd0;});}})[_0xd3f3('0x25')](respondWithResult(_0x54179d,0xc9))[_0xd3f3('0x52')](handleError(_0x54179d,null));};exports['update']=function(_0x49cfe7,_0x2686bd){if(_0x49cfe7[_0xd3f3('0x58')]['id']){delete _0x49cfe7[_0xd3f3('0x58')]['id'];}return db[_0xd3f3('0x31')][_0xd3f3('0x4b')]({'where':{'id':_0x49cfe7[_0xd3f3('0x49')]['id']}})[_0xd3f3('0x25')](handleEntityNotFound(_0x2686bd,null))[_0xd3f3('0x25')](saveUpdates(_0x49cfe7[_0xd3f3('0x58')],null))['then'](respondWithResult(_0x2686bd,null))[_0xd3f3('0x52')](handleError(_0x2686bd,null));};exports[_0xd3f3('0x26')]=function(_0x3da322,_0x343301){return db[_0xd3f3('0x31')][_0xd3f3('0x4b')]({'where':{'id':_0x3da322['params']['id']}})[_0xd3f3('0x25')](handleEntityNotFound(_0x343301,null))['then'](removeEntity(_0x343301,null))[_0xd3f3('0x52')](handleError(_0x343301,null));};function widgetAttributes(_0x53ce2b){try{switch(_0x53ce2b[_0xd3f3('0x33')]){case _0xd3f3('0x5a'):return[{'name':_0xd3f3('0x5b'),'value':_0x53ce2b[_0xd3f3('0x5b')]||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b['attrs'][0x0]?_0x53ce2b['attrs'][0x0][_0xd3f3('0x5d')]:undefined)||_0xd3f3('0x5e')}];case'custom':return[{'name':_0xd3f3('0x5f'),'value':_0x53ce2b[_0xd3f3('0x5f')]||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b[_0xd3f3('0x5c')][0x0]?_0x53ce2b[_0xd3f3('0x5c')][0x0][_0xd3f3('0x5d')]:undefined)||''}];case _0xd3f3('0x60'):return[{'name':_0xd3f3('0x61'),'value':_0x53ce2b[_0xd3f3('0x61')]||(_0x53ce2b['attrs']&&_0x53ce2b[_0xd3f3('0x5c')][0x0]?_0x53ce2b[_0xd3f3('0x5c')][0x0]['value']:undefined)||_0xd3f3('0x62')},{'name':_0xd3f3('0x63'),'value':_0x53ce2b[_0xd3f3('0x63')]||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b[_0xd3f3('0x5c')][0x1]?_0x53ce2b[_0xd3f3('0x5c')][0x1][_0xd3f3('0x5d')]:undefined)||_0xd3f3('0x64')},{'name':_0xd3f3('0x65'),'value':_0x53ce2b[_0xd3f3('0x65')]||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b['attrs'][0x2]?_0x53ce2b[_0xd3f3('0x5c')][0x2]['value']:undefined)||0xc}];case _0xd3f3('0x66'):return[{'name':_0xd3f3('0x67'),'value':_0x53ce2b[_0xd3f3('0x67')]||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b[_0xd3f3('0x5c')][0x0]?_0x53ce2b[_0xd3f3('0x5c')][0x0]['value']:undefined)||_0xd3f3('0x68')},{'name':'attrVoiceQueues','value':_0x53ce2b[_0xd3f3('0x69')]||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b['attrs'][0x1]?_0x53ce2b[_0xd3f3('0x5c')][0x1][_0xd3f3('0x5d')]:undefined)||[]},{'name':'attrFontSize','value':_0x53ce2b['attrFontSize']||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b[_0xd3f3('0x5c')][0x2]?_0x53ce2b['attrs'][0x2]['value']:undefined)||0x14},{'name':'attrChannel','value':_0x53ce2b['attrChannel']||(_0x53ce2b['attrs']&&_0x53ce2b[_0xd3f3('0x5c')][0x3]?_0x53ce2b['attrs'][0x3]['value']:undefined)||'voice'},{'name':_0xd3f3('0x6a'),'value':_0x53ce2b[_0xd3f3('0x6a')]||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b[_0xd3f3('0x5c')][0x4]?_0x53ce2b[_0xd3f3('0x5c')][0x4]['value']:undefined)||''},{'name':_0xd3f3('0x6b'),'value':_0x53ce2b['attrFaxAccounts']||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b[_0xd3f3('0x5c')][0x5]?_0x53ce2b['attrs'][0x5][_0xd3f3('0x5d')]:undefined)||''},{'name':_0xd3f3('0x6c'),'value':_0x53ce2b[_0xd3f3('0x6c')]||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b[_0xd3f3('0x5c')][0x6]?_0x53ce2b[_0xd3f3('0x5c')][0x6][_0xd3f3('0x5d')]:undefined)||''},{'name':'attrOpenchannelAccounts','value':_0x53ce2b[_0xd3f3('0x6d')]||(_0x53ce2b['attrs']&&_0x53ce2b[_0xd3f3('0x5c')][0x7]?_0x53ce2b[_0xd3f3('0x5c')][0x7]['value']:undefined)||''},{'name':_0xd3f3('0x6e'),'value':_0x53ce2b['attrWhatsappAccounts']||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b['attrs'][0x8]?_0x53ce2b[_0xd3f3('0x5c')][0x8][_0xd3f3('0x5d')]:undefined)||''},{'name':_0xd3f3('0x6f'),'value':_0x53ce2b[_0xd3f3('0x6f')]||(_0x53ce2b['attrs']&&_0x53ce2b[_0xd3f3('0x5c')][0x9]?_0x53ce2b[_0xd3f3('0x5c')][0x9][_0xd3f3('0x5d')]:undefined)||''}];case _0xd3f3('0x70'):case _0xd3f3('0x71'):return[{'name':_0xd3f3('0x72'),'value':_0x53ce2b['attrSerie1']||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b['attrs'][0x0]?_0x53ce2b['attrs'][0x0][_0xd3f3('0x5d')]:undefined)||'total'},{'name':_0xd3f3('0x73'),'value':_0x53ce2b[_0xd3f3('0x73')]||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b[_0xd3f3('0x5c')][0x1]?_0x53ce2b['attrs'][0x1]['value']:undefined)||null},{'name':'attrSerie3','value':_0x53ce2b[_0xd3f3('0x74')]||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b[_0xd3f3('0x5c')][0x2]?_0x53ce2b[_0xd3f3('0x5c')][0x2][_0xd3f3('0x5d')]:undefined)||null},{'name':_0xd3f3('0x69'),'value':_0x53ce2b[_0xd3f3('0x69')]||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b[_0xd3f3('0x5c')][0x3]?_0x53ce2b[_0xd3f3('0x5c')][0x3]['value']:undefined)||[]},{'name':_0xd3f3('0x75'),'value':_0x53ce2b[_0xd3f3('0x75')]||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b[_0xd3f3('0x5c')][0x4]?_0x53ce2b[_0xd3f3('0x5c')][0x4][_0xd3f3('0x5d')]:undefined)||_0xd3f3('0x76')},{'name':_0xd3f3('0x6a'),'value':_0x53ce2b[_0xd3f3('0x6a')]||(_0x53ce2b['attrs']&&_0x53ce2b[_0xd3f3('0x5c')][0x5]?_0x53ce2b[_0xd3f3('0x5c')][0x5][_0xd3f3('0x5d')]:undefined)||''},{'name':'attrFaxAccounts','value':_0x53ce2b[_0xd3f3('0x6b')]||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b[_0xd3f3('0x5c')][0x6]?_0x53ce2b[_0xd3f3('0x5c')][0x6][_0xd3f3('0x5d')]:undefined)||''},{'name':_0xd3f3('0x6c'),'value':_0x53ce2b[_0xd3f3('0x6c')]||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b[_0xd3f3('0x5c')][0x7]?_0x53ce2b[_0xd3f3('0x5c')][0x7][_0xd3f3('0x5d')]:undefined)||''},{'name':_0xd3f3('0x6d'),'value':_0x53ce2b[_0xd3f3('0x6d')]||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b[_0xd3f3('0x5c')][0x8]?_0x53ce2b[_0xd3f3('0x5c')][0x8][_0xd3f3('0x5d')]:undefined)||''},{'name':_0xd3f3('0x6e'),'value':_0x53ce2b[_0xd3f3('0x6e')]||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b['attrs'][0x9]?_0x53ce2b['attrs'][0x9][_0xd3f3('0x5d')]:undefined)||''},{'name':_0xd3f3('0x6f'),'value':_0x53ce2b['attrChatWebsites']||(_0x53ce2b[_0xd3f3('0x5c')]&&_0x53ce2b[_0xd3f3('0x5c')][0xa]?_0x53ce2b['attrs'][0xa]['value']:undefined)||''}];case _0xd3f3('0x77'):return[{'name':'attrReport','type':_0x53ce2b[_0xd3f3('0x78')]||(_0x53ce2b['attrs']&&_0x53ce2b['attrs'][0x0]?_0x53ce2b['attrs'][0x0][_0xd3f3('0x33')]:undefined)||null,'value':_0x53ce2b[_0xd3f3('0x79')]||(_0x53ce2b['attrs']&&_0x53ce2b[_0xd3f3('0x5c')][0x0]?_0x53ce2b[_0xd3f3('0x5c')][0x0][_0xd3f3('0x5d')]:undefined)||null},{'name':'attrRefresh','value':_0x53ce2b['attrRefresh']||(_0x53ce2b['attrs']&&_0x53ce2b[_0xd3f3('0x5c')][0x1]?_0x53ce2b[_0xd3f3('0x5c')][0x1]['value']:undefined)||0x0}];default:return[];}}catch(_0x5647ae){logger[_0xd3f3('0x2b')]('widgetAttributes:\x20%s',JSON[_0xd3f3('0x7a')](_0x5647ae));return[];}}exports['addItem']=function(_0x2d43a1,_0x36c0fd,_0x4c574d){if(_0x2d43a1['body']['id']){delete _0x2d43a1[_0xd3f3('0x58')]['id'];}return db['Dashboard'][_0xd3f3('0x4b')]({'where':{'id':_0x2d43a1[_0xd3f3('0x49')]['id']}})['then'](handleEntityNotFound(_0x36c0fd,null))['then'](function(_0x5d7c15){if(_0x5d7c15){_0x2d43a1['body'][_0xd3f3('0x7b')]=_0x5d7c15['id'];_0x2d43a1[_0xd3f3('0x58')][_0xd3f3('0x5c')]=widgetAttributes(_0x2d43a1['body']);return db[_0xd3f3('0x7c')]['create'](_0x2d43a1[_0xd3f3('0x58')]);}})[_0xd3f3('0x25')](respondWithResult(_0x36c0fd,null))['catch'](handleError(_0x36c0fd,null));};exports['getItems']=function(_0x2228e4,_0x16ec96,_0x32d3ad){var _0x3e0227={};var _0x5663dc={};var _0x264790;var _0x894e8e;return db['Dashboard'][_0xd3f3('0x7d')]({'where':{'id':_0x2228e4[_0xd3f3('0x49')]['id']}})[_0xd3f3('0x25')](handleEntityNotFound(_0x16ec96,null))[_0xd3f3('0x25')](function(_0x4a30e3){if(_0x4a30e3){_0x264790=_0x4a30e3;_0x5663dc[_0xd3f3('0x35')]=_[_0xd3f3('0x37')](db[_0xd3f3('0x7c')][_0xd3f3('0x32')]);_0x5663dc[_0xd3f3('0x36')]=_[_0xd3f3('0x37')](_0x2228e4[_0xd3f3('0x36')]);_0x5663dc[_0xd3f3('0x38')]=_['intersection'](_0x5663dc['model'],_0x5663dc[_0xd3f3('0x36')]);_0x3e0227[_0xd3f3('0x39')]=_[_0xd3f3('0x3a')](_0x5663dc['model'],qs['fields'](_0x2228e4[_0xd3f3('0x36')][_0xd3f3('0x3b')]));_0x3e0227['attributes']=_0x3e0227[_0xd3f3('0x39')]['length']?_0x3e0227['attributes']:_0x5663dc[_0xd3f3('0x35')];_0x3e0227['order']=qs['sort'](_0x2228e4[_0xd3f3('0x36')]['sort']);_0x3e0227['where']=qs['filters'](_['pick'](_0x2228e4[_0xd3f3('0x36')],_0x5663dc[_0xd3f3('0x38')]));if(_0x2228e4[_0xd3f3('0x36')]['filter']){_0x3e0227[_0xd3f3('0x41')]=_['merge'](_0x3e0227[_0xd3f3('0x41')],{'$or':_['map'](_0x3e0227[_0xd3f3('0x39')],function(_0xa81368){var _0xa2f120={};_0xa2f120[_0xa81368]={'$like':'%'+_0x2228e4['query'][_0xd3f3('0x43')]+'%'};return _0xa2f120;})});}_0x3e0227=_[_0xd3f3('0x44')]({},_0x3e0227,_0x2228e4[_0xd3f3('0x4a')]);return _0x264790[_0xd3f3('0x7e')](_0x3e0227);}})[_0xd3f3('0x25')](function(_0x3832c3){if(_0x3832c3){_0x894e8e=_0x3832c3[_0xd3f3('0x3c')];if(!_0x2228e4[_0xd3f3('0x36')]['hasOwnProperty'](_0xd3f3('0x3e'))){_0x3e0227[_0xd3f3('0x1f')]=qs[_0xd3f3('0x1f')](_0x2228e4[_0xd3f3('0x36')][_0xd3f3('0x1f')]);_0x3e0227[_0xd3f3('0x1d')]=qs['offset'](_0x2228e4[_0xd3f3('0x36')][_0xd3f3('0x1d')]);}return _0x264790[_0xd3f3('0x7e')](_0x3e0227);}})['then'](function(_0x2520d7){if(_0x2520d7){return _0x2520d7?{'count':_0x894e8e,'rows':_0x2520d7}:null;}})[_0xd3f3('0x25')](respondWithResult(_0x16ec96,null))[_0xd3f3('0x52')](handleError(_0x16ec96,null));};