9c9f8dcf6d32a2a879736442b1360d05212eac60
[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 _0x57be=['rows','catch','show','params','includeAll','include','create','body','find','destroy','getFields','FreshdeskField','pick','findOne','getSubjects','getDescriptions','Tag','getTags','setTags','ids','eml-format','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','../../config/license/hardware','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','set','Content-Range','apply','reject','save','update','then','error','stack','name','send','index','map','FreshdeskConfiguration','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','merge','type','VIRTUAL','filter','options','count'];(function(_0x25647f,_0xd9af7a){var _0x3ad60e=function(_0x3d5b10){while(--_0x3d5b10){_0x25647f['push'](_0x25647f['shift']());}};_0x3ad60e(++_0xd9af7a);}(_0x57be,0x67));var _0xe57b=function(_0x5d1dda,_0x28f324){_0x5d1dda=_0x5d1dda-0x0;var _0x54b6a5=_0x57be[_0x5d1dda];return _0x54b6a5;};'use strict';var emlformat=require(_0xe57b('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xe57b('0x1'));var rp=require(_0xe57b('0x2'));var moment=require('moment');var BPromise=require(_0xe57b('0x3'));var Mustache=require('mustache');var util=require(_0xe57b('0x4'));var path=require(_0xe57b('0x5'));var sox=require(_0xe57b('0x6'));var csv=require(_0xe57b('0x7'));var ejs=require(_0xe57b('0x8'));var fs=require('fs');var fs_extra=require(_0xe57b('0x9'));var _=require('lodash');var squel=require(_0xe57b('0xa'));var crypto=require(_0xe57b('0xb'));var jsforce=require(_0xe57b('0xc'));var deskjs=require(_0xe57b('0xd'));var toCsv=require(_0xe57b('0x7'));var querystring=require(_0xe57b('0xe'));var Papa=require(_0xe57b('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe57b('0x10'));var logger=require('../../config/logger')(_0xe57b('0x11'));var utils=require('../../config/utils');var config=require(_0xe57b('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0xe57b('0x13'))['db'];function respondWithStatusCode(_0x19e2e8,_0x67a319){_0x67a319=_0x67a319||0xcc;return function(_0x4cdda3){if(_0x4cdda3){return _0x19e2e8[_0xe57b('0x14')](_0x67a319);}return _0x19e2e8[_0xe57b('0x15')](_0x67a319)[_0xe57b('0x16')]();};}function respondWithResult(_0x5b28e4,_0x146512){_0x146512=_0x146512||0xc8;return function(_0x257257){if(_0x257257){return _0x5b28e4[_0xe57b('0x15')](_0x146512)[_0xe57b('0x17')](_0x257257);}};}function respondWithFilteredResult(_0x32a3ec,_0x162ab2){return function(_0x3a4398){if(_0x3a4398){var _0xff668=typeof _0x162ab2[_0xe57b('0x18')]===_0xe57b('0x19')&&typeof _0x162ab2[_0xe57b('0x1a')]==='undefined';var _0x1ae5f1=_0x3a4398['count'];var _0x3f9047=_0xff668?0x0:_0x162ab2['offset'];var _0x328f49=_0xff668?_0x3a4398['count']:_0x162ab2[_0xe57b('0x18')]+_0x162ab2['limit'];var _0x45c043;if(_0x328f49>=_0x1ae5f1){_0x328f49=_0x1ae5f1;_0x45c043=0xc8;}else{_0x45c043=0xce;}_0x32a3ec[_0xe57b('0x15')](_0x45c043);return _0x32a3ec[_0xe57b('0x1b')](_0xe57b('0x1c'),_0x3f9047+'-'+_0x328f49+'/'+_0x1ae5f1)['json'](_0x3a4398);}return null;};}function patchUpdates(_0x52f18e){return function(_0x57943f){try{jsonpatch[_0xe57b('0x1d')](_0x57943f,_0x52f18e,!![]);}catch(_0x20f49e){return BPromise[_0xe57b('0x1e')](_0x20f49e);}return _0x57943f[_0xe57b('0x1f')]();};}function saveUpdates(_0x1c3807,_0x48fe51){return function(_0x149f01){if(_0x149f01){return _0x149f01[_0xe57b('0x20')](_0x1c3807)[_0xe57b('0x21')](function(_0x56c481){return _0x56c481;});}return null;};}function removeEntity(_0x414227,_0x57491f){return function(_0x553dfd){if(_0x553dfd){return _0x553dfd['destroy']()[_0xe57b('0x21')](function(){_0x414227['status'](0xcc)[_0xe57b('0x16')]();});}};}function handleEntityNotFound(_0x5ea879,_0x45af9f){return function(_0x45369c){if(!_0x45369c){_0x5ea879[_0xe57b('0x14')](0x194);}return _0x45369c;};}function handleError(_0x547e4b,_0x2f5d5b){_0x2f5d5b=_0x2f5d5b||0x1f4;return function(_0x20ae93){logger[_0xe57b('0x22')](_0x20ae93[_0xe57b('0x23')]);if(_0x20ae93[_0xe57b('0x24')]){delete _0x20ae93[_0xe57b('0x24')];}_0x547e4b[_0xe57b('0x15')](_0x2f5d5b)[_0xe57b('0x25')](_0x20ae93);};}exports[_0xe57b('0x26')]=function(_0x30aaa3,_0x2f224d){var _0x5e9bd={},_0x5cf03d={},_0x4c1af7={'count':0x0,'rows':[]};var _0x29041b=_[_0xe57b('0x27')](db[_0xe57b('0x28')][_0xe57b('0x29')],function(_0x441b70){return{'name':_0x441b70[_0xe57b('0x2a')],'type':_0x441b70['type'][_0xe57b('0x2b')]};});_0x5cf03d[_0xe57b('0x2c')]=_['map'](_0x29041b,_0xe57b('0x24'));_0x5cf03d[_0xe57b('0x2d')]=_[_0xe57b('0x2e')](_0x30aaa3[_0xe57b('0x2d')]);_0x5cf03d[_0xe57b('0x2f')]=_[_0xe57b('0x30')](_0x5cf03d[_0xe57b('0x2c')],_0x5cf03d[_0xe57b('0x2d')]);_0x5e9bd[_0xe57b('0x31')]=_['intersection'](_0x5cf03d[_0xe57b('0x2c')],qs[_0xe57b('0x32')](_0x30aaa3[_0xe57b('0x2d')][_0xe57b('0x32')]));_0x5e9bd['attributes']=_0x5e9bd[_0xe57b('0x31')][_0xe57b('0x33')]?_0x5e9bd['attributes']:_0x5cf03d['model'];if(!_0x30aaa3[_0xe57b('0x2d')][_0xe57b('0x34')](_0xe57b('0x35'))){_0x5e9bd[_0xe57b('0x1a')]=qs[_0xe57b('0x1a')](_0x30aaa3['query'][_0xe57b('0x1a')]);_0x5e9bd[_0xe57b('0x18')]=qs['offset'](_0x30aaa3[_0xe57b('0x2d')]['offset']);}_0x5e9bd[_0xe57b('0x36')]=qs[_0xe57b('0x37')](_0x30aaa3[_0xe57b('0x2d')][_0xe57b('0x37')]);_0x5e9bd[_0xe57b('0x38')]=qs[_0xe57b('0x2f')](_['pick'](_0x30aaa3['query'],_0x5cf03d['filters']),_0x29041b);if(_0x30aaa3['query']['filter']){_0x5e9bd[_0xe57b('0x38')]=_[_0xe57b('0x39')](_0x5e9bd[_0xe57b('0x38')],{'$or':_['map'](_0x29041b,function(_0x59bc91){if(_0x59bc91[_0xe57b('0x3a')]!==_0xe57b('0x3b')){var _0x1479c6={};_0x1479c6[_0x59bc91[_0xe57b('0x24')]]={'$like':'%'+_0x30aaa3[_0xe57b('0x2d')][_0xe57b('0x3c')]+'%'};return _0x1479c6;}})});}_0x5e9bd=_['merge']({},_0x5e9bd,_0x30aaa3[_0xe57b('0x3d')]);var _0x127003={'where':_0x5e9bd[_0xe57b('0x38')]};return db['FreshdeskConfiguration'][_0xe57b('0x3e')](_0x127003)[_0xe57b('0x21')](function(_0x3aa958){_0x4c1af7[_0xe57b('0x3e')]=_0x3aa958;if(_0x30aaa3[_0xe57b('0x2d')]['includeAll']){_0x5e9bd['include']=[{'all':!![]}];}return db[_0xe57b('0x28')]['findAll'](_0x5e9bd);})[_0xe57b('0x21')](function(_0x107c80){_0x4c1af7[_0xe57b('0x3f')]=_0x107c80;return _0x4c1af7;})[_0xe57b('0x21')](respondWithFilteredResult(_0x2f224d,_0x5e9bd))[_0xe57b('0x40')](handleError(_0x2f224d,null));};exports[_0xe57b('0x41')]=function(_0x196cca,_0x580532){var _0x514da4={'raw':![],'where':{'id':_0x196cca[_0xe57b('0x42')]['id']}},_0x1df730={};_0x1df730[_0xe57b('0x2c')]=_[_0xe57b('0x2e')](db[_0xe57b('0x28')][_0xe57b('0x29')]);_0x1df730[_0xe57b('0x2d')]=_[_0xe57b('0x2e')](_0x196cca['query']);_0x1df730['filters']=_[_0xe57b('0x30')](_0x1df730[_0xe57b('0x2c')],_0x1df730[_0xe57b('0x2d')]);_0x514da4[_0xe57b('0x31')]=_[_0xe57b('0x30')](_0x1df730[_0xe57b('0x2c')],qs[_0xe57b('0x32')](_0x196cca[_0xe57b('0x2d')][_0xe57b('0x32')]));_0x514da4['attributes']=_0x514da4['attributes'][_0xe57b('0x33')]?_0x514da4[_0xe57b('0x31')]:_0x1df730[_0xe57b('0x2c')];if(_0x196cca[_0xe57b('0x2d')][_0xe57b('0x43')]){_0x514da4[_0xe57b('0x44')]=[{'all':!![]}];}_0x514da4=_[_0xe57b('0x39')]({},_0x514da4,_0x196cca['options']);return db[_0xe57b('0x28')]['find'](_0x514da4)['then'](handleEntityNotFound(_0x580532,null))[_0xe57b('0x21')](respondWithResult(_0x580532,null))[_0xe57b('0x40')](handleError(_0x580532,null));};exports[_0xe57b('0x45')]=function(_0x27306a,_0x42b90b){return db['FreshdeskConfiguration'][_0xe57b('0x45')](_0x27306a[_0xe57b('0x46')],{})['then'](respondWithResult(_0x42b90b,0xc9))[_0xe57b('0x40')](handleError(_0x42b90b,null));};exports[_0xe57b('0x20')]=function(_0x4eee09,_0x5a6f1e){if(_0x4eee09[_0xe57b('0x46')]['id']){delete _0x4eee09[_0xe57b('0x46')]['id'];}return db[_0xe57b('0x28')][_0xe57b('0x47')]({'where':{'id':_0x4eee09[_0xe57b('0x42')]['id']}})['then'](handleEntityNotFound(_0x5a6f1e,null))['then'](saveUpdates(_0x4eee09[_0xe57b('0x46')],null))[_0xe57b('0x21')](respondWithResult(_0x5a6f1e,null))[_0xe57b('0x40')](handleError(_0x5a6f1e,null));};exports[_0xe57b('0x48')]=function(_0x4182e8,_0x1baf28){return db[_0xe57b('0x28')][_0xe57b('0x47')]({'where':{'id':_0x4182e8['params']['id']}})['then'](handleEntityNotFound(_0x1baf28,null))[_0xe57b('0x21')](removeEntity(_0x1baf28,null))[_0xe57b('0x40')](handleError(_0x1baf28,null));};exports[_0xe57b('0x49')]=function(_0x5c0103,_0x54aad5,_0xa1f91){var _0x2cca7a={};var _0x381723={};var _0x27fbc9;var _0x21d226;return db[_0xe57b('0x28')]['findOne']({'where':{'id':_0x5c0103[_0xe57b('0x42')]['id']}})[_0xe57b('0x21')](handleEntityNotFound(_0x54aad5,null))['then'](function(_0xd1399e){if(_0xd1399e){_0x27fbc9=_0xd1399e;_0x381723['model']=_[_0xe57b('0x2e')](db[_0xe57b('0x4a')]['rawAttributes']);_0x381723[_0xe57b('0x2d')]=_[_0xe57b('0x2e')](_0x5c0103[_0xe57b('0x2d')]);_0x381723['filters']=_[_0xe57b('0x30')](_0x381723[_0xe57b('0x2c')],_0x381723[_0xe57b('0x2d')]);_0x2cca7a[_0xe57b('0x31')]=_[_0xe57b('0x30')](_0x381723[_0xe57b('0x2c')],qs[_0xe57b('0x32')](_0x5c0103[_0xe57b('0x2d')][_0xe57b('0x32')]));_0x2cca7a[_0xe57b('0x31')]=_0x2cca7a['attributes'][_0xe57b('0x33')]?_0x2cca7a[_0xe57b('0x31')]:_0x381723[_0xe57b('0x2c')];_0x2cca7a['order']=qs['sort'](_0x5c0103[_0xe57b('0x2d')][_0xe57b('0x37')]);_0x2cca7a[_0xe57b('0x38')]=qs['filters'](_[_0xe57b('0x4b')](_0x5c0103['query'],_0x381723[_0xe57b('0x2f')]));if(_0x5c0103[_0xe57b('0x2d')][_0xe57b('0x3c')]){_0x2cca7a['where']=_['merge'](_0x2cca7a[_0xe57b('0x38')],{'$or':_[_0xe57b('0x27')](_0x2cca7a[_0xe57b('0x31')],function(_0x154526){var _0x147fe2={};_0x147fe2[_0x154526]={'$like':'%'+_0x5c0103['query']['filter']+'%'};return _0x147fe2;})});}_0x2cca7a=_['merge']({},_0x2cca7a,_0x5c0103[_0xe57b('0x3d')]);return _0x27fbc9[_0xe57b('0x49')](_0x2cca7a);}})[_0xe57b('0x21')](function(_0x217c59){if(_0x217c59){_0x21d226=_0x217c59['length'];if(!_0x5c0103['query'][_0xe57b('0x34')](_0xe57b('0x35'))){_0x2cca7a['limit']=qs[_0xe57b('0x1a')](_0x5c0103[_0xe57b('0x2d')][_0xe57b('0x1a')]);_0x2cca7a[_0xe57b('0x18')]=qs[_0xe57b('0x18')](_0x5c0103[_0xe57b('0x2d')][_0xe57b('0x18')]);}return _0x27fbc9[_0xe57b('0x49')](_0x2cca7a);}})[_0xe57b('0x21')](function(_0x58fc48){if(_0x58fc48){return _0x58fc48?{'count':_0x21d226,'rows':_0x58fc48}:null;}})['then'](respondWithResult(_0x54aad5,null))[_0xe57b('0x40')](handleError(_0x54aad5,null));};exports['getSubjects']=function(_0xf21413,_0xed9f29,_0x3aee00){var _0xfdb881={};var _0x24e592={};var _0x32001f;var _0x301f72;return db[_0xe57b('0x28')][_0xe57b('0x4c')]({'where':{'id':_0xf21413[_0xe57b('0x42')]['id']}})[_0xe57b('0x21')](handleEntityNotFound(_0xed9f29,null))[_0xe57b('0x21')](function(_0x25d0a7){if(_0x25d0a7){_0x32001f=_0x25d0a7;_0x24e592['model']=_['keys'](db[_0xe57b('0x4a')][_0xe57b('0x29')]);_0x24e592['query']=_['keys'](_0xf21413[_0xe57b('0x2d')]);_0x24e592[_0xe57b('0x2f')]=_[_0xe57b('0x30')](_0x24e592[_0xe57b('0x2c')],_0x24e592['query']);_0xfdb881['attributes']=_['intersection'](_0x24e592['model'],qs[_0xe57b('0x32')](_0xf21413[_0xe57b('0x2d')]['fields']));_0xfdb881[_0xe57b('0x31')]=_0xfdb881[_0xe57b('0x31')]['length']?_0xfdb881[_0xe57b('0x31')]:_0x24e592['model'];_0xfdb881[_0xe57b('0x36')]=qs['sort'](_0xf21413[_0xe57b('0x2d')][_0xe57b('0x37')]);_0xfdb881[_0xe57b('0x38')]=qs[_0xe57b('0x2f')](_[_0xe57b('0x4b')](_0xf21413[_0xe57b('0x2d')],_0x24e592[_0xe57b('0x2f')]));if(_0xf21413['query']['filter']){_0xfdb881['where']=_[_0xe57b('0x39')](_0xfdb881[_0xe57b('0x38')],{'$or':_[_0xe57b('0x27')](_0xfdb881[_0xe57b('0x31')],function(_0x4dc4b3){var _0x797632={};_0x797632[_0x4dc4b3]={'$like':'%'+_0xf21413[_0xe57b('0x2d')][_0xe57b('0x3c')]+'%'};return _0x797632;})});}_0xfdb881=_[_0xe57b('0x39')]({},_0xfdb881,_0xf21413[_0xe57b('0x3d')]);return _0x32001f[_0xe57b('0x4d')](_0xfdb881);}})[_0xe57b('0x21')](function(_0x63006c){if(_0x63006c){_0x301f72=_0x63006c[_0xe57b('0x33')];if(!_0xf21413[_0xe57b('0x2d')][_0xe57b('0x34')](_0xe57b('0x35'))){_0xfdb881[_0xe57b('0x1a')]=qs[_0xe57b('0x1a')](_0xf21413[_0xe57b('0x2d')]['limit']);_0xfdb881[_0xe57b('0x18')]=qs[_0xe57b('0x18')](_0xf21413[_0xe57b('0x2d')][_0xe57b('0x18')]);}return _0x32001f[_0xe57b('0x4d')](_0xfdb881);}})[_0xe57b('0x21')](function(_0x195bae){if(_0x195bae){return _0x195bae?{'count':_0x301f72,'rows':_0x195bae}:null;}})[_0xe57b('0x21')](respondWithResult(_0xed9f29,null))[_0xe57b('0x40')](handleError(_0xed9f29,null));};exports['getDescriptions']=function(_0x3110b4,_0x36df79,_0x282ae5){var _0x487b28={};var _0x5623ce={};var _0x1a4d6d;var _0x149255;return db[_0xe57b('0x28')][_0xe57b('0x4c')]({'where':{'id':_0x3110b4['params']['id']}})[_0xe57b('0x21')](handleEntityNotFound(_0x36df79,null))['then'](function(_0x7fe0da){if(_0x7fe0da){_0x1a4d6d=_0x7fe0da;_0x5623ce[_0xe57b('0x2c')]=_[_0xe57b('0x2e')](db[_0xe57b('0x4a')][_0xe57b('0x29')]);_0x5623ce[_0xe57b('0x2d')]=_[_0xe57b('0x2e')](_0x3110b4[_0xe57b('0x2d')]);_0x5623ce[_0xe57b('0x2f')]=_['intersection'](_0x5623ce['model'],_0x5623ce[_0xe57b('0x2d')]);_0x487b28['attributes']=_[_0xe57b('0x30')](_0x5623ce[_0xe57b('0x2c')],qs[_0xe57b('0x32')](_0x3110b4[_0xe57b('0x2d')][_0xe57b('0x32')]));_0x487b28[_0xe57b('0x31')]=_0x487b28[_0xe57b('0x31')][_0xe57b('0x33')]?_0x487b28[_0xe57b('0x31')]:_0x5623ce[_0xe57b('0x2c')];_0x487b28[_0xe57b('0x36')]=qs[_0xe57b('0x37')](_0x3110b4['query'][_0xe57b('0x37')]);_0x487b28['where']=qs[_0xe57b('0x2f')](_[_0xe57b('0x4b')](_0x3110b4[_0xe57b('0x2d')],_0x5623ce[_0xe57b('0x2f')]));if(_0x3110b4[_0xe57b('0x2d')][_0xe57b('0x3c')]){_0x487b28['where']=_[_0xe57b('0x39')](_0x487b28[_0xe57b('0x38')],{'$or':_[_0xe57b('0x27')](_0x487b28['attributes'],function(_0x52283c){var _0x20228d={};_0x20228d[_0x52283c]={'$like':'%'+_0x3110b4['query'][_0xe57b('0x3c')]+'%'};return _0x20228d;})});}_0x487b28=_[_0xe57b('0x39')]({},_0x487b28,_0x3110b4[_0xe57b('0x3d')]);return _0x1a4d6d[_0xe57b('0x4e')](_0x487b28);}})[_0xe57b('0x21')](function(_0x2017ce){if(_0x2017ce){_0x149255=_0x2017ce[_0xe57b('0x33')];if(!_0x3110b4[_0xe57b('0x2d')]['hasOwnProperty'](_0xe57b('0x35'))){_0x487b28[_0xe57b('0x1a')]=qs['limit'](_0x3110b4[_0xe57b('0x2d')][_0xe57b('0x1a')]);_0x487b28[_0xe57b('0x18')]=qs[_0xe57b('0x18')](_0x3110b4[_0xe57b('0x2d')][_0xe57b('0x18')]);}return _0x1a4d6d[_0xe57b('0x4e')](_0x487b28);}})[_0xe57b('0x21')](function(_0x3ab652){if(_0x3ab652){return _0x3ab652?{'count':_0x149255,'rows':_0x3ab652}:null;}})[_0xe57b('0x21')](respondWithResult(_0x36df79,null))['catch'](handleError(_0x36df79,null));};exports['getTags']=function(_0x40a140,_0xa9370c,_0x13a553){var _0x51f5ab={};var _0x372d8e={};var _0x3509ff;var _0x545757;return db[_0xe57b('0x28')][_0xe57b('0x4c')]({'where':{'id':_0x40a140['params']['id']}})[_0xe57b('0x21')](handleEntityNotFound(_0xa9370c,null))[_0xe57b('0x21')](function(_0x4e578f){if(_0x4e578f){_0x3509ff=_0x4e578f;_0x372d8e[_0xe57b('0x2c')]=_['keys'](db[_0xe57b('0x4f')][_0xe57b('0x29')]);_0x372d8e[_0xe57b('0x2d')]=_[_0xe57b('0x2e')](_0x40a140[_0xe57b('0x2d')]);_0x372d8e[_0xe57b('0x2f')]=_['intersection'](_0x372d8e[_0xe57b('0x2c')],_0x372d8e[_0xe57b('0x2d')]);_0x51f5ab[_0xe57b('0x31')]=_[_0xe57b('0x30')](_0x372d8e['model'],qs[_0xe57b('0x32')](_0x40a140[_0xe57b('0x2d')][_0xe57b('0x32')]));_0x51f5ab['attributes']=_0x51f5ab['attributes'][_0xe57b('0x33')]?_0x51f5ab[_0xe57b('0x31')]:_0x372d8e[_0xe57b('0x2c')];_0x51f5ab[_0xe57b('0x36')]=qs[_0xe57b('0x37')](_0x40a140[_0xe57b('0x2d')][_0xe57b('0x37')]);_0x51f5ab['where']=qs[_0xe57b('0x2f')](_[_0xe57b('0x4b')](_0x40a140['query'],_0x372d8e['filters']));if(_0x40a140['query'][_0xe57b('0x3c')]){_0x51f5ab[_0xe57b('0x38')]=_[_0xe57b('0x39')](_0x51f5ab[_0xe57b('0x38')],{'$or':_[_0xe57b('0x27')](_0x51f5ab['attributes'],function(_0x14c249){var _0x50c5f3={};_0x50c5f3[_0x14c249]={'$like':'%'+_0x40a140['query'][_0xe57b('0x3c')]+'%'};return _0x50c5f3;})});}_0x51f5ab=_[_0xe57b('0x39')]({},_0x51f5ab,_0x40a140['options']);return _0x3509ff[_0xe57b('0x50')](_0x51f5ab);}})['then'](function(_0x2bc4d3){if(_0x2bc4d3){_0x545757=_0x2bc4d3[_0xe57b('0x33')];if(!_0x40a140[_0xe57b('0x2d')][_0xe57b('0x34')](_0xe57b('0x35'))){_0x51f5ab['limit']=qs[_0xe57b('0x1a')](_0x40a140[_0xe57b('0x2d')][_0xe57b('0x1a')]);_0x51f5ab[_0xe57b('0x18')]=qs[_0xe57b('0x18')](_0x40a140[_0xe57b('0x2d')][_0xe57b('0x18')]);}return _0x3509ff[_0xe57b('0x50')](_0x51f5ab);}})[_0xe57b('0x21')](function(_0x5d7772){if(_0x5d7772){return _0x5d7772?{'count':_0x545757,'rows':_0x5d7772}:null;}})[_0xe57b('0x21')](respondWithResult(_0xa9370c,null))[_0xe57b('0x40')](handleError(_0xa9370c,null));};exports[_0xe57b('0x51')]=function(_0x13e38e,_0x2a7762,_0x54946e){if(_0x13e38e['body']['id']){delete _0x13e38e['body']['id'];}return db[_0xe57b('0x28')][_0xe57b('0x4c')]({'where':{'id':_0x13e38e[_0xe57b('0x42')]['id']}})[_0xe57b('0x21')](handleEntityNotFound(_0x2a7762,null))[_0xe57b('0x21')](function(_0x29e735){if(_0x29e735){return _0x29e735[_0xe57b('0x51')](_0x13e38e[_0xe57b('0x46')][_0xe57b('0x52')]||[]);}return null;})[_0xe57b('0x21')](respondWithResult(_0x2a7762,null))[_0xe57b('0x40')](handleError(_0x2a7762,null));};