Built motion from commit 9d7072cc.|2.5.39
[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 _0x4fbe=['util','path','sox','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','index','map','ZendeskConfiguration','rawAttributes','fieldName','model','query','keys','filters','intersection','fields','attributes','length','nolimit','sort','where','pick','filter','merge','type','options','includeAll','include','findAll','rows','catch','params','find','create','body','getFields','findOne','ZendeskField','hasOwnProperty','getSubjects','order','getDescriptions','getTags','Tag','setTags','ids','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird'];(function(_0x4c7b60,_0x17d8c6){var _0x31f356=function(_0xecfb8b){while(--_0xecfb8b){_0x4c7b60['push'](_0x4c7b60['shift']());}};_0x31f356(++_0x17d8c6);}(_0x4fbe,0xf6));var _0xe4fb=function(_0x1bf93c,_0x2d4fd7){_0x1bf93c=_0x1bf93c-0x0;var _0x44c92f=_0x4fbe[_0x1bf93c];return _0x44c92f;};'use strict';var emlformat=require(_0xe4fb('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xe4fb('0x1'));var jsonpatch=require(_0xe4fb('0x2'));var rp=require(_0xe4fb('0x3'));var moment=require(_0xe4fb('0x4'));var BPromise=require(_0xe4fb('0x5'));var Mustache=require('mustache');var util=require(_0xe4fb('0x6'));var path=require(_0xe4fb('0x7'));var sox=require(_0xe4fb('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xe4fb('0x9'));var crypto=require(_0xe4fb('0xa'));var jsforce=require(_0xe4fb('0xb'));var deskjs=require(_0xe4fb('0xc'));var toCsv=require(_0xe4fb('0xd'));var querystring=require(_0xe4fb('0xe'));var Papa=require(_0xe4fb('0xf'));var Redis=require(_0xe4fb('0x10'));var authService=require(_0xe4fb('0x11'));var qs=require(_0xe4fb('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xe4fb('0x13'))(_0xe4fb('0x14'));var utils=require(_0xe4fb('0x15'));var config=require(_0xe4fb('0x16'));var licenseUtil=require(_0xe4fb('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1ddcd7,_0x43f316){_0x43f316=_0x43f316||0xcc;return function(_0x59a3c9){if(_0x59a3c9){return _0x1ddcd7[_0xe4fb('0x18')](_0x43f316);}return _0x1ddcd7[_0xe4fb('0x19')](_0x43f316)[_0xe4fb('0x1a')]();};}function respondWithResult(_0x1f84e6,_0xbbdf17){_0xbbdf17=_0xbbdf17||0xc8;return function(_0x3c0606){if(_0x3c0606){return _0x1f84e6[_0xe4fb('0x19')](_0xbbdf17)[_0xe4fb('0x1b')](_0x3c0606);}};}function respondWithFilteredResult(_0x361ce1,_0x5ebb1b){return function(_0x50ac25){if(_0x50ac25){var _0xa45161=typeof _0x5ebb1b[_0xe4fb('0x1c')]==='undefined'&&typeof _0x5ebb1b[_0xe4fb('0x1d')]===_0xe4fb('0x1e');var _0x180877=_0x50ac25[_0xe4fb('0x1f')];var _0x520548=_0xa45161?0x0:_0x5ebb1b[_0xe4fb('0x1c')];var _0x41169d=_0xa45161?_0x50ac25[_0xe4fb('0x1f')]:_0x5ebb1b[_0xe4fb('0x1c')]+_0x5ebb1b[_0xe4fb('0x1d')];var _0x5dbac8;if(_0x41169d>=_0x180877){_0x41169d=_0x180877;_0x5dbac8=0xc8;}else{_0x5dbac8=0xce;}_0x361ce1[_0xe4fb('0x19')](_0x5dbac8);return _0x361ce1[_0xe4fb('0x20')](_0xe4fb('0x21'),_0x520548+'-'+_0x41169d+'/'+_0x180877)[_0xe4fb('0x1b')](_0x50ac25);}return null;};}function patchUpdates(_0x7d7f91){return function(_0x466f62){try{jsonpatch[_0xe4fb('0x22')](_0x466f62,_0x7d7f91,!![]);}catch(_0x34cca9){return BPromise[_0xe4fb('0x23')](_0x34cca9);}return _0x466f62[_0xe4fb('0x24')]();};}function saveUpdates(_0x1fd119,_0x3b6747){return function(_0x2fd62f){if(_0x2fd62f){return _0x2fd62f[_0xe4fb('0x25')](_0x1fd119)[_0xe4fb('0x26')](function(_0x2462ee){return _0x2462ee;});}return null;};}function removeEntity(_0x2e07b8,_0x375199){return function(_0x5c59f0){if(_0x5c59f0){return _0x5c59f0[_0xe4fb('0x27')]()['then'](function(){_0x2e07b8[_0xe4fb('0x19')](0xcc)[_0xe4fb('0x1a')]();});}};}function handleEntityNotFound(_0x31c930,_0x3af197){return function(_0x2d6756){if(!_0x2d6756){_0x31c930[_0xe4fb('0x18')](0x194);}return _0x2d6756;};}function handleError(_0x5c77a6,_0x170a79){_0x170a79=_0x170a79||0x1f4;return function(_0x59e575){logger['error'](_0x59e575[_0xe4fb('0x28')]);if(_0x59e575[_0xe4fb('0x29')]){delete _0x59e575['name'];}_0x5c77a6[_0xe4fb('0x19')](_0x170a79)[_0xe4fb('0x2a')](_0x59e575);};}exports[_0xe4fb('0x2b')]=function(_0x332bea,_0x51de08){var _0x4ff3dc={},_0x5ecb86={},_0x10c407={'count':0x0,'rows':[]};var _0x2a5256=_[_0xe4fb('0x2c')](db[_0xe4fb('0x2d')][_0xe4fb('0x2e')],function(_0x5ce63d){return{'name':_0x5ce63d[_0xe4fb('0x2f')],'type':_0x5ce63d['type']['key']};});_0x5ecb86[_0xe4fb('0x30')]=_[_0xe4fb('0x2c')](_0x2a5256,_0xe4fb('0x29'));_0x5ecb86[_0xe4fb('0x31')]=_[_0xe4fb('0x32')](_0x332bea['query']);_0x5ecb86[_0xe4fb('0x33')]=_[_0xe4fb('0x34')](_0x5ecb86[_0xe4fb('0x30')],_0x5ecb86[_0xe4fb('0x31')]);_0x4ff3dc['attributes']=_[_0xe4fb('0x34')](_0x5ecb86[_0xe4fb('0x30')],qs['fields'](_0x332bea['query'][_0xe4fb('0x35')]));_0x4ff3dc[_0xe4fb('0x36')]=_0x4ff3dc[_0xe4fb('0x36')][_0xe4fb('0x37')]?_0x4ff3dc[_0xe4fb('0x36')]:_0x5ecb86[_0xe4fb('0x30')];if(!_0x332bea['query']['hasOwnProperty'](_0xe4fb('0x38'))){_0x4ff3dc[_0xe4fb('0x1d')]=qs[_0xe4fb('0x1d')](_0x332bea[_0xe4fb('0x31')][_0xe4fb('0x1d')]);_0x4ff3dc['offset']=qs['offset'](_0x332bea[_0xe4fb('0x31')][_0xe4fb('0x1c')]);}_0x4ff3dc['order']=qs[_0xe4fb('0x39')](_0x332bea['query'][_0xe4fb('0x39')]);_0x4ff3dc[_0xe4fb('0x3a')]=qs[_0xe4fb('0x33')](_[_0xe4fb('0x3b')](_0x332bea['query'],_0x5ecb86[_0xe4fb('0x33')]),_0x2a5256);if(_0x332bea[_0xe4fb('0x31')][_0xe4fb('0x3c')]){_0x4ff3dc[_0xe4fb('0x3a')]=_[_0xe4fb('0x3d')](_0x4ff3dc['where'],{'$or':_[_0xe4fb('0x2c')](_0x2a5256,function(_0x44c2c1){if(_0x44c2c1[_0xe4fb('0x3e')]!=='VIRTUAL'){var _0x4c2e15={};_0x4c2e15[_0x44c2c1['name']]={'$like':'%'+_0x332bea[_0xe4fb('0x31')]['filter']+'%'};return _0x4c2e15;}})});}_0x4ff3dc=_['merge']({},_0x4ff3dc,_0x332bea[_0xe4fb('0x3f')]);var _0x26e988={'where':_0x4ff3dc['where']};return db[_0xe4fb('0x2d')]['count'](_0x26e988)[_0xe4fb('0x26')](function(_0x8e0c79){_0x10c407[_0xe4fb('0x1f')]=_0x8e0c79;if(_0x332bea[_0xe4fb('0x31')][_0xe4fb('0x40')]){_0x4ff3dc[_0xe4fb('0x41')]=[{'all':!![]}];}return db[_0xe4fb('0x2d')][_0xe4fb('0x42')](_0x4ff3dc);})['then'](function(_0x17940e){_0x10c407[_0xe4fb('0x43')]=_0x17940e;return _0x10c407;})[_0xe4fb('0x26')](respondWithFilteredResult(_0x51de08,_0x4ff3dc))[_0xe4fb('0x44')](handleError(_0x51de08,null));};exports['show']=function(_0x697e22,_0x15b764){var _0x5e6641={'raw':![],'where':{'id':_0x697e22[_0xe4fb('0x45')]['id']}},_0x27e9d2={};_0x27e9d2[_0xe4fb('0x30')]=_['keys'](db[_0xe4fb('0x2d')][_0xe4fb('0x2e')]);_0x27e9d2['query']=_[_0xe4fb('0x32')](_0x697e22[_0xe4fb('0x31')]);_0x27e9d2[_0xe4fb('0x33')]=_[_0xe4fb('0x34')](_0x27e9d2[_0xe4fb('0x30')],_0x27e9d2[_0xe4fb('0x31')]);_0x5e6641['attributes']=_[_0xe4fb('0x34')](_0x27e9d2[_0xe4fb('0x30')],qs[_0xe4fb('0x35')](_0x697e22[_0xe4fb('0x31')]['fields']));_0x5e6641[_0xe4fb('0x36')]=_0x5e6641['attributes'][_0xe4fb('0x37')]?_0x5e6641[_0xe4fb('0x36')]:_0x27e9d2[_0xe4fb('0x30')];if(_0x697e22[_0xe4fb('0x31')][_0xe4fb('0x40')]){_0x5e6641[_0xe4fb('0x41')]=[{'all':!![]}];}_0x5e6641=_['merge']({},_0x5e6641,_0x697e22[_0xe4fb('0x3f')]);return db['ZendeskConfiguration'][_0xe4fb('0x46')](_0x5e6641)[_0xe4fb('0x26')](handleEntityNotFound(_0x15b764,null))[_0xe4fb('0x26')](respondWithResult(_0x15b764,null))[_0xe4fb('0x44')](handleError(_0x15b764,null));};exports['create']=function(_0x1a9c33,_0x9cf624){return db[_0xe4fb('0x2d')][_0xe4fb('0x47')](_0x1a9c33['body'],{})[_0xe4fb('0x26')](respondWithResult(_0x9cf624,0xc9))[_0xe4fb('0x44')](handleError(_0x9cf624,null));};exports[_0xe4fb('0x25')]=function(_0x2dc2d9,_0x49d63a){if(_0x2dc2d9['body']['id']){delete _0x2dc2d9[_0xe4fb('0x48')]['id'];}return db['ZendeskConfiguration'][_0xe4fb('0x46')]({'where':{'id':_0x2dc2d9['params']['id']}})[_0xe4fb('0x26')](handleEntityNotFound(_0x49d63a,null))[_0xe4fb('0x26')](saveUpdates(_0x2dc2d9[_0xe4fb('0x48')],null))[_0xe4fb('0x26')](respondWithResult(_0x49d63a,null))[_0xe4fb('0x44')](handleError(_0x49d63a,null));};exports[_0xe4fb('0x27')]=function(_0x6f343c,_0x4dc689){return db[_0xe4fb('0x2d')][_0xe4fb('0x46')]({'where':{'id':_0x6f343c[_0xe4fb('0x45')]['id']}})[_0xe4fb('0x26')](handleEntityNotFound(_0x4dc689,null))[_0xe4fb('0x26')](removeEntity(_0x4dc689,null))[_0xe4fb('0x44')](handleError(_0x4dc689,null));};exports[_0xe4fb('0x49')]=function(_0x5e3972,_0x52a103,_0x2d8487){var _0xa4f559={};var _0xc8c16c={};var _0x4c6654;var _0x5e5194;return db[_0xe4fb('0x2d')][_0xe4fb('0x4a')]({'where':{'id':_0x5e3972[_0xe4fb('0x45')]['id']}})[_0xe4fb('0x26')](handleEntityNotFound(_0x52a103,null))['then'](function(_0x1c43e6){if(_0x1c43e6){_0x4c6654=_0x1c43e6;_0xc8c16c[_0xe4fb('0x30')]=_['keys'](db[_0xe4fb('0x4b')][_0xe4fb('0x2e')]);_0xc8c16c[_0xe4fb('0x31')]=_[_0xe4fb('0x32')](_0x5e3972['query']);_0xc8c16c[_0xe4fb('0x33')]=_[_0xe4fb('0x34')](_0xc8c16c['model'],_0xc8c16c[_0xe4fb('0x31')]);_0xa4f559[_0xe4fb('0x36')]=_[_0xe4fb('0x34')](_0xc8c16c['model'],qs[_0xe4fb('0x35')](_0x5e3972[_0xe4fb('0x31')]['fields']));_0xa4f559[_0xe4fb('0x36')]=_0xa4f559['attributes']['length']?_0xa4f559['attributes']:_0xc8c16c['model'];_0xa4f559['order']=qs[_0xe4fb('0x39')](_0x5e3972['query'][_0xe4fb('0x39')]);_0xa4f559[_0xe4fb('0x3a')]=qs[_0xe4fb('0x33')](_['pick'](_0x5e3972[_0xe4fb('0x31')],_0xc8c16c[_0xe4fb('0x33')]));if(_0x5e3972[_0xe4fb('0x31')]['filter']){_0xa4f559[_0xe4fb('0x3a')]=_[_0xe4fb('0x3d')](_0xa4f559[_0xe4fb('0x3a')],{'$or':_[_0xe4fb('0x2c')](_0xa4f559[_0xe4fb('0x36')],function(_0x92db8c){var _0x3f13e9={};_0x3f13e9[_0x92db8c]={'$like':'%'+_0x5e3972[_0xe4fb('0x31')]['filter']+'%'};return _0x3f13e9;})});}_0xa4f559=_[_0xe4fb('0x3d')]({},_0xa4f559,_0x5e3972[_0xe4fb('0x3f')]);return _0x4c6654[_0xe4fb('0x49')](_0xa4f559);}})[_0xe4fb('0x26')](function(_0x3cc8da){if(_0x3cc8da){_0x5e5194=_0x3cc8da[_0xe4fb('0x37')];if(!_0x5e3972[_0xe4fb('0x31')][_0xe4fb('0x4c')](_0xe4fb('0x38'))){_0xa4f559[_0xe4fb('0x1d')]=qs[_0xe4fb('0x1d')](_0x5e3972[_0xe4fb('0x31')]['limit']);_0xa4f559['offset']=qs[_0xe4fb('0x1c')](_0x5e3972[_0xe4fb('0x31')][_0xe4fb('0x1c')]);}return _0x4c6654[_0xe4fb('0x49')](_0xa4f559);}})['then'](function(_0x3e16ed){if(_0x3e16ed){return _0x3e16ed?{'count':_0x5e5194,'rows':_0x3e16ed}:null;}})[_0xe4fb('0x26')](respondWithResult(_0x52a103,null))['catch'](handleError(_0x52a103,null));};exports[_0xe4fb('0x4d')]=function(_0x43ffe5,_0x524228,_0x468c98){var _0xf2470e={};var _0x3b56e6={};var _0x118514;var _0x1e75a8;return db[_0xe4fb('0x2d')]['findOne']({'where':{'id':_0x43ffe5[_0xe4fb('0x45')]['id']}})['then'](handleEntityNotFound(_0x524228,null))['then'](function(_0xbac82f){if(_0xbac82f){_0x118514=_0xbac82f;_0x3b56e6[_0xe4fb('0x30')]=_[_0xe4fb('0x32')](db[_0xe4fb('0x4b')][_0xe4fb('0x2e')]);_0x3b56e6[_0xe4fb('0x31')]=_[_0xe4fb('0x32')](_0x43ffe5[_0xe4fb('0x31')]);_0x3b56e6[_0xe4fb('0x33')]=_[_0xe4fb('0x34')](_0x3b56e6[_0xe4fb('0x30')],_0x3b56e6[_0xe4fb('0x31')]);_0xf2470e[_0xe4fb('0x36')]=_[_0xe4fb('0x34')](_0x3b56e6[_0xe4fb('0x30')],qs[_0xe4fb('0x35')](_0x43ffe5['query'][_0xe4fb('0x35')]));_0xf2470e[_0xe4fb('0x36')]=_0xf2470e[_0xe4fb('0x36')][_0xe4fb('0x37')]?_0xf2470e[_0xe4fb('0x36')]:_0x3b56e6[_0xe4fb('0x30')];_0xf2470e[_0xe4fb('0x4e')]=qs['sort'](_0x43ffe5[_0xe4fb('0x31')]['sort']);_0xf2470e[_0xe4fb('0x3a')]=qs['filters'](_[_0xe4fb('0x3b')](_0x43ffe5[_0xe4fb('0x31')],_0x3b56e6[_0xe4fb('0x33')]));if(_0x43ffe5['query'][_0xe4fb('0x3c')]){_0xf2470e['where']=_[_0xe4fb('0x3d')](_0xf2470e[_0xe4fb('0x3a')],{'$or':_[_0xe4fb('0x2c')](_0xf2470e[_0xe4fb('0x36')],function(_0x3591f2){var _0x23a43b={};_0x23a43b[_0x3591f2]={'$like':'%'+_0x43ffe5['query'][_0xe4fb('0x3c')]+'%'};return _0x23a43b;})});}_0xf2470e=_[_0xe4fb('0x3d')]({},_0xf2470e,_0x43ffe5['options']);return _0x118514[_0xe4fb('0x4d')](_0xf2470e);}})[_0xe4fb('0x26')](function(_0x411cef){if(_0x411cef){_0x1e75a8=_0x411cef[_0xe4fb('0x37')];if(!_0x43ffe5[_0xe4fb('0x31')]['hasOwnProperty'](_0xe4fb('0x38'))){_0xf2470e[_0xe4fb('0x1d')]=qs['limit'](_0x43ffe5[_0xe4fb('0x31')][_0xe4fb('0x1d')]);_0xf2470e[_0xe4fb('0x1c')]=qs[_0xe4fb('0x1c')](_0x43ffe5[_0xe4fb('0x31')][_0xe4fb('0x1c')]);}return _0x118514[_0xe4fb('0x4d')](_0xf2470e);}})['then'](function(_0xd25ca0){if(_0xd25ca0){return _0xd25ca0?{'count':_0x1e75a8,'rows':_0xd25ca0}:null;}})[_0xe4fb('0x26')](respondWithResult(_0x524228,null))[_0xe4fb('0x44')](handleError(_0x524228,null));};exports[_0xe4fb('0x4f')]=function(_0x421ac8,_0x50cc77,_0xe36625){var _0x4e2e2e={};var _0x4601f3={};var _0x17c04d;var _0x4255be;return db[_0xe4fb('0x2d')][_0xe4fb('0x4a')]({'where':{'id':_0x421ac8[_0xe4fb('0x45')]['id']}})['then'](handleEntityNotFound(_0x50cc77,null))[_0xe4fb('0x26')](function(_0x181ec9){if(_0x181ec9){_0x17c04d=_0x181ec9;_0x4601f3['model']=_[_0xe4fb('0x32')](db[_0xe4fb('0x4b')]['rawAttributes']);_0x4601f3['query']=_['keys'](_0x421ac8['query']);_0x4601f3[_0xe4fb('0x33')]=_[_0xe4fb('0x34')](_0x4601f3['model'],_0x4601f3['query']);_0x4e2e2e[_0xe4fb('0x36')]=_[_0xe4fb('0x34')](_0x4601f3[_0xe4fb('0x30')],qs[_0xe4fb('0x35')](_0x421ac8[_0xe4fb('0x31')][_0xe4fb('0x35')]));_0x4e2e2e[_0xe4fb('0x36')]=_0x4e2e2e[_0xe4fb('0x36')][_0xe4fb('0x37')]?_0x4e2e2e[_0xe4fb('0x36')]:_0x4601f3[_0xe4fb('0x30')];_0x4e2e2e[_0xe4fb('0x4e')]=qs['sort'](_0x421ac8[_0xe4fb('0x31')][_0xe4fb('0x39')]);_0x4e2e2e['where']=qs[_0xe4fb('0x33')](_[_0xe4fb('0x3b')](_0x421ac8[_0xe4fb('0x31')],_0x4601f3[_0xe4fb('0x33')]));if(_0x421ac8['query'][_0xe4fb('0x3c')]){_0x4e2e2e['where']=_[_0xe4fb('0x3d')](_0x4e2e2e[_0xe4fb('0x3a')],{'$or':_[_0xe4fb('0x2c')](_0x4e2e2e[_0xe4fb('0x36')],function(_0x25c13a){var _0x32892d={};_0x32892d[_0x25c13a]={'$like':'%'+_0x421ac8[_0xe4fb('0x31')][_0xe4fb('0x3c')]+'%'};return _0x32892d;})});}_0x4e2e2e=_[_0xe4fb('0x3d')]({},_0x4e2e2e,_0x421ac8['options']);return _0x17c04d[_0xe4fb('0x4f')](_0x4e2e2e);}})[_0xe4fb('0x26')](function(_0x6bf0fc){if(_0x6bf0fc){_0x4255be=_0x6bf0fc[_0xe4fb('0x37')];if(!_0x421ac8[_0xe4fb('0x31')][_0xe4fb('0x4c')](_0xe4fb('0x38'))){_0x4e2e2e[_0xe4fb('0x1d')]=qs['limit'](_0x421ac8[_0xe4fb('0x31')][_0xe4fb('0x1d')]);_0x4e2e2e['offset']=qs[_0xe4fb('0x1c')](_0x421ac8[_0xe4fb('0x31')][_0xe4fb('0x1c')]);}return _0x17c04d[_0xe4fb('0x4f')](_0x4e2e2e);}})[_0xe4fb('0x26')](function(_0x399236){if(_0x399236){return _0x399236?{'count':_0x4255be,'rows':_0x399236}:null;}})['then'](respondWithResult(_0x50cc77,null))[_0xe4fb('0x44')](handleError(_0x50cc77,null));};exports[_0xe4fb('0x50')]=function(_0x3472a6,_0x147aa0,_0x5a5a9c){var _0x2c84b4={};var _0x2703bb={};var _0x221693;var _0xbe7a73;return db['ZendeskConfiguration'][_0xe4fb('0x4a')]({'where':{'id':_0x3472a6[_0xe4fb('0x45')]['id']}})['then'](handleEntityNotFound(_0x147aa0,null))[_0xe4fb('0x26')](function(_0x4b85b2){if(_0x4b85b2){_0x221693=_0x4b85b2;_0x2703bb[_0xe4fb('0x30')]=_['keys'](db[_0xe4fb('0x51')][_0xe4fb('0x2e')]);_0x2703bb['query']=_[_0xe4fb('0x32')](_0x3472a6[_0xe4fb('0x31')]);_0x2703bb[_0xe4fb('0x33')]=_[_0xe4fb('0x34')](_0x2703bb['model'],_0x2703bb[_0xe4fb('0x31')]);_0x2c84b4[_0xe4fb('0x36')]=_[_0xe4fb('0x34')](_0x2703bb[_0xe4fb('0x30')],qs[_0xe4fb('0x35')](_0x3472a6['query'][_0xe4fb('0x35')]));_0x2c84b4[_0xe4fb('0x36')]=_0x2c84b4[_0xe4fb('0x36')][_0xe4fb('0x37')]?_0x2c84b4[_0xe4fb('0x36')]:_0x2703bb[_0xe4fb('0x30')];_0x2c84b4['order']=qs[_0xe4fb('0x39')](_0x3472a6[_0xe4fb('0x31')][_0xe4fb('0x39')]);_0x2c84b4[_0xe4fb('0x3a')]=qs['filters'](_[_0xe4fb('0x3b')](_0x3472a6[_0xe4fb('0x31')],_0x2703bb[_0xe4fb('0x33')]));if(_0x3472a6[_0xe4fb('0x31')]['filter']){_0x2c84b4[_0xe4fb('0x3a')]=_['merge'](_0x2c84b4[_0xe4fb('0x3a')],{'$or':_[_0xe4fb('0x2c')](_0x2c84b4['attributes'],function(_0x337880){var _0x2d3898={};_0x2d3898[_0x337880]={'$like':'%'+_0x3472a6['query'][_0xe4fb('0x3c')]+'%'};return _0x2d3898;})});}_0x2c84b4=_['merge']({},_0x2c84b4,_0x3472a6[_0xe4fb('0x3f')]);return _0x221693[_0xe4fb('0x50')](_0x2c84b4);}})[_0xe4fb('0x26')](function(_0x2c0e9c){if(_0x2c0e9c){_0xbe7a73=_0x2c0e9c['length'];if(!_0x3472a6[_0xe4fb('0x31')][_0xe4fb('0x4c')]('nolimit')){_0x2c84b4[_0xe4fb('0x1d')]=qs['limit'](_0x3472a6[_0xe4fb('0x31')][_0xe4fb('0x1d')]);_0x2c84b4['offset']=qs[_0xe4fb('0x1c')](_0x3472a6[_0xe4fb('0x31')][_0xe4fb('0x1c')]);}return _0x221693[_0xe4fb('0x50')](_0x2c84b4);}})['then'](function(_0xf41131){if(_0xf41131){return _0xf41131?{'count':_0xbe7a73,'rows':_0xf41131}:null;}})[_0xe4fb('0x26')](respondWithResult(_0x147aa0,null))[_0xe4fb('0x44')](handleError(_0x147aa0,null));};exports[_0xe4fb('0x52')]=function(_0x17ddab,_0x5a2da4,_0x2805e4){if(_0x17ddab[_0xe4fb('0x48')]['id']){delete _0x17ddab[_0xe4fb('0x48')]['id'];}return db[_0xe4fb('0x2d')][_0xe4fb('0x4a')]({'where':{'id':_0x17ddab[_0xe4fb('0x45')]['id']}})[_0xe4fb('0x26')](handleEntityNotFound(_0x5a2da4,null))['then'](function(_0x3c8dcf){if(_0x3c8dcf){return _0x3c8dcf[_0xe4fb('0x52')](_0x17ddab['body'][_0xe4fb('0x53')]||[]);}return null;})['then'](respondWithResult(_0x5a2da4,null))[_0xe4fb('0x44')](handleError(_0x5a2da4,null));};