e99dcbdef550266169f3dae4caf2370fb1c85f53
[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 _0xe6cc=['sox','to-csv','ejs','fs-extra','lodash','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','apply','reject','save','then','destroy','error','stack','name','map','ZendeskConfiguration','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','limit','sort','where','pick','merge','type','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','params','create','body','update','find','ZendeskField','getFields','getSubjects','findOne','order','nolimit','getDescriptions','getTags','setTags','ids','eml-format','rimraf','moment','bluebird','mustache','util','path'];(function(_0x10a301,_0x2f55ab){var _0x5689a5=function(_0x548e11){while(--_0x548e11){_0x10a301['push'](_0x10a301['shift']());}};_0x5689a5(++_0x2f55ab);}(_0xe6cc,0xf2));var _0xce6c=function(_0x2cde17,_0x4d4a1b){_0x2cde17=_0x2cde17-0x0;var _0x8bf043=_0xe6cc[_0x2cde17];return _0x8bf043;};'use strict';var emlformat=require(_0xce6c('0x0'));var rimraf=require(_0xce6c('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xce6c('0x2'));var BPromise=require(_0xce6c('0x3'));var Mustache=require(_0xce6c('0x4'));var util=require(_0xce6c('0x5'));var path=require(_0xce6c('0x6'));var sox=require(_0xce6c('0x7'));var csv=require(_0xce6c('0x8'));var ejs=require(_0xce6c('0x9'));var fs=require('fs');var fs_extra=require(_0xce6c('0xa'));var _=require(_0xce6c('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xce6c('0xc'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xce6c('0xd'));var Papa=require('papaparse');var Redis=require(_0xce6c('0xe'));var authService=require(_0xce6c('0xf'));var qs=require(_0xce6c('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xce6c('0x11'));var logger=require(_0xce6c('0x12'))(_0xce6c('0x13'));var utils=require(_0xce6c('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0xce6c('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2e2583,_0x2e15ec){_0x2e15ec=_0x2e15ec||0xcc;return function(_0x4a60b8){if(_0x4a60b8){return _0x2e2583[_0xce6c('0x16')](_0x2e15ec);}return _0x2e2583[_0xce6c('0x17')](_0x2e15ec)[_0xce6c('0x18')]();};}function respondWithResult(_0x531d6d,_0x55d782){_0x55d782=_0x55d782||0xc8;return function(_0x86b6a8){if(_0x86b6a8){return _0x531d6d['status'](_0x55d782)[_0xce6c('0x19')](_0x86b6a8);}};}function respondWithFilteredResult(_0x5623ff,_0x1681a0){return function(_0x50e6e0){if(_0x50e6e0){var _0x25d5c7=typeof _0x1681a0[_0xce6c('0x1a')]===_0xce6c('0x1b')&&typeof _0x1681a0['limit']===_0xce6c('0x1b');var _0x11414e=_0x50e6e0[_0xce6c('0x1c')];var _0x219186=_0x25d5c7?0x0:_0x1681a0['offset'];var _0x375611=_0x25d5c7?_0x50e6e0[_0xce6c('0x1c')]:_0x1681a0[_0xce6c('0x1a')]+_0x1681a0['limit'];var _0x4c760c;if(_0x375611>=_0x11414e){_0x375611=_0x11414e;_0x4c760c=0xc8;}else{_0x4c760c=0xce;}_0x5623ff['status'](_0x4c760c);return _0x5623ff[_0xce6c('0x1d')](_0xce6c('0x1e'),_0x219186+'-'+_0x375611+'/'+_0x11414e)[_0xce6c('0x19')](_0x50e6e0);}return null;};}function patchUpdates(_0x22ba0a){return function(_0x25dbda){try{jsonpatch[_0xce6c('0x1f')](_0x25dbda,_0x22ba0a,!![]);}catch(_0xde46ce){return BPromise[_0xce6c('0x20')](_0xde46ce);}return _0x25dbda[_0xce6c('0x21')]();};}function saveUpdates(_0x43ed90,_0x3f13cb){return function(_0x427cef){if(_0x427cef){return _0x427cef['update'](_0x43ed90)[_0xce6c('0x22')](function(_0x4be74a){return _0x4be74a;});}return null;};}function removeEntity(_0x52efab,_0x1d370e){return function(_0x250a77){if(_0x250a77){return _0x250a77[_0xce6c('0x23')]()[_0xce6c('0x22')](function(){_0x52efab[_0xce6c('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x24d1de,_0x17f19c){return function(_0x5f3403){if(!_0x5f3403){_0x24d1de[_0xce6c('0x16')](0x194);}return _0x5f3403;};}function handleError(_0xbdd79f,_0x39c071){_0x39c071=_0x39c071||0x1f4;return function(_0x5e6d8f){logger[_0xce6c('0x24')](_0x5e6d8f[_0xce6c('0x25')]);if(_0x5e6d8f['name']){delete _0x5e6d8f[_0xce6c('0x26')];}_0xbdd79f['status'](_0x39c071)['send'](_0x5e6d8f);};}exports['index']=function(_0x412759,_0x223106){var _0x174cc5={},_0x47ce78={},_0x1d2b1e={'count':0x0,'rows':[]};var _0x1e3172=_[_0xce6c('0x27')](db[_0xce6c('0x28')][_0xce6c('0x29')],function(_0x4ae27c){return{'name':_0x4ae27c[_0xce6c('0x2a')],'type':_0x4ae27c['type'][_0xce6c('0x2b')]};});_0x47ce78[_0xce6c('0x2c')]=_[_0xce6c('0x27')](_0x1e3172,_0xce6c('0x26'));_0x47ce78[_0xce6c('0x2d')]=_[_0xce6c('0x2e')](_0x412759['query']);_0x47ce78[_0xce6c('0x2f')]=_[_0xce6c('0x30')](_0x47ce78[_0xce6c('0x2c')],_0x47ce78[_0xce6c('0x2d')]);_0x174cc5[_0xce6c('0x31')]=_['intersection'](_0x47ce78[_0xce6c('0x2c')],qs[_0xce6c('0x32')](_0x412759[_0xce6c('0x2d')][_0xce6c('0x32')]));_0x174cc5[_0xce6c('0x31')]=_0x174cc5[_0xce6c('0x31')][_0xce6c('0x33')]?_0x174cc5['attributes']:_0x47ce78[_0xce6c('0x2c')];if(!_0x412759[_0xce6c('0x2d')][_0xce6c('0x34')]('nolimit')){_0x174cc5[_0xce6c('0x35')]=qs[_0xce6c('0x35')](_0x412759['query']['limit']);_0x174cc5[_0xce6c('0x1a')]=qs[_0xce6c('0x1a')](_0x412759[_0xce6c('0x2d')]['offset']);}_0x174cc5['order']=qs[_0xce6c('0x36')](_0x412759[_0xce6c('0x2d')]['sort']);_0x174cc5[_0xce6c('0x37')]=qs[_0xce6c('0x2f')](_[_0xce6c('0x38')](_0x412759[_0xce6c('0x2d')],_0x47ce78['filters']),_0x1e3172);if(_0x412759[_0xce6c('0x2d')]['filter']){_0x174cc5[_0xce6c('0x37')]=_[_0xce6c('0x39')](_0x174cc5[_0xce6c('0x37')],{'$or':_['map'](_0x1e3172,function(_0x504fe4){if(_0x504fe4[_0xce6c('0x3a')]!==_0xce6c('0x3b')){var _0x128dec={};_0x128dec[_0x504fe4[_0xce6c('0x26')]]={'$like':'%'+_0x412759['query'][_0xce6c('0x3c')]+'%'};return _0x128dec;}})});}_0x174cc5=_['merge']({},_0x174cc5,_0x412759[_0xce6c('0x3d')]);var _0x4f1f98={'where':_0x174cc5[_0xce6c('0x37')]};return db['ZendeskConfiguration'][_0xce6c('0x1c')](_0x4f1f98)[_0xce6c('0x22')](function(_0x235819){_0x1d2b1e[_0xce6c('0x1c')]=_0x235819;if(_0x412759[_0xce6c('0x2d')][_0xce6c('0x3e')]){_0x174cc5[_0xce6c('0x3f')]=[{'all':!![]}];}return db[_0xce6c('0x28')][_0xce6c('0x40')](_0x174cc5);})[_0xce6c('0x22')](function(_0x2ed03e){_0x1d2b1e[_0xce6c('0x41')]=_0x2ed03e;return _0x1d2b1e;})[_0xce6c('0x22')](respondWithFilteredResult(_0x223106,_0x174cc5))[_0xce6c('0x42')](handleError(_0x223106,null));};exports[_0xce6c('0x43')]=function(_0x1d36d4,_0x2fc1f5){var _0x150b74={'raw':![],'where':{'id':_0x1d36d4[_0xce6c('0x44')]['id']}},_0x37accd={};_0x37accd[_0xce6c('0x2c')]=_[_0xce6c('0x2e')](db[_0xce6c('0x28')]['rawAttributes']);_0x37accd['query']=_[_0xce6c('0x2e')](_0x1d36d4[_0xce6c('0x2d')]);_0x37accd['filters']=_['intersection'](_0x37accd[_0xce6c('0x2c')],_0x37accd['query']);_0x150b74[_0xce6c('0x31')]=_[_0xce6c('0x30')](_0x37accd[_0xce6c('0x2c')],qs['fields'](_0x1d36d4[_0xce6c('0x2d')][_0xce6c('0x32')]));_0x150b74['attributes']=_0x150b74[_0xce6c('0x31')][_0xce6c('0x33')]?_0x150b74[_0xce6c('0x31')]:_0x37accd[_0xce6c('0x2c')];if(_0x1d36d4[_0xce6c('0x2d')]['includeAll']){_0x150b74[_0xce6c('0x3f')]=[{'all':!![]}];}_0x150b74=_[_0xce6c('0x39')]({},_0x150b74,_0x1d36d4[_0xce6c('0x3d')]);return db['ZendeskConfiguration']['find'](_0x150b74)[_0xce6c('0x22')](handleEntityNotFound(_0x2fc1f5,null))[_0xce6c('0x22')](respondWithResult(_0x2fc1f5,null))[_0xce6c('0x42')](handleError(_0x2fc1f5,null));};exports[_0xce6c('0x45')]=function(_0x1686de,_0x4ac40c){return db[_0xce6c('0x28')][_0xce6c('0x45')](_0x1686de[_0xce6c('0x46')],{})[_0xce6c('0x22')](respondWithResult(_0x4ac40c,0xc9))[_0xce6c('0x42')](handleError(_0x4ac40c,null));};exports[_0xce6c('0x47')]=function(_0x57ac18,_0x31432e){if(_0x57ac18[_0xce6c('0x46')]['id']){delete _0x57ac18[_0xce6c('0x46')]['id'];}return db[_0xce6c('0x28')]['find']({'where':{'id':_0x57ac18['params']['id']}})[_0xce6c('0x22')](handleEntityNotFound(_0x31432e,null))[_0xce6c('0x22')](saveUpdates(_0x57ac18[_0xce6c('0x46')],null))[_0xce6c('0x22')](respondWithResult(_0x31432e,null))[_0xce6c('0x42')](handleError(_0x31432e,null));};exports[_0xce6c('0x23')]=function(_0x36b2b8,_0x21625a){return db[_0xce6c('0x28')][_0xce6c('0x48')]({'where':{'id':_0x36b2b8[_0xce6c('0x44')]['id']}})[_0xce6c('0x22')](handleEntityNotFound(_0x21625a,null))[_0xce6c('0x22')](removeEntity(_0x21625a,null))[_0xce6c('0x42')](handleError(_0x21625a,null));};exports['getFields']=function(_0xa36343,_0x25cdbb,_0x2ceaf4){var _0x30b161={};var _0x4fb18c={};var _0x3dda35;var _0x2f7362;return db['ZendeskConfiguration']['findOne']({'where':{'id':_0xa36343[_0xce6c('0x44')]['id']}})['then'](handleEntityNotFound(_0x25cdbb,null))['then'](function(_0x3f8d8e){if(_0x3f8d8e){_0x3dda35=_0x3f8d8e;_0x4fb18c[_0xce6c('0x2c')]=_[_0xce6c('0x2e')](db[_0xce6c('0x49')]['rawAttributes']);_0x4fb18c['query']=_[_0xce6c('0x2e')](_0xa36343['query']);_0x4fb18c[_0xce6c('0x2f')]=_['intersection'](_0x4fb18c[_0xce6c('0x2c')],_0x4fb18c[_0xce6c('0x2d')]);_0x30b161[_0xce6c('0x31')]=_[_0xce6c('0x30')](_0x4fb18c['model'],qs[_0xce6c('0x32')](_0xa36343[_0xce6c('0x2d')][_0xce6c('0x32')]));_0x30b161[_0xce6c('0x31')]=_0x30b161[_0xce6c('0x31')][_0xce6c('0x33')]?_0x30b161[_0xce6c('0x31')]:_0x4fb18c['model'];_0x30b161['order']=qs[_0xce6c('0x36')](_0xa36343['query'][_0xce6c('0x36')]);_0x30b161[_0xce6c('0x37')]=qs[_0xce6c('0x2f')](_[_0xce6c('0x38')](_0xa36343['query'],_0x4fb18c['filters']));if(_0xa36343[_0xce6c('0x2d')][_0xce6c('0x3c')]){_0x30b161[_0xce6c('0x37')]=_['merge'](_0x30b161[_0xce6c('0x37')],{'$or':_[_0xce6c('0x27')](_0x30b161['attributes'],function(_0x31adcd){var _0x43aa08={};_0x43aa08[_0x31adcd]={'$like':'%'+_0xa36343[_0xce6c('0x2d')][_0xce6c('0x3c')]+'%'};return _0x43aa08;})});}_0x30b161=_['merge']({},_0x30b161,_0xa36343['options']);return _0x3dda35[_0xce6c('0x4a')](_0x30b161);}})[_0xce6c('0x22')](function(_0x230ac5){if(_0x230ac5){_0x2f7362=_0x230ac5[_0xce6c('0x33')];if(!_0xa36343[_0xce6c('0x2d')][_0xce6c('0x34')]('nolimit')){_0x30b161[_0xce6c('0x35')]=qs[_0xce6c('0x35')](_0xa36343['query'][_0xce6c('0x35')]);_0x30b161['offset']=qs[_0xce6c('0x1a')](_0xa36343['query'][_0xce6c('0x1a')]);}return _0x3dda35[_0xce6c('0x4a')](_0x30b161);}})[_0xce6c('0x22')](function(_0x47946c){if(_0x47946c){return _0x47946c?{'count':_0x2f7362,'rows':_0x47946c}:null;}})[_0xce6c('0x22')](respondWithResult(_0x25cdbb,null))[_0xce6c('0x42')](handleError(_0x25cdbb,null));};exports[_0xce6c('0x4b')]=function(_0x1cadde,_0xe44b07,_0x1e6966){var _0x575087={};var _0x43a275={};var _0x457c09;var _0x2137b7;return db[_0xce6c('0x28')][_0xce6c('0x4c')]({'where':{'id':_0x1cadde[_0xce6c('0x44')]['id']}})[_0xce6c('0x22')](handleEntityNotFound(_0xe44b07,null))[_0xce6c('0x22')](function(_0x4b6eb4){if(_0x4b6eb4){_0x457c09=_0x4b6eb4;_0x43a275[_0xce6c('0x2c')]=_[_0xce6c('0x2e')](db[_0xce6c('0x49')][_0xce6c('0x29')]);_0x43a275[_0xce6c('0x2d')]=_[_0xce6c('0x2e')](_0x1cadde['query']);_0x43a275[_0xce6c('0x2f')]=_[_0xce6c('0x30')](_0x43a275[_0xce6c('0x2c')],_0x43a275[_0xce6c('0x2d')]);_0x575087[_0xce6c('0x31')]=_['intersection'](_0x43a275['model'],qs['fields'](_0x1cadde[_0xce6c('0x2d')]['fields']));_0x575087['attributes']=_0x575087[_0xce6c('0x31')][_0xce6c('0x33')]?_0x575087[_0xce6c('0x31')]:_0x43a275['model'];_0x575087[_0xce6c('0x4d')]=qs[_0xce6c('0x36')](_0x1cadde['query'][_0xce6c('0x36')]);_0x575087['where']=qs[_0xce6c('0x2f')](_[_0xce6c('0x38')](_0x1cadde['query'],_0x43a275[_0xce6c('0x2f')]));if(_0x1cadde[_0xce6c('0x2d')][_0xce6c('0x3c')]){_0x575087['where']=_[_0xce6c('0x39')](_0x575087[_0xce6c('0x37')],{'$or':_['map'](_0x575087[_0xce6c('0x31')],function(_0x582ab7){var _0x1c82eb={};_0x1c82eb[_0x582ab7]={'$like':'%'+_0x1cadde[_0xce6c('0x2d')][_0xce6c('0x3c')]+'%'};return _0x1c82eb;})});}_0x575087=_[_0xce6c('0x39')]({},_0x575087,_0x1cadde[_0xce6c('0x3d')]);return _0x457c09[_0xce6c('0x4b')](_0x575087);}})['then'](function(_0x68b6ce){if(_0x68b6ce){_0x2137b7=_0x68b6ce['length'];if(!_0x1cadde['query'][_0xce6c('0x34')](_0xce6c('0x4e'))){_0x575087['limit']=qs['limit'](_0x1cadde[_0xce6c('0x2d')][_0xce6c('0x35')]);_0x575087['offset']=qs[_0xce6c('0x1a')](_0x1cadde[_0xce6c('0x2d')][_0xce6c('0x1a')]);}return _0x457c09['getSubjects'](_0x575087);}})[_0xce6c('0x22')](function(_0x24683c){if(_0x24683c){return _0x24683c?{'count':_0x2137b7,'rows':_0x24683c}:null;}})[_0xce6c('0x22')](respondWithResult(_0xe44b07,null))[_0xce6c('0x42')](handleError(_0xe44b07,null));};exports[_0xce6c('0x4f')]=function(_0x56d126,_0x18329d,_0x5dadbd){var _0x20b3a3={};var _0x2fba7e={};var _0x582ed8;var _0x219dad;return db[_0xce6c('0x28')][_0xce6c('0x4c')]({'where':{'id':_0x56d126[_0xce6c('0x44')]['id']}})[_0xce6c('0x22')](handleEntityNotFound(_0x18329d,null))[_0xce6c('0x22')](function(_0x2528cb){if(_0x2528cb){_0x582ed8=_0x2528cb;_0x2fba7e[_0xce6c('0x2c')]=_['keys'](db[_0xce6c('0x49')]['rawAttributes']);_0x2fba7e[_0xce6c('0x2d')]=_[_0xce6c('0x2e')](_0x56d126[_0xce6c('0x2d')]);_0x2fba7e[_0xce6c('0x2f')]=_[_0xce6c('0x30')](_0x2fba7e['model'],_0x2fba7e[_0xce6c('0x2d')]);_0x20b3a3['attributes']=_[_0xce6c('0x30')](_0x2fba7e['model'],qs[_0xce6c('0x32')](_0x56d126['query'][_0xce6c('0x32')]));_0x20b3a3[_0xce6c('0x31')]=_0x20b3a3[_0xce6c('0x31')][_0xce6c('0x33')]?_0x20b3a3[_0xce6c('0x31')]:_0x2fba7e['model'];_0x20b3a3['order']=qs[_0xce6c('0x36')](_0x56d126[_0xce6c('0x2d')][_0xce6c('0x36')]);_0x20b3a3[_0xce6c('0x37')]=qs[_0xce6c('0x2f')](_[_0xce6c('0x38')](_0x56d126[_0xce6c('0x2d')],_0x2fba7e[_0xce6c('0x2f')]));if(_0x56d126['query'][_0xce6c('0x3c')]){_0x20b3a3[_0xce6c('0x37')]=_['merge'](_0x20b3a3[_0xce6c('0x37')],{'$or':_[_0xce6c('0x27')](_0x20b3a3['attributes'],function(_0x5447e7){var _0x374367={};_0x374367[_0x5447e7]={'$like':'%'+_0x56d126[_0xce6c('0x2d')]['filter']+'%'};return _0x374367;})});}_0x20b3a3=_['merge']({},_0x20b3a3,_0x56d126['options']);return _0x582ed8[_0xce6c('0x4f')](_0x20b3a3);}})[_0xce6c('0x22')](function(_0x37c58d){if(_0x37c58d){_0x219dad=_0x37c58d[_0xce6c('0x33')];if(!_0x56d126[_0xce6c('0x2d')][_0xce6c('0x34')]('nolimit')){_0x20b3a3[_0xce6c('0x35')]=qs[_0xce6c('0x35')](_0x56d126['query'][_0xce6c('0x35')]);_0x20b3a3['offset']=qs[_0xce6c('0x1a')](_0x56d126[_0xce6c('0x2d')][_0xce6c('0x1a')]);}return _0x582ed8['getDescriptions'](_0x20b3a3);}})[_0xce6c('0x22')](function(_0x359edd){if(_0x359edd){return _0x359edd?{'count':_0x219dad,'rows':_0x359edd}:null;}})[_0xce6c('0x22')](respondWithResult(_0x18329d,null))[_0xce6c('0x42')](handleError(_0x18329d,null));};exports[_0xce6c('0x50')]=function(_0x3228b9,_0x467f1a,_0x59aab2){var _0x2a49b1={};var _0x3da1a8={};var _0x22fcd7;var _0x225fec;return db[_0xce6c('0x28')][_0xce6c('0x4c')]({'where':{'id':_0x3228b9['params']['id']}})['then'](handleEntityNotFound(_0x467f1a,null))[_0xce6c('0x22')](function(_0x4394b0){if(_0x4394b0){_0x22fcd7=_0x4394b0;_0x3da1a8[_0xce6c('0x2c')]=_[_0xce6c('0x2e')](db['Tag'][_0xce6c('0x29')]);_0x3da1a8[_0xce6c('0x2d')]=_[_0xce6c('0x2e')](_0x3228b9['query']);_0x3da1a8[_0xce6c('0x2f')]=_['intersection'](_0x3da1a8[_0xce6c('0x2c')],_0x3da1a8[_0xce6c('0x2d')]);_0x2a49b1['attributes']=_[_0xce6c('0x30')](_0x3da1a8[_0xce6c('0x2c')],qs[_0xce6c('0x32')](_0x3228b9[_0xce6c('0x2d')][_0xce6c('0x32')]));_0x2a49b1[_0xce6c('0x31')]=_0x2a49b1[_0xce6c('0x31')][_0xce6c('0x33')]?_0x2a49b1['attributes']:_0x3da1a8[_0xce6c('0x2c')];_0x2a49b1[_0xce6c('0x4d')]=qs[_0xce6c('0x36')](_0x3228b9['query'][_0xce6c('0x36')]);_0x2a49b1[_0xce6c('0x37')]=qs[_0xce6c('0x2f')](_[_0xce6c('0x38')](_0x3228b9[_0xce6c('0x2d')],_0x3da1a8[_0xce6c('0x2f')]));if(_0x3228b9[_0xce6c('0x2d')][_0xce6c('0x3c')]){_0x2a49b1[_0xce6c('0x37')]=_[_0xce6c('0x39')](_0x2a49b1[_0xce6c('0x37')],{'$or':_[_0xce6c('0x27')](_0x2a49b1['attributes'],function(_0x5d110b){var _0x13fcb9={};_0x13fcb9[_0x5d110b]={'$like':'%'+_0x3228b9[_0xce6c('0x2d')]['filter']+'%'};return _0x13fcb9;})});}_0x2a49b1=_[_0xce6c('0x39')]({},_0x2a49b1,_0x3228b9['options']);return _0x22fcd7[_0xce6c('0x50')](_0x2a49b1);}})[_0xce6c('0x22')](function(_0x387829){if(_0x387829){_0x225fec=_0x387829[_0xce6c('0x33')];if(!_0x3228b9[_0xce6c('0x2d')][_0xce6c('0x34')](_0xce6c('0x4e'))){_0x2a49b1[_0xce6c('0x35')]=qs['limit'](_0x3228b9[_0xce6c('0x2d')][_0xce6c('0x35')]);_0x2a49b1[_0xce6c('0x1a')]=qs[_0xce6c('0x1a')](_0x3228b9[_0xce6c('0x2d')][_0xce6c('0x1a')]);}return _0x22fcd7[_0xce6c('0x50')](_0x2a49b1);}})[_0xce6c('0x22')](function(_0x1c33c7){if(_0x1c33c7){return _0x1c33c7?{'count':_0x225fec,'rows':_0x1c33c7}:null;}})[_0xce6c('0x22')](respondWithResult(_0x467f1a,null))['catch'](handleError(_0x467f1a,null));};exports[_0xce6c('0x51')]=function(_0x1dc399,_0x5a5904,_0x2b2888){if(_0x1dc399[_0xce6c('0x46')]['id']){delete _0x1dc399[_0xce6c('0x46')]['id'];}return db[_0xce6c('0x28')][_0xce6c('0x4c')]({'where':{'id':_0x1dc399['params']['id']}})['then'](handleEntityNotFound(_0x5a5904,null))[_0xce6c('0x22')](function(_0x56d8b3){if(_0x56d8b3){return _0x56d8b3[_0xce6c('0x51')](_0x1dc399[_0xce6c('0x46')][_0xce6c('0x52')]||[]);}return null;})['then'](respondWithResult(_0x5a5904,null))[_0xce6c('0x42')](handleError(_0x5a5904,null));};