d4b7b49db4a3e3821d89dc302b9510a231dbb242
[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 _0xe90a=['fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','merge','type','VIRTUAL','filter','options','DeskConfiguration','includeAll','include','findAll','rows','params','create','body','update','find','getFields','getSubjects','findOne','getDescriptions','getTags','setTags','eml-format','rimraf','zip-dir','request-promise','moment','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','then','info','DeskConfiguration,\x20%s,\x20%s','request\x20sent','debug','DeskConfiguration,\x20%s,\x20%s,\x20%s','error','code','message','result','catch','sendStatus','end','json','count','offset','status','set','save','destroy','name','send','index','map','rawAttributes','key','model','query','keys','filters','intersection','attributes'];(function(_0xceac7a,_0x50bd87){var _0x51fc46=function(_0x3d4ecd){while(--_0x3d4ecd){_0xceac7a['push'](_0xceac7a['shift']());}};_0x51fc46(++_0x50bd87);}(_0xe90a,0x132));var _0xae90=function(_0x2579b4,_0x908cf8){_0x2579b4=_0x2579b4-0x0;var _0x18cf67=_0xe90a[_0x2579b4];return _0x18cf67;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xae90('0x0'));var rimraf=require(_0xae90('0x1'));var zipdir=require(_0xae90('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xae90('0x3'));var moment=require(_0xae90('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xae90('0x5'));var path=require(_0xae90('0x6'));var sox=require(_0xae90('0x7'));var csv=require(_0xae90('0x8'));var ejs=require(_0xae90('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0xae90('0xa'));var crypto=require(_0xae90('0xb'));var jsforce=require(_0xae90('0xc'));var deskjs=require(_0xae90('0xd'));var toCsv=require('to-csv');var querystring=require(_0xae90('0xe'));var Papa=require(_0xae90('0xf'));var Redis=require(_0xae90('0x10'));var authService=require(_0xae90('0x11'));var qs=require(_0xae90('0x12'));var as=require(_0xae90('0x13'));var hardwareService=require(_0xae90('0x14'));var logger=require(_0xae90('0x15'))('api');var utils=require(_0xae90('0x16'));var config=require(_0xae90('0x17'));var licenseUtil=require(_0xae90('0x18'));var db=require(_0xae90('0x19'))['db'];var jayson=require(_0xae90('0x1a'));var client=jayson[_0xae90('0x1b')][_0xae90('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0x54de8d,_0x360e37,_0x558a0d,_0xcc8859){return new BPromise(function(_0x579ada,_0x202c9b){var _0x551d3e=_0xcc8859||client;return _0x551d3e[_0xae90('0x1d')](_0x54de8d,_0x558a0d)[_0xae90('0x1e')](function(_0x1c6173){logger[_0xae90('0x1f')](_0xae90('0x20'),_0x360e37,_0xae90('0x21'));logger[_0xae90('0x22')](_0xae90('0x23'),_0x360e37,_0xae90('0x21'),JSON['stringify'](_0x1c6173));if(_0x1c6173['error']){if(_0x1c6173[_0xae90('0x24')][_0xae90('0x25')]===0x1f4){logger['error'](_0xae90('0x20'),_0x360e37,_0x1c6173[_0xae90('0x24')][_0xae90('0x26')]);return _0x202c9b(_0x1c6173[_0xae90('0x24')][_0xae90('0x26')]);}logger['error'](_0xae90('0x20'),_0x360e37,_0x1c6173[_0xae90('0x24')]['message']);return _0x579ada(_0x1c6173[_0xae90('0x24')][_0xae90('0x26')]);}else{logger['info']('DeskConfiguration,\x20%s,\x20%s',_0x360e37,_0xae90('0x21'));_0x579ada(_0x1c6173[_0xae90('0x27')]['message']);}})[_0xae90('0x28')](function(_0x4d2936){logger[_0xae90('0x24')](_0xae90('0x20'),_0x360e37,_0x4d2936);_0x202c9b(_0x4d2936);});});}function respondWithStatusCode(_0x471688,_0xf7f962){_0xf7f962=_0xf7f962||0xcc;return function(_0x485908){if(_0x485908){return _0x471688[_0xae90('0x29')](_0xf7f962);}return _0x471688['status'](_0xf7f962)[_0xae90('0x2a')]();};}function respondWithResult(_0x5a8fbf,_0x52a5bb){_0x52a5bb=_0x52a5bb||0xc8;return function(_0x2102d5){if(_0x2102d5){return _0x5a8fbf['status'](_0x52a5bb)[_0xae90('0x2b')](_0x2102d5);}};}function respondWithFilteredResult(_0x231504,_0x42f436){return function(_0x11eb03){if(_0x11eb03){var _0x277481=_0x11eb03[_0xae90('0x2c')],_0x10583d=_0x42f436[_0xae90('0x2d')],_0x332779=_0x42f436[_0xae90('0x2d')]+_0x42f436['limit'],_0x3c0afc;if(_0x332779>=_0x277481){_0x332779=_0x277481;_0x3c0afc=0xc8;}else{_0x3c0afc=0xce;}_0x231504[_0xae90('0x2e')](_0x3c0afc);return _0x231504[_0xae90('0x2f')]('Content-Range',_0x10583d+'-'+_0x332779+'/'+_0x277481)[_0xae90('0x2b')](_0x11eb03);}return null;};}function patchUpdates(_0x531ae3){return function(_0x5bb866){try{jsonpatch['apply'](_0x5bb866,_0x531ae3,!![]);}catch(_0x3995f6){return BPromise['reject'](_0x3995f6);}return _0x5bb866[_0xae90('0x30')]();};}function saveUpdates(_0x4b8bbb,_0x2055ee){return function(_0x1dd967){if(_0x1dd967){return _0x1dd967['update'](_0x4b8bbb)[_0xae90('0x1e')](function(_0x316a72){return _0x316a72;});}return null;};}function removeEntity(_0x4cbfd1,_0x313189){return function(_0x4d4806){if(_0x4d4806){return _0x4d4806[_0xae90('0x31')]()[_0xae90('0x1e')](function(){_0x4cbfd1[_0xae90('0x2e')](0xcc)[_0xae90('0x2a')]();});}};}function handleEntityNotFound(_0x103f91,_0x5230ed){return function(_0x9cd258){if(!_0x9cd258){_0x103f91[_0xae90('0x29')](0x194);}return _0x9cd258;};}function handleError(_0x1975eb,_0x44feb1){_0x44feb1=_0x44feb1||0x1f4;return function(_0x307dd6){logger[_0xae90('0x24')](_0x307dd6['stack']);if(_0x307dd6[_0xae90('0x32')]){delete _0x307dd6[_0xae90('0x32')];}_0x1975eb['status'](_0x44feb1)[_0xae90('0x33')](_0x307dd6);};}exports[_0xae90('0x34')]=function(_0x393b4f,_0xd9d48b){var _0x3355f6={},_0x717a13={},_0x3395df={'count':0x0,'rows':[]};var _0x2b6644=_[_0xae90('0x35')](db['DeskConfiguration'][_0xae90('0x36')],function(_0x3420fd){return{'name':_0x3420fd['fieldName'],'type':_0x3420fd['type'][_0xae90('0x37')]};});_0x717a13[_0xae90('0x38')]=_['map'](_0x2b6644,'name');_0x717a13[_0xae90('0x39')]=_[_0xae90('0x3a')](_0x393b4f[_0xae90('0x39')]);_0x717a13[_0xae90('0x3b')]=_[_0xae90('0x3c')](_0x717a13[_0xae90('0x38')],_0x717a13[_0xae90('0x39')]);_0x3355f6[_0xae90('0x3d')]=_['intersection'](_0x717a13[_0xae90('0x38')],qs[_0xae90('0x3e')](_0x393b4f[_0xae90('0x39')][_0xae90('0x3e')]));_0x3355f6[_0xae90('0x3d')]=_0x3355f6[_0xae90('0x3d')][_0xae90('0x3f')]?_0x3355f6['attributes']:_0x717a13[_0xae90('0x38')];if(!_0x393b4f[_0xae90('0x39')][_0xae90('0x40')](_0xae90('0x41'))){_0x3355f6[_0xae90('0x42')]=qs[_0xae90('0x42')](_0x393b4f['query']['limit']);_0x3355f6[_0xae90('0x2d')]=qs[_0xae90('0x2d')](_0x393b4f[_0xae90('0x39')]['offset']);}_0x3355f6[_0xae90('0x43')]=qs[_0xae90('0x44')](_0x393b4f[_0xae90('0x39')][_0xae90('0x44')]);_0x3355f6[_0xae90('0x45')]=qs['filters'](_[_0xae90('0x46')](_0x393b4f['query'],_0x717a13[_0xae90('0x3b')]),_0x2b6644);if(_0x393b4f[_0xae90('0x39')]['filter']){_0x3355f6[_0xae90('0x45')]=_[_0xae90('0x47')](_0x3355f6[_0xae90('0x45')],{'$or':_['map'](_0x2b6644,function(_0x354216){if(_0x354216[_0xae90('0x48')]!==_0xae90('0x49')){var _0x384843={};_0x384843[_0x354216[_0xae90('0x32')]]={'$like':'%'+_0x393b4f['query'][_0xae90('0x4a')]+'%'};return _0x384843;}})});}_0x3355f6=_[_0xae90('0x47')]({},_0x3355f6,_0x393b4f[_0xae90('0x4b')]);var _0x32b32c={'where':_0x3355f6[_0xae90('0x45')]};return db[_0xae90('0x4c')][_0xae90('0x2c')](_0x32b32c)[_0xae90('0x1e')](function(_0xf29d6b){_0x3395df[_0xae90('0x2c')]=_0xf29d6b;if(_0x393b4f[_0xae90('0x39')][_0xae90('0x4d')]){_0x3355f6[_0xae90('0x4e')]=[{'all':!![]}];}return db[_0xae90('0x4c')][_0xae90('0x4f')](_0x3355f6);})[_0xae90('0x1e')](function(_0x2e78ab){_0x3395df[_0xae90('0x50')]=_0x2e78ab;return _0x3395df;})['then'](respondWithFilteredResult(_0xd9d48b,_0x3355f6))['catch'](handleError(_0xd9d48b,null));};exports['show']=function(_0x2a4dd7,_0x468812){var _0x1e33ea={'raw':![],'where':{'id':_0x2a4dd7[_0xae90('0x51')]['id']}},_0x431ac0={};_0x431ac0[_0xae90('0x38')]=_['keys'](db[_0xae90('0x4c')][_0xae90('0x36')]);_0x431ac0[_0xae90('0x39')]=_['keys'](_0x2a4dd7['query']);_0x431ac0[_0xae90('0x3b')]=_[_0xae90('0x3c')](_0x431ac0[_0xae90('0x38')],_0x431ac0[_0xae90('0x39')]);_0x1e33ea[_0xae90('0x3d')]=_[_0xae90('0x3c')](_0x431ac0['model'],qs[_0xae90('0x3e')](_0x2a4dd7[_0xae90('0x39')]['fields']));_0x1e33ea[_0xae90('0x3d')]=_0x1e33ea['attributes'][_0xae90('0x3f')]?_0x1e33ea[_0xae90('0x3d')]:_0x431ac0[_0xae90('0x38')];if(_0x2a4dd7[_0xae90('0x39')]['includeAll']){_0x1e33ea[_0xae90('0x4e')]=[{'all':!![]}];}_0x1e33ea=_[_0xae90('0x47')]({},_0x1e33ea,_0x2a4dd7[_0xae90('0x4b')]);return db['DeskConfiguration']['find'](_0x1e33ea)[_0xae90('0x1e')](handleEntityNotFound(_0x468812,null))[_0xae90('0x1e')](respondWithResult(_0x468812,null))[_0xae90('0x28')](handleError(_0x468812,null));};exports[_0xae90('0x52')]=function(_0x2b37dd,_0x55d130){return db[_0xae90('0x4c')][_0xae90('0x52')](_0x2b37dd[_0xae90('0x53')],{})[_0xae90('0x1e')](respondWithResult(_0x55d130,0xc9))[_0xae90('0x28')](handleError(_0x55d130,null));};exports[_0xae90('0x54')]=function(_0xc6c92c,_0x9dc6f5){if(_0xc6c92c['body']['id']){delete _0xc6c92c[_0xae90('0x53')]['id'];}return db[_0xae90('0x4c')][_0xae90('0x55')]({'where':{'id':_0xc6c92c['params']['id']}})[_0xae90('0x1e')](handleEntityNotFound(_0x9dc6f5,null))[_0xae90('0x1e')](saveUpdates(_0xc6c92c[_0xae90('0x53')],null))[_0xae90('0x1e')](respondWithResult(_0x9dc6f5,null))[_0xae90('0x28')](handleError(_0x9dc6f5,null));};exports[_0xae90('0x31')]=function(_0x320d42,_0x4c919e){return db['DeskConfiguration'][_0xae90('0x55')]({'where':{'id':_0x320d42[_0xae90('0x51')]['id']}})[_0xae90('0x1e')](handleEntityNotFound(_0x4c919e,null))[_0xae90('0x1e')](removeEntity(_0x4c919e,null))['catch'](handleError(_0x4c919e,null));};exports[_0xae90('0x56')]=function(_0x19c2bd,_0x40d9be,_0x2b1e88){var _0x178aa4={};var _0xfb1065={};var _0x560a7d;var _0x57ace0;return db[_0xae90('0x4c')]['findOne']({'where':{'id':_0x19c2bd[_0xae90('0x51')]['id']}})['then'](handleEntityNotFound(_0x40d9be,null))[_0xae90('0x1e')](function(_0x37635f){if(_0x37635f){_0x560a7d=_0x37635f;_0xfb1065['model']=_['keys'](db['DeskField'][_0xae90('0x36')]);_0xfb1065[_0xae90('0x39')]=_['keys'](_0x19c2bd[_0xae90('0x39')]);_0xfb1065[_0xae90('0x3b')]=_[_0xae90('0x3c')](_0xfb1065[_0xae90('0x38')],_0xfb1065['query']);_0x178aa4['attributes']=_[_0xae90('0x3c')](_0xfb1065[_0xae90('0x38')],qs['fields'](_0x19c2bd['query'][_0xae90('0x3e')]));_0x178aa4[_0xae90('0x3d')]=_0x178aa4[_0xae90('0x3d')][_0xae90('0x3f')]?_0x178aa4[_0xae90('0x3d')]:_0xfb1065[_0xae90('0x38')];_0x178aa4[_0xae90('0x43')]=qs[_0xae90('0x44')](_0x19c2bd[_0xae90('0x39')]['sort']);_0x178aa4[_0xae90('0x45')]=qs[_0xae90('0x3b')](_[_0xae90('0x46')](_0x19c2bd[_0xae90('0x39')],_0xfb1065[_0xae90('0x3b')]));if(_0x19c2bd['query'][_0xae90('0x4a')]){_0x178aa4[_0xae90('0x45')]=_[_0xae90('0x47')](_0x178aa4['where'],{'$or':_[_0xae90('0x35')](_0x178aa4['attributes'],function(_0x17307c){var _0x465af4={};_0x465af4[_0x17307c]={'$like':'%'+_0x19c2bd[_0xae90('0x39')][_0xae90('0x4a')]+'%'};return _0x465af4;})});}_0x178aa4=_[_0xae90('0x47')]({},_0x178aa4,_0x19c2bd[_0xae90('0x4b')]);return _0x560a7d['getFields'](_0x178aa4);}})[_0xae90('0x1e')](function(_0x5d7002){if(_0x5d7002){_0x57ace0=_0x5d7002[_0xae90('0x3f')];if(!_0x19c2bd['query'][_0xae90('0x40')](_0xae90('0x41'))){_0x178aa4['limit']=qs[_0xae90('0x42')](_0x19c2bd[_0xae90('0x39')]['limit']);_0x178aa4[_0xae90('0x2d')]=qs['offset'](_0x19c2bd['query'][_0xae90('0x2d')]);}return _0x560a7d[_0xae90('0x56')](_0x178aa4);}})['then'](function(_0x25e9a2){if(_0x25e9a2){return _0x25e9a2?{'count':_0x57ace0,'rows':_0x25e9a2}:null;}})[_0xae90('0x1e')](respondWithResult(_0x40d9be,null))[_0xae90('0x28')](handleError(_0x40d9be,null));};exports[_0xae90('0x57')]=function(_0x1cf10b,_0x4dcb34,_0x18204b){var _0x3cc3de={};var _0x4ebc9b={};var _0x5405f8;var _0x18b713;return db['DeskConfiguration'][_0xae90('0x58')]({'where':{'id':_0x1cf10b['params']['id']}})['then'](handleEntityNotFound(_0x4dcb34,null))['then'](function(_0x538cd4){if(_0x538cd4){_0x5405f8=_0x538cd4;_0x4ebc9b['model']=_[_0xae90('0x3a')](db['DeskField'][_0xae90('0x36')]);_0x4ebc9b[_0xae90('0x39')]=_['keys'](_0x1cf10b[_0xae90('0x39')]);_0x4ebc9b[_0xae90('0x3b')]=_[_0xae90('0x3c')](_0x4ebc9b[_0xae90('0x38')],_0x4ebc9b[_0xae90('0x39')]);_0x3cc3de[_0xae90('0x3d')]=_[_0xae90('0x3c')](_0x4ebc9b['model'],qs[_0xae90('0x3e')](_0x1cf10b['query'][_0xae90('0x3e')]));_0x3cc3de[_0xae90('0x3d')]=_0x3cc3de[_0xae90('0x3d')][_0xae90('0x3f')]?_0x3cc3de[_0xae90('0x3d')]:_0x4ebc9b['model'];_0x3cc3de[_0xae90('0x43')]=qs[_0xae90('0x44')](_0x1cf10b[_0xae90('0x39')][_0xae90('0x44')]);_0x3cc3de[_0xae90('0x45')]=qs[_0xae90('0x3b')](_[_0xae90('0x46')](_0x1cf10b[_0xae90('0x39')],_0x4ebc9b[_0xae90('0x3b')]));if(_0x1cf10b[_0xae90('0x39')]['filter']){_0x3cc3de[_0xae90('0x45')]=_[_0xae90('0x47')](_0x3cc3de[_0xae90('0x45')],{'$or':_[_0xae90('0x35')](_0x3cc3de[_0xae90('0x3d')],function(_0x5b763d){var _0x46b901={};_0x46b901[_0x5b763d]={'$like':'%'+_0x1cf10b[_0xae90('0x39')][_0xae90('0x4a')]+'%'};return _0x46b901;})});}_0x3cc3de=_['merge']({},_0x3cc3de,_0x1cf10b[_0xae90('0x4b')]);return _0x5405f8[_0xae90('0x57')](_0x3cc3de);}})[_0xae90('0x1e')](function(_0x22c93e){if(_0x22c93e){_0x18b713=_0x22c93e[_0xae90('0x3f')];if(!_0x1cf10b[_0xae90('0x39')]['hasOwnProperty']('nolimit')){_0x3cc3de[_0xae90('0x42')]=qs[_0xae90('0x42')](_0x1cf10b[_0xae90('0x39')][_0xae90('0x42')]);_0x3cc3de[_0xae90('0x2d')]=qs[_0xae90('0x2d')](_0x1cf10b[_0xae90('0x39')][_0xae90('0x2d')]);}return _0x5405f8[_0xae90('0x57')](_0x3cc3de);}})[_0xae90('0x1e')](function(_0x2a6f82){if(_0x2a6f82){return _0x2a6f82?{'count':_0x18b713,'rows':_0x2a6f82}:null;}})['then'](respondWithResult(_0x4dcb34,null))[_0xae90('0x28')](handleError(_0x4dcb34,null));};exports['getDescriptions']=function(_0x212fab,_0x489437,_0x50d99d){var _0x24f11b={};var _0x2b1484={};var _0x8c1092;var _0x311804;return db['DeskConfiguration'][_0xae90('0x58')]({'where':{'id':_0x212fab[_0xae90('0x51')]['id']}})[_0xae90('0x1e')](handleEntityNotFound(_0x489437,null))[_0xae90('0x1e')](function(_0x4fe8ee){if(_0x4fe8ee){_0x8c1092=_0x4fe8ee;_0x2b1484['model']=_[_0xae90('0x3a')](db['DeskField']['rawAttributes']);_0x2b1484['query']=_['keys'](_0x212fab['query']);_0x2b1484[_0xae90('0x3b')]=_['intersection'](_0x2b1484['model'],_0x2b1484[_0xae90('0x39')]);_0x24f11b[_0xae90('0x3d')]=_[_0xae90('0x3c')](_0x2b1484[_0xae90('0x38')],qs[_0xae90('0x3e')](_0x212fab[_0xae90('0x39')]['fields']));_0x24f11b[_0xae90('0x3d')]=_0x24f11b['attributes'][_0xae90('0x3f')]?_0x24f11b[_0xae90('0x3d')]:_0x2b1484[_0xae90('0x38')];_0x24f11b['order']=qs['sort'](_0x212fab[_0xae90('0x39')]['sort']);_0x24f11b[_0xae90('0x45')]=qs[_0xae90('0x3b')](_['pick'](_0x212fab[_0xae90('0x39')],_0x2b1484[_0xae90('0x3b')]));if(_0x212fab[_0xae90('0x39')]['filter']){_0x24f11b[_0xae90('0x45')]=_[_0xae90('0x47')](_0x24f11b[_0xae90('0x45')],{'$or':_[_0xae90('0x35')](_0x24f11b[_0xae90('0x3d')],function(_0x2f780f){var _0x2fdc44={};_0x2fdc44[_0x2f780f]={'$like':'%'+_0x212fab[_0xae90('0x39')]['filter']+'%'};return _0x2fdc44;})});}_0x24f11b=_[_0xae90('0x47')]({},_0x24f11b,_0x212fab[_0xae90('0x4b')]);return _0x8c1092[_0xae90('0x59')](_0x24f11b);}})[_0xae90('0x1e')](function(_0x1027bb){if(_0x1027bb){_0x311804=_0x1027bb[_0xae90('0x3f')];if(!_0x212fab[_0xae90('0x39')][_0xae90('0x40')](_0xae90('0x41'))){_0x24f11b[_0xae90('0x42')]=qs[_0xae90('0x42')](_0x212fab[_0xae90('0x39')][_0xae90('0x42')]);_0x24f11b[_0xae90('0x2d')]=qs['offset'](_0x212fab[_0xae90('0x39')][_0xae90('0x2d')]);}return _0x8c1092['getDescriptions'](_0x24f11b);}})[_0xae90('0x1e')](function(_0x2dfad7){if(_0x2dfad7){return _0x2dfad7?{'count':_0x311804,'rows':_0x2dfad7}:null;}})[_0xae90('0x1e')](respondWithResult(_0x489437,null))[_0xae90('0x28')](handleError(_0x489437,null));};exports['getTags']=function(_0x3f4f28,_0x3bd450,_0x35ba22){var _0x594f24={};var _0x14220f={};var _0x3184ce;var _0x5a4b9f;return db[_0xae90('0x4c')][_0xae90('0x58')]({'where':{'id':_0x3f4f28[_0xae90('0x51')]['id']}})[_0xae90('0x1e')](handleEntityNotFound(_0x3bd450,null))[_0xae90('0x1e')](function(_0x6b4d32){if(_0x6b4d32){_0x3184ce=_0x6b4d32;_0x14220f[_0xae90('0x38')]=_['keys'](db['Tag']['rawAttributes']);_0x14220f[_0xae90('0x39')]=_[_0xae90('0x3a')](_0x3f4f28[_0xae90('0x39')]);_0x14220f[_0xae90('0x3b')]=_[_0xae90('0x3c')](_0x14220f[_0xae90('0x38')],_0x14220f['query']);_0x594f24[_0xae90('0x3d')]=_[_0xae90('0x3c')](_0x14220f['model'],qs['fields'](_0x3f4f28[_0xae90('0x39')]['fields']));_0x594f24['attributes']=_0x594f24[_0xae90('0x3d')]['length']?_0x594f24[_0xae90('0x3d')]:_0x14220f['model'];_0x594f24[_0xae90('0x43')]=qs[_0xae90('0x44')](_0x3f4f28['query'][_0xae90('0x44')]);_0x594f24['where']=qs[_0xae90('0x3b')](_[_0xae90('0x46')](_0x3f4f28[_0xae90('0x39')],_0x14220f[_0xae90('0x3b')]));if(_0x3f4f28['query'][_0xae90('0x4a')]){_0x594f24[_0xae90('0x45')]=_[_0xae90('0x47')](_0x594f24[_0xae90('0x45')],{'$or':_[_0xae90('0x35')](_0x594f24[_0xae90('0x3d')],function(_0x3ee864){var _0x21bcbe={};_0x21bcbe[_0x3ee864]={'$like':'%'+_0x3f4f28['query'][_0xae90('0x4a')]+'%'};return _0x21bcbe;})});}_0x594f24=_[_0xae90('0x47')]({},_0x594f24,_0x3f4f28[_0xae90('0x4b')]);return _0x3184ce[_0xae90('0x5a')](_0x594f24);}})[_0xae90('0x1e')](function(_0x1c03c0){if(_0x1c03c0){_0x5a4b9f=_0x1c03c0[_0xae90('0x3f')];if(!_0x3f4f28['query'][_0xae90('0x40')](_0xae90('0x41'))){_0x594f24[_0xae90('0x42')]=qs[_0xae90('0x42')](_0x3f4f28[_0xae90('0x39')][_0xae90('0x42')]);_0x594f24[_0xae90('0x2d')]=qs[_0xae90('0x2d')](_0x3f4f28[_0xae90('0x39')][_0xae90('0x2d')]);}return _0x3184ce[_0xae90('0x5a')](_0x594f24);}})['then'](function(_0x5760ab){if(_0x5760ab){return _0x5760ab?{'count':_0x5a4b9f,'rows':_0x5760ab}:null;}})['then'](respondWithResult(_0x3bd450,null))[_0xae90('0x28')](handleError(_0x3bd450,null));};exports[_0xae90('0x5b')]=function(_0x9fb460,_0x25b35e,_0x4f40dd){if(_0x9fb460[_0xae90('0x53')]['id']){delete _0x9fb460[_0xae90('0x53')]['id'];}return db[_0xae90('0x4c')][_0xae90('0x58')]({'where':{'id':_0x9fb460['params']['id']}})[_0xae90('0x1e')](handleEntityNotFound(_0x25b35e,null))[_0xae90('0x1e')](function(_0x4b725b){if(_0x4b725b){return _0x4b725b[_0xae90('0x5b')](_0x9fb460[_0xae90('0x53')]['ids']||[]);}return null;})[_0xae90('0x1e')](respondWithResult(_0x25b35e,null))['catch'](handleError(_0x25b35e,null));};