Built motion from commit f7863d46.|2.5.41
[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 _0x21cc=['key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','params','find','create','body','getFields','findOne','ZendeskField','rawAttributes','nolimit','getSubjects','getDescriptions','getTags','Tag','setTags','ids','eml-format','rimraf','zip-dir','moment','util','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','status','offset','limit','undefined','count','Content-Range','json','reject','save','update','then','destroy','sendStatus','error','stack','name','index','map','ZendeskConfiguration','fieldName','type'];(function(_0x3ce3c,_0x319337){var _0x55a2c9=function(_0x1568d0){while(--_0x1568d0){_0x3ce3c['push'](_0x3ce3c['shift']());}};_0x55a2c9(++_0x319337);}(_0x21cc,0x78));var _0xc21c=function(_0x19f9bc,_0x2729ab){_0x19f9bc=_0x19f9bc-0x0;var _0x47b9df=_0x21cc[_0x19f9bc];return _0x47b9df;};'use strict';var emlformat=require(_0xc21c('0x0'));var rimraf=require(_0xc21c('0x1'));var zipdir=require(_0xc21c('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xc21c('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xc21c('0x4'));var path=require('path');var sox=require(_0xc21c('0x5'));var csv=require(_0xc21c('0x6'));var ejs=require(_0xc21c('0x7'));var fs=require('fs');var fs_extra=require(_0xc21c('0x8'));var _=require('lodash');var squel=require(_0xc21c('0x9'));var crypto=require(_0xc21c('0xa'));var jsforce=require(_0xc21c('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xc21c('0x6'));var querystring=require(_0xc21c('0xc'));var Papa=require(_0xc21c('0xd'));var Redis=require(_0xc21c('0xe'));var authService=require(_0xc21c('0xf'));var qs=require(_0xc21c('0x10'));var as=require(_0xc21c('0x11'));var hardwareService=require(_0xc21c('0x12'));var logger=require(_0xc21c('0x13'))('api');var utils=require(_0xc21c('0x14'));var config=require(_0xc21c('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xc21c('0x16'))['db'];function respondWithStatusCode(_0x514d85,_0x3f861d){_0x3f861d=_0x3f861d||0xcc;return function(_0x599155){if(_0x599155){return _0x514d85['sendStatus'](_0x3f861d);}return _0x514d85[_0xc21c('0x17')](_0x3f861d)['end']();};}function respondWithResult(_0x38e12c,_0x45b50e){_0x45b50e=_0x45b50e||0xc8;return function(_0x56d334){if(_0x56d334){return _0x38e12c[_0xc21c('0x17')](_0x45b50e)['json'](_0x56d334);}};}function respondWithFilteredResult(_0x5bb0ca,_0x19832b){return function(_0x3c20ac){if(_0x3c20ac){var _0x5cff02=typeof _0x19832b[_0xc21c('0x18')]==='undefined'&&typeof _0x19832b[_0xc21c('0x19')]===_0xc21c('0x1a');var _0x457840=_0x3c20ac['count'];var _0x4936b5=_0x5cff02?0x0:_0x19832b[_0xc21c('0x18')];var _0x5287b7=_0x5cff02?_0x3c20ac[_0xc21c('0x1b')]:_0x19832b[_0xc21c('0x18')]+_0x19832b[_0xc21c('0x19')];var _0x17d426;if(_0x5287b7>=_0x457840){_0x5287b7=_0x457840;_0x17d426=0xc8;}else{_0x17d426=0xce;}_0x5bb0ca[_0xc21c('0x17')](_0x17d426);return _0x5bb0ca['set'](_0xc21c('0x1c'),_0x4936b5+'-'+_0x5287b7+'/'+_0x457840)[_0xc21c('0x1d')](_0x3c20ac);}return null;};}function patchUpdates(_0x400520){return function(_0x2267aa){try{jsonpatch['apply'](_0x2267aa,_0x400520,!![]);}catch(_0x25c612){return BPromise[_0xc21c('0x1e')](_0x25c612);}return _0x2267aa[_0xc21c('0x1f')]();};}function saveUpdates(_0x56bb64,_0x374958){return function(_0x16254c){if(_0x16254c){return _0x16254c[_0xc21c('0x20')](_0x56bb64)[_0xc21c('0x21')](function(_0x5b7abc){return _0x5b7abc;});}return null;};}function removeEntity(_0x3644fb,_0x377925){return function(_0x4ba66f){if(_0x4ba66f){return _0x4ba66f[_0xc21c('0x22')]()['then'](function(){_0x3644fb['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x36aefb,_0x5272da){return function(_0x24d31b){if(!_0x24d31b){_0x36aefb[_0xc21c('0x23')](0x194);}return _0x24d31b;};}function handleError(_0x4abf97,_0x41196b){_0x41196b=_0x41196b||0x1f4;return function(_0x44930f){logger[_0xc21c('0x24')](_0x44930f[_0xc21c('0x25')]);if(_0x44930f[_0xc21c('0x26')]){delete _0x44930f['name'];}_0x4abf97[_0xc21c('0x17')](_0x41196b)['send'](_0x44930f);};}exports[_0xc21c('0x27')]=function(_0x995de7,_0x530ddb){var _0x29c863={},_0x5060c8={},_0x297e8b={'count':0x0,'rows':[]};var _0x37f30b=_[_0xc21c('0x28')](db[_0xc21c('0x29')]['rawAttributes'],function(_0x108dd5){return{'name':_0x108dd5[_0xc21c('0x2a')],'type':_0x108dd5[_0xc21c('0x2b')][_0xc21c('0x2c')]};});_0x5060c8['model']=_[_0xc21c('0x28')](_0x37f30b,_0xc21c('0x26'));_0x5060c8[_0xc21c('0x2d')]=_[_0xc21c('0x2e')](_0x995de7[_0xc21c('0x2d')]);_0x5060c8[_0xc21c('0x2f')]=_[_0xc21c('0x30')](_0x5060c8[_0xc21c('0x31')],_0x5060c8[_0xc21c('0x2d')]);_0x29c863[_0xc21c('0x32')]=_['intersection'](_0x5060c8['model'],qs[_0xc21c('0x33')](_0x995de7[_0xc21c('0x2d')][_0xc21c('0x33')]));_0x29c863[_0xc21c('0x32')]=_0x29c863['attributes'][_0xc21c('0x34')]?_0x29c863[_0xc21c('0x32')]:_0x5060c8[_0xc21c('0x31')];if(!_0x995de7[_0xc21c('0x2d')][_0xc21c('0x35')]('nolimit')){_0x29c863[_0xc21c('0x19')]=qs[_0xc21c('0x19')](_0x995de7[_0xc21c('0x2d')][_0xc21c('0x19')]);_0x29c863['offset']=qs[_0xc21c('0x18')](_0x995de7[_0xc21c('0x2d')]['offset']);}_0x29c863[_0xc21c('0x36')]=qs[_0xc21c('0x37')](_0x995de7[_0xc21c('0x2d')][_0xc21c('0x37')]);_0x29c863[_0xc21c('0x38')]=qs[_0xc21c('0x2f')](_[_0xc21c('0x39')](_0x995de7[_0xc21c('0x2d')],_0x5060c8['filters']),_0x37f30b);if(_0x995de7['query'][_0xc21c('0x3a')]){_0x29c863[_0xc21c('0x38')]=_['merge'](_0x29c863[_0xc21c('0x38')],{'$or':_['map'](_0x37f30b,function(_0x5686d3){if(_0x5686d3['type']!==_0xc21c('0x3b')){var _0x28db3d={};_0x28db3d[_0x5686d3[_0xc21c('0x26')]]={'$like':'%'+_0x995de7[_0xc21c('0x2d')][_0xc21c('0x3a')]+'%'};return _0x28db3d;}})});}_0x29c863=_[_0xc21c('0x3c')]({},_0x29c863,_0x995de7[_0xc21c('0x3d')]);var _0x19894a={'where':_0x29c863[_0xc21c('0x38')]};return db[_0xc21c('0x29')]['count'](_0x19894a)[_0xc21c('0x21')](function(_0x161ed9){_0x297e8b[_0xc21c('0x1b')]=_0x161ed9;if(_0x995de7[_0xc21c('0x2d')][_0xc21c('0x3e')]){_0x29c863[_0xc21c('0x3f')]=[{'all':!![]}];}return db[_0xc21c('0x29')][_0xc21c('0x40')](_0x29c863);})['then'](function(_0x1a08ad){_0x297e8b[_0xc21c('0x41')]=_0x1a08ad;return _0x297e8b;})['then'](respondWithFilteredResult(_0x530ddb,_0x29c863))[_0xc21c('0x42')](handleError(_0x530ddb,null));};exports['show']=function(_0x1ad6b9,_0x262330){var _0x5f1719={'raw':![],'where':{'id':_0x1ad6b9[_0xc21c('0x43')]['id']}},_0x211a1a={};_0x211a1a['model']=_['keys'](db[_0xc21c('0x29')]['rawAttributes']);_0x211a1a['query']=_[_0xc21c('0x2e')](_0x1ad6b9['query']);_0x211a1a[_0xc21c('0x2f')]=_[_0xc21c('0x30')](_0x211a1a[_0xc21c('0x31')],_0x211a1a['query']);_0x5f1719['attributes']=_[_0xc21c('0x30')](_0x211a1a[_0xc21c('0x31')],qs[_0xc21c('0x33')](_0x1ad6b9['query']['fields']));_0x5f1719[_0xc21c('0x32')]=_0x5f1719['attributes'][_0xc21c('0x34')]?_0x5f1719[_0xc21c('0x32')]:_0x211a1a[_0xc21c('0x31')];if(_0x1ad6b9[_0xc21c('0x2d')][_0xc21c('0x3e')]){_0x5f1719[_0xc21c('0x3f')]=[{'all':!![]}];}_0x5f1719=_[_0xc21c('0x3c')]({},_0x5f1719,_0x1ad6b9[_0xc21c('0x3d')]);return db[_0xc21c('0x29')][_0xc21c('0x44')](_0x5f1719)[_0xc21c('0x21')](handleEntityNotFound(_0x262330,null))[_0xc21c('0x21')](respondWithResult(_0x262330,null))[_0xc21c('0x42')](handleError(_0x262330,null));};exports[_0xc21c('0x45')]=function(_0x4cfbb6,_0x3547bd){return db['ZendeskConfiguration'][_0xc21c('0x45')](_0x4cfbb6['body'],{})[_0xc21c('0x21')](respondWithResult(_0x3547bd,0xc9))[_0xc21c('0x42')](handleError(_0x3547bd,null));};exports[_0xc21c('0x20')]=function(_0x54a41d,_0x34a1d7){if(_0x54a41d[_0xc21c('0x46')]['id']){delete _0x54a41d['body']['id'];}return db[_0xc21c('0x29')][_0xc21c('0x44')]({'where':{'id':_0x54a41d['params']['id']}})[_0xc21c('0x21')](handleEntityNotFound(_0x34a1d7,null))[_0xc21c('0x21')](saveUpdates(_0x54a41d[_0xc21c('0x46')],null))[_0xc21c('0x21')](respondWithResult(_0x34a1d7,null))[_0xc21c('0x42')](handleError(_0x34a1d7,null));};exports[_0xc21c('0x22')]=function(_0x1c15a3,_0x41e2d7){return db[_0xc21c('0x29')][_0xc21c('0x44')]({'where':{'id':_0x1c15a3[_0xc21c('0x43')]['id']}})[_0xc21c('0x21')](handleEntityNotFound(_0x41e2d7,null))[_0xc21c('0x21')](removeEntity(_0x41e2d7,null))[_0xc21c('0x42')](handleError(_0x41e2d7,null));};exports[_0xc21c('0x47')]=function(_0x1c4ec7,_0x368d32,_0x192a31){var _0xd1f54f={};var _0x37f2a1={};var _0x13683c;var _0x3a70c5;return db[_0xc21c('0x29')][_0xc21c('0x48')]({'where':{'id':_0x1c4ec7[_0xc21c('0x43')]['id']}})[_0xc21c('0x21')](handleEntityNotFound(_0x368d32,null))['then'](function(_0x3bf75b){if(_0x3bf75b){_0x13683c=_0x3bf75b;_0x37f2a1[_0xc21c('0x31')]=_[_0xc21c('0x2e')](db[_0xc21c('0x49')][_0xc21c('0x4a')]);_0x37f2a1['query']=_[_0xc21c('0x2e')](_0x1c4ec7[_0xc21c('0x2d')]);_0x37f2a1['filters']=_['intersection'](_0x37f2a1[_0xc21c('0x31')],_0x37f2a1['query']);_0xd1f54f[_0xc21c('0x32')]=_[_0xc21c('0x30')](_0x37f2a1[_0xc21c('0x31')],qs[_0xc21c('0x33')](_0x1c4ec7[_0xc21c('0x2d')]['fields']));_0xd1f54f[_0xc21c('0x32')]=_0xd1f54f['attributes'][_0xc21c('0x34')]?_0xd1f54f[_0xc21c('0x32')]:_0x37f2a1['model'];_0xd1f54f[_0xc21c('0x36')]=qs[_0xc21c('0x37')](_0x1c4ec7[_0xc21c('0x2d')]['sort']);_0xd1f54f[_0xc21c('0x38')]=qs['filters'](_['pick'](_0x1c4ec7[_0xc21c('0x2d')],_0x37f2a1[_0xc21c('0x2f')]));if(_0x1c4ec7['query'][_0xc21c('0x3a')]){_0xd1f54f['where']=_[_0xc21c('0x3c')](_0xd1f54f['where'],{'$or':_[_0xc21c('0x28')](_0xd1f54f[_0xc21c('0x32')],function(_0x929f3){var _0x4cfbe4={};_0x4cfbe4[_0x929f3]={'$like':'%'+_0x1c4ec7[_0xc21c('0x2d')][_0xc21c('0x3a')]+'%'};return _0x4cfbe4;})});}_0xd1f54f=_[_0xc21c('0x3c')]({},_0xd1f54f,_0x1c4ec7[_0xc21c('0x3d')]);return _0x13683c[_0xc21c('0x47')](_0xd1f54f);}})[_0xc21c('0x21')](function(_0x4a8470){if(_0x4a8470){_0x3a70c5=_0x4a8470[_0xc21c('0x34')];if(!_0x1c4ec7[_0xc21c('0x2d')][_0xc21c('0x35')](_0xc21c('0x4b'))){_0xd1f54f[_0xc21c('0x19')]=qs['limit'](_0x1c4ec7[_0xc21c('0x2d')]['limit']);_0xd1f54f[_0xc21c('0x18')]=qs[_0xc21c('0x18')](_0x1c4ec7[_0xc21c('0x2d')][_0xc21c('0x18')]);}return _0x13683c[_0xc21c('0x47')](_0xd1f54f);}})[_0xc21c('0x21')](function(_0x1da018){if(_0x1da018){return _0x1da018?{'count':_0x3a70c5,'rows':_0x1da018}:null;}})[_0xc21c('0x21')](respondWithResult(_0x368d32,null))[_0xc21c('0x42')](handleError(_0x368d32,null));};exports[_0xc21c('0x4c')]=function(_0x40c9aa,_0x169870,_0x460c28){var _0x23fea4={};var _0x4cb5cd={};var _0x4f39ab;var _0x447ade;return db[_0xc21c('0x29')][_0xc21c('0x48')]({'where':{'id':_0x40c9aa['params']['id']}})[_0xc21c('0x21')](handleEntityNotFound(_0x169870,null))[_0xc21c('0x21')](function(_0x47994a){if(_0x47994a){_0x4f39ab=_0x47994a;_0x4cb5cd[_0xc21c('0x31')]=_[_0xc21c('0x2e')](db['ZendeskField'][_0xc21c('0x4a')]);_0x4cb5cd[_0xc21c('0x2d')]=_[_0xc21c('0x2e')](_0x40c9aa[_0xc21c('0x2d')]);_0x4cb5cd['filters']=_[_0xc21c('0x30')](_0x4cb5cd[_0xc21c('0x31')],_0x4cb5cd['query']);_0x23fea4[_0xc21c('0x32')]=_[_0xc21c('0x30')](_0x4cb5cd[_0xc21c('0x31')],qs[_0xc21c('0x33')](_0x40c9aa['query'][_0xc21c('0x33')]));_0x23fea4['attributes']=_0x23fea4['attributes'][_0xc21c('0x34')]?_0x23fea4[_0xc21c('0x32')]:_0x4cb5cd[_0xc21c('0x31')];_0x23fea4[_0xc21c('0x36')]=qs['sort'](_0x40c9aa[_0xc21c('0x2d')][_0xc21c('0x37')]);_0x23fea4[_0xc21c('0x38')]=qs[_0xc21c('0x2f')](_[_0xc21c('0x39')](_0x40c9aa[_0xc21c('0x2d')],_0x4cb5cd[_0xc21c('0x2f')]));if(_0x40c9aa[_0xc21c('0x2d')][_0xc21c('0x3a')]){_0x23fea4[_0xc21c('0x38')]=_['merge'](_0x23fea4[_0xc21c('0x38')],{'$or':_[_0xc21c('0x28')](_0x23fea4[_0xc21c('0x32')],function(_0x46998e){var _0x15c8ef={};_0x15c8ef[_0x46998e]={'$like':'%'+_0x40c9aa['query']['filter']+'%'};return _0x15c8ef;})});}_0x23fea4=_[_0xc21c('0x3c')]({},_0x23fea4,_0x40c9aa[_0xc21c('0x3d')]);return _0x4f39ab[_0xc21c('0x4c')](_0x23fea4);}})['then'](function(_0x3b4b13){if(_0x3b4b13){_0x447ade=_0x3b4b13[_0xc21c('0x34')];if(!_0x40c9aa[_0xc21c('0x2d')][_0xc21c('0x35')](_0xc21c('0x4b'))){_0x23fea4[_0xc21c('0x19')]=qs['limit'](_0x40c9aa['query'][_0xc21c('0x19')]);_0x23fea4[_0xc21c('0x18')]=qs[_0xc21c('0x18')](_0x40c9aa[_0xc21c('0x2d')][_0xc21c('0x18')]);}return _0x4f39ab['getSubjects'](_0x23fea4);}})['then'](function(_0x397463){if(_0x397463){return _0x397463?{'count':_0x447ade,'rows':_0x397463}:null;}})[_0xc21c('0x21')](respondWithResult(_0x169870,null))[_0xc21c('0x42')](handleError(_0x169870,null));};exports[_0xc21c('0x4d')]=function(_0x5e4c3d,_0xd172c,_0xf697c2){var _0x215ad3={};var _0x4f3044={};var _0x3c46f2;var _0xd352f7;return db['ZendeskConfiguration'][_0xc21c('0x48')]({'where':{'id':_0x5e4c3d[_0xc21c('0x43')]['id']}})[_0xc21c('0x21')](handleEntityNotFound(_0xd172c,null))['then'](function(_0x4308ba){if(_0x4308ba){_0x3c46f2=_0x4308ba;_0x4f3044['model']=_['keys'](db[_0xc21c('0x49')]['rawAttributes']);_0x4f3044[_0xc21c('0x2d')]=_[_0xc21c('0x2e')](_0x5e4c3d[_0xc21c('0x2d')]);_0x4f3044[_0xc21c('0x2f')]=_['intersection'](_0x4f3044[_0xc21c('0x31')],_0x4f3044[_0xc21c('0x2d')]);_0x215ad3[_0xc21c('0x32')]=_['intersection'](_0x4f3044[_0xc21c('0x31')],qs['fields'](_0x5e4c3d[_0xc21c('0x2d')][_0xc21c('0x33')]));_0x215ad3[_0xc21c('0x32')]=_0x215ad3[_0xc21c('0x32')][_0xc21c('0x34')]?_0x215ad3[_0xc21c('0x32')]:_0x4f3044['model'];_0x215ad3[_0xc21c('0x36')]=qs['sort'](_0x5e4c3d[_0xc21c('0x2d')]['sort']);_0x215ad3[_0xc21c('0x38')]=qs[_0xc21c('0x2f')](_[_0xc21c('0x39')](_0x5e4c3d[_0xc21c('0x2d')],_0x4f3044[_0xc21c('0x2f')]));if(_0x5e4c3d['query'][_0xc21c('0x3a')]){_0x215ad3[_0xc21c('0x38')]=_['merge'](_0x215ad3[_0xc21c('0x38')],{'$or':_[_0xc21c('0x28')](_0x215ad3['attributes'],function(_0x4b5de0){var _0x172cb6={};_0x172cb6[_0x4b5de0]={'$like':'%'+_0x5e4c3d[_0xc21c('0x2d')]['filter']+'%'};return _0x172cb6;})});}_0x215ad3=_[_0xc21c('0x3c')]({},_0x215ad3,_0x5e4c3d[_0xc21c('0x3d')]);return _0x3c46f2[_0xc21c('0x4d')](_0x215ad3);}})['then'](function(_0x430199){if(_0x430199){_0xd352f7=_0x430199['length'];if(!_0x5e4c3d['query'][_0xc21c('0x35')](_0xc21c('0x4b'))){_0x215ad3['limit']=qs['limit'](_0x5e4c3d[_0xc21c('0x2d')]['limit']);_0x215ad3[_0xc21c('0x18')]=qs[_0xc21c('0x18')](_0x5e4c3d[_0xc21c('0x2d')]['offset']);}return _0x3c46f2['getDescriptions'](_0x215ad3);}})[_0xc21c('0x21')](function(_0x4df013){if(_0x4df013){return _0x4df013?{'count':_0xd352f7,'rows':_0x4df013}:null;}})[_0xc21c('0x21')](respondWithResult(_0xd172c,null))[_0xc21c('0x42')](handleError(_0xd172c,null));};exports[_0xc21c('0x4e')]=function(_0x36e2b0,_0x537e2c,_0x17666e){var _0x35fbfd={};var _0x10d510={};var _0x2ae394;var _0x23f322;return db[_0xc21c('0x29')]['findOne']({'where':{'id':_0x36e2b0['params']['id']}})[_0xc21c('0x21')](handleEntityNotFound(_0x537e2c,null))[_0xc21c('0x21')](function(_0x311583){if(_0x311583){_0x2ae394=_0x311583;_0x10d510[_0xc21c('0x31')]=_[_0xc21c('0x2e')](db[_0xc21c('0x4f')]['rawAttributes']);_0x10d510['query']=_[_0xc21c('0x2e')](_0x36e2b0[_0xc21c('0x2d')]);_0x10d510['filters']=_[_0xc21c('0x30')](_0x10d510[_0xc21c('0x31')],_0x10d510[_0xc21c('0x2d')]);_0x35fbfd[_0xc21c('0x32')]=_[_0xc21c('0x30')](_0x10d510['model'],qs[_0xc21c('0x33')](_0x36e2b0[_0xc21c('0x2d')][_0xc21c('0x33')]));_0x35fbfd[_0xc21c('0x32')]=_0x35fbfd[_0xc21c('0x32')][_0xc21c('0x34')]?_0x35fbfd[_0xc21c('0x32')]:_0x10d510['model'];_0x35fbfd[_0xc21c('0x36')]=qs[_0xc21c('0x37')](_0x36e2b0[_0xc21c('0x2d')][_0xc21c('0x37')]);_0x35fbfd[_0xc21c('0x38')]=qs[_0xc21c('0x2f')](_[_0xc21c('0x39')](_0x36e2b0[_0xc21c('0x2d')],_0x10d510[_0xc21c('0x2f')]));if(_0x36e2b0['query'][_0xc21c('0x3a')]){_0x35fbfd[_0xc21c('0x38')]=_[_0xc21c('0x3c')](_0x35fbfd[_0xc21c('0x38')],{'$or':_[_0xc21c('0x28')](_0x35fbfd['attributes'],function(_0x4fccc4){var _0x2a48d5={};_0x2a48d5[_0x4fccc4]={'$like':'%'+_0x36e2b0['query']['filter']+'%'};return _0x2a48d5;})});}_0x35fbfd=_[_0xc21c('0x3c')]({},_0x35fbfd,_0x36e2b0[_0xc21c('0x3d')]);return _0x2ae394[_0xc21c('0x4e')](_0x35fbfd);}})['then'](function(_0x4b1a3b){if(_0x4b1a3b){_0x23f322=_0x4b1a3b[_0xc21c('0x34')];if(!_0x36e2b0[_0xc21c('0x2d')][_0xc21c('0x35')]('nolimit')){_0x35fbfd[_0xc21c('0x19')]=qs[_0xc21c('0x19')](_0x36e2b0[_0xc21c('0x2d')][_0xc21c('0x19')]);_0x35fbfd[_0xc21c('0x18')]=qs['offset'](_0x36e2b0[_0xc21c('0x2d')]['offset']);}return _0x2ae394['getTags'](_0x35fbfd);}})[_0xc21c('0x21')](function(_0x1518ac){if(_0x1518ac){return _0x1518ac?{'count':_0x23f322,'rows':_0x1518ac}:null;}})[_0xc21c('0x21')](respondWithResult(_0x537e2c,null))['catch'](handleError(_0x537e2c,null));};exports['setTags']=function(_0x51ec89,_0x3f5c04,_0x2346d2){if(_0x51ec89['body']['id']){delete _0x51ec89['body']['id'];}return db[_0xc21c('0x29')][_0xc21c('0x48')]({'where':{'id':_0x51ec89[_0xc21c('0x43')]['id']}})[_0xc21c('0x21')](handleEntityNotFound(_0x3f5c04,null))['then'](function(_0x14dc93){if(_0x14dc93){return _0x14dc93[_0xc21c('0x50')](_0x51ec89['body'][_0xc21c('0x51')]||[]);}return null;})['then'](respondWithResult(_0x3f5c04,null))[_0xc21c('0x42')](handleError(_0x3f5c04,null));};