46a99276724f0f47bf8d7e78154751f66556b2ae
[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 _0x1cf3=['stack','name','send','index','map','Dashboard','rawAttributes','type','model','query','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','filter','VIRTUAL','merge','options','includeAll','include','catch','show','params','keys','length','find','create','body','get','role','user','CustomDashboards','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','omit','createdAt','updatedAt','Unable\x20to\x20retrieve\x20the\x20current\x20user','attrUrl','attrs','value','https://','custom','attrPath','clock','attrHourFormat','HH:mm:ss','attrTimezone','attrFontSize','counter','attrMetric','total','attrVoiceQueues','pie-chart','attrSerie2','attrSerie3','web-report','attrReport','attrRefresh','widgetAttributes:\x20%s','stringify','DashboardItem','getItems','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','sox','to-csv','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','socket.io-emitter','./dashboard.socket','sendStatus','status','end','count','offset','limit','set','json','apply','save','update','then','destroy','UserProfileResource','error'];(function(_0xfae23b,_0x2be4ba){var _0x200640=function(_0x4ae258){while(--_0x4ae258){_0xfae23b['push'](_0xfae23b['shift']());}};_0x200640(++_0x2be4ba);}(_0x1cf3,0x193));var _0x31cf=function(_0x284531,_0x32b872){_0x284531=_0x284531-0x0;var _0x43101f=_0x1cf3[_0x284531];return _0x43101f;};'use strict';var pdf=require(_0x31cf('0x0'));var emlformat=require(_0x31cf('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x31cf('0x2'));var jsonpatch=require(_0x31cf('0x3'));var rp=require(_0x31cf('0x4'));var moment=require(_0x31cf('0x5'));var BPromise=require(_0x31cf('0x6'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x31cf('0x7'));var csv=require(_0x31cf('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x31cf('0x9'));var jsforce=require(_0x31cf('0xa'));var deskjs=require(_0x31cf('0xb'));var toCsv=require('to-csv');var querystring=require(_0x31cf('0xc'));var Papa=require(_0x31cf('0xd'));var Redis=require(_0x31cf('0xe'));var authService=require(_0x31cf('0xf'));var qs=require(_0x31cf('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x31cf('0x11'))(_0x31cf('0x12'));var utils=require(_0x31cf('0x13'));var config=require(_0x31cf('0x14'));var licenseUtil=require(_0x31cf('0x15'));var db=require(_0x31cf('0x16'))['db'];config['redis']=_['defaults'](config[_0x31cf('0x17')],{'host':'localhost','port':0x18eb});var socket=require(_0x31cf('0x18'))(new Redis(config[_0x31cf('0x17')]));require(_0x31cf('0x19'))['register'](socket);function respondWithStatusCode(_0x30aa01,_0x1c3658){_0x1c3658=_0x1c3658||0xcc;return function(_0x17cf0c){if(_0x17cf0c){return _0x30aa01[_0x31cf('0x1a')](_0x1c3658);}return _0x30aa01[_0x31cf('0x1b')](_0x1c3658)[_0x31cf('0x1c')]();};}function respondWithResult(_0x547a75,_0x450c03){_0x450c03=_0x450c03||0xc8;return function(_0x32d38e){if(_0x32d38e){return _0x547a75['status'](_0x450c03)['json'](_0x32d38e);}};}function respondWithFilteredResult(_0x30be96,_0x1d2e70){return function(_0x3b49ca){if(_0x3b49ca){var _0x3e8396=_0x3b49ca[_0x31cf('0x1d')],_0x6c3478=_0x1d2e70[_0x31cf('0x1e')],_0x4d58ca=_0x1d2e70[_0x31cf('0x1e')]+_0x1d2e70[_0x31cf('0x1f')],_0x1d8444;if(_0x4d58ca>=_0x3e8396){_0x4d58ca=_0x3e8396;_0x1d8444=0xc8;}else{_0x1d8444=0xce;}_0x30be96[_0x31cf('0x1b')](_0x1d8444);return _0x30be96[_0x31cf('0x20')]('Content-Range',_0x6c3478+'-'+_0x4d58ca+'/'+_0x3e8396)[_0x31cf('0x21')](_0x3b49ca);}return null;};}function patchUpdates(_0x1c7f78){return function(_0x59421c){try{jsonpatch[_0x31cf('0x22')](_0x59421c,_0x1c7f78,!![]);}catch(_0x35e5e7){return BPromise['reject'](_0x35e5e7);}return _0x59421c[_0x31cf('0x23')]();};}function saveUpdates(_0x30ad9d,_0x4380d9){return function(_0x34710e){if(_0x34710e){return _0x34710e[_0x31cf('0x24')](_0x30ad9d)[_0x31cf('0x25')](function(_0x40df85){return _0x40df85;});}return null;};}function removeEntity(_0x352eb1,_0x251ae4){return function(_0x118ad0){if(_0x118ad0){return _0x118ad0[_0x31cf('0x26')]()[_0x31cf('0x25')](function(){var _0x33b77f=_0x118ad0['get']({'plain':!![]});var _0x24af76='CustomDashboards';return db[_0x31cf('0x27')]['destroy']({'where':{'type':_0x24af76,'resourceId':_0x33b77f['id']}})['then'](function(){return _0x118ad0;});})[_0x31cf('0x25')](function(){_0x352eb1[_0x31cf('0x1b')](0xcc)[_0x31cf('0x1c')]();});}};}function handleEntityNotFound(_0x3a8ce8,_0x48ef0e){return function(_0x5c663e){if(!_0x5c663e){_0x3a8ce8[_0x31cf('0x1a')](0x194);}return _0x5c663e;};}function handleError(_0x17be73,_0x3189ef){_0x3189ef=_0x3189ef||0x1f4;return function(_0x27ea13){logger[_0x31cf('0x28')](_0x27ea13[_0x31cf('0x29')]);if(_0x27ea13[_0x31cf('0x2a')]){delete _0x27ea13[_0x31cf('0x2a')];}_0x17be73[_0x31cf('0x1b')](_0x3189ef)[_0x31cf('0x2b')](_0x27ea13);};}exports[_0x31cf('0x2c')]=function(_0x17920a,_0x5c88c8){var _0x35897e={},_0x43ef63={},_0x2fb75d={'count':0x0,'rows':[]};var _0x1c1fd7=_[_0x31cf('0x2d')](db[_0x31cf('0x2e')][_0x31cf('0x2f')],function(_0x401b60){return{'name':_0x401b60['fieldName'],'type':_0x401b60[_0x31cf('0x30')]['key']};});_0x43ef63[_0x31cf('0x31')]=_[_0x31cf('0x2d')](_0x1c1fd7,_0x31cf('0x2a'));_0x43ef63[_0x31cf('0x32')]=_['keys'](_0x17920a[_0x31cf('0x32')]);_0x43ef63['filters']=_[_0x31cf('0x33')](_0x43ef63['model'],_0x43ef63[_0x31cf('0x32')]);_0x35897e[_0x31cf('0x34')]=_[_0x31cf('0x33')](_0x43ef63[_0x31cf('0x31')],qs['fields'](_0x17920a[_0x31cf('0x32')][_0x31cf('0x35')]));_0x35897e['attributes']=_0x35897e['attributes']['length']?_0x35897e[_0x31cf('0x34')]:_0x43ef63[_0x31cf('0x31')];if(!_0x17920a[_0x31cf('0x32')][_0x31cf('0x36')](_0x31cf('0x37'))){_0x35897e[_0x31cf('0x1f')]=qs[_0x31cf('0x1f')](_0x17920a['query'][_0x31cf('0x1f')]);_0x35897e['offset']=qs[_0x31cf('0x1e')](_0x17920a['query']['offset']);}_0x35897e[_0x31cf('0x38')]=qs[_0x31cf('0x39')](_0x17920a[_0x31cf('0x32')][_0x31cf('0x39')]);_0x35897e[_0x31cf('0x3a')]=qs[_0x31cf('0x3b')](_['pick'](_0x17920a[_0x31cf('0x32')],_0x43ef63['filters']),_0x1c1fd7);if(_0x17920a['query'][_0x31cf('0x3c')]){_0x35897e[_0x31cf('0x3a')]=_['merge'](_0x35897e['where'],{'$or':_[_0x31cf('0x2d')](_0x1c1fd7,function(_0x2f11ac){if(_0x2f11ac[_0x31cf('0x30')]!==_0x31cf('0x3d')){var _0x40ce72={};_0x40ce72[_0x2f11ac['name']]={'$like':'%'+_0x17920a['query'][_0x31cf('0x3c')]+'%'};return _0x40ce72;}})});}_0x35897e=_[_0x31cf('0x3e')]({},_0x35897e,_0x17920a[_0x31cf('0x3f')]);var _0x2ecaae={'where':_0x35897e[_0x31cf('0x3a')]};return db[_0x31cf('0x2e')][_0x31cf('0x1d')](_0x2ecaae)['then'](function(_0x9ea1e6){_0x2fb75d[_0x31cf('0x1d')]=_0x9ea1e6;if(_0x17920a[_0x31cf('0x32')][_0x31cf('0x40')]){_0x35897e[_0x31cf('0x41')]=[{'all':!![]}];}return db[_0x31cf('0x2e')]['findAll'](_0x35897e);})[_0x31cf('0x25')](function(_0x501db9){_0x2fb75d['rows']=_0x501db9;return _0x2fb75d;})[_0x31cf('0x25')](respondWithFilteredResult(_0x5c88c8,_0x35897e))[_0x31cf('0x42')](handleError(_0x5c88c8,null));};exports[_0x31cf('0x43')]=function(_0x31e42c,_0x21fb04){var _0x5ce5d4={'raw':![],'where':{'id':_0x31e42c[_0x31cf('0x44')]['id']}},_0x2cbcd3={};_0x2cbcd3['model']=_[_0x31cf('0x45')](db[_0x31cf('0x2e')]['rawAttributes']);_0x2cbcd3['query']=_['keys'](_0x31e42c[_0x31cf('0x32')]);_0x2cbcd3[_0x31cf('0x3b')]=_['intersection'](_0x2cbcd3[_0x31cf('0x31')],_0x2cbcd3['query']);_0x5ce5d4['attributes']=_['intersection'](_0x2cbcd3['model'],qs['fields'](_0x31e42c[_0x31cf('0x32')][_0x31cf('0x35')]));_0x5ce5d4[_0x31cf('0x34')]=_0x5ce5d4[_0x31cf('0x34')][_0x31cf('0x46')]?_0x5ce5d4[_0x31cf('0x34')]:_0x2cbcd3[_0x31cf('0x31')];if(_0x31e42c[_0x31cf('0x32')]['includeAll']){_0x5ce5d4[_0x31cf('0x41')]=[{'all':!![]}];}_0x5ce5d4=_[_0x31cf('0x3e')]({},_0x5ce5d4,_0x31e42c['options']);return db[_0x31cf('0x2e')][_0x31cf('0x47')](_0x5ce5d4)[_0x31cf('0x25')](handleEntityNotFound(_0x21fb04,null))['then'](respondWithResult(_0x21fb04,null))[_0x31cf('0x42')](handleError(_0x21fb04,null));};exports[_0x31cf('0x48')]=function(_0x51cb75,_0x206ea3){return db['Dashboard']['create'](_0x51cb75[_0x31cf('0x49')],{})[_0x31cf('0x25')](function(_0x47b73d){var _0x5585ed=_0x51cb75['user'][_0x31cf('0x4a')]({'plain':!![]});if(!_0x5585ed)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5585ed[_0x31cf('0x4b')]===_0x31cf('0x4c')){var _0x5edb4c=_0x47b73d['get']({'plain':!![]});var _0x24eb39=_0x31cf('0x4d');return db[_0x31cf('0x4e')][_0x31cf('0x47')]({'where':{'name':_0x24eb39,'userProfileId':_0x5585ed[_0x31cf('0x4f')]},'raw':!![]})[_0x31cf('0x25')](function(_0xe8b8e2){if(_0xe8b8e2&&_0xe8b8e2[_0x31cf('0x50')]===0x0){return db['UserProfileResource'][_0x31cf('0x48')]({'name':_0x5edb4c[_0x31cf('0x2a')],'resourceId':_0x5edb4c['id'],'type':_0xe8b8e2[_0x31cf('0x2a')],'sectionId':_0xe8b8e2['id']},{})['then'](function(){return _0x47b73d;});}else{return _0x47b73d;}})['catch'](function(_0x7c1761){logger['error'](_0x31cf('0x51'),_0x7c1761);throw _0x7c1761;});}return _0x47b73d;})[_0x31cf('0x25')](respondWithResult(_0x206ea3,0xc9))[_0x31cf('0x42')](handleError(_0x206ea3,null));};exports['clone']=function(_0x387ba9,_0x286084){var _0x42a4a8={'where':{'id':_0x387ba9[_0x31cf('0x44')]['id']}},_0x26dde9={};_0x26dde9[_0x31cf('0x31')]=_[_0x31cf('0x45')](db['Dashboard'][_0x31cf('0x2f')]);_0x42a4a8[_0x31cf('0x34')]=_[_0x31cf('0x33')](_0x26dde9[_0x31cf('0x31')],qs[_0x31cf('0x35')](_0x387ba9['query'][_0x31cf('0x35')]));_0x42a4a8['attributes']=_0x42a4a8[_0x31cf('0x34')][_0x31cf('0x46')]?_0x42a4a8[_0x31cf('0x34')]:_0x26dde9[_0x31cf('0x31')];if(_0x387ba9[_0x31cf('0x32')][_0x31cf('0x40')]){_0x42a4a8[_0x31cf('0x41')]=[{'all':!![]}];}_0x42a4a8=_[_0x31cf('0x3e')]({},_0x42a4a8,_0x387ba9[_0x31cf('0x3f')]);return db[_0x31cf('0x2e')][_0x31cf('0x47')](_0x42a4a8)['then'](handleEntityNotFound(_0x286084,null))[_0x31cf('0x25')](function(_0x37a8c9){if(_0x37a8c9){var _0x50ee2d=_0x37a8c9['get']({'plain':!![]});_0x50ee2d=qs[_0x31cf('0x52')](_0x50ee2d,['id',_0x31cf('0x53'),_0x31cf('0x54')]);_0x387ba9[_0x31cf('0x49')]=_[_0x31cf('0x52')](_0x387ba9[_0x31cf('0x49')],['id',_0x31cf('0x53'),_0x31cf('0x54')]);return db[_0x31cf('0x2e')][_0x31cf('0x48')](_['merge'](_0x50ee2d,_0x387ba9[_0x31cf('0x49')]),{'include':_0x387ba9[_0x31cf('0x32')][_0x31cf('0x40')]?[{'all':!![]}]:undefined})[_0x31cf('0x25')](function(_0x2da1cb){var _0x1370c5=_0x387ba9[_0x31cf('0x4c')][_0x31cf('0x4a')]({'plain':!![]});if(!_0x1370c5)throw new Error(_0x31cf('0x55'));if(_0x1370c5[_0x31cf('0x4b')]==='user'){var _0x3c4c3f=_0x2da1cb[_0x31cf('0x4a')]({'plain':!![]});var _0x5ab211=_0x31cf('0x4d');return db[_0x31cf('0x4e')][_0x31cf('0x47')]({'where':{'name':_0x5ab211,'userProfileId':_0x1370c5[_0x31cf('0x4f')]},'raw':!![]})[_0x31cf('0x25')](function(_0x330b25){if(_0x330b25&&_0x330b25[_0x31cf('0x50')]===0x0){return db[_0x31cf('0x27')][_0x31cf('0x48')]({'name':_0x3c4c3f['name'],'resourceId':_0x3c4c3f['id'],'type':_0x330b25[_0x31cf('0x2a')],'sectionId':_0x330b25['id']},{})[_0x31cf('0x25')](function(){return _0x2da1cb;});}else{return _0x2da1cb;}})[_0x31cf('0x42')](function(_0x1f93c4){logger[_0x31cf('0x28')](_0x31cf('0x51'),_0x1f93c4);throw _0x1f93c4;});}return _0x2da1cb;});}})['then'](respondWithResult(_0x286084,0xc9))[_0x31cf('0x42')](handleError(_0x286084,null));};exports['update']=function(_0x163d2e,_0x33770a){if(_0x163d2e[_0x31cf('0x49')]['id']){delete _0x163d2e['body']['id'];}return db[_0x31cf('0x2e')][_0x31cf('0x47')]({'where':{'id':_0x163d2e[_0x31cf('0x44')]['id']}})[_0x31cf('0x25')](handleEntityNotFound(_0x33770a,null))[_0x31cf('0x25')](saveUpdates(_0x163d2e[_0x31cf('0x49')],null))[_0x31cf('0x25')](respondWithResult(_0x33770a,null))[_0x31cf('0x42')](handleError(_0x33770a,null));};exports['destroy']=function(_0x1a4b1d,_0xe53bf1){return db[_0x31cf('0x2e')]['find']({'where':{'id':_0x1a4b1d[_0x31cf('0x44')]['id']}})[_0x31cf('0x25')](handleEntityNotFound(_0xe53bf1,null))[_0x31cf('0x25')](removeEntity(_0xe53bf1,null))['catch'](handleError(_0xe53bf1,null));};function widgetAttributes(_0x317bed){try{switch(_0x317bed['type']){case'iframe':return[{'name':_0x31cf('0x56'),'value':_0x317bed[_0x31cf('0x56')]||(_0x317bed[_0x31cf('0x57')]&&_0x317bed[_0x31cf('0x57')][0x0]?_0x317bed[_0x31cf('0x57')][0x0][_0x31cf('0x58')]:undefined)||_0x31cf('0x59')}];case _0x31cf('0x5a'):return[{'name':_0x31cf('0x5b'),'value':_0x317bed[_0x31cf('0x5b')]||(_0x317bed[_0x31cf('0x57')]&&_0x317bed[_0x31cf('0x57')][0x0]?_0x317bed[_0x31cf('0x57')][0x0][_0x31cf('0x58')]:undefined)||''}];case _0x31cf('0x5c'):return[{'name':'attrHourFormat','value':_0x317bed[_0x31cf('0x5d')]||(_0x317bed[_0x31cf('0x57')]&&_0x317bed[_0x31cf('0x57')][0x0]?_0x317bed[_0x31cf('0x57')][0x0]['value']:undefined)||_0x31cf('0x5e')},{'name':_0x31cf('0x5f'),'value':_0x317bed[_0x31cf('0x5f')]||(_0x317bed[_0x31cf('0x57')]&&_0x317bed['attrs'][0x1]?_0x317bed[_0x31cf('0x57')][0x1][_0x31cf('0x58')]:undefined)||'0.00'},{'name':_0x31cf('0x60'),'value':_0x317bed[_0x31cf('0x60')]||(_0x317bed[_0x31cf('0x57')]&&_0x317bed['attrs'][0x2]?_0x317bed[_0x31cf('0x57')][0x2]['value']:undefined)||0xc}];case _0x31cf('0x61'):return[{'name':_0x31cf('0x62'),'value':_0x317bed[_0x31cf('0x62')]||(_0x317bed[_0x31cf('0x57')]&&_0x317bed['attrs'][0x0]?_0x317bed[_0x31cf('0x57')][0x0][_0x31cf('0x58')]:undefined)||_0x31cf('0x63')},{'name':_0x31cf('0x64'),'value':_0x317bed[_0x31cf('0x64')]||(_0x317bed[_0x31cf('0x57')]&&_0x317bed[_0x31cf('0x57')][0x1]?_0x317bed[_0x31cf('0x57')][0x1][_0x31cf('0x58')]:undefined)||[]},{'name':_0x31cf('0x60'),'value':_0x317bed[_0x31cf('0x60')]||(_0x317bed[_0x31cf('0x57')]&&_0x317bed[_0x31cf('0x57')][0x2]?_0x317bed[_0x31cf('0x57')][0x2]['value']:undefined)||0x14}];case'multibar-chart':case _0x31cf('0x65'):return[{'name':'attrSerie1','value':_0x317bed['attrSerie1']||(_0x317bed[_0x31cf('0x57')]&&_0x317bed['attrs'][0x0]?_0x317bed[_0x31cf('0x57')][0x0][_0x31cf('0x58')]:undefined)||_0x31cf('0x63')},{'name':_0x31cf('0x66'),'value':_0x317bed[_0x31cf('0x66')]||(_0x317bed['attrs']&&_0x317bed['attrs'][0x1]?_0x317bed[_0x31cf('0x57')][0x1][_0x31cf('0x58')]:undefined)||null},{'name':_0x31cf('0x67'),'value':_0x317bed['attrSerie3']||(_0x317bed[_0x31cf('0x57')]&&_0x317bed['attrs'][0x2]?_0x317bed[_0x31cf('0x57')][0x2][_0x31cf('0x58')]:undefined)||null},{'name':_0x31cf('0x64'),'value':_0x317bed[_0x31cf('0x64')]||(_0x317bed[_0x31cf('0x57')]&&_0x317bed['attrs'][0x3]?_0x317bed[_0x31cf('0x57')][0x3]['value']:undefined)||[]}];case _0x31cf('0x68'):return[{'name':_0x31cf('0x69'),'type':_0x317bed['reportType']||(_0x317bed['attrs']&&_0x317bed[_0x31cf('0x57')][0x0]?_0x317bed[_0x31cf('0x57')][0x0][_0x31cf('0x30')]:undefined)||null,'value':_0x317bed[_0x31cf('0x69')]||(_0x317bed[_0x31cf('0x57')]&&_0x317bed[_0x31cf('0x57')][0x0]?_0x317bed[_0x31cf('0x57')][0x0][_0x31cf('0x58')]:undefined)||null},{'name':_0x31cf('0x6a'),'value':_0x317bed[_0x31cf('0x6a')]||(_0x317bed['attrs']&&_0x317bed[_0x31cf('0x57')][0x1]?_0x317bed[_0x31cf('0x57')][0x1][_0x31cf('0x58')]:undefined)||0x0}];default:return[];}}catch(_0x2c3ffa){logger['error'](_0x31cf('0x6b'),JSON[_0x31cf('0x6c')](_0x2c3ffa));return[];}}exports['addItem']=function(_0x1f1227,_0x47aa23,_0x599729){if(_0x1f1227['body']['id']){delete _0x1f1227[_0x31cf('0x49')]['id'];}return db[_0x31cf('0x2e')][_0x31cf('0x47')]({'where':{'id':_0x1f1227['params']['id']}})[_0x31cf('0x25')](handleEntityNotFound(_0x47aa23,null))[_0x31cf('0x25')](function(_0x48caf0){if(_0x48caf0){_0x1f1227['body']['DashboardId']=_0x48caf0['id'];_0x1f1227[_0x31cf('0x49')][_0x31cf('0x57')]=widgetAttributes(_0x1f1227['body']);return db[_0x31cf('0x6d')]['create'](_0x1f1227[_0x31cf('0x49')]);}})[_0x31cf('0x25')](respondWithResult(_0x47aa23,null))[_0x31cf('0x42')](handleError(_0x47aa23,null));};exports[_0x31cf('0x6e')]=function(_0x484a2e,_0x28d252,_0x30f11b){var _0xb78257={};var _0x4542a8={};var _0x2042a0;var _0x2224fd;return db[_0x31cf('0x2e')]['findOne']({'where':{'id':_0x484a2e[_0x31cf('0x44')]['id']}})['then'](handleEntityNotFound(_0x28d252,null))[_0x31cf('0x25')](function(_0x2d7a63){if(_0x2d7a63){_0x2042a0=_0x2d7a63;_0x4542a8[_0x31cf('0x31')]=_[_0x31cf('0x45')](db[_0x31cf('0x6d')][_0x31cf('0x2f')]);_0x4542a8[_0x31cf('0x32')]=_['keys'](_0x484a2e['query']);_0x4542a8[_0x31cf('0x3b')]=_[_0x31cf('0x33')](_0x4542a8['model'],_0x4542a8[_0x31cf('0x32')]);_0xb78257['attributes']=_[_0x31cf('0x33')](_0x4542a8[_0x31cf('0x31')],qs['fields'](_0x484a2e[_0x31cf('0x32')][_0x31cf('0x35')]));_0xb78257[_0x31cf('0x34')]=_0xb78257[_0x31cf('0x34')]['length']?_0xb78257['attributes']:_0x4542a8[_0x31cf('0x31')];_0xb78257[_0x31cf('0x38')]=qs[_0x31cf('0x39')](_0x484a2e[_0x31cf('0x32')][_0x31cf('0x39')]);_0xb78257[_0x31cf('0x3a')]=qs[_0x31cf('0x3b')](_['pick'](_0x484a2e[_0x31cf('0x32')],_0x4542a8[_0x31cf('0x3b')]));if(_0x484a2e[_0x31cf('0x32')]['filter']){_0xb78257[_0x31cf('0x3a')]=_['merge'](_0xb78257[_0x31cf('0x3a')],{'$or':_['map'](_0xb78257[_0x31cf('0x34')],function(_0x1ecae3){var _0x3770cc={};_0x3770cc[_0x1ecae3]={'$like':'%'+_0x484a2e['query'][_0x31cf('0x3c')]+'%'};return _0x3770cc;})});}_0xb78257=_[_0x31cf('0x3e')]({},_0xb78257,_0x484a2e['options']);return _0x2042a0[_0x31cf('0x6e')](_0xb78257);}})[_0x31cf('0x25')](function(_0x2e0758){if(_0x2e0758){_0x2224fd=_0x2e0758['length'];if(!_0x484a2e['query']['hasOwnProperty'](_0x31cf('0x37'))){_0xb78257[_0x31cf('0x1f')]=qs[_0x31cf('0x1f')](_0x484a2e[_0x31cf('0x32')][_0x31cf('0x1f')]);_0xb78257[_0x31cf('0x1e')]=qs[_0x31cf('0x1e')](_0x484a2e[_0x31cf('0x32')][_0x31cf('0x1e')]);}return _0x2042a0[_0x31cf('0x6e')](_0xb78257);}})['then'](function(_0x4ac62f){if(_0x4ac62f){return _0x4ac62f?{'count':_0x2224fd,'rows':_0x4ac62f}:null;}})['then'](respondWithResult(_0x28d252,null))['catch'](handleError(_0x28d252,null));};