8ea0fbb46d7d6c1c67b3422a4a450fc9763a21c2
[motion2.git] / server / api / intZendeskConfiguration / intZendeskConfiguration.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 _0xd1a7=['../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','status','end','json','offset','limit','undefined','count','set','Content-Range','save','update','then','destroy','sendStatus','name','send','index','map','ZendeskConfiguration','fieldName','type','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','params','keys','includeAll','find','create','body','getFields','findOne','ZendeskField','rawAttributes','getSubjects','getDescriptions','getTags','setTags','ids','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','querystring','papaparse','ioredis'];(function(_0x230246,_0x46d731){var _0x3317a=function(_0x210bef){while(--_0x210bef){_0x230246['push'](_0x230246['shift']());}};_0x3317a(++_0x46d731);}(_0xd1a7,0x1f2));var _0x7d1a=function(_0x26d7c0,_0x183ad5){_0x26d7c0=_0x26d7c0-0x0;var _0x16bba9=_0xd1a7[_0x26d7c0];return _0x16bba9;};'use strict';var emlformat=require(_0x7d1a('0x0'));var rimraf=require(_0x7d1a('0x1'));var zipdir=require(_0x7d1a('0x2'));var jsonpatch=require(_0x7d1a('0x3'));var rp=require(_0x7d1a('0x4'));var moment=require('moment');var BPromise=require(_0x7d1a('0x5'));var Mustache=require(_0x7d1a('0x6'));var util=require('util');var path=require(_0x7d1a('0x7'));var sox=require(_0x7d1a('0x8'));var csv=require(_0x7d1a('0x9'));var ejs=require(_0x7d1a('0xa'));var fs=require('fs');var fs_extra=require(_0x7d1a('0xb'));var _=require('lodash');var squel=require(_0x7d1a('0xc'));var crypto=require(_0x7d1a('0xd'));var jsforce=require(_0x7d1a('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x7d1a('0x9'));var querystring=require(_0x7d1a('0xf'));var Papa=require(_0x7d1a('0x10'));var Redis=require(_0x7d1a('0x11'));var authService=require(_0x7d1a('0x12'));var qs=require(_0x7d1a('0x13'));var as=require(_0x7d1a('0x14'));var hardwareService=require(_0x7d1a('0x15'));var logger=require(_0x7d1a('0x16'))(_0x7d1a('0x17'));var utils=require(_0x7d1a('0x18'));var config=require(_0x7d1a('0x19'));var licenseUtil=require(_0x7d1a('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1a783f,_0x2dd105){_0x2dd105=_0x2dd105||0xcc;return function(_0x2fb0d3){if(_0x2fb0d3){return _0x1a783f['sendStatus'](_0x2dd105);}return _0x1a783f[_0x7d1a('0x1b')](_0x2dd105)[_0x7d1a('0x1c')]();};}function respondWithResult(_0x33ae57,_0x36b4c7){_0x36b4c7=_0x36b4c7||0xc8;return function(_0x29af21){if(_0x29af21){return _0x33ae57['status'](_0x36b4c7)[_0x7d1a('0x1d')](_0x29af21);}};}function respondWithFilteredResult(_0x145cb6,_0xdd6495){return function(_0x4e8573){if(_0x4e8573){var _0x148525=typeof _0xdd6495[_0x7d1a('0x1e')]==='undefined'&&typeof _0xdd6495[_0x7d1a('0x1f')]===_0x7d1a('0x20');var _0x4ccd96=_0x4e8573[_0x7d1a('0x21')];var _0xc6b787=_0x148525?0x0:_0xdd6495[_0x7d1a('0x1e')];var _0xbfdfd8=_0x148525?_0x4e8573[_0x7d1a('0x21')]:_0xdd6495[_0x7d1a('0x1e')]+_0xdd6495['limit'];var _0x3d9b76;if(_0xbfdfd8>=_0x4ccd96){_0xbfdfd8=_0x4ccd96;_0x3d9b76=0xc8;}else{_0x3d9b76=0xce;}_0x145cb6[_0x7d1a('0x1b')](_0x3d9b76);return _0x145cb6[_0x7d1a('0x22')](_0x7d1a('0x23'),_0xc6b787+'-'+_0xbfdfd8+'/'+_0x4ccd96)[_0x7d1a('0x1d')](_0x4e8573);}return null;};}function patchUpdates(_0x36c09e){return function(_0x22aa6f){try{jsonpatch['apply'](_0x22aa6f,_0x36c09e,!![]);}catch(_0x390444){return BPromise['reject'](_0x390444);}return _0x22aa6f[_0x7d1a('0x24')]();};}function saveUpdates(_0x3593f4,_0x948f6b){return function(_0x18d642){if(_0x18d642){return _0x18d642[_0x7d1a('0x25')](_0x3593f4)[_0x7d1a('0x26')](function(_0x446cb1){return _0x446cb1;});}return null;};}function removeEntity(_0x510c67,_0x4d8d1d){return function(_0x510fc6){if(_0x510fc6){return _0x510fc6[_0x7d1a('0x27')]()[_0x7d1a('0x26')](function(){_0x510c67[_0x7d1a('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5ba789,_0x59050c){return function(_0x5b47f4){if(!_0x5b47f4){_0x5ba789[_0x7d1a('0x28')](0x194);}return _0x5b47f4;};}function handleError(_0x33432a,_0x1cdc59){_0x1cdc59=_0x1cdc59||0x1f4;return function(_0x5aa5c2){logger['error'](_0x5aa5c2['stack']);if(_0x5aa5c2[_0x7d1a('0x29')]){delete _0x5aa5c2['name'];}_0x33432a[_0x7d1a('0x1b')](_0x1cdc59)[_0x7d1a('0x2a')](_0x5aa5c2);};}exports[_0x7d1a('0x2b')]=function(_0x4d1d0e,_0x116c77){var _0x22d178={},_0x4dba71={},_0x732322={'count':0x0,'rows':[]};var _0xd573a3=_[_0x7d1a('0x2c')](db[_0x7d1a('0x2d')]['rawAttributes'],function(_0x41788e){return{'name':_0x41788e[_0x7d1a('0x2e')],'type':_0x41788e[_0x7d1a('0x2f')][_0x7d1a('0x30')]};});_0x4dba71[_0x7d1a('0x31')]=_[_0x7d1a('0x2c')](_0xd573a3,_0x7d1a('0x29'));_0x4dba71[_0x7d1a('0x32')]=_['keys'](_0x4d1d0e[_0x7d1a('0x32')]);_0x4dba71[_0x7d1a('0x33')]=_[_0x7d1a('0x34')](_0x4dba71['model'],_0x4dba71['query']);_0x22d178['attributes']=_[_0x7d1a('0x34')](_0x4dba71['model'],qs[_0x7d1a('0x35')](_0x4d1d0e[_0x7d1a('0x32')]['fields']));_0x22d178[_0x7d1a('0x36')]=_0x22d178[_0x7d1a('0x36')][_0x7d1a('0x37')]?_0x22d178[_0x7d1a('0x36')]:_0x4dba71['model'];if(!_0x4d1d0e[_0x7d1a('0x32')][_0x7d1a('0x38')](_0x7d1a('0x39'))){_0x22d178[_0x7d1a('0x1f')]=qs[_0x7d1a('0x1f')](_0x4d1d0e[_0x7d1a('0x32')][_0x7d1a('0x1f')]);_0x22d178[_0x7d1a('0x1e')]=qs[_0x7d1a('0x1e')](_0x4d1d0e[_0x7d1a('0x32')]['offset']);}_0x22d178[_0x7d1a('0x3a')]=qs[_0x7d1a('0x3b')](_0x4d1d0e[_0x7d1a('0x32')][_0x7d1a('0x3b')]);_0x22d178[_0x7d1a('0x3c')]=qs[_0x7d1a('0x33')](_[_0x7d1a('0x3d')](_0x4d1d0e[_0x7d1a('0x32')],_0x4dba71[_0x7d1a('0x33')]),_0xd573a3);if(_0x4d1d0e['query'][_0x7d1a('0x3e')]){_0x22d178[_0x7d1a('0x3c')]=_[_0x7d1a('0x3f')](_0x22d178[_0x7d1a('0x3c')],{'$or':_[_0x7d1a('0x2c')](_0xd573a3,function(_0x1325a0){if(_0x1325a0[_0x7d1a('0x2f')]!==_0x7d1a('0x40')){var _0xb0728e={};_0xb0728e[_0x1325a0['name']]={'$like':'%'+_0x4d1d0e[_0x7d1a('0x32')][_0x7d1a('0x3e')]+'%'};return _0xb0728e;}})});}_0x22d178=_[_0x7d1a('0x3f')]({},_0x22d178,_0x4d1d0e[_0x7d1a('0x41')]);var _0x495276={'where':_0x22d178[_0x7d1a('0x3c')]};return db[_0x7d1a('0x2d')][_0x7d1a('0x21')](_0x495276)[_0x7d1a('0x26')](function(_0x38b96f){_0x732322['count']=_0x38b96f;if(_0x4d1d0e[_0x7d1a('0x32')]['includeAll']){_0x22d178[_0x7d1a('0x42')]=[{'all':!![]}];}return db['ZendeskConfiguration'][_0x7d1a('0x43')](_0x22d178);})[_0x7d1a('0x26')](function(_0x584b7b){_0x732322[_0x7d1a('0x44')]=_0x584b7b;return _0x732322;})['then'](respondWithFilteredResult(_0x116c77,_0x22d178))[_0x7d1a('0x45')](handleError(_0x116c77,null));};exports[_0x7d1a('0x46')]=function(_0x9d734d,_0x3ab834){var _0x3d7545={'raw':![],'where':{'id':_0x9d734d[_0x7d1a('0x47')]['id']}},_0x48be64={};_0x48be64[_0x7d1a('0x31')]=_[_0x7d1a('0x48')](db[_0x7d1a('0x2d')]['rawAttributes']);_0x48be64[_0x7d1a('0x32')]=_['keys'](_0x9d734d[_0x7d1a('0x32')]);_0x48be64['filters']=_[_0x7d1a('0x34')](_0x48be64['model'],_0x48be64[_0x7d1a('0x32')]);_0x3d7545[_0x7d1a('0x36')]=_[_0x7d1a('0x34')](_0x48be64[_0x7d1a('0x31')],qs[_0x7d1a('0x35')](_0x9d734d[_0x7d1a('0x32')][_0x7d1a('0x35')]));_0x3d7545[_0x7d1a('0x36')]=_0x3d7545['attributes'][_0x7d1a('0x37')]?_0x3d7545['attributes']:_0x48be64['model'];if(_0x9d734d[_0x7d1a('0x32')][_0x7d1a('0x49')]){_0x3d7545['include']=[{'all':!![]}];}_0x3d7545=_[_0x7d1a('0x3f')]({},_0x3d7545,_0x9d734d['options']);return db['ZendeskConfiguration'][_0x7d1a('0x4a')](_0x3d7545)['then'](handleEntityNotFound(_0x3ab834,null))[_0x7d1a('0x26')](respondWithResult(_0x3ab834,null))[_0x7d1a('0x45')](handleError(_0x3ab834,null));};exports['create']=function(_0x41c6cc,_0x1d4e25){return db[_0x7d1a('0x2d')][_0x7d1a('0x4b')](_0x41c6cc[_0x7d1a('0x4c')],{})[_0x7d1a('0x26')](respondWithResult(_0x1d4e25,0xc9))[_0x7d1a('0x45')](handleError(_0x1d4e25,null));};exports['update']=function(_0x18c4ed,_0xa0ef6){if(_0x18c4ed[_0x7d1a('0x4c')]['id']){delete _0x18c4ed[_0x7d1a('0x4c')]['id'];}return db['ZendeskConfiguration'][_0x7d1a('0x4a')]({'where':{'id':_0x18c4ed[_0x7d1a('0x47')]['id']}})[_0x7d1a('0x26')](handleEntityNotFound(_0xa0ef6,null))[_0x7d1a('0x26')](saveUpdates(_0x18c4ed['body'],null))['then'](respondWithResult(_0xa0ef6,null))[_0x7d1a('0x45')](handleError(_0xa0ef6,null));};exports[_0x7d1a('0x27')]=function(_0x27fc40,_0x32b8a9){return db['ZendeskConfiguration'][_0x7d1a('0x4a')]({'where':{'id':_0x27fc40['params']['id']}})[_0x7d1a('0x26')](handleEntityNotFound(_0x32b8a9,null))[_0x7d1a('0x26')](removeEntity(_0x32b8a9,null))[_0x7d1a('0x45')](handleError(_0x32b8a9,null));};exports[_0x7d1a('0x4d')]=function(_0x5c52b7,_0x1d9256,_0x44cbd3){var _0x37bad2={};var _0x38e2b2={};var _0x12ad11;var _0x203a4e;return db['ZendeskConfiguration'][_0x7d1a('0x4e')]({'where':{'id':_0x5c52b7[_0x7d1a('0x47')]['id']}})['then'](handleEntityNotFound(_0x1d9256,null))[_0x7d1a('0x26')](function(_0x504294){if(_0x504294){_0x12ad11=_0x504294;_0x38e2b2[_0x7d1a('0x31')]=_[_0x7d1a('0x48')](db[_0x7d1a('0x4f')][_0x7d1a('0x50')]);_0x38e2b2[_0x7d1a('0x32')]=_['keys'](_0x5c52b7[_0x7d1a('0x32')]);_0x38e2b2[_0x7d1a('0x33')]=_[_0x7d1a('0x34')](_0x38e2b2[_0x7d1a('0x31')],_0x38e2b2[_0x7d1a('0x32')]);_0x37bad2['attributes']=_['intersection'](_0x38e2b2[_0x7d1a('0x31')],qs[_0x7d1a('0x35')](_0x5c52b7[_0x7d1a('0x32')][_0x7d1a('0x35')]));_0x37bad2['attributes']=_0x37bad2[_0x7d1a('0x36')][_0x7d1a('0x37')]?_0x37bad2[_0x7d1a('0x36')]:_0x38e2b2[_0x7d1a('0x31')];_0x37bad2[_0x7d1a('0x3a')]=qs[_0x7d1a('0x3b')](_0x5c52b7[_0x7d1a('0x32')][_0x7d1a('0x3b')]);_0x37bad2['where']=qs['filters'](_[_0x7d1a('0x3d')](_0x5c52b7['query'],_0x38e2b2[_0x7d1a('0x33')]));if(_0x5c52b7[_0x7d1a('0x32')][_0x7d1a('0x3e')]){_0x37bad2[_0x7d1a('0x3c')]=_['merge'](_0x37bad2[_0x7d1a('0x3c')],{'$or':_[_0x7d1a('0x2c')](_0x37bad2[_0x7d1a('0x36')],function(_0x282df0){var _0x461ae7={};_0x461ae7[_0x282df0]={'$like':'%'+_0x5c52b7['query']['filter']+'%'};return _0x461ae7;})});}_0x37bad2=_[_0x7d1a('0x3f')]({},_0x37bad2,_0x5c52b7[_0x7d1a('0x41')]);return _0x12ad11['getFields'](_0x37bad2);}})[_0x7d1a('0x26')](function(_0x5153a8){if(_0x5153a8){_0x203a4e=_0x5153a8[_0x7d1a('0x37')];if(!_0x5c52b7[_0x7d1a('0x32')]['hasOwnProperty'](_0x7d1a('0x39'))){_0x37bad2[_0x7d1a('0x1f')]=qs['limit'](_0x5c52b7[_0x7d1a('0x32')][_0x7d1a('0x1f')]);_0x37bad2[_0x7d1a('0x1e')]=qs[_0x7d1a('0x1e')](_0x5c52b7[_0x7d1a('0x32')]['offset']);}return _0x12ad11[_0x7d1a('0x4d')](_0x37bad2);}})[_0x7d1a('0x26')](function(_0x44cc49){if(_0x44cc49){return _0x44cc49?{'count':_0x203a4e,'rows':_0x44cc49}:null;}})[_0x7d1a('0x26')](respondWithResult(_0x1d9256,null))[_0x7d1a('0x45')](handleError(_0x1d9256,null));};exports['getSubjects']=function(_0x30fdd9,_0x3159fa,_0x1b67e4){var _0x203171={};var _0xf01f15={};var _0x412c32;var _0x1be7c4;return db[_0x7d1a('0x2d')][_0x7d1a('0x4e')]({'where':{'id':_0x30fdd9[_0x7d1a('0x47')]['id']}})[_0x7d1a('0x26')](handleEntityNotFound(_0x3159fa,null))['then'](function(_0x2405ee){if(_0x2405ee){_0x412c32=_0x2405ee;_0xf01f15['model']=_['keys'](db[_0x7d1a('0x4f')][_0x7d1a('0x50')]);_0xf01f15[_0x7d1a('0x32')]=_[_0x7d1a('0x48')](_0x30fdd9[_0x7d1a('0x32')]);_0xf01f15[_0x7d1a('0x33')]=_[_0x7d1a('0x34')](_0xf01f15[_0x7d1a('0x31')],_0xf01f15[_0x7d1a('0x32')]);_0x203171[_0x7d1a('0x36')]=_['intersection'](_0xf01f15[_0x7d1a('0x31')],qs['fields'](_0x30fdd9['query'][_0x7d1a('0x35')]));_0x203171[_0x7d1a('0x36')]=_0x203171[_0x7d1a('0x36')][_0x7d1a('0x37')]?_0x203171['attributes']:_0xf01f15[_0x7d1a('0x31')];_0x203171[_0x7d1a('0x3a')]=qs[_0x7d1a('0x3b')](_0x30fdd9[_0x7d1a('0x32')][_0x7d1a('0x3b')]);_0x203171[_0x7d1a('0x3c')]=qs[_0x7d1a('0x33')](_['pick'](_0x30fdd9[_0x7d1a('0x32')],_0xf01f15['filters']));if(_0x30fdd9[_0x7d1a('0x32')][_0x7d1a('0x3e')]){_0x203171[_0x7d1a('0x3c')]=_[_0x7d1a('0x3f')](_0x203171[_0x7d1a('0x3c')],{'$or':_[_0x7d1a('0x2c')](_0x203171[_0x7d1a('0x36')],function(_0x157a8e){var _0x16b5e9={};_0x16b5e9[_0x157a8e]={'$like':'%'+_0x30fdd9[_0x7d1a('0x32')][_0x7d1a('0x3e')]+'%'};return _0x16b5e9;})});}_0x203171=_['merge']({},_0x203171,_0x30fdd9[_0x7d1a('0x41')]);return _0x412c32['getSubjects'](_0x203171);}})[_0x7d1a('0x26')](function(_0x334b91){if(_0x334b91){_0x1be7c4=_0x334b91[_0x7d1a('0x37')];if(!_0x30fdd9[_0x7d1a('0x32')]['hasOwnProperty'](_0x7d1a('0x39'))){_0x203171['limit']=qs[_0x7d1a('0x1f')](_0x30fdd9[_0x7d1a('0x32')]['limit']);_0x203171[_0x7d1a('0x1e')]=qs[_0x7d1a('0x1e')](_0x30fdd9[_0x7d1a('0x32')][_0x7d1a('0x1e')]);}return _0x412c32[_0x7d1a('0x51')](_0x203171);}})[_0x7d1a('0x26')](function(_0x598017){if(_0x598017){return _0x598017?{'count':_0x1be7c4,'rows':_0x598017}:null;}})[_0x7d1a('0x26')](respondWithResult(_0x3159fa,null))[_0x7d1a('0x45')](handleError(_0x3159fa,null));};exports[_0x7d1a('0x52')]=function(_0x56f63e,_0x8d6a01,_0x1397cf){var _0x33214f={};var _0x157588={};var _0x152f72;var _0x29761c;return db['ZendeskConfiguration']['findOne']({'where':{'id':_0x56f63e['params']['id']}})[_0x7d1a('0x26')](handleEntityNotFound(_0x8d6a01,null))['then'](function(_0x4efff2){if(_0x4efff2){_0x152f72=_0x4efff2;_0x157588[_0x7d1a('0x31')]=_[_0x7d1a('0x48')](db[_0x7d1a('0x4f')][_0x7d1a('0x50')]);_0x157588[_0x7d1a('0x32')]=_[_0x7d1a('0x48')](_0x56f63e[_0x7d1a('0x32')]);_0x157588[_0x7d1a('0x33')]=_['intersection'](_0x157588['model'],_0x157588[_0x7d1a('0x32')]);_0x33214f[_0x7d1a('0x36')]=_[_0x7d1a('0x34')](_0x157588[_0x7d1a('0x31')],qs[_0x7d1a('0x35')](_0x56f63e[_0x7d1a('0x32')][_0x7d1a('0x35')]));_0x33214f[_0x7d1a('0x36')]=_0x33214f[_0x7d1a('0x36')][_0x7d1a('0x37')]?_0x33214f['attributes']:_0x157588['model'];_0x33214f[_0x7d1a('0x3a')]=qs['sort'](_0x56f63e['query']['sort']);_0x33214f[_0x7d1a('0x3c')]=qs[_0x7d1a('0x33')](_[_0x7d1a('0x3d')](_0x56f63e[_0x7d1a('0x32')],_0x157588[_0x7d1a('0x33')]));if(_0x56f63e[_0x7d1a('0x32')][_0x7d1a('0x3e')]){_0x33214f[_0x7d1a('0x3c')]=_[_0x7d1a('0x3f')](_0x33214f[_0x7d1a('0x3c')],{'$or':_['map'](_0x33214f['attributes'],function(_0x1490da){var _0x57d3e4={};_0x57d3e4[_0x1490da]={'$like':'%'+_0x56f63e[_0x7d1a('0x32')][_0x7d1a('0x3e')]+'%'};return _0x57d3e4;})});}_0x33214f=_[_0x7d1a('0x3f')]({},_0x33214f,_0x56f63e[_0x7d1a('0x41')]);return _0x152f72[_0x7d1a('0x52')](_0x33214f);}})[_0x7d1a('0x26')](function(_0x5a0286){if(_0x5a0286){_0x29761c=_0x5a0286[_0x7d1a('0x37')];if(!_0x56f63e['query']['hasOwnProperty'](_0x7d1a('0x39'))){_0x33214f[_0x7d1a('0x1f')]=qs[_0x7d1a('0x1f')](_0x56f63e[_0x7d1a('0x32')][_0x7d1a('0x1f')]);_0x33214f[_0x7d1a('0x1e')]=qs[_0x7d1a('0x1e')](_0x56f63e['query'][_0x7d1a('0x1e')]);}return _0x152f72[_0x7d1a('0x52')](_0x33214f);}})[_0x7d1a('0x26')](function(_0x2e2f14){if(_0x2e2f14){return _0x2e2f14?{'count':_0x29761c,'rows':_0x2e2f14}:null;}})['then'](respondWithResult(_0x8d6a01,null))[_0x7d1a('0x45')](handleError(_0x8d6a01,null));};exports[_0x7d1a('0x53')]=function(_0x45572b,_0x104c3e,_0x106c7a){var _0x3bea68={};var _0x1b877a={};var _0x4bc8f9;var _0x2cee89;return db[_0x7d1a('0x2d')][_0x7d1a('0x4e')]({'where':{'id':_0x45572b[_0x7d1a('0x47')]['id']}})['then'](handleEntityNotFound(_0x104c3e,null))[_0x7d1a('0x26')](function(_0x2b0dd2){if(_0x2b0dd2){_0x4bc8f9=_0x2b0dd2;_0x1b877a[_0x7d1a('0x31')]=_[_0x7d1a('0x48')](db['Tag'][_0x7d1a('0x50')]);_0x1b877a['query']=_[_0x7d1a('0x48')](_0x45572b['query']);_0x1b877a[_0x7d1a('0x33')]=_[_0x7d1a('0x34')](_0x1b877a[_0x7d1a('0x31')],_0x1b877a[_0x7d1a('0x32')]);_0x3bea68[_0x7d1a('0x36')]=_[_0x7d1a('0x34')](_0x1b877a['model'],qs['fields'](_0x45572b[_0x7d1a('0x32')][_0x7d1a('0x35')]));_0x3bea68['attributes']=_0x3bea68[_0x7d1a('0x36')]['length']?_0x3bea68[_0x7d1a('0x36')]:_0x1b877a['model'];_0x3bea68[_0x7d1a('0x3a')]=qs[_0x7d1a('0x3b')](_0x45572b[_0x7d1a('0x32')][_0x7d1a('0x3b')]);_0x3bea68[_0x7d1a('0x3c')]=qs[_0x7d1a('0x33')](_['pick'](_0x45572b[_0x7d1a('0x32')],_0x1b877a[_0x7d1a('0x33')]));if(_0x45572b['query'][_0x7d1a('0x3e')]){_0x3bea68[_0x7d1a('0x3c')]=_[_0x7d1a('0x3f')](_0x3bea68['where'],{'$or':_[_0x7d1a('0x2c')](_0x3bea68[_0x7d1a('0x36')],function(_0x39b447){var _0x1ae0a2={};_0x1ae0a2[_0x39b447]={'$like':'%'+_0x45572b[_0x7d1a('0x32')][_0x7d1a('0x3e')]+'%'};return _0x1ae0a2;})});}_0x3bea68=_[_0x7d1a('0x3f')]({},_0x3bea68,_0x45572b[_0x7d1a('0x41')]);return _0x4bc8f9[_0x7d1a('0x53')](_0x3bea68);}})[_0x7d1a('0x26')](function(_0x17e395){if(_0x17e395){_0x2cee89=_0x17e395[_0x7d1a('0x37')];if(!_0x45572b[_0x7d1a('0x32')][_0x7d1a('0x38')](_0x7d1a('0x39'))){_0x3bea68[_0x7d1a('0x1f')]=qs[_0x7d1a('0x1f')](_0x45572b[_0x7d1a('0x32')]['limit']);_0x3bea68[_0x7d1a('0x1e')]=qs[_0x7d1a('0x1e')](_0x45572b[_0x7d1a('0x32')][_0x7d1a('0x1e')]);}return _0x4bc8f9['getTags'](_0x3bea68);}})['then'](function(_0x51f991){if(_0x51f991){return _0x51f991?{'count':_0x2cee89,'rows':_0x51f991}:null;}})[_0x7d1a('0x26')](respondWithResult(_0x104c3e,null))[_0x7d1a('0x45')](handleError(_0x104c3e,null));};exports['setTags']=function(_0x1851d0,_0x3995ee,_0x44e77f){if(_0x1851d0[_0x7d1a('0x4c')]['id']){delete _0x1851d0[_0x7d1a('0x4c')]['id'];}return db[_0x7d1a('0x2d')]['findOne']({'where':{'id':_0x1851d0[_0x7d1a('0x47')]['id']}})[_0x7d1a('0x26')](handleEntityNotFound(_0x3995ee,null))[_0x7d1a('0x26')](function(_0x3c16b2){if(_0x3c16b2){return _0x3c16b2[_0x7d1a('0x54')](_0x1851d0[_0x7d1a('0x4c')][_0x7d1a('0x55')]||[]);}return null;})[_0x7d1a('0x26')](respondWithResult(_0x3995ee,null))[_0x7d1a('0x45')](handleError(_0x3995ee,null));};