Built motion from commit (unavailable).|2.5.4
[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 _0xfa10=['crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','client','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','ZendeskConfiguration,\x20%s,\x20%s','request\x20sent','debug','ZendeskConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','message','info','catch','sendStatus','status','end','json','count','offset','set','apply','reject','update','destroy','stack','name','index','map','ZendeskConfiguration','rawAttributes','fieldName','key','model','keys','attributes','fields','length','query','hasOwnProperty','limit','order','sort','where','filters','filter','merge','type','options','includeAll','show','params','intersection','include','find','create','body','getFields','nolimit','getSubjects','findOne','ZendeskField','pick','getDescriptions','getTags','Tag','setTags','ids','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','squel'];(function(_0x255e83,_0x477291){var _0x31db6c=function(_0x3e5fab){while(--_0x3e5fab){_0x255e83['push'](_0x255e83['shift']());}};_0x31db6c(++_0x477291);}(_0xfa10,0x10e));var _0x0fa1=function(_0x58fc3e,_0x2fe59a){_0x58fc3e=_0x58fc3e-0x0;var _0x1062f5=_0xfa10[_0x58fc3e];return _0x1062f5;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x0fa1('0x0'));var zipdir=require(_0x0fa1('0x1'));var jsonpatch=require(_0x0fa1('0x2'));var rp=require(_0x0fa1('0x3'));var moment=require(_0x0fa1('0x4'));var BPromise=require(_0x0fa1('0x5'));var Mustache=require(_0x0fa1('0x6'));var util=require('util');var path=require(_0x0fa1('0x7'));var sox=require(_0x0fa1('0x8'));var csv=require(_0x0fa1('0x9'));var ejs=require(_0x0fa1('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0x0fa1('0xb'));var crypto=require(_0x0fa1('0xc'));var jsforce=require(_0x0fa1('0xd'));var deskjs=require(_0x0fa1('0xe'));var toCsv=require(_0x0fa1('0x9'));var querystring=require(_0x0fa1('0xf'));var Papa=require(_0x0fa1('0x10'));var Redis=require(_0x0fa1('0x11'));var authService=require(_0x0fa1('0x12'));var qs=require(_0x0fa1('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x0fa1('0x14'))(_0x0fa1('0x15'));var utils=require(_0x0fa1('0x16'));var config=require(_0x0fa1('0x17'));var db=require(_0x0fa1('0x18'))['db'];var jayson=require('jayson/promise');var client=jayson[_0x0fa1('0x19')]['http']({'port':0x232a});function checkPasswordPattern(_0x5480e5,_0x51db92,_0x4af3d3){if(_0x4af3d3){var _0x59dcfe=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x59dcfe['test'](_0x51db92)){return _0x5480e5;}else{throw new db[(_0x0fa1('0x1a'))][(_0x0fa1('0x1b'))](_0x0fa1('0x1c'));}}else{return _0x5480e5;}}function respondWithRpcPromise(_0x4e5f97,_0x419583,_0x452f5f,_0x15217b){return new BPromise(function(_0x3c37f6,_0x3f99a9){var _0x5df1b1=_0x15217b||client;return _0x5df1b1[_0x0fa1('0x1d')](_0x4e5f97,_0x452f5f)[_0x0fa1('0x1e')](function(_0x234118){logger['info'](_0x0fa1('0x1f'),_0x419583,_0x0fa1('0x20'));logger[_0x0fa1('0x21')](_0x0fa1('0x22'),_0x419583,_0x0fa1('0x20'),JSON[_0x0fa1('0x23')](_0x234118));if(_0x234118[_0x0fa1('0x24')]){if(_0x234118[_0x0fa1('0x24')]['code']===0x1f4){logger[_0x0fa1('0x24')](_0x0fa1('0x1f'),_0x419583,_0x234118[_0x0fa1('0x24')][_0x0fa1('0x25')]);return _0x3f99a9(_0x234118['error'][_0x0fa1('0x25')]);}logger['error'](_0x0fa1('0x1f'),_0x419583,_0x234118[_0x0fa1('0x24')][_0x0fa1('0x25')]);return _0x3c37f6(_0x234118['error'][_0x0fa1('0x25')]);}else{logger[_0x0fa1('0x26')](_0x0fa1('0x1f'),_0x419583,_0x0fa1('0x20'));_0x3c37f6(_0x234118['result'][_0x0fa1('0x25')]);}})[_0x0fa1('0x27')](function(_0xb13a98){logger[_0x0fa1('0x24')](_0x0fa1('0x1f'),_0x419583,_0xb13a98);_0x3f99a9(_0xb13a98);});});}function respondWithStatusCode(_0x3388b0,_0x45b8fd){_0x45b8fd=_0x45b8fd||0xcc;return function(_0x595c84){if(_0x595c84){return _0x3388b0[_0x0fa1('0x28')](_0x45b8fd);}return _0x3388b0[_0x0fa1('0x29')](_0x45b8fd)[_0x0fa1('0x2a')]();};}function respondWithResult(_0x43f136,_0x33a335){_0x33a335=_0x33a335||0xc8;return function(_0x36cf87){if(_0x36cf87){return _0x43f136['status'](_0x33a335)[_0x0fa1('0x2b')](_0x36cf87);}};}function respondWithFilteredResult(_0x55ba17,_0x2aca6f){return function(_0x28996c){if(_0x28996c){var _0xba23ed=_0x28996c[_0x0fa1('0x2c')],_0x5db0fd=_0x2aca6f[_0x0fa1('0x2d')],_0x3ca961=_0x2aca6f['offset']+_0x2aca6f['limit'],_0x427a31;if(_0x3ca961>=_0xba23ed){_0x3ca961=_0xba23ed;_0x427a31=0xc8;}else{_0x427a31=0xce;}_0x55ba17[_0x0fa1('0x29')](_0x427a31);return _0x55ba17[_0x0fa1('0x2e')]('Content-Range',_0x5db0fd+'-'+_0x3ca961+'/'+_0xba23ed)[_0x0fa1('0x2b')](_0x28996c);}return null;};}function patchUpdates(_0x4a1e33){return function(_0x3a0656){try{jsonpatch[_0x0fa1('0x2f')](_0x3a0656,_0x4a1e33,!![]);}catch(_0x24ab7a){return BPromise[_0x0fa1('0x30')](_0x24ab7a);}return _0x3a0656['save']();};}function saveUpdates(_0x285ba1,_0x2f17d4){return function(_0x47d0e9){if(_0x47d0e9){return _0x47d0e9[_0x0fa1('0x31')](_0x285ba1)['then'](function(_0x151247){return _0x151247;});}return null;};}function removeEntity(_0x3379b5,_0x5f5138){return function(_0x5ea4b6){if(_0x5ea4b6){return _0x5ea4b6[_0x0fa1('0x32')]()[_0x0fa1('0x1e')](function(){_0x3379b5[_0x0fa1('0x29')](0xcc)[_0x0fa1('0x2a')]();});}};}function handleEntityNotFound(_0x515d4c,_0x8da4be){return function(_0x4d62d6){if(!_0x4d62d6){_0x515d4c['sendStatus'](0x194);}return _0x4d62d6;};}function handleError(_0x5e4346,_0x28427b){_0x28427b=_0x28427b||0x1f4;return function(_0x112250){logger[_0x0fa1('0x24')](_0x112250[_0x0fa1('0x33')]);if(_0x112250[_0x0fa1('0x34')]){delete _0x112250[_0x0fa1('0x34')];}_0x5e4346[_0x0fa1('0x29')](_0x28427b)['send'](_0x112250);};}exports[_0x0fa1('0x35')]=function(_0x249778,_0x27d349){var _0x11cda2={},_0x54d296={},_0x5c44a5={'count':0x0,'rows':[]};var _0x42bec1=_[_0x0fa1('0x36')](db[_0x0fa1('0x37')][_0x0fa1('0x38')],function(_0x33703d){return{'name':_0x33703d[_0x0fa1('0x39')],'type':_0x33703d['type'][_0x0fa1('0x3a')]};});_0x54d296[_0x0fa1('0x3b')]=_[_0x0fa1('0x36')](_0x42bec1,'name');_0x54d296['query']=_[_0x0fa1('0x3c')](_0x249778['query']);_0x54d296['filters']=_['intersection'](_0x54d296['model'],_0x54d296['query']);_0x11cda2[_0x0fa1('0x3d')]=_['intersection'](_0x54d296['model'],qs[_0x0fa1('0x3e')](_0x249778['query'][_0x0fa1('0x3e')]));_0x11cda2[_0x0fa1('0x3d')]=_0x11cda2['attributes'][_0x0fa1('0x3f')]?_0x11cda2['attributes']:_0x54d296[_0x0fa1('0x3b')];if(!_0x249778[_0x0fa1('0x40')][_0x0fa1('0x41')]('nolimit')){_0x11cda2[_0x0fa1('0x42')]=qs[_0x0fa1('0x42')](_0x249778['query']['limit']);_0x11cda2['offset']=qs[_0x0fa1('0x2d')](_0x249778['query'][_0x0fa1('0x2d')]);}_0x11cda2[_0x0fa1('0x43')]=qs['sort'](_0x249778[_0x0fa1('0x40')][_0x0fa1('0x44')]);_0x11cda2[_0x0fa1('0x45')]=qs['filters'](_['pick'](_0x249778[_0x0fa1('0x40')],_0x54d296[_0x0fa1('0x46')]),_0x42bec1);if(_0x249778[_0x0fa1('0x40')][_0x0fa1('0x47')]){_0x11cda2[_0x0fa1('0x45')]=_[_0x0fa1('0x48')](_0x11cda2['where'],{'$or':_[_0x0fa1('0x36')](_0x42bec1,function(_0x5ad419){if(_0x5ad419[_0x0fa1('0x49')]!=='VIRTUAL'){var _0x1c9973={};_0x1c9973[_0x5ad419[_0x0fa1('0x34')]]={'$like':'%'+_0x249778[_0x0fa1('0x40')][_0x0fa1('0x47')]+'%'};return _0x1c9973;}})});}_0x11cda2=_[_0x0fa1('0x48')]({},_0x11cda2,_0x249778[_0x0fa1('0x4a')]);var _0x2cd61c={'where':_0x11cda2[_0x0fa1('0x45')]};return db[_0x0fa1('0x37')]['count'](_0x2cd61c)[_0x0fa1('0x1e')](function(_0x3c3604){_0x5c44a5[_0x0fa1('0x2c')]=_0x3c3604;if(_0x249778['query'][_0x0fa1('0x4b')]){_0x11cda2['include']=[{'all':!![]}];}return db['ZendeskConfiguration']['findAll'](_0x11cda2);})[_0x0fa1('0x1e')](function(_0x405be6){_0x5c44a5['rows']=_0x405be6;return _0x5c44a5;})['then'](respondWithFilteredResult(_0x27d349,_0x11cda2))[_0x0fa1('0x27')](handleError(_0x27d349,null));};exports[_0x0fa1('0x4c')]=function(_0x37f7ae,_0x28e065){var _0xe6ab98={'raw':![],'where':{'id':_0x37f7ae[_0x0fa1('0x4d')]['id']}},_0x363dce={};_0x363dce[_0x0fa1('0x3b')]=_[_0x0fa1('0x3c')](db['ZendeskConfiguration']['rawAttributes']);_0x363dce['query']=_[_0x0fa1('0x3c')](_0x37f7ae[_0x0fa1('0x40')]);_0x363dce[_0x0fa1('0x46')]=_['intersection'](_0x363dce[_0x0fa1('0x3b')],_0x363dce[_0x0fa1('0x40')]);_0xe6ab98[_0x0fa1('0x3d')]=_[_0x0fa1('0x4e')](_0x363dce[_0x0fa1('0x3b')],qs[_0x0fa1('0x3e')](_0x37f7ae[_0x0fa1('0x40')][_0x0fa1('0x3e')]));_0xe6ab98[_0x0fa1('0x3d')]=_0xe6ab98[_0x0fa1('0x3d')][_0x0fa1('0x3f')]?_0xe6ab98[_0x0fa1('0x3d')]:_0x363dce[_0x0fa1('0x3b')];if(_0x37f7ae[_0x0fa1('0x40')][_0x0fa1('0x4b')]){_0xe6ab98[_0x0fa1('0x4f')]=[{'all':!![]}];}_0xe6ab98=_[_0x0fa1('0x48')]({},_0xe6ab98,_0x37f7ae[_0x0fa1('0x4a')]);return db['ZendeskConfiguration'][_0x0fa1('0x50')](_0xe6ab98)[_0x0fa1('0x1e')](handleEntityNotFound(_0x28e065,null))[_0x0fa1('0x1e')](respondWithResult(_0x28e065,null))[_0x0fa1('0x27')](handleError(_0x28e065,null));};exports[_0x0fa1('0x51')]=function(_0x54b0a4,_0x2f5234){return db[_0x0fa1('0x37')]['create'](_0x54b0a4['body'],{})[_0x0fa1('0x1e')](respondWithResult(_0x2f5234,0xc9))[_0x0fa1('0x27')](handleError(_0x2f5234,null));};exports[_0x0fa1('0x31')]=function(_0xba3e1e,_0x25821f){if(_0xba3e1e[_0x0fa1('0x52')]['id']){delete _0xba3e1e[_0x0fa1('0x52')]['id'];}return db['ZendeskConfiguration'][_0x0fa1('0x50')]({'where':{'id':_0xba3e1e[_0x0fa1('0x4d')]['id']}})[_0x0fa1('0x1e')](handleEntityNotFound(_0x25821f,null))[_0x0fa1('0x1e')](saveUpdates(_0xba3e1e[_0x0fa1('0x52')],null))[_0x0fa1('0x1e')](respondWithResult(_0x25821f,null))['catch'](handleError(_0x25821f,null));};exports[_0x0fa1('0x32')]=function(_0x59fac5,_0x529451){return db[_0x0fa1('0x37')][_0x0fa1('0x50')]({'where':{'id':_0x59fac5[_0x0fa1('0x4d')]['id']}})[_0x0fa1('0x1e')](handleEntityNotFound(_0x529451,null))[_0x0fa1('0x1e')](removeEntity(_0x529451,null))[_0x0fa1('0x27')](handleError(_0x529451,null));};exports[_0x0fa1('0x53')]=function(_0x1381ef,_0x1ca2aa,_0x10ca94){var _0x24bc38={};var _0x20b580={};var _0x31911f;var _0x35a52c;return db[_0x0fa1('0x37')]['findOne']({'where':{'id':_0x1381ef[_0x0fa1('0x4d')]['id']}})[_0x0fa1('0x1e')](handleEntityNotFound(_0x1ca2aa,null))[_0x0fa1('0x1e')](function(_0x1c877d){if(_0x1c877d){_0x31911f=_0x1c877d;_0x20b580['model']=_[_0x0fa1('0x3c')](db['ZendeskField'][_0x0fa1('0x38')]);_0x20b580['query']=_[_0x0fa1('0x3c')](_0x1381ef[_0x0fa1('0x40')]);_0x20b580[_0x0fa1('0x46')]=_['intersection'](_0x20b580['model'],_0x20b580[_0x0fa1('0x40')]);_0x24bc38[_0x0fa1('0x3d')]=_[_0x0fa1('0x4e')](_0x20b580[_0x0fa1('0x3b')],qs[_0x0fa1('0x3e')](_0x1381ef[_0x0fa1('0x40')][_0x0fa1('0x3e')]));_0x24bc38[_0x0fa1('0x3d')]=_0x24bc38[_0x0fa1('0x3d')][_0x0fa1('0x3f')]?_0x24bc38['attributes']:_0x20b580['model'];_0x24bc38[_0x0fa1('0x43')]=qs[_0x0fa1('0x44')](_0x1381ef[_0x0fa1('0x40')][_0x0fa1('0x44')]);_0x24bc38[_0x0fa1('0x45')]=qs['filters'](_['pick'](_0x1381ef[_0x0fa1('0x40')],_0x20b580['filters']));if(_0x1381ef[_0x0fa1('0x40')][_0x0fa1('0x47')]){_0x24bc38['where']=_[_0x0fa1('0x48')](_0x24bc38['where'],{'$or':_['map'](_0x24bc38[_0x0fa1('0x3d')],function(_0x28ef9e){var _0x335947={};_0x335947[_0x28ef9e]={'$like':'%'+_0x1381ef[_0x0fa1('0x40')][_0x0fa1('0x47')]+'%'};return _0x335947;})});}_0x24bc38=_['merge']({},_0x24bc38,_0x1381ef[_0x0fa1('0x4a')]);return _0x31911f['getFields'](_0x24bc38);}})[_0x0fa1('0x1e')](function(_0x461719){if(_0x461719){_0x35a52c=_0x461719[_0x0fa1('0x3f')];if(!_0x1381ef[_0x0fa1('0x40')][_0x0fa1('0x41')](_0x0fa1('0x54'))){_0x24bc38[_0x0fa1('0x42')]=qs[_0x0fa1('0x42')](_0x1381ef[_0x0fa1('0x40')][_0x0fa1('0x42')]);_0x24bc38[_0x0fa1('0x2d')]=qs[_0x0fa1('0x2d')](_0x1381ef[_0x0fa1('0x40')]['offset']);}return _0x31911f[_0x0fa1('0x53')](_0x24bc38);}})[_0x0fa1('0x1e')](function(_0x258e00){if(_0x258e00){return _0x258e00?{'count':_0x35a52c,'rows':_0x258e00}:null;}})[_0x0fa1('0x1e')](respondWithResult(_0x1ca2aa,null))[_0x0fa1('0x27')](handleError(_0x1ca2aa,null));};exports[_0x0fa1('0x55')]=function(_0x58ad7f,_0x5894a8,_0x17ac45){var _0x249afc={};var _0x32c923={};var _0x1d81ef;var _0x39cfdc;return db['ZendeskConfiguration'][_0x0fa1('0x56')]({'where':{'id':_0x58ad7f['params']['id']}})[_0x0fa1('0x1e')](handleEntityNotFound(_0x5894a8,null))[_0x0fa1('0x1e')](function(_0x3e793a){if(_0x3e793a){_0x1d81ef=_0x3e793a;_0x32c923[_0x0fa1('0x3b')]=_[_0x0fa1('0x3c')](db[_0x0fa1('0x57')][_0x0fa1('0x38')]);_0x32c923[_0x0fa1('0x40')]=_[_0x0fa1('0x3c')](_0x58ad7f[_0x0fa1('0x40')]);_0x32c923['filters']=_[_0x0fa1('0x4e')](_0x32c923[_0x0fa1('0x3b')],_0x32c923['query']);_0x249afc[_0x0fa1('0x3d')]=_[_0x0fa1('0x4e')](_0x32c923[_0x0fa1('0x3b')],qs['fields'](_0x58ad7f[_0x0fa1('0x40')][_0x0fa1('0x3e')]));_0x249afc[_0x0fa1('0x3d')]=_0x249afc[_0x0fa1('0x3d')][_0x0fa1('0x3f')]?_0x249afc['attributes']:_0x32c923[_0x0fa1('0x3b')];_0x249afc[_0x0fa1('0x43')]=qs['sort'](_0x58ad7f[_0x0fa1('0x40')][_0x0fa1('0x44')]);_0x249afc['where']=qs[_0x0fa1('0x46')](_[_0x0fa1('0x58')](_0x58ad7f['query'],_0x32c923['filters']));if(_0x58ad7f[_0x0fa1('0x40')][_0x0fa1('0x47')]){_0x249afc[_0x0fa1('0x45')]=_[_0x0fa1('0x48')](_0x249afc[_0x0fa1('0x45')],{'$or':_[_0x0fa1('0x36')](_0x249afc[_0x0fa1('0x3d')],function(_0x5a6124){var _0x3076ac={};_0x3076ac[_0x5a6124]={'$like':'%'+_0x58ad7f['query'][_0x0fa1('0x47')]+'%'};return _0x3076ac;})});}_0x249afc=_[_0x0fa1('0x48')]({},_0x249afc,_0x58ad7f[_0x0fa1('0x4a')]);return _0x1d81ef[_0x0fa1('0x55')](_0x249afc);}})['then'](function(_0x19dfc0){if(_0x19dfc0){_0x39cfdc=_0x19dfc0[_0x0fa1('0x3f')];if(!_0x58ad7f[_0x0fa1('0x40')][_0x0fa1('0x41')]('nolimit')){_0x249afc['limit']=qs[_0x0fa1('0x42')](_0x58ad7f[_0x0fa1('0x40')]['limit']);_0x249afc['offset']=qs[_0x0fa1('0x2d')](_0x58ad7f[_0x0fa1('0x40')][_0x0fa1('0x2d')]);}return _0x1d81ef[_0x0fa1('0x55')](_0x249afc);}})['then'](function(_0x14d408){if(_0x14d408){return _0x14d408?{'count':_0x39cfdc,'rows':_0x14d408}:null;}})[_0x0fa1('0x1e')](respondWithResult(_0x5894a8,null))[_0x0fa1('0x27')](handleError(_0x5894a8,null));};exports[_0x0fa1('0x59')]=function(_0x2ca24c,_0x5d9d3d,_0x494132){var _0x37c3b8={};var _0x9016ba={};var _0x3d84b4;var _0x141381;return db[_0x0fa1('0x37')]['findOne']({'where':{'id':_0x2ca24c[_0x0fa1('0x4d')]['id']}})[_0x0fa1('0x1e')](handleEntityNotFound(_0x5d9d3d,null))[_0x0fa1('0x1e')](function(_0x1ce338){if(_0x1ce338){_0x3d84b4=_0x1ce338;_0x9016ba['model']=_[_0x0fa1('0x3c')](db[_0x0fa1('0x57')][_0x0fa1('0x38')]);_0x9016ba['query']=_[_0x0fa1('0x3c')](_0x2ca24c[_0x0fa1('0x40')]);_0x9016ba['filters']=_['intersection'](_0x9016ba[_0x0fa1('0x3b')],_0x9016ba[_0x0fa1('0x40')]);_0x37c3b8[_0x0fa1('0x3d')]=_[_0x0fa1('0x4e')](_0x9016ba[_0x0fa1('0x3b')],qs['fields'](_0x2ca24c[_0x0fa1('0x40')][_0x0fa1('0x3e')]));_0x37c3b8[_0x0fa1('0x3d')]=_0x37c3b8[_0x0fa1('0x3d')][_0x0fa1('0x3f')]?_0x37c3b8[_0x0fa1('0x3d')]:_0x9016ba[_0x0fa1('0x3b')];_0x37c3b8[_0x0fa1('0x43')]=qs[_0x0fa1('0x44')](_0x2ca24c[_0x0fa1('0x40')][_0x0fa1('0x44')]);_0x37c3b8[_0x0fa1('0x45')]=qs[_0x0fa1('0x46')](_['pick'](_0x2ca24c['query'],_0x9016ba[_0x0fa1('0x46')]));if(_0x2ca24c[_0x0fa1('0x40')][_0x0fa1('0x47')]){_0x37c3b8[_0x0fa1('0x45')]=_[_0x0fa1('0x48')](_0x37c3b8[_0x0fa1('0x45')],{'$or':_[_0x0fa1('0x36')](_0x37c3b8['attributes'],function(_0x34fd9f){var _0x259d38={};_0x259d38[_0x34fd9f]={'$like':'%'+_0x2ca24c[_0x0fa1('0x40')][_0x0fa1('0x47')]+'%'};return _0x259d38;})});}_0x37c3b8=_['merge']({},_0x37c3b8,_0x2ca24c[_0x0fa1('0x4a')]);return _0x3d84b4[_0x0fa1('0x59')](_0x37c3b8);}})[_0x0fa1('0x1e')](function(_0x2bc549){if(_0x2bc549){_0x141381=_0x2bc549[_0x0fa1('0x3f')];if(!_0x2ca24c[_0x0fa1('0x40')][_0x0fa1('0x41')](_0x0fa1('0x54'))){_0x37c3b8[_0x0fa1('0x42')]=qs[_0x0fa1('0x42')](_0x2ca24c[_0x0fa1('0x40')][_0x0fa1('0x42')]);_0x37c3b8['offset']=qs[_0x0fa1('0x2d')](_0x2ca24c[_0x0fa1('0x40')][_0x0fa1('0x2d')]);}return _0x3d84b4[_0x0fa1('0x59')](_0x37c3b8);}})[_0x0fa1('0x1e')](function(_0x947447){if(_0x947447){return _0x947447?{'count':_0x141381,'rows':_0x947447}:null;}})[_0x0fa1('0x1e')](respondWithResult(_0x5d9d3d,null))[_0x0fa1('0x27')](handleError(_0x5d9d3d,null));};exports[_0x0fa1('0x5a')]=function(_0x333b71,_0x1a05c7,_0x142e58){var _0x1918eb={};var _0x36a8b1={};var _0x30aa6c;var _0x3c0d11;return db[_0x0fa1('0x37')]['findOne']({'where':{'id':_0x333b71[_0x0fa1('0x4d')]['id']}})[_0x0fa1('0x1e')](handleEntityNotFound(_0x1a05c7,null))[_0x0fa1('0x1e')](function(_0x452e23){if(_0x452e23){_0x30aa6c=_0x452e23;_0x36a8b1[_0x0fa1('0x3b')]=_[_0x0fa1('0x3c')](db[_0x0fa1('0x5b')][_0x0fa1('0x38')]);_0x36a8b1[_0x0fa1('0x40')]=_['keys'](_0x333b71[_0x0fa1('0x40')]);_0x36a8b1['filters']=_[_0x0fa1('0x4e')](_0x36a8b1[_0x0fa1('0x3b')],_0x36a8b1[_0x0fa1('0x40')]);_0x1918eb[_0x0fa1('0x3d')]=_['intersection'](_0x36a8b1[_0x0fa1('0x3b')],qs[_0x0fa1('0x3e')](_0x333b71[_0x0fa1('0x40')]['fields']));_0x1918eb[_0x0fa1('0x3d')]=_0x1918eb[_0x0fa1('0x3d')][_0x0fa1('0x3f')]?_0x1918eb[_0x0fa1('0x3d')]:_0x36a8b1[_0x0fa1('0x3b')];_0x1918eb[_0x0fa1('0x43')]=qs[_0x0fa1('0x44')](_0x333b71[_0x0fa1('0x40')][_0x0fa1('0x44')]);_0x1918eb['where']=qs[_0x0fa1('0x46')](_[_0x0fa1('0x58')](_0x333b71['query'],_0x36a8b1[_0x0fa1('0x46')]));if(_0x333b71[_0x0fa1('0x40')][_0x0fa1('0x47')]){_0x1918eb[_0x0fa1('0x45')]=_['merge'](_0x1918eb['where'],{'$or':_['map'](_0x1918eb[_0x0fa1('0x3d')],function(_0x176c58){var _0x17447b={};_0x17447b[_0x176c58]={'$like':'%'+_0x333b71['query']['filter']+'%'};return _0x17447b;})});}_0x1918eb=_[_0x0fa1('0x48')]({},_0x1918eb,_0x333b71[_0x0fa1('0x4a')]);return _0x30aa6c['getTags'](_0x1918eb);}})[_0x0fa1('0x1e')](function(_0x11aae4){if(_0x11aae4){_0x3c0d11=_0x11aae4[_0x0fa1('0x3f')];if(!_0x333b71[_0x0fa1('0x40')][_0x0fa1('0x41')](_0x0fa1('0x54'))){_0x1918eb[_0x0fa1('0x42')]=qs[_0x0fa1('0x42')](_0x333b71[_0x0fa1('0x40')]['limit']);_0x1918eb['offset']=qs['offset'](_0x333b71[_0x0fa1('0x40')][_0x0fa1('0x2d')]);}return _0x30aa6c[_0x0fa1('0x5a')](_0x1918eb);}})[_0x0fa1('0x1e')](function(_0x1a6768){if(_0x1a6768){return _0x1a6768?{'count':_0x3c0d11,'rows':_0x1a6768}:null;}})[_0x0fa1('0x1e')](respondWithResult(_0x1a05c7,null))[_0x0fa1('0x27')](handleError(_0x1a05c7,null));};exports['setTags']=function(_0x3f1645,_0x18a45b,_0x4515df){if(_0x3f1645[_0x0fa1('0x52')]['id']){delete _0x3f1645[_0x0fa1('0x52')]['id'];}return db[_0x0fa1('0x37')][_0x0fa1('0x56')]({'where':{'id':_0x3f1645[_0x0fa1('0x4d')]['id']}})[_0x0fa1('0x1e')](handleEntityNotFound(_0x18a45b,null))['then'](function(_0x37c2b0){if(_0x37c2b0){return _0x37c2b0[_0x0fa1('0x5c')](_0x3f1645[_0x0fa1('0x52')][_0x0fa1('0x5d')]||[]);}return null;})[_0x0fa1('0x1e')](respondWithResult(_0x18a45b,null))[_0x0fa1('0x27')](handleError(_0x18a45b,null));};