Built motion from commit 85328c08.|2.5.50
[motion2.git] / server / api / intDeskConfiguration / intDeskConfiguration.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 _0xf6d9=['error','stack','name','send','index','rawAttributes','fieldName','type','key','map','query','keys','intersection','model','attributes','fields','length','nolimit','order','sort','where','filters','filter','merge','VIRTUAL','options','DeskConfiguration','includeAll','include','findAll','catch','show','params','find','create','body','update','getFields','hasOwnProperty','findOne','pick','getSubjects','getDescriptions','DeskField','getTags','setTags','ids','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','json','offset','undefined','count','limit','status','set','Content-Range','apply','reject','save','then'];(function(_0xabfec4,_0x35076e){var _0x7bafa2=function(_0x52d551){while(--_0x52d551){_0xabfec4['push'](_0xabfec4['shift']());}};_0x7bafa2(++_0x35076e);}(_0xf6d9,0x13a));var _0x9f6d=function(_0x5c5c87,_0xfeceb3){_0x5c5c87=_0x5c5c87-0x0;var _0xd83eee=_0xf6d9[_0x5c5c87];return _0xd83eee;};'use strict';var emlformat=require(_0x9f6d('0x0'));var rimraf=require(_0x9f6d('0x1'));var zipdir=require(_0x9f6d('0x2'));var jsonpatch=require(_0x9f6d('0x3'));var rp=require(_0x9f6d('0x4'));var moment=require('moment');var BPromise=require(_0x9f6d('0x5'));var Mustache=require('mustache');var util=require(_0x9f6d('0x6'));var path=require(_0x9f6d('0x7'));var sox=require(_0x9f6d('0x8'));var csv=require(_0x9f6d('0x9'));var ejs=require(_0x9f6d('0xa'));var fs=require('fs');var fs_extra=require(_0x9f6d('0xb'));var _=require(_0x9f6d('0xc'));var squel=require(_0x9f6d('0xd'));var crypto=require(_0x9f6d('0xe'));var jsforce=require(_0x9f6d('0xf'));var deskjs=require(_0x9f6d('0x10'));var toCsv=require('to-csv');var querystring=require(_0x9f6d('0x11'));var Papa=require(_0x9f6d('0x12'));var Redis=require('ioredis');var authService=require(_0x9f6d('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x9f6d('0x14'));var hardwareService=require(_0x9f6d('0x15'));var logger=require(_0x9f6d('0x16'))(_0x9f6d('0x17'));var utils=require(_0x9f6d('0x18'));var config=require(_0x9f6d('0x19'));var licenseUtil=require(_0x9f6d('0x1a'));var db=require(_0x9f6d('0x1b'))['db'];function respondWithStatusCode(_0x8de2af,_0x50acc6){_0x50acc6=_0x50acc6||0xcc;return function(_0x15ad04){if(_0x15ad04){return _0x8de2af[_0x9f6d('0x1c')](_0x50acc6);}return _0x8de2af['status'](_0x50acc6)[_0x9f6d('0x1d')]();};}function respondWithResult(_0x1a5357,_0x45334d){_0x45334d=_0x45334d||0xc8;return function(_0x3a4517){if(_0x3a4517){return _0x1a5357['status'](_0x45334d)[_0x9f6d('0x1e')](_0x3a4517);}};}function respondWithFilteredResult(_0x25634c,_0x3a6282){return function(_0x108719){if(_0x108719){var _0x2a8299=typeof _0x3a6282[_0x9f6d('0x1f')]===_0x9f6d('0x20')&&typeof _0x3a6282['limit']===_0x9f6d('0x20');var _0x1c36fa=_0x108719['count'];var _0x135fa2=_0x2a8299?0x0:_0x3a6282[_0x9f6d('0x1f')];var _0x2a3167=_0x2a8299?_0x108719[_0x9f6d('0x21')]:_0x3a6282[_0x9f6d('0x1f')]+_0x3a6282[_0x9f6d('0x22')];var _0x5e953c;if(_0x2a3167>=_0x1c36fa){_0x2a3167=_0x1c36fa;_0x5e953c=0xc8;}else{_0x5e953c=0xce;}_0x25634c[_0x9f6d('0x23')](_0x5e953c);return _0x25634c[_0x9f6d('0x24')](_0x9f6d('0x25'),_0x135fa2+'-'+_0x2a3167+'/'+_0x1c36fa)[_0x9f6d('0x1e')](_0x108719);}return null;};}function patchUpdates(_0x19c030){return function(_0x4b062b){try{jsonpatch[_0x9f6d('0x26')](_0x4b062b,_0x19c030,!![]);}catch(_0x34f76f){return BPromise[_0x9f6d('0x27')](_0x34f76f);}return _0x4b062b[_0x9f6d('0x28')]();};}function saveUpdates(_0x39ed3b,_0x19b61b){return function(_0x281687){if(_0x281687){return _0x281687['update'](_0x39ed3b)[_0x9f6d('0x29')](function(_0x1baa1a){return _0x1baa1a;});}return null;};}function removeEntity(_0x51858e,_0x51148f){return function(_0x21705e){if(_0x21705e){return _0x21705e['destroy']()[_0x9f6d('0x29')](function(){_0x51858e[_0x9f6d('0x23')](0xcc)[_0x9f6d('0x1d')]();});}};}function handleEntityNotFound(_0x2e062,_0xac076c){return function(_0x49ea83){if(!_0x49ea83){_0x2e062[_0x9f6d('0x1c')](0x194);}return _0x49ea83;};}function handleError(_0x1d62ce,_0x39dc8b){_0x39dc8b=_0x39dc8b||0x1f4;return function(_0x11909b){logger[_0x9f6d('0x2a')](_0x11909b[_0x9f6d('0x2b')]);if(_0x11909b[_0x9f6d('0x2c')]){delete _0x11909b[_0x9f6d('0x2c')];}_0x1d62ce[_0x9f6d('0x23')](_0x39dc8b)[_0x9f6d('0x2d')](_0x11909b);};}exports[_0x9f6d('0x2e')]=function(_0x3f884c,_0x102bc2){var _0x2ad2a2={},_0x5506ba={},_0x2ca80e={'count':0x0,'rows':[]};var _0x3caf07=_['map'](db['DeskConfiguration'][_0x9f6d('0x2f')],function(_0x522e8f){return{'name':_0x522e8f[_0x9f6d('0x30')],'type':_0x522e8f[_0x9f6d('0x31')][_0x9f6d('0x32')]};});_0x5506ba['model']=_[_0x9f6d('0x33')](_0x3caf07,_0x9f6d('0x2c'));_0x5506ba[_0x9f6d('0x34')]=_[_0x9f6d('0x35')](_0x3f884c[_0x9f6d('0x34')]);_0x5506ba['filters']=_[_0x9f6d('0x36')](_0x5506ba[_0x9f6d('0x37')],_0x5506ba[_0x9f6d('0x34')]);_0x2ad2a2[_0x9f6d('0x38')]=_[_0x9f6d('0x36')](_0x5506ba[_0x9f6d('0x37')],qs[_0x9f6d('0x39')](_0x3f884c[_0x9f6d('0x34')][_0x9f6d('0x39')]));_0x2ad2a2[_0x9f6d('0x38')]=_0x2ad2a2[_0x9f6d('0x38')][_0x9f6d('0x3a')]?_0x2ad2a2[_0x9f6d('0x38')]:_0x5506ba[_0x9f6d('0x37')];if(!_0x3f884c['query']['hasOwnProperty'](_0x9f6d('0x3b'))){_0x2ad2a2[_0x9f6d('0x22')]=qs['limit'](_0x3f884c[_0x9f6d('0x34')][_0x9f6d('0x22')]);_0x2ad2a2[_0x9f6d('0x1f')]=qs[_0x9f6d('0x1f')](_0x3f884c['query'][_0x9f6d('0x1f')]);}_0x2ad2a2[_0x9f6d('0x3c')]=qs['sort'](_0x3f884c['query'][_0x9f6d('0x3d')]);_0x2ad2a2[_0x9f6d('0x3e')]=qs['filters'](_['pick'](_0x3f884c['query'],_0x5506ba[_0x9f6d('0x3f')]),_0x3caf07);if(_0x3f884c[_0x9f6d('0x34')][_0x9f6d('0x40')]){_0x2ad2a2['where']=_[_0x9f6d('0x41')](_0x2ad2a2['where'],{'$or':_[_0x9f6d('0x33')](_0x3caf07,function(_0x3e9ca0){if(_0x3e9ca0[_0x9f6d('0x31')]!==_0x9f6d('0x42')){var _0x531378={};_0x531378[_0x3e9ca0['name']]={'$like':'%'+_0x3f884c[_0x9f6d('0x34')][_0x9f6d('0x40')]+'%'};return _0x531378;}})});}_0x2ad2a2=_['merge']({},_0x2ad2a2,_0x3f884c[_0x9f6d('0x43')]);var _0x527370={'where':_0x2ad2a2['where']};return db[_0x9f6d('0x44')][_0x9f6d('0x21')](_0x527370)[_0x9f6d('0x29')](function(_0x139402){_0x2ca80e[_0x9f6d('0x21')]=_0x139402;if(_0x3f884c[_0x9f6d('0x34')][_0x9f6d('0x45')]){_0x2ad2a2[_0x9f6d('0x46')]=[{'all':!![]}];}return db[_0x9f6d('0x44')][_0x9f6d('0x47')](_0x2ad2a2);})[_0x9f6d('0x29')](function(_0x1987fa){_0x2ca80e['rows']=_0x1987fa;return _0x2ca80e;})['then'](respondWithFilteredResult(_0x102bc2,_0x2ad2a2))[_0x9f6d('0x48')](handleError(_0x102bc2,null));};exports[_0x9f6d('0x49')]=function(_0x45dad7,_0x56c004){var _0x405fcf={'raw':![],'where':{'id':_0x45dad7[_0x9f6d('0x4a')]['id']}},_0x3a4972={};_0x3a4972[_0x9f6d('0x37')]=_[_0x9f6d('0x35')](db['DeskConfiguration'][_0x9f6d('0x2f')]);_0x3a4972['query']=_[_0x9f6d('0x35')](_0x45dad7[_0x9f6d('0x34')]);_0x3a4972[_0x9f6d('0x3f')]=_[_0x9f6d('0x36')](_0x3a4972[_0x9f6d('0x37')],_0x3a4972['query']);_0x405fcf[_0x9f6d('0x38')]=_[_0x9f6d('0x36')](_0x3a4972['model'],qs['fields'](_0x45dad7[_0x9f6d('0x34')][_0x9f6d('0x39')]));_0x405fcf['attributes']=_0x405fcf[_0x9f6d('0x38')][_0x9f6d('0x3a')]?_0x405fcf[_0x9f6d('0x38')]:_0x3a4972['model'];if(_0x45dad7['query'][_0x9f6d('0x45')]){_0x405fcf[_0x9f6d('0x46')]=[{'all':!![]}];}_0x405fcf=_[_0x9f6d('0x41')]({},_0x405fcf,_0x45dad7['options']);return db[_0x9f6d('0x44')][_0x9f6d('0x4b')](_0x405fcf)[_0x9f6d('0x29')](handleEntityNotFound(_0x56c004,null))['then'](respondWithResult(_0x56c004,null))[_0x9f6d('0x48')](handleError(_0x56c004,null));};exports[_0x9f6d('0x4c')]=function(_0x9c9da2,_0x284214){return db[_0x9f6d('0x44')][_0x9f6d('0x4c')](_0x9c9da2[_0x9f6d('0x4d')],{})['then'](respondWithResult(_0x284214,0xc9))[_0x9f6d('0x48')](handleError(_0x284214,null));};exports[_0x9f6d('0x4e')]=function(_0x5c8dd4,_0x1b62e7){if(_0x5c8dd4[_0x9f6d('0x4d')]['id']){delete _0x5c8dd4['body']['id'];}return db['DeskConfiguration'][_0x9f6d('0x4b')]({'where':{'id':_0x5c8dd4[_0x9f6d('0x4a')]['id']}})[_0x9f6d('0x29')](handleEntityNotFound(_0x1b62e7,null))[_0x9f6d('0x29')](saveUpdates(_0x5c8dd4[_0x9f6d('0x4d')],null))[_0x9f6d('0x29')](respondWithResult(_0x1b62e7,null))[_0x9f6d('0x48')](handleError(_0x1b62e7,null));};exports['destroy']=function(_0x26e8ab,_0x3521d3){return db[_0x9f6d('0x44')][_0x9f6d('0x4b')]({'where':{'id':_0x26e8ab[_0x9f6d('0x4a')]['id']}})[_0x9f6d('0x29')](handleEntityNotFound(_0x3521d3,null))[_0x9f6d('0x29')](removeEntity(_0x3521d3,null))[_0x9f6d('0x48')](handleError(_0x3521d3,null));};exports[_0x9f6d('0x4f')]=function(_0x5ac316,_0xd1f4bb,_0x4a334c){var _0x3f22f9={};var _0x1284fc={};var _0x7fccfe;var _0x42b23f;return db[_0x9f6d('0x44')]['findOne']({'where':{'id':_0x5ac316[_0x9f6d('0x4a')]['id']}})[_0x9f6d('0x29')](handleEntityNotFound(_0xd1f4bb,null))[_0x9f6d('0x29')](function(_0x2c6780){if(_0x2c6780){_0x7fccfe=_0x2c6780;_0x1284fc[_0x9f6d('0x37')]=_['keys'](db['DeskField'][_0x9f6d('0x2f')]);_0x1284fc[_0x9f6d('0x34')]=_[_0x9f6d('0x35')](_0x5ac316[_0x9f6d('0x34')]);_0x1284fc['filters']=_['intersection'](_0x1284fc[_0x9f6d('0x37')],_0x1284fc[_0x9f6d('0x34')]);_0x3f22f9[_0x9f6d('0x38')]=_['intersection'](_0x1284fc['model'],qs[_0x9f6d('0x39')](_0x5ac316['query']['fields']));_0x3f22f9[_0x9f6d('0x38')]=_0x3f22f9[_0x9f6d('0x38')][_0x9f6d('0x3a')]?_0x3f22f9[_0x9f6d('0x38')]:_0x1284fc[_0x9f6d('0x37')];_0x3f22f9[_0x9f6d('0x3c')]=qs[_0x9f6d('0x3d')](_0x5ac316[_0x9f6d('0x34')][_0x9f6d('0x3d')]);_0x3f22f9[_0x9f6d('0x3e')]=qs[_0x9f6d('0x3f')](_['pick'](_0x5ac316[_0x9f6d('0x34')],_0x1284fc[_0x9f6d('0x3f')]));if(_0x5ac316['query'][_0x9f6d('0x40')]){_0x3f22f9[_0x9f6d('0x3e')]=_[_0x9f6d('0x41')](_0x3f22f9[_0x9f6d('0x3e')],{'$or':_[_0x9f6d('0x33')](_0x3f22f9[_0x9f6d('0x38')],function(_0x20b62b){var _0x36e566={};_0x36e566[_0x20b62b]={'$like':'%'+_0x5ac316[_0x9f6d('0x34')][_0x9f6d('0x40')]+'%'};return _0x36e566;})});}_0x3f22f9=_[_0x9f6d('0x41')]({},_0x3f22f9,_0x5ac316['options']);return _0x7fccfe[_0x9f6d('0x4f')](_0x3f22f9);}})[_0x9f6d('0x29')](function(_0x42208b){if(_0x42208b){_0x42b23f=_0x42208b['length'];if(!_0x5ac316[_0x9f6d('0x34')][_0x9f6d('0x50')](_0x9f6d('0x3b'))){_0x3f22f9[_0x9f6d('0x22')]=qs[_0x9f6d('0x22')](_0x5ac316[_0x9f6d('0x34')]['limit']);_0x3f22f9[_0x9f6d('0x1f')]=qs['offset'](_0x5ac316[_0x9f6d('0x34')][_0x9f6d('0x1f')]);}return _0x7fccfe[_0x9f6d('0x4f')](_0x3f22f9);}})[_0x9f6d('0x29')](function(_0x229829){if(_0x229829){return _0x229829?{'count':_0x42b23f,'rows':_0x229829}:null;}})[_0x9f6d('0x29')](respondWithResult(_0xd1f4bb,null))[_0x9f6d('0x48')](handleError(_0xd1f4bb,null));};exports['getSubjects']=function(_0x1cffb1,_0x25e896,_0x5bb8b7){var _0x5d8a4d={};var _0x1dddf2={};var _0x5b4141;var _0x53b343;return db['DeskConfiguration'][_0x9f6d('0x51')]({'where':{'id':_0x1cffb1['params']['id']}})[_0x9f6d('0x29')](handleEntityNotFound(_0x25e896,null))[_0x9f6d('0x29')](function(_0x5d23f6){if(_0x5d23f6){_0x5b4141=_0x5d23f6;_0x1dddf2[_0x9f6d('0x37')]=_[_0x9f6d('0x35')](db['DeskField'][_0x9f6d('0x2f')]);_0x1dddf2['query']=_[_0x9f6d('0x35')](_0x1cffb1[_0x9f6d('0x34')]);_0x1dddf2[_0x9f6d('0x3f')]=_[_0x9f6d('0x36')](_0x1dddf2['model'],_0x1dddf2[_0x9f6d('0x34')]);_0x5d8a4d[_0x9f6d('0x38')]=_[_0x9f6d('0x36')](_0x1dddf2[_0x9f6d('0x37')],qs['fields'](_0x1cffb1[_0x9f6d('0x34')][_0x9f6d('0x39')]));_0x5d8a4d[_0x9f6d('0x38')]=_0x5d8a4d[_0x9f6d('0x38')][_0x9f6d('0x3a')]?_0x5d8a4d[_0x9f6d('0x38')]:_0x1dddf2['model'];_0x5d8a4d[_0x9f6d('0x3c')]=qs[_0x9f6d('0x3d')](_0x1cffb1[_0x9f6d('0x34')][_0x9f6d('0x3d')]);_0x5d8a4d[_0x9f6d('0x3e')]=qs[_0x9f6d('0x3f')](_[_0x9f6d('0x52')](_0x1cffb1[_0x9f6d('0x34')],_0x1dddf2[_0x9f6d('0x3f')]));if(_0x1cffb1[_0x9f6d('0x34')]['filter']){_0x5d8a4d['where']=_[_0x9f6d('0x41')](_0x5d8a4d[_0x9f6d('0x3e')],{'$or':_[_0x9f6d('0x33')](_0x5d8a4d['attributes'],function(_0x4b1334){var _0x3e0c87={};_0x3e0c87[_0x4b1334]={'$like':'%'+_0x1cffb1[_0x9f6d('0x34')][_0x9f6d('0x40')]+'%'};return _0x3e0c87;})});}_0x5d8a4d=_[_0x9f6d('0x41')]({},_0x5d8a4d,_0x1cffb1[_0x9f6d('0x43')]);return _0x5b4141['getSubjects'](_0x5d8a4d);}})[_0x9f6d('0x29')](function(_0xf0969c){if(_0xf0969c){_0x53b343=_0xf0969c['length'];if(!_0x1cffb1[_0x9f6d('0x34')][_0x9f6d('0x50')]('nolimit')){_0x5d8a4d['limit']=qs[_0x9f6d('0x22')](_0x1cffb1[_0x9f6d('0x34')][_0x9f6d('0x22')]);_0x5d8a4d[_0x9f6d('0x1f')]=qs['offset'](_0x1cffb1[_0x9f6d('0x34')][_0x9f6d('0x1f')]);}return _0x5b4141[_0x9f6d('0x53')](_0x5d8a4d);}})['then'](function(_0x42c4de){if(_0x42c4de){return _0x42c4de?{'count':_0x53b343,'rows':_0x42c4de}:null;}})['then'](respondWithResult(_0x25e896,null))[_0x9f6d('0x48')](handleError(_0x25e896,null));};exports[_0x9f6d('0x54')]=function(_0x1b1fd9,_0x5361f2,_0x4d7eea){var _0x2d7356={};var _0x520567={};var _0x4ee590;var _0x4f3da2;return db[_0x9f6d('0x44')][_0x9f6d('0x51')]({'where':{'id':_0x1b1fd9[_0x9f6d('0x4a')]['id']}})[_0x9f6d('0x29')](handleEntityNotFound(_0x5361f2,null))[_0x9f6d('0x29')](function(_0x214f84){if(_0x214f84){_0x4ee590=_0x214f84;_0x520567['model']=_[_0x9f6d('0x35')](db[_0x9f6d('0x55')][_0x9f6d('0x2f')]);_0x520567[_0x9f6d('0x34')]=_['keys'](_0x1b1fd9['query']);_0x520567[_0x9f6d('0x3f')]=_[_0x9f6d('0x36')](_0x520567[_0x9f6d('0x37')],_0x520567[_0x9f6d('0x34')]);_0x2d7356['attributes']=_['intersection'](_0x520567[_0x9f6d('0x37')],qs[_0x9f6d('0x39')](_0x1b1fd9[_0x9f6d('0x34')][_0x9f6d('0x39')]));_0x2d7356['attributes']=_0x2d7356[_0x9f6d('0x38')][_0x9f6d('0x3a')]?_0x2d7356['attributes']:_0x520567['model'];_0x2d7356[_0x9f6d('0x3c')]=qs['sort'](_0x1b1fd9[_0x9f6d('0x34')][_0x9f6d('0x3d')]);_0x2d7356[_0x9f6d('0x3e')]=qs[_0x9f6d('0x3f')](_[_0x9f6d('0x52')](_0x1b1fd9[_0x9f6d('0x34')],_0x520567[_0x9f6d('0x3f')]));if(_0x1b1fd9[_0x9f6d('0x34')]['filter']){_0x2d7356[_0x9f6d('0x3e')]=_[_0x9f6d('0x41')](_0x2d7356[_0x9f6d('0x3e')],{'$or':_[_0x9f6d('0x33')](_0x2d7356[_0x9f6d('0x38')],function(_0x46e290){var _0x545b2d={};_0x545b2d[_0x46e290]={'$like':'%'+_0x1b1fd9[_0x9f6d('0x34')][_0x9f6d('0x40')]+'%'};return _0x545b2d;})});}_0x2d7356=_[_0x9f6d('0x41')]({},_0x2d7356,_0x1b1fd9[_0x9f6d('0x43')]);return _0x4ee590[_0x9f6d('0x54')](_0x2d7356);}})[_0x9f6d('0x29')](function(_0x3c8009){if(_0x3c8009){_0x4f3da2=_0x3c8009['length'];if(!_0x1b1fd9[_0x9f6d('0x34')]['hasOwnProperty'](_0x9f6d('0x3b'))){_0x2d7356[_0x9f6d('0x22')]=qs['limit'](_0x1b1fd9[_0x9f6d('0x34')][_0x9f6d('0x22')]);_0x2d7356[_0x9f6d('0x1f')]=qs[_0x9f6d('0x1f')](_0x1b1fd9[_0x9f6d('0x34')][_0x9f6d('0x1f')]);}return _0x4ee590['getDescriptions'](_0x2d7356);}})[_0x9f6d('0x29')](function(_0x45c048){if(_0x45c048){return _0x45c048?{'count':_0x4f3da2,'rows':_0x45c048}:null;}})[_0x9f6d('0x29')](respondWithResult(_0x5361f2,null))[_0x9f6d('0x48')](handleError(_0x5361f2,null));};exports[_0x9f6d('0x56')]=function(_0x52b8d7,_0x4f6933,_0x291f14){var _0x460f06={};var _0x52ba5c={};var _0x4f0f87;var _0x4aa6ad;return db[_0x9f6d('0x44')][_0x9f6d('0x51')]({'where':{'id':_0x52b8d7[_0x9f6d('0x4a')]['id']}})[_0x9f6d('0x29')](handleEntityNotFound(_0x4f6933,null))[_0x9f6d('0x29')](function(_0x18e367){if(_0x18e367){_0x4f0f87=_0x18e367;_0x52ba5c[_0x9f6d('0x37')]=_['keys'](db['Tag'][_0x9f6d('0x2f')]);_0x52ba5c['query']=_[_0x9f6d('0x35')](_0x52b8d7[_0x9f6d('0x34')]);_0x52ba5c[_0x9f6d('0x3f')]=_['intersection'](_0x52ba5c[_0x9f6d('0x37')],_0x52ba5c['query']);_0x460f06[_0x9f6d('0x38')]=_[_0x9f6d('0x36')](_0x52ba5c['model'],qs[_0x9f6d('0x39')](_0x52b8d7[_0x9f6d('0x34')][_0x9f6d('0x39')]));_0x460f06[_0x9f6d('0x38')]=_0x460f06['attributes'][_0x9f6d('0x3a')]?_0x460f06[_0x9f6d('0x38')]:_0x52ba5c[_0x9f6d('0x37')];_0x460f06['order']=qs['sort'](_0x52b8d7['query'][_0x9f6d('0x3d')]);_0x460f06['where']=qs[_0x9f6d('0x3f')](_[_0x9f6d('0x52')](_0x52b8d7['query'],_0x52ba5c[_0x9f6d('0x3f')]));if(_0x52b8d7[_0x9f6d('0x34')][_0x9f6d('0x40')]){_0x460f06[_0x9f6d('0x3e')]=_[_0x9f6d('0x41')](_0x460f06[_0x9f6d('0x3e')],{'$or':_[_0x9f6d('0x33')](_0x460f06['attributes'],function(_0x72a260){var _0x66d599={};_0x66d599[_0x72a260]={'$like':'%'+_0x52b8d7[_0x9f6d('0x34')][_0x9f6d('0x40')]+'%'};return _0x66d599;})});}_0x460f06=_[_0x9f6d('0x41')]({},_0x460f06,_0x52b8d7[_0x9f6d('0x43')]);return _0x4f0f87[_0x9f6d('0x56')](_0x460f06);}})[_0x9f6d('0x29')](function(_0x2926f1){if(_0x2926f1){_0x4aa6ad=_0x2926f1[_0x9f6d('0x3a')];if(!_0x52b8d7['query'][_0x9f6d('0x50')](_0x9f6d('0x3b'))){_0x460f06['limit']=qs[_0x9f6d('0x22')](_0x52b8d7[_0x9f6d('0x34')][_0x9f6d('0x22')]);_0x460f06[_0x9f6d('0x1f')]=qs[_0x9f6d('0x1f')](_0x52b8d7['query'][_0x9f6d('0x1f')]);}return _0x4f0f87[_0x9f6d('0x56')](_0x460f06);}})[_0x9f6d('0x29')](function(_0x282e7f){if(_0x282e7f){return _0x282e7f?{'count':_0x4aa6ad,'rows':_0x282e7f}:null;}})[_0x9f6d('0x29')](respondWithResult(_0x4f6933,null))[_0x9f6d('0x48')](handleError(_0x4f6933,null));};exports[_0x9f6d('0x57')]=function(_0x409d6f,_0x6acc1c,_0x5c8650){if(_0x409d6f[_0x9f6d('0x4d')]['id']){delete _0x409d6f[_0x9f6d('0x4d')]['id'];}return db[_0x9f6d('0x44')]['findOne']({'where':{'id':_0x409d6f[_0x9f6d('0x4a')]['id']}})[_0x9f6d('0x29')](handleEntityNotFound(_0x6acc1c,null))['then'](function(_0x3d8578){if(_0x3d8578){return _0x3d8578[_0x9f6d('0x57')](_0x409d6f[_0x9f6d('0x4d')][_0x9f6d('0x58')]||[]);}return null;})[_0x9f6d('0x29')](respondWithResult(_0x6acc1c,null))['catch'](handleError(_0x6acc1c,null));};