acfdb03c2dfae3b5ef957e4e19c894071f95f53f
[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 _0x9fd2=['destroy','then','sendStatus','stack','name','send','index','ZendeskConfiguration','rawAttributes','type','model','map','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','rows','catch','params','include','find','body','update','getFields','findOne','getSubjects','getDescriptions','ZendeskField','Tag','getTags','setTags','ids','eml-format','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','count','limit','Content-Range','apply','reject','save'];(function(_0x1cfb3d,_0x362c36){var _0x30f313=function(_0x3d2c17){while(--_0x3d2c17){_0x1cfb3d['push'](_0x1cfb3d['shift']());}};_0x30f313(++_0x362c36);}(_0x9fd2,0x1c8));var _0x29fd=function(_0x3328d8,_0x4cb87f){_0x3328d8=_0x3328d8-0x0;var _0x8175fe=_0x9fd2[_0x3328d8];return _0x8175fe;};'use strict';var emlformat=require(_0x29fd('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x29fd('0x1'));var rp=require(_0x29fd('0x2'));var moment=require('moment');var BPromise=require(_0x29fd('0x3'));var Mustache=require(_0x29fd('0x4'));var util=require(_0x29fd('0x5'));var path=require('path');var sox=require(_0x29fd('0x6'));var csv=require(_0x29fd('0x7'));var ejs=require(_0x29fd('0x8'));var fs=require('fs');var fs_extra=require(_0x29fd('0x9'));var _=require(_0x29fd('0xa'));var squel=require(_0x29fd('0xb'));var crypto=require(_0x29fd('0xc'));var jsforce=require(_0x29fd('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x29fd('0xe'));var Papa=require('papaparse');var Redis=require(_0x29fd('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x29fd('0x10'));var as=require(_0x29fd('0x11'));var hardwareService=require(_0x29fd('0x12'));var logger=require(_0x29fd('0x13'))(_0x29fd('0x14'));var utils=require(_0x29fd('0x15'));var config=require(_0x29fd('0x16'));var licenseUtil=require(_0x29fd('0x17'));var db=require(_0x29fd('0x18'))['db'];function respondWithStatusCode(_0x487f02,_0x5cc75d){_0x5cc75d=_0x5cc75d||0xcc;return function(_0xd44824){if(_0xd44824){return _0x487f02['sendStatus'](_0x5cc75d);}return _0x487f02[_0x29fd('0x19')](_0x5cc75d)[_0x29fd('0x1a')]();};}function respondWithResult(_0x5ee76f,_0x5b7be8){_0x5b7be8=_0x5b7be8||0xc8;return function(_0x45084b){if(_0x45084b){return _0x5ee76f[_0x29fd('0x19')](_0x5b7be8)[_0x29fd('0x1b')](_0x45084b);}};}function respondWithFilteredResult(_0x57763b,_0x36d347){return function(_0x23e589){if(_0x23e589){var _0x233826=typeof _0x36d347[_0x29fd('0x1c')]===_0x29fd('0x1d')&&typeof _0x36d347['limit']===_0x29fd('0x1d');var _0x5ce5d4=_0x23e589[_0x29fd('0x1e')];var _0x4cb1a0=_0x233826?0x0:_0x36d347[_0x29fd('0x1c')];var _0x345def=_0x233826?_0x23e589[_0x29fd('0x1e')]:_0x36d347[_0x29fd('0x1c')]+_0x36d347[_0x29fd('0x1f')];var _0x54ec40;if(_0x345def>=_0x5ce5d4){_0x345def=_0x5ce5d4;_0x54ec40=0xc8;}else{_0x54ec40=0xce;}_0x57763b[_0x29fd('0x19')](_0x54ec40);return _0x57763b['set'](_0x29fd('0x20'),_0x4cb1a0+'-'+_0x345def+'/'+_0x5ce5d4)[_0x29fd('0x1b')](_0x23e589);}return null;};}function patchUpdates(_0x52ae60){return function(_0x41d147){try{jsonpatch[_0x29fd('0x21')](_0x41d147,_0x52ae60,!![]);}catch(_0x21458f){return BPromise[_0x29fd('0x22')](_0x21458f);}return _0x41d147[_0x29fd('0x23')]();};}function saveUpdates(_0x482dea,_0x1381e0){return function(_0x338ef0){if(_0x338ef0){return _0x338ef0['update'](_0x482dea)['then'](function(_0x4a0e92){return _0x4a0e92;});}return null;};}function removeEntity(_0x27c1e5,_0x487c24){return function(_0x42d6bf){if(_0x42d6bf){return _0x42d6bf[_0x29fd('0x24')]()[_0x29fd('0x25')](function(){_0x27c1e5['status'](0xcc)[_0x29fd('0x1a')]();});}};}function handleEntityNotFound(_0x48b18a,_0x7cb060){return function(_0x3d3540){if(!_0x3d3540){_0x48b18a[_0x29fd('0x26')](0x194);}return _0x3d3540;};}function handleError(_0x453461,_0x43667b){_0x43667b=_0x43667b||0x1f4;return function(_0xbbc34a){logger['error'](_0xbbc34a[_0x29fd('0x27')]);if(_0xbbc34a[_0x29fd('0x28')]){delete _0xbbc34a['name'];}_0x453461[_0x29fd('0x19')](_0x43667b)[_0x29fd('0x29')](_0xbbc34a);};}exports[_0x29fd('0x2a')]=function(_0x4cc172,_0x4b8858){var _0xbb123c={},_0x5f4ddd={},_0x22efb9={'count':0x0,'rows':[]};var _0x4a23b5=_['map'](db[_0x29fd('0x2b')][_0x29fd('0x2c')],function(_0x5b6311){return{'name':_0x5b6311['fieldName'],'type':_0x5b6311[_0x29fd('0x2d')]['key']};});_0x5f4ddd[_0x29fd('0x2e')]=_[_0x29fd('0x2f')](_0x4a23b5,_0x29fd('0x28'));_0x5f4ddd['query']=_[_0x29fd('0x30')](_0x4cc172[_0x29fd('0x31')]);_0x5f4ddd[_0x29fd('0x32')]=_[_0x29fd('0x33')](_0x5f4ddd[_0x29fd('0x2e')],_0x5f4ddd[_0x29fd('0x31')]);_0xbb123c[_0x29fd('0x34')]=_['intersection'](_0x5f4ddd[_0x29fd('0x2e')],qs[_0x29fd('0x35')](_0x4cc172['query'][_0x29fd('0x35')]));_0xbb123c[_0x29fd('0x34')]=_0xbb123c[_0x29fd('0x34')][_0x29fd('0x36')]?_0xbb123c[_0x29fd('0x34')]:_0x5f4ddd[_0x29fd('0x2e')];if(!_0x4cc172[_0x29fd('0x31')][_0x29fd('0x37')](_0x29fd('0x38'))){_0xbb123c[_0x29fd('0x1f')]=qs['limit'](_0x4cc172[_0x29fd('0x31')]['limit']);_0xbb123c[_0x29fd('0x1c')]=qs[_0x29fd('0x1c')](_0x4cc172[_0x29fd('0x31')][_0x29fd('0x1c')]);}_0xbb123c[_0x29fd('0x39')]=qs[_0x29fd('0x3a')](_0x4cc172[_0x29fd('0x31')][_0x29fd('0x3a')]);_0xbb123c['where']=qs[_0x29fd('0x32')](_[_0x29fd('0x3b')](_0x4cc172[_0x29fd('0x31')],_0x5f4ddd[_0x29fd('0x32')]),_0x4a23b5);if(_0x4cc172[_0x29fd('0x31')][_0x29fd('0x3c')]){_0xbb123c[_0x29fd('0x3d')]=_[_0x29fd('0x3e')](_0xbb123c[_0x29fd('0x3d')],{'$or':_[_0x29fd('0x2f')](_0x4a23b5,function(_0x4863b4){if(_0x4863b4['type']!==_0x29fd('0x3f')){var _0xd1a22a={};_0xd1a22a[_0x4863b4[_0x29fd('0x28')]]={'$like':'%'+_0x4cc172[_0x29fd('0x31')][_0x29fd('0x3c')]+'%'};return _0xd1a22a;}})});}_0xbb123c=_[_0x29fd('0x3e')]({},_0xbb123c,_0x4cc172[_0x29fd('0x40')]);var _0x5a87d1={'where':_0xbb123c[_0x29fd('0x3d')]};return db[_0x29fd('0x2b')][_0x29fd('0x1e')](_0x5a87d1)[_0x29fd('0x25')](function(_0x5a5b3b){_0x22efb9[_0x29fd('0x1e')]=_0x5a5b3b;if(_0x4cc172[_0x29fd('0x31')][_0x29fd('0x41')]){_0xbb123c['include']=[{'all':!![]}];}return db[_0x29fd('0x2b')]['findAll'](_0xbb123c);})[_0x29fd('0x25')](function(_0x52d56e){_0x22efb9[_0x29fd('0x42')]=_0x52d56e;return _0x22efb9;})[_0x29fd('0x25')](respondWithFilteredResult(_0x4b8858,_0xbb123c))[_0x29fd('0x43')](handleError(_0x4b8858,null));};exports['show']=function(_0x513291,_0x51fdc4){var _0x18eb83={'raw':![],'where':{'id':_0x513291[_0x29fd('0x44')]['id']}},_0x1e953b={};_0x1e953b['model']=_['keys'](db[_0x29fd('0x2b')]['rawAttributes']);_0x1e953b[_0x29fd('0x31')]=_[_0x29fd('0x30')](_0x513291[_0x29fd('0x31')]);_0x1e953b[_0x29fd('0x32')]=_['intersection'](_0x1e953b[_0x29fd('0x2e')],_0x1e953b[_0x29fd('0x31')]);_0x18eb83['attributes']=_[_0x29fd('0x33')](_0x1e953b['model'],qs['fields'](_0x513291['query'][_0x29fd('0x35')]));_0x18eb83['attributes']=_0x18eb83[_0x29fd('0x34')][_0x29fd('0x36')]?_0x18eb83[_0x29fd('0x34')]:_0x1e953b[_0x29fd('0x2e')];if(_0x513291[_0x29fd('0x31')][_0x29fd('0x41')]){_0x18eb83[_0x29fd('0x45')]=[{'all':!![]}];}_0x18eb83=_[_0x29fd('0x3e')]({},_0x18eb83,_0x513291['options']);return db[_0x29fd('0x2b')][_0x29fd('0x46')](_0x18eb83)['then'](handleEntityNotFound(_0x51fdc4,null))['then'](respondWithResult(_0x51fdc4,null))[_0x29fd('0x43')](handleError(_0x51fdc4,null));};exports['create']=function(_0x594136,_0x2d6353){return db['ZendeskConfiguration']['create'](_0x594136[_0x29fd('0x47')],{})['then'](respondWithResult(_0x2d6353,0xc9))[_0x29fd('0x43')](handleError(_0x2d6353,null));};exports[_0x29fd('0x48')]=function(_0x4d8671,_0x453ec5){if(_0x4d8671[_0x29fd('0x47')]['id']){delete _0x4d8671[_0x29fd('0x47')]['id'];}return db[_0x29fd('0x2b')]['find']({'where':{'id':_0x4d8671[_0x29fd('0x44')]['id']}})[_0x29fd('0x25')](handleEntityNotFound(_0x453ec5,null))[_0x29fd('0x25')](saveUpdates(_0x4d8671[_0x29fd('0x47')],null))[_0x29fd('0x25')](respondWithResult(_0x453ec5,null))['catch'](handleError(_0x453ec5,null));};exports['destroy']=function(_0x1966cc,_0xba48e5){return db[_0x29fd('0x2b')][_0x29fd('0x46')]({'where':{'id':_0x1966cc[_0x29fd('0x44')]['id']}})[_0x29fd('0x25')](handleEntityNotFound(_0xba48e5,null))[_0x29fd('0x25')](removeEntity(_0xba48e5,null))[_0x29fd('0x43')](handleError(_0xba48e5,null));};exports[_0x29fd('0x49')]=function(_0x54a161,_0x21a6ce,_0x56e511){var _0x586bb4={};var _0x25b4a9={};var _0x2fcc2a;var _0x5d1de4;return db[_0x29fd('0x2b')][_0x29fd('0x4a')]({'where':{'id':_0x54a161['params']['id']}})[_0x29fd('0x25')](handleEntityNotFound(_0x21a6ce,null))[_0x29fd('0x25')](function(_0x237ffb){if(_0x237ffb){_0x2fcc2a=_0x237ffb;_0x25b4a9['model']=_[_0x29fd('0x30')](db['ZendeskField'][_0x29fd('0x2c')]);_0x25b4a9[_0x29fd('0x31')]=_['keys'](_0x54a161[_0x29fd('0x31')]);_0x25b4a9['filters']=_[_0x29fd('0x33')](_0x25b4a9[_0x29fd('0x2e')],_0x25b4a9[_0x29fd('0x31')]);_0x586bb4[_0x29fd('0x34')]=_[_0x29fd('0x33')](_0x25b4a9['model'],qs[_0x29fd('0x35')](_0x54a161[_0x29fd('0x31')][_0x29fd('0x35')]));_0x586bb4[_0x29fd('0x34')]=_0x586bb4['attributes']['length']?_0x586bb4[_0x29fd('0x34')]:_0x25b4a9[_0x29fd('0x2e')];_0x586bb4[_0x29fd('0x39')]=qs[_0x29fd('0x3a')](_0x54a161['query']['sort']);_0x586bb4[_0x29fd('0x3d')]=qs[_0x29fd('0x32')](_['pick'](_0x54a161[_0x29fd('0x31')],_0x25b4a9[_0x29fd('0x32')]));if(_0x54a161['query']['filter']){_0x586bb4[_0x29fd('0x3d')]=_[_0x29fd('0x3e')](_0x586bb4[_0x29fd('0x3d')],{'$or':_['map'](_0x586bb4[_0x29fd('0x34')],function(_0x3eacf8){var _0x517cc6={};_0x517cc6[_0x3eacf8]={'$like':'%'+_0x54a161[_0x29fd('0x31')][_0x29fd('0x3c')]+'%'};return _0x517cc6;})});}_0x586bb4=_[_0x29fd('0x3e')]({},_0x586bb4,_0x54a161['options']);return _0x2fcc2a[_0x29fd('0x49')](_0x586bb4);}})[_0x29fd('0x25')](function(_0x3d932d){if(_0x3d932d){_0x5d1de4=_0x3d932d[_0x29fd('0x36')];if(!_0x54a161[_0x29fd('0x31')][_0x29fd('0x37')](_0x29fd('0x38'))){_0x586bb4[_0x29fd('0x1f')]=qs['limit'](_0x54a161['query']['limit']);_0x586bb4[_0x29fd('0x1c')]=qs[_0x29fd('0x1c')](_0x54a161[_0x29fd('0x31')][_0x29fd('0x1c')]);}return _0x2fcc2a[_0x29fd('0x49')](_0x586bb4);}})[_0x29fd('0x25')](function(_0x46857b){if(_0x46857b){return _0x46857b?{'count':_0x5d1de4,'rows':_0x46857b}:null;}})[_0x29fd('0x25')](respondWithResult(_0x21a6ce,null))[_0x29fd('0x43')](handleError(_0x21a6ce,null));};exports[_0x29fd('0x4b')]=function(_0x579fc8,_0x2b314a,_0x5691ee){var _0x2dc8ca={};var _0x4180cc={};var _0x335eaf;var _0x2ac293;return db[_0x29fd('0x2b')][_0x29fd('0x4a')]({'where':{'id':_0x579fc8['params']['id']}})[_0x29fd('0x25')](handleEntityNotFound(_0x2b314a,null))['then'](function(_0x48b278){if(_0x48b278){_0x335eaf=_0x48b278;_0x4180cc[_0x29fd('0x2e')]=_['keys'](db['ZendeskField'][_0x29fd('0x2c')]);_0x4180cc['query']=_[_0x29fd('0x30')](_0x579fc8['query']);_0x4180cc[_0x29fd('0x32')]=_[_0x29fd('0x33')](_0x4180cc[_0x29fd('0x2e')],_0x4180cc[_0x29fd('0x31')]);_0x2dc8ca['attributes']=_[_0x29fd('0x33')](_0x4180cc['model'],qs[_0x29fd('0x35')](_0x579fc8[_0x29fd('0x31')][_0x29fd('0x35')]));_0x2dc8ca[_0x29fd('0x34')]=_0x2dc8ca[_0x29fd('0x34')][_0x29fd('0x36')]?_0x2dc8ca['attributes']:_0x4180cc[_0x29fd('0x2e')];_0x2dc8ca[_0x29fd('0x39')]=qs[_0x29fd('0x3a')](_0x579fc8['query'][_0x29fd('0x3a')]);_0x2dc8ca[_0x29fd('0x3d')]=qs[_0x29fd('0x32')](_[_0x29fd('0x3b')](_0x579fc8[_0x29fd('0x31')],_0x4180cc['filters']));if(_0x579fc8[_0x29fd('0x31')][_0x29fd('0x3c')]){_0x2dc8ca['where']=_['merge'](_0x2dc8ca['where'],{'$or':_[_0x29fd('0x2f')](_0x2dc8ca[_0x29fd('0x34')],function(_0x26aaed){var _0x3c0300={};_0x3c0300[_0x26aaed]={'$like':'%'+_0x579fc8['query']['filter']+'%'};return _0x3c0300;})});}_0x2dc8ca=_[_0x29fd('0x3e')]({},_0x2dc8ca,_0x579fc8[_0x29fd('0x40')]);return _0x335eaf[_0x29fd('0x4b')](_0x2dc8ca);}})['then'](function(_0x2673fa){if(_0x2673fa){_0x2ac293=_0x2673fa[_0x29fd('0x36')];if(!_0x579fc8[_0x29fd('0x31')][_0x29fd('0x37')](_0x29fd('0x38'))){_0x2dc8ca[_0x29fd('0x1f')]=qs['limit'](_0x579fc8[_0x29fd('0x31')][_0x29fd('0x1f')]);_0x2dc8ca['offset']=qs[_0x29fd('0x1c')](_0x579fc8[_0x29fd('0x31')][_0x29fd('0x1c')]);}return _0x335eaf[_0x29fd('0x4b')](_0x2dc8ca);}})[_0x29fd('0x25')](function(_0x1d4803){if(_0x1d4803){return _0x1d4803?{'count':_0x2ac293,'rows':_0x1d4803}:null;}})[_0x29fd('0x25')](respondWithResult(_0x2b314a,null))['catch'](handleError(_0x2b314a,null));};exports[_0x29fd('0x4c')]=function(_0x36fbd4,_0x2c5dcc,_0x4aa19c){var _0x449a86={};var _0xe967be={};var _0x2d3fa6;var _0x1dacb6;return db['ZendeskConfiguration']['findOne']({'where':{'id':_0x36fbd4[_0x29fd('0x44')]['id']}})['then'](handleEntityNotFound(_0x2c5dcc,null))[_0x29fd('0x25')](function(_0xf374da){if(_0xf374da){_0x2d3fa6=_0xf374da;_0xe967be[_0x29fd('0x2e')]=_[_0x29fd('0x30')](db[_0x29fd('0x4d')][_0x29fd('0x2c')]);_0xe967be['query']=_['keys'](_0x36fbd4[_0x29fd('0x31')]);_0xe967be[_0x29fd('0x32')]=_[_0x29fd('0x33')](_0xe967be[_0x29fd('0x2e')],_0xe967be[_0x29fd('0x31')]);_0x449a86[_0x29fd('0x34')]=_['intersection'](_0xe967be['model'],qs[_0x29fd('0x35')](_0x36fbd4[_0x29fd('0x31')]['fields']));_0x449a86[_0x29fd('0x34')]=_0x449a86['attributes'][_0x29fd('0x36')]?_0x449a86[_0x29fd('0x34')]:_0xe967be['model'];_0x449a86[_0x29fd('0x39')]=qs['sort'](_0x36fbd4['query'][_0x29fd('0x3a')]);_0x449a86[_0x29fd('0x3d')]=qs[_0x29fd('0x32')](_[_0x29fd('0x3b')](_0x36fbd4['query'],_0xe967be['filters']));if(_0x36fbd4[_0x29fd('0x31')][_0x29fd('0x3c')]){_0x449a86[_0x29fd('0x3d')]=_[_0x29fd('0x3e')](_0x449a86['where'],{'$or':_[_0x29fd('0x2f')](_0x449a86[_0x29fd('0x34')],function(_0x27f948){var _0x24b425={};_0x24b425[_0x27f948]={'$like':'%'+_0x36fbd4['query'][_0x29fd('0x3c')]+'%'};return _0x24b425;})});}_0x449a86=_[_0x29fd('0x3e')]({},_0x449a86,_0x36fbd4[_0x29fd('0x40')]);return _0x2d3fa6[_0x29fd('0x4c')](_0x449a86);}})[_0x29fd('0x25')](function(_0x43c64){if(_0x43c64){_0x1dacb6=_0x43c64['length'];if(!_0x36fbd4[_0x29fd('0x31')][_0x29fd('0x37')](_0x29fd('0x38'))){_0x449a86[_0x29fd('0x1f')]=qs[_0x29fd('0x1f')](_0x36fbd4['query'][_0x29fd('0x1f')]);_0x449a86['offset']=qs[_0x29fd('0x1c')](_0x36fbd4[_0x29fd('0x31')][_0x29fd('0x1c')]);}return _0x2d3fa6[_0x29fd('0x4c')](_0x449a86);}})[_0x29fd('0x25')](function(_0x329e0a){if(_0x329e0a){return _0x329e0a?{'count':_0x1dacb6,'rows':_0x329e0a}:null;}})['then'](respondWithResult(_0x2c5dcc,null))[_0x29fd('0x43')](handleError(_0x2c5dcc,null));};exports['getTags']=function(_0x2c6115,_0x410cea,_0x13479b){var _0xfed1b7={};var _0x2b8454={};var _0x11451d;var _0x1a14e5;return db[_0x29fd('0x2b')][_0x29fd('0x4a')]({'where':{'id':_0x2c6115[_0x29fd('0x44')]['id']}})[_0x29fd('0x25')](handleEntityNotFound(_0x410cea,null))[_0x29fd('0x25')](function(_0x375421){if(_0x375421){_0x11451d=_0x375421;_0x2b8454[_0x29fd('0x2e')]=_[_0x29fd('0x30')](db[_0x29fd('0x4e')]['rawAttributes']);_0x2b8454[_0x29fd('0x31')]=_[_0x29fd('0x30')](_0x2c6115[_0x29fd('0x31')]);_0x2b8454['filters']=_['intersection'](_0x2b8454['model'],_0x2b8454['query']);_0xfed1b7['attributes']=_[_0x29fd('0x33')](_0x2b8454[_0x29fd('0x2e')],qs[_0x29fd('0x35')](_0x2c6115[_0x29fd('0x31')]['fields']));_0xfed1b7['attributes']=_0xfed1b7[_0x29fd('0x34')][_0x29fd('0x36')]?_0xfed1b7[_0x29fd('0x34')]:_0x2b8454[_0x29fd('0x2e')];_0xfed1b7['order']=qs[_0x29fd('0x3a')](_0x2c6115[_0x29fd('0x31')][_0x29fd('0x3a')]);_0xfed1b7[_0x29fd('0x3d')]=qs[_0x29fd('0x32')](_[_0x29fd('0x3b')](_0x2c6115[_0x29fd('0x31')],_0x2b8454[_0x29fd('0x32')]));if(_0x2c6115[_0x29fd('0x31')][_0x29fd('0x3c')]){_0xfed1b7[_0x29fd('0x3d')]=_[_0x29fd('0x3e')](_0xfed1b7[_0x29fd('0x3d')],{'$or':_['map'](_0xfed1b7['attributes'],function(_0x3ce64b){var _0x6d0ac4={};_0x6d0ac4[_0x3ce64b]={'$like':'%'+_0x2c6115[_0x29fd('0x31')][_0x29fd('0x3c')]+'%'};return _0x6d0ac4;})});}_0xfed1b7=_['merge']({},_0xfed1b7,_0x2c6115[_0x29fd('0x40')]);return _0x11451d['getTags'](_0xfed1b7);}})[_0x29fd('0x25')](function(_0x40f008){if(_0x40f008){_0x1a14e5=_0x40f008[_0x29fd('0x36')];if(!_0x2c6115['query'][_0x29fd('0x37')](_0x29fd('0x38'))){_0xfed1b7[_0x29fd('0x1f')]=qs[_0x29fd('0x1f')](_0x2c6115[_0x29fd('0x31')][_0x29fd('0x1f')]);_0xfed1b7[_0x29fd('0x1c')]=qs[_0x29fd('0x1c')](_0x2c6115[_0x29fd('0x31')][_0x29fd('0x1c')]);}return _0x11451d[_0x29fd('0x4f')](_0xfed1b7);}})['then'](function(_0x57cb0c){if(_0x57cb0c){return _0x57cb0c?{'count':_0x1a14e5,'rows':_0x57cb0c}:null;}})['then'](respondWithResult(_0x410cea,null))[_0x29fd('0x43')](handleError(_0x410cea,null));};exports[_0x29fd('0x50')]=function(_0xc91b0e,_0x51a452,_0x31f042){if(_0xc91b0e[_0x29fd('0x47')]['id']){delete _0xc91b0e[_0x29fd('0x47')]['id'];}return db[_0x29fd('0x2b')]['findOne']({'where':{'id':_0xc91b0e[_0x29fd('0x44')]['id']}})[_0x29fd('0x25')](handleEntityNotFound(_0x51a452,null))[_0x29fd('0x25')](function(_0x199460){if(_0x199460){return _0x199460[_0x29fd('0x50')](_0xc91b0e['body'][_0x29fd('0x51')]||[]);}return null;})[_0x29fd('0x25')](respondWithResult(_0x51a452,null))[_0x29fd('0x43')](handleError(_0x51a452,null));};