Built motion from commit 013e4bb4.|2.6.18
[motion2.git] / server / api / intFreshdeskConfiguration / intFreshdeskConfiguration.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 _0xda43=['../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','limit','undefined','offset','apply','reject','save','then','sendStatus','error','name','index','FreshdeskConfiguration','fieldName','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filter','merge','type','VIRTUAL','options','count','rows','catch','params','rawAttributes','includeAll','include','find','create','body','update','destroy','getFields','findOne','FreshdeskField','pick','getSubjects','order','getDescriptions','getTags','Tag','setTags','ids','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service'];(function(_0x39e551,_0x4a505d){var _0x5d49a6=function(_0x2a772f){while(--_0x2a772f){_0x39e551['push'](_0x39e551['shift']());}};_0x5d49a6(++_0x4a505d);}(_0xda43,0x91));var _0x3da4=function(_0x556477,_0x1b7214){_0x556477=_0x556477-0x0;var _0x552276=_0xda43[_0x556477];return _0x552276;};'use strict';var emlformat=require(_0x3da4('0x0'));var rimraf=require(_0x3da4('0x1'));var zipdir=require(_0x3da4('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x3da4('0x3'));var BPromise=require(_0x3da4('0x4'));var Mustache=require(_0x3da4('0x5'));var util=require(_0x3da4('0x6'));var path=require(_0x3da4('0x7'));var sox=require('sox');var csv=require(_0x3da4('0x8'));var ejs=require(_0x3da4('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x3da4('0xa'));var squel=require(_0x3da4('0xb'));var crypto=require('crypto');var jsforce=require(_0x3da4('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x3da4('0x8'));var querystring=require(_0x3da4('0xd'));var Papa=require(_0x3da4('0xe'));var Redis=require(_0x3da4('0xf'));var authService=require(_0x3da4('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x3da4('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x3da4('0x12'));var utils=require(_0x3da4('0x13'));var config=require(_0x3da4('0x14'));var licenseUtil=require(_0x3da4('0x15'));var db=require(_0x3da4('0x16'))['db'];function respondWithStatusCode(_0x2b05aa,_0x44a05e){_0x44a05e=_0x44a05e||0xcc;return function(_0x812a27){if(_0x812a27){return _0x2b05aa['sendStatus'](_0x44a05e);}return _0x2b05aa[_0x3da4('0x17')](_0x44a05e)[_0x3da4('0x18')]();};}function respondWithResult(_0x284290,_0x4a11d4){_0x4a11d4=_0x4a11d4||0xc8;return function(_0x525718){if(_0x525718){return _0x284290[_0x3da4('0x17')](_0x4a11d4)[_0x3da4('0x19')](_0x525718);}};}function respondWithFilteredResult(_0x4f41d7,_0x22f28e){return function(_0x422f62){if(_0x422f62){var _0x11755a=typeof _0x22f28e['offset']==='undefined'&&typeof _0x22f28e[_0x3da4('0x1a')]===_0x3da4('0x1b');var _0x5dbf80=_0x422f62['count'];var _0x4b0d5d=_0x11755a?0x0:_0x22f28e[_0x3da4('0x1c')];var _0x54b738=_0x11755a?_0x422f62['count']:_0x22f28e[_0x3da4('0x1c')]+_0x22f28e['limit'];var _0x195a9e;if(_0x54b738>=_0x5dbf80){_0x54b738=_0x5dbf80;_0x195a9e=0xc8;}else{_0x195a9e=0xce;}_0x4f41d7['status'](_0x195a9e);return _0x4f41d7['set']('Content-Range',_0x4b0d5d+'-'+_0x54b738+'/'+_0x5dbf80)[_0x3da4('0x19')](_0x422f62);}return null;};}function patchUpdates(_0x4cac26){return function(_0x26dd49){try{jsonpatch[_0x3da4('0x1d')](_0x26dd49,_0x4cac26,!![]);}catch(_0x2e4c12){return BPromise[_0x3da4('0x1e')](_0x2e4c12);}return _0x26dd49[_0x3da4('0x1f')]();};}function saveUpdates(_0x50a089,_0x2b9654){return function(_0x1193e0){if(_0x1193e0){return _0x1193e0['update'](_0x50a089)[_0x3da4('0x20')](function(_0x3ea6df){return _0x3ea6df;});}return null;};}function removeEntity(_0x21f5a4,_0x6f3c0e){return function(_0x3bfe50){if(_0x3bfe50){return _0x3bfe50['destroy']()[_0x3da4('0x20')](function(){_0x21f5a4[_0x3da4('0x17')](0xcc)[_0x3da4('0x18')]();});}};}function handleEntityNotFound(_0x3bfcc6,_0x69f8f3){return function(_0x1bfab6){if(!_0x1bfab6){_0x3bfcc6[_0x3da4('0x21')](0x194);}return _0x1bfab6;};}function handleError(_0x982ae8,_0x51052d){_0x51052d=_0x51052d||0x1f4;return function(_0x195340){logger[_0x3da4('0x22')](_0x195340['stack']);if(_0x195340[_0x3da4('0x23')]){delete _0x195340[_0x3da4('0x23')];}_0x982ae8[_0x3da4('0x17')](_0x51052d)['send'](_0x195340);};}exports[_0x3da4('0x24')]=function(_0x193d2d,_0x482787){var _0x140400={},_0x3627f0={},_0x4a2d68={'count':0x0,'rows':[]};var _0x3eb926=_['map'](db[_0x3da4('0x25')]['rawAttributes'],function(_0xcc9c41){return{'name':_0xcc9c41[_0x3da4('0x26')],'type':_0xcc9c41['type'][_0x3da4('0x27')]};});_0x3627f0[_0x3da4('0x28')]=_[_0x3da4('0x29')](_0x3eb926,_0x3da4('0x23'));_0x3627f0[_0x3da4('0x2a')]=_[_0x3da4('0x2b')](_0x193d2d['query']);_0x3627f0[_0x3da4('0x2c')]=_[_0x3da4('0x2d')](_0x3627f0[_0x3da4('0x28')],_0x3627f0[_0x3da4('0x2a')]);_0x140400[_0x3da4('0x2e')]=_[_0x3da4('0x2d')](_0x3627f0['model'],qs[_0x3da4('0x2f')](_0x193d2d[_0x3da4('0x2a')][_0x3da4('0x2f')]));_0x140400[_0x3da4('0x2e')]=_0x140400[_0x3da4('0x2e')][_0x3da4('0x30')]?_0x140400[_0x3da4('0x2e')]:_0x3627f0[_0x3da4('0x28')];if(!_0x193d2d[_0x3da4('0x2a')][_0x3da4('0x31')](_0x3da4('0x32'))){_0x140400[_0x3da4('0x1a')]=qs[_0x3da4('0x1a')](_0x193d2d[_0x3da4('0x2a')][_0x3da4('0x1a')]);_0x140400[_0x3da4('0x1c')]=qs[_0x3da4('0x1c')](_0x193d2d[_0x3da4('0x2a')][_0x3da4('0x1c')]);}_0x140400['order']=qs[_0x3da4('0x33')](_0x193d2d[_0x3da4('0x2a')][_0x3da4('0x33')]);_0x140400[_0x3da4('0x34')]=qs[_0x3da4('0x2c')](_['pick'](_0x193d2d[_0x3da4('0x2a')],_0x3627f0[_0x3da4('0x2c')]),_0x3eb926);if(_0x193d2d[_0x3da4('0x2a')][_0x3da4('0x35')]){_0x140400[_0x3da4('0x34')]=_[_0x3da4('0x36')](_0x140400[_0x3da4('0x34')],{'$or':_[_0x3da4('0x29')](_0x3eb926,function(_0x27a3e1){if(_0x27a3e1[_0x3da4('0x37')]!==_0x3da4('0x38')){var _0x3d7f7a={};_0x3d7f7a[_0x27a3e1['name']]={'$like':'%'+_0x193d2d[_0x3da4('0x2a')][_0x3da4('0x35')]+'%'};return _0x3d7f7a;}})});}_0x140400=_[_0x3da4('0x36')]({},_0x140400,_0x193d2d[_0x3da4('0x39')]);var _0x1c7b7b={'where':_0x140400['where']};return db['FreshdeskConfiguration'][_0x3da4('0x3a')](_0x1c7b7b)[_0x3da4('0x20')](function(_0x40ffce){_0x4a2d68['count']=_0x40ffce;if(_0x193d2d[_0x3da4('0x2a')]['includeAll']){_0x140400['include']=[{'all':!![]}];}return db[_0x3da4('0x25')]['findAll'](_0x140400);})[_0x3da4('0x20')](function(_0x37279f){_0x4a2d68[_0x3da4('0x3b')]=_0x37279f;return _0x4a2d68;})[_0x3da4('0x20')](respondWithFilteredResult(_0x482787,_0x140400))[_0x3da4('0x3c')](handleError(_0x482787,null));};exports['show']=function(_0x4c2f0c,_0x556c11){var _0x300c97={'raw':![],'where':{'id':_0x4c2f0c[_0x3da4('0x3d')]['id']}},_0x2d8d79={};_0x2d8d79[_0x3da4('0x28')]=_[_0x3da4('0x2b')](db[_0x3da4('0x25')][_0x3da4('0x3e')]);_0x2d8d79['query']=_[_0x3da4('0x2b')](_0x4c2f0c[_0x3da4('0x2a')]);_0x2d8d79[_0x3da4('0x2c')]=_[_0x3da4('0x2d')](_0x2d8d79['model'],_0x2d8d79[_0x3da4('0x2a')]);_0x300c97[_0x3da4('0x2e')]=_[_0x3da4('0x2d')](_0x2d8d79[_0x3da4('0x28')],qs[_0x3da4('0x2f')](_0x4c2f0c[_0x3da4('0x2a')][_0x3da4('0x2f')]));_0x300c97[_0x3da4('0x2e')]=_0x300c97[_0x3da4('0x2e')][_0x3da4('0x30')]?_0x300c97[_0x3da4('0x2e')]:_0x2d8d79[_0x3da4('0x28')];if(_0x4c2f0c['query'][_0x3da4('0x3f')]){_0x300c97[_0x3da4('0x40')]=[{'all':!![]}];}_0x300c97=_[_0x3da4('0x36')]({},_0x300c97,_0x4c2f0c['options']);return db[_0x3da4('0x25')][_0x3da4('0x41')](_0x300c97)[_0x3da4('0x20')](handleEntityNotFound(_0x556c11,null))[_0x3da4('0x20')](respondWithResult(_0x556c11,null))[_0x3da4('0x3c')](handleError(_0x556c11,null));};exports[_0x3da4('0x42')]=function(_0x37b985,_0x215bc3){return db[_0x3da4('0x25')]['create'](_0x37b985[_0x3da4('0x43')],{})['then'](respondWithResult(_0x215bc3,0xc9))['catch'](handleError(_0x215bc3,null));};exports[_0x3da4('0x44')]=function(_0x330069,_0x1b67eb){if(_0x330069['body']['id']){delete _0x330069[_0x3da4('0x43')]['id'];}return db['FreshdeskConfiguration'][_0x3da4('0x41')]({'where':{'id':_0x330069[_0x3da4('0x3d')]['id']}})['then'](handleEntityNotFound(_0x1b67eb,null))[_0x3da4('0x20')](saveUpdates(_0x330069[_0x3da4('0x43')],null))[_0x3da4('0x20')](respondWithResult(_0x1b67eb,null))[_0x3da4('0x3c')](handleError(_0x1b67eb,null));};exports[_0x3da4('0x45')]=function(_0x5171f6,_0x13c414){return db[_0x3da4('0x25')][_0x3da4('0x41')]({'where':{'id':_0x5171f6['params']['id']}})['then'](handleEntityNotFound(_0x13c414,null))['then'](removeEntity(_0x13c414,null))[_0x3da4('0x3c')](handleError(_0x13c414,null));};exports[_0x3da4('0x46')]=function(_0x47a3f7,_0x1a356a,_0xb96d39){var _0x3ac82f={};var _0x127839={};var _0x31f202;var _0x559cce;return db[_0x3da4('0x25')][_0x3da4('0x47')]({'where':{'id':_0x47a3f7[_0x3da4('0x3d')]['id']}})[_0x3da4('0x20')](handleEntityNotFound(_0x1a356a,null))['then'](function(_0x20e1a5){if(_0x20e1a5){_0x31f202=_0x20e1a5;_0x127839['model']=_[_0x3da4('0x2b')](db[_0x3da4('0x48')][_0x3da4('0x3e')]);_0x127839['query']=_['keys'](_0x47a3f7[_0x3da4('0x2a')]);_0x127839['filters']=_[_0x3da4('0x2d')](_0x127839['model'],_0x127839[_0x3da4('0x2a')]);_0x3ac82f['attributes']=_[_0x3da4('0x2d')](_0x127839[_0x3da4('0x28')],qs['fields'](_0x47a3f7[_0x3da4('0x2a')][_0x3da4('0x2f')]));_0x3ac82f[_0x3da4('0x2e')]=_0x3ac82f[_0x3da4('0x2e')][_0x3da4('0x30')]?_0x3ac82f['attributes']:_0x127839['model'];_0x3ac82f['order']=qs[_0x3da4('0x33')](_0x47a3f7['query'][_0x3da4('0x33')]);_0x3ac82f['where']=qs[_0x3da4('0x2c')](_[_0x3da4('0x49')](_0x47a3f7['query'],_0x127839[_0x3da4('0x2c')]));if(_0x47a3f7[_0x3da4('0x2a')][_0x3da4('0x35')]){_0x3ac82f[_0x3da4('0x34')]=_['merge'](_0x3ac82f[_0x3da4('0x34')],{'$or':_[_0x3da4('0x29')](_0x3ac82f['attributes'],function(_0x1ffd0f){var _0x1b221b={};_0x1b221b[_0x1ffd0f]={'$like':'%'+_0x47a3f7[_0x3da4('0x2a')][_0x3da4('0x35')]+'%'};return _0x1b221b;})});}_0x3ac82f=_[_0x3da4('0x36')]({},_0x3ac82f,_0x47a3f7[_0x3da4('0x39')]);return _0x31f202['getFields'](_0x3ac82f);}})[_0x3da4('0x20')](function(_0x48d4d4){if(_0x48d4d4){_0x559cce=_0x48d4d4[_0x3da4('0x30')];if(!_0x47a3f7[_0x3da4('0x2a')][_0x3da4('0x31')](_0x3da4('0x32'))){_0x3ac82f[_0x3da4('0x1a')]=qs[_0x3da4('0x1a')](_0x47a3f7[_0x3da4('0x2a')][_0x3da4('0x1a')]);_0x3ac82f[_0x3da4('0x1c')]=qs['offset'](_0x47a3f7[_0x3da4('0x2a')][_0x3da4('0x1c')]);}return _0x31f202[_0x3da4('0x46')](_0x3ac82f);}})[_0x3da4('0x20')](function(_0x2f8320){if(_0x2f8320){return _0x2f8320?{'count':_0x559cce,'rows':_0x2f8320}:null;}})[_0x3da4('0x20')](respondWithResult(_0x1a356a,null))[_0x3da4('0x3c')](handleError(_0x1a356a,null));};exports[_0x3da4('0x4a')]=function(_0x4515bf,_0x275bb0,_0x2ac552){var _0x291f80={};var _0x446931={};var _0x576e7b;var _0x531bad;return db[_0x3da4('0x25')][_0x3da4('0x47')]({'where':{'id':_0x4515bf[_0x3da4('0x3d')]['id']}})[_0x3da4('0x20')](handleEntityNotFound(_0x275bb0,null))['then'](function(_0x4167de){if(_0x4167de){_0x576e7b=_0x4167de;_0x446931[_0x3da4('0x28')]=_[_0x3da4('0x2b')](db['FreshdeskField']['rawAttributes']);_0x446931[_0x3da4('0x2a')]=_['keys'](_0x4515bf['query']);_0x446931[_0x3da4('0x2c')]=_[_0x3da4('0x2d')](_0x446931[_0x3da4('0x28')],_0x446931[_0x3da4('0x2a')]);_0x291f80['attributes']=_[_0x3da4('0x2d')](_0x446931['model'],qs['fields'](_0x4515bf['query'][_0x3da4('0x2f')]));_0x291f80[_0x3da4('0x2e')]=_0x291f80[_0x3da4('0x2e')]['length']?_0x291f80[_0x3da4('0x2e')]:_0x446931[_0x3da4('0x28')];_0x291f80[_0x3da4('0x4b')]=qs[_0x3da4('0x33')](_0x4515bf['query'][_0x3da4('0x33')]);_0x291f80['where']=qs['filters'](_[_0x3da4('0x49')](_0x4515bf[_0x3da4('0x2a')],_0x446931[_0x3da4('0x2c')]));if(_0x4515bf[_0x3da4('0x2a')][_0x3da4('0x35')]){_0x291f80[_0x3da4('0x34')]=_[_0x3da4('0x36')](_0x291f80['where'],{'$or':_[_0x3da4('0x29')](_0x291f80[_0x3da4('0x2e')],function(_0x2c5d4b){var _0x16ccac={};_0x16ccac[_0x2c5d4b]={'$like':'%'+_0x4515bf[_0x3da4('0x2a')][_0x3da4('0x35')]+'%'};return _0x16ccac;})});}_0x291f80=_[_0x3da4('0x36')]({},_0x291f80,_0x4515bf[_0x3da4('0x39')]);return _0x576e7b[_0x3da4('0x4a')](_0x291f80);}})[_0x3da4('0x20')](function(_0x344bf4){if(_0x344bf4){_0x531bad=_0x344bf4[_0x3da4('0x30')];if(!_0x4515bf[_0x3da4('0x2a')]['hasOwnProperty'](_0x3da4('0x32'))){_0x291f80[_0x3da4('0x1a')]=qs['limit'](_0x4515bf[_0x3da4('0x2a')][_0x3da4('0x1a')]);_0x291f80['offset']=qs[_0x3da4('0x1c')](_0x4515bf[_0x3da4('0x2a')][_0x3da4('0x1c')]);}return _0x576e7b[_0x3da4('0x4a')](_0x291f80);}})[_0x3da4('0x20')](function(_0x1f266f){if(_0x1f266f){return _0x1f266f?{'count':_0x531bad,'rows':_0x1f266f}:null;}})[_0x3da4('0x20')](respondWithResult(_0x275bb0,null))[_0x3da4('0x3c')](handleError(_0x275bb0,null));};exports[_0x3da4('0x4c')]=function(_0x254d3f,_0x223dc2,_0x1ac9a4){var _0x5b8e22={};var _0x2615f8={};var _0xc06b68;var _0x5783f7;return db[_0x3da4('0x25')][_0x3da4('0x47')]({'where':{'id':_0x254d3f[_0x3da4('0x3d')]['id']}})['then'](handleEntityNotFound(_0x223dc2,null))[_0x3da4('0x20')](function(_0x3afbed){if(_0x3afbed){_0xc06b68=_0x3afbed;_0x2615f8[_0x3da4('0x28')]=_['keys'](db[_0x3da4('0x48')][_0x3da4('0x3e')]);_0x2615f8['query']=_[_0x3da4('0x2b')](_0x254d3f[_0x3da4('0x2a')]);_0x2615f8['filters']=_[_0x3da4('0x2d')](_0x2615f8[_0x3da4('0x28')],_0x2615f8['query']);_0x5b8e22['attributes']=_[_0x3da4('0x2d')](_0x2615f8[_0x3da4('0x28')],qs[_0x3da4('0x2f')](_0x254d3f[_0x3da4('0x2a')][_0x3da4('0x2f')]));_0x5b8e22['attributes']=_0x5b8e22[_0x3da4('0x2e')]['length']?_0x5b8e22[_0x3da4('0x2e')]:_0x2615f8[_0x3da4('0x28')];_0x5b8e22[_0x3da4('0x4b')]=qs['sort'](_0x254d3f[_0x3da4('0x2a')][_0x3da4('0x33')]);_0x5b8e22[_0x3da4('0x34')]=qs['filters'](_[_0x3da4('0x49')](_0x254d3f[_0x3da4('0x2a')],_0x2615f8[_0x3da4('0x2c')]));if(_0x254d3f['query']['filter']){_0x5b8e22[_0x3da4('0x34')]=_[_0x3da4('0x36')](_0x5b8e22['where'],{'$or':_['map'](_0x5b8e22[_0x3da4('0x2e')],function(_0x4ea882){var _0x1cfe11={};_0x1cfe11[_0x4ea882]={'$like':'%'+_0x254d3f[_0x3da4('0x2a')][_0x3da4('0x35')]+'%'};return _0x1cfe11;})});}_0x5b8e22=_[_0x3da4('0x36')]({},_0x5b8e22,_0x254d3f[_0x3da4('0x39')]);return _0xc06b68[_0x3da4('0x4c')](_0x5b8e22);}})['then'](function(_0x166597){if(_0x166597){_0x5783f7=_0x166597[_0x3da4('0x30')];if(!_0x254d3f['query'][_0x3da4('0x31')](_0x3da4('0x32'))){_0x5b8e22[_0x3da4('0x1a')]=qs[_0x3da4('0x1a')](_0x254d3f[_0x3da4('0x2a')][_0x3da4('0x1a')]);_0x5b8e22[_0x3da4('0x1c')]=qs[_0x3da4('0x1c')](_0x254d3f[_0x3da4('0x2a')][_0x3da4('0x1c')]);}return _0xc06b68['getDescriptions'](_0x5b8e22);}})[_0x3da4('0x20')](function(_0x1bfdd1){if(_0x1bfdd1){return _0x1bfdd1?{'count':_0x5783f7,'rows':_0x1bfdd1}:null;}})['then'](respondWithResult(_0x223dc2,null))[_0x3da4('0x3c')](handleError(_0x223dc2,null));};exports[_0x3da4('0x4d')]=function(_0x5c6422,_0xa2ed65,_0x47fb9a){var _0x46761f={};var _0xc57673={};var _0x2d93b4;var _0xb2c7a;return db[_0x3da4('0x25')][_0x3da4('0x47')]({'where':{'id':_0x5c6422[_0x3da4('0x3d')]['id']}})[_0x3da4('0x20')](handleEntityNotFound(_0xa2ed65,null))['then'](function(_0x4139ff){if(_0x4139ff){_0x2d93b4=_0x4139ff;_0xc57673[_0x3da4('0x28')]=_['keys'](db[_0x3da4('0x4e')][_0x3da4('0x3e')]);_0xc57673['query']=_[_0x3da4('0x2b')](_0x5c6422['query']);_0xc57673[_0x3da4('0x2c')]=_[_0x3da4('0x2d')](_0xc57673['model'],_0xc57673['query']);_0x46761f[_0x3da4('0x2e')]=_[_0x3da4('0x2d')](_0xc57673['model'],qs[_0x3da4('0x2f')](_0x5c6422[_0x3da4('0x2a')]['fields']));_0x46761f[_0x3da4('0x2e')]=_0x46761f[_0x3da4('0x2e')]['length']?_0x46761f[_0x3da4('0x2e')]:_0xc57673[_0x3da4('0x28')];_0x46761f['order']=qs[_0x3da4('0x33')](_0x5c6422['query'][_0x3da4('0x33')]);_0x46761f['where']=qs[_0x3da4('0x2c')](_[_0x3da4('0x49')](_0x5c6422[_0x3da4('0x2a')],_0xc57673[_0x3da4('0x2c')]));if(_0x5c6422[_0x3da4('0x2a')][_0x3da4('0x35')]){_0x46761f[_0x3da4('0x34')]=_[_0x3da4('0x36')](_0x46761f[_0x3da4('0x34')],{'$or':_[_0x3da4('0x29')](_0x46761f[_0x3da4('0x2e')],function(_0xbd18cc){var _0x422c6e={};_0x422c6e[_0xbd18cc]={'$like':'%'+_0x5c6422[_0x3da4('0x2a')][_0x3da4('0x35')]+'%'};return _0x422c6e;})});}_0x46761f=_[_0x3da4('0x36')]({},_0x46761f,_0x5c6422[_0x3da4('0x39')]);return _0x2d93b4[_0x3da4('0x4d')](_0x46761f);}})[_0x3da4('0x20')](function(_0x270f2e){if(_0x270f2e){_0xb2c7a=_0x270f2e[_0x3da4('0x30')];if(!_0x5c6422[_0x3da4('0x2a')][_0x3da4('0x31')](_0x3da4('0x32'))){_0x46761f[_0x3da4('0x1a')]=qs[_0x3da4('0x1a')](_0x5c6422[_0x3da4('0x2a')][_0x3da4('0x1a')]);_0x46761f[_0x3da4('0x1c')]=qs[_0x3da4('0x1c')](_0x5c6422['query']['offset']);}return _0x2d93b4['getTags'](_0x46761f);}})[_0x3da4('0x20')](function(_0x585501){if(_0x585501){return _0x585501?{'count':_0xb2c7a,'rows':_0x585501}:null;}})[_0x3da4('0x20')](respondWithResult(_0xa2ed65,null))[_0x3da4('0x3c')](handleError(_0xa2ed65,null));};exports[_0x3da4('0x4f')]=function(_0x4648fa,_0xa6e684,_0x3a6288){if(_0x4648fa[_0x3da4('0x43')]['id']){delete _0x4648fa[_0x3da4('0x43')]['id'];}return db[_0x3da4('0x25')][_0x3da4('0x47')]({'where':{'id':_0x4648fa[_0x3da4('0x3d')]['id']}})[_0x3da4('0x20')](handleEntityNotFound(_0xa6e684,null))[_0x3da4('0x20')](function(_0x48f37f){if(_0x48f37f){return _0x48f37f[_0x3da4('0x4f')](_0x4648fa[_0x3da4('0x43')][_0x3da4('0x50')]||[]);}return null;})[_0x3da4('0x20')](respondWithResult(_0xa6e684,null))['catch'](handleError(_0xa6e684,null));};