362b6cf5f69babff05ff74e708e1290333639691
[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 _0x80fb=['jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','send','index','map','FreshdeskConfiguration','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filter','VIRTUAL','name','merge','options','includeAll','include','catch','show','params','keys','rawAttributes','length','find','create','body','findOne','pick','getFields','getSubjects','FreshdeskField','getDescriptions','getTags','Tag','setTags','ids','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','path','ejs','fs-extra','lodash','squel','crypto'];(function(_0x170f62,_0x176f4e){var _0x121afc=function(_0x3de408){while(--_0x3de408){_0x170f62['push'](_0x170f62['shift']());}};_0x121afc(++_0x176f4e);}(_0x80fb,0xf6));var _0xb80f=function(_0x174ef5,_0x256e8e){_0x174ef5=_0x174ef5-0x0;var _0x1cc379=_0x80fb[_0x174ef5];return _0x1cc379;};'use strict';var emlformat=require(_0xb80f('0x0'));var rimraf=require(_0xb80f('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xb80f('0x2'));var rp=require(_0xb80f('0x3'));var moment=require(_0xb80f('0x4'));var BPromise=require(_0xb80f('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0xb80f('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xb80f('0x7'));var fs=require('fs');var fs_extra=require(_0xb80f('0x8'));var _=require(_0xb80f('0x9'));var squel=require(_0xb80f('0xa'));var crypto=require(_0xb80f('0xb'));var jsforce=require(_0xb80f('0xc'));var deskjs=require(_0xb80f('0xd'));var toCsv=require(_0xb80f('0xe'));var querystring=require(_0xb80f('0xf'));var Papa=require('papaparse');var Redis=require(_0xb80f('0x10'));var authService=require(_0xb80f('0x11'));var qs=require(_0xb80f('0x12'));var as=require(_0xb80f('0x13'));var hardwareService=require(_0xb80f('0x14'));var logger=require(_0xb80f('0x15'))(_0xb80f('0x16'));var utils=require(_0xb80f('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xb80f('0x18'))['db'];function respondWithStatusCode(_0x5ca851,_0x5c1429){_0x5c1429=_0x5c1429||0xcc;return function(_0x3332d4){if(_0x3332d4){return _0x5ca851[_0xb80f('0x19')](_0x5c1429);}return _0x5ca851[_0xb80f('0x1a')](_0x5c1429)['end']();};}function respondWithResult(_0x4b30dd,_0x38f551){_0x38f551=_0x38f551||0xc8;return function(_0x4f7015){if(_0x4f7015){return _0x4b30dd[_0xb80f('0x1a')](_0x38f551)['json'](_0x4f7015);}};}function respondWithFilteredResult(_0x4c1b3e,_0x4925ea){return function(_0x2a4850){if(_0x2a4850){var _0x2b5e48=typeof _0x4925ea['offset']===_0xb80f('0x1b')&&typeof _0x4925ea[_0xb80f('0x1c')]===_0xb80f('0x1b');var _0x1d350b=_0x2a4850[_0xb80f('0x1d')];var _0x3e7f9f=_0x2b5e48?0x0:_0x4925ea[_0xb80f('0x1e')];var _0x301b84=_0x2b5e48?_0x2a4850['count']:_0x4925ea['offset']+_0x4925ea[_0xb80f('0x1c')];var _0x3b017c;if(_0x301b84>=_0x1d350b){_0x301b84=_0x1d350b;_0x3b017c=0xc8;}else{_0x3b017c=0xce;}_0x4c1b3e[_0xb80f('0x1a')](_0x3b017c);return _0x4c1b3e[_0xb80f('0x1f')](_0xb80f('0x20'),_0x3e7f9f+'-'+_0x301b84+'/'+_0x1d350b)['json'](_0x2a4850);}return null;};}function patchUpdates(_0x1afb0b){return function(_0x389dc3){try{jsonpatch[_0xb80f('0x21')](_0x389dc3,_0x1afb0b,!![]);}catch(_0x268e02){return BPromise[_0xb80f('0x22')](_0x268e02);}return _0x389dc3[_0xb80f('0x23')]();};}function saveUpdates(_0x185b67,_0x3a6683){return function(_0x114a95){if(_0x114a95){return _0x114a95[_0xb80f('0x24')](_0x185b67)[_0xb80f('0x25')](function(_0x414017){return _0x414017;});}return null;};}function removeEntity(_0x1bf50b,_0x393198){return function(_0x3d5ee0){if(_0x3d5ee0){return _0x3d5ee0[_0xb80f('0x26')]()[_0xb80f('0x25')](function(){_0x1bf50b['status'](0xcc)[_0xb80f('0x27')]();});}};}function handleEntityNotFound(_0x2acf2e,_0x84db64){return function(_0x46c5af){if(!_0x46c5af){_0x2acf2e[_0xb80f('0x19')](0x194);}return _0x46c5af;};}function handleError(_0x172a30,_0x11e2ef){_0x11e2ef=_0x11e2ef||0x1f4;return function(_0xd516cb){logger[_0xb80f('0x28')](_0xd516cb[_0xb80f('0x29')]);if(_0xd516cb['name']){delete _0xd516cb['name'];}_0x172a30[_0xb80f('0x1a')](_0x11e2ef)[_0xb80f('0x2a')](_0xd516cb);};}exports[_0xb80f('0x2b')]=function(_0x1a2934,_0x32fb7a){var _0x34509a={},_0x2828c3={},_0x3291a4={'count':0x0,'rows':[]};var _0x1efb59=_[_0xb80f('0x2c')](db[_0xb80f('0x2d')]['rawAttributes'],function(_0x43fa2a){return{'name':_0x43fa2a[_0xb80f('0x2e')],'type':_0x43fa2a[_0xb80f('0x2f')][_0xb80f('0x30')]};});_0x2828c3[_0xb80f('0x31')]=_[_0xb80f('0x2c')](_0x1efb59,'name');_0x2828c3[_0xb80f('0x32')]=_['keys'](_0x1a2934[_0xb80f('0x32')]);_0x2828c3[_0xb80f('0x33')]=_[_0xb80f('0x34')](_0x2828c3[_0xb80f('0x31')],_0x2828c3['query']);_0x34509a[_0xb80f('0x35')]=_[_0xb80f('0x34')](_0x2828c3['model'],qs[_0xb80f('0x36')](_0x1a2934[_0xb80f('0x32')]['fields']));_0x34509a[_0xb80f('0x35')]=_0x34509a[_0xb80f('0x35')]['length']?_0x34509a[_0xb80f('0x35')]:_0x2828c3['model'];if(!_0x1a2934['query'][_0xb80f('0x37')](_0xb80f('0x38'))){_0x34509a[_0xb80f('0x1c')]=qs[_0xb80f('0x1c')](_0x1a2934[_0xb80f('0x32')][_0xb80f('0x1c')]);_0x34509a[_0xb80f('0x1e')]=qs[_0xb80f('0x1e')](_0x1a2934[_0xb80f('0x32')][_0xb80f('0x1e')]);}_0x34509a[_0xb80f('0x39')]=qs[_0xb80f('0x3a')](_0x1a2934['query'][_0xb80f('0x3a')]);_0x34509a[_0xb80f('0x3b')]=qs['filters'](_['pick'](_0x1a2934[_0xb80f('0x32')],_0x2828c3[_0xb80f('0x33')]),_0x1efb59);if(_0x1a2934[_0xb80f('0x32')][_0xb80f('0x3c')]){_0x34509a[_0xb80f('0x3b')]=_['merge'](_0x34509a['where'],{'$or':_[_0xb80f('0x2c')](_0x1efb59,function(_0x3cc693){if(_0x3cc693[_0xb80f('0x2f')]!==_0xb80f('0x3d')){var _0x283ae6={};_0x283ae6[_0x3cc693[_0xb80f('0x3e')]]={'$like':'%'+_0x1a2934[_0xb80f('0x32')][_0xb80f('0x3c')]+'%'};return _0x283ae6;}})});}_0x34509a=_[_0xb80f('0x3f')]({},_0x34509a,_0x1a2934[_0xb80f('0x40')]);var _0x18889e={'where':_0x34509a[_0xb80f('0x3b')]};return db[_0xb80f('0x2d')][_0xb80f('0x1d')](_0x18889e)[_0xb80f('0x25')](function(_0x43dc0d){_0x3291a4[_0xb80f('0x1d')]=_0x43dc0d;if(_0x1a2934[_0xb80f('0x32')][_0xb80f('0x41')]){_0x34509a[_0xb80f('0x42')]=[{'all':!![]}];}return db[_0xb80f('0x2d')]['findAll'](_0x34509a);})[_0xb80f('0x25')](function(_0x5d5ed6){_0x3291a4['rows']=_0x5d5ed6;return _0x3291a4;})[_0xb80f('0x25')](respondWithFilteredResult(_0x32fb7a,_0x34509a))[_0xb80f('0x43')](handleError(_0x32fb7a,null));};exports[_0xb80f('0x44')]=function(_0x43f8ec,_0x3637b5){var _0x27e613={'raw':![],'where':{'id':_0x43f8ec[_0xb80f('0x45')]['id']}},_0x3fa47d={};_0x3fa47d[_0xb80f('0x31')]=_[_0xb80f('0x46')](db['FreshdeskConfiguration'][_0xb80f('0x47')]);_0x3fa47d['query']=_[_0xb80f('0x46')](_0x43f8ec[_0xb80f('0x32')]);_0x3fa47d[_0xb80f('0x33')]=_[_0xb80f('0x34')](_0x3fa47d[_0xb80f('0x31')],_0x3fa47d[_0xb80f('0x32')]);_0x27e613[_0xb80f('0x35')]=_['intersection'](_0x3fa47d[_0xb80f('0x31')],qs[_0xb80f('0x36')](_0x43f8ec['query'][_0xb80f('0x36')]));_0x27e613[_0xb80f('0x35')]=_0x27e613[_0xb80f('0x35')][_0xb80f('0x48')]?_0x27e613['attributes']:_0x3fa47d[_0xb80f('0x31')];if(_0x43f8ec['query'][_0xb80f('0x41')]){_0x27e613['include']=[{'all':!![]}];}_0x27e613=_[_0xb80f('0x3f')]({},_0x27e613,_0x43f8ec[_0xb80f('0x40')]);return db[_0xb80f('0x2d')][_0xb80f('0x49')](_0x27e613)[_0xb80f('0x25')](handleEntityNotFound(_0x3637b5,null))[_0xb80f('0x25')](respondWithResult(_0x3637b5,null))['catch'](handleError(_0x3637b5,null));};exports[_0xb80f('0x4a')]=function(_0x9fbfc3,_0x724613){return db[_0xb80f('0x2d')]['create'](_0x9fbfc3[_0xb80f('0x4b')],{})[_0xb80f('0x25')](respondWithResult(_0x724613,0xc9))[_0xb80f('0x43')](handleError(_0x724613,null));};exports[_0xb80f('0x24')]=function(_0x468e8b,_0x277879){if(_0x468e8b[_0xb80f('0x4b')]['id']){delete _0x468e8b[_0xb80f('0x4b')]['id'];}return db[_0xb80f('0x2d')]['find']({'where':{'id':_0x468e8b[_0xb80f('0x45')]['id']}})[_0xb80f('0x25')](handleEntityNotFound(_0x277879,null))[_0xb80f('0x25')](saveUpdates(_0x468e8b[_0xb80f('0x4b')],null))[_0xb80f('0x25')](respondWithResult(_0x277879,null))[_0xb80f('0x43')](handleError(_0x277879,null));};exports[_0xb80f('0x26')]=function(_0x4c876a,_0x536506){return db[_0xb80f('0x2d')]['find']({'where':{'id':_0x4c876a['params']['id']}})[_0xb80f('0x25')](handleEntityNotFound(_0x536506,null))[_0xb80f('0x25')](removeEntity(_0x536506,null))[_0xb80f('0x43')](handleError(_0x536506,null));};exports['getFields']=function(_0x28bdf1,_0x1eb871,_0x191992){var _0x175499={};var _0x4b5013={};var _0x79bac5;var _0x6a15b7;return db['FreshdeskConfiguration'][_0xb80f('0x4c')]({'where':{'id':_0x28bdf1[_0xb80f('0x45')]['id']}})['then'](handleEntityNotFound(_0x1eb871,null))['then'](function(_0x26fd7c){if(_0x26fd7c){_0x79bac5=_0x26fd7c;_0x4b5013[_0xb80f('0x31')]=_[_0xb80f('0x46')](db['FreshdeskField'][_0xb80f('0x47')]);_0x4b5013[_0xb80f('0x32')]=_[_0xb80f('0x46')](_0x28bdf1[_0xb80f('0x32')]);_0x4b5013[_0xb80f('0x33')]=_['intersection'](_0x4b5013[_0xb80f('0x31')],_0x4b5013[_0xb80f('0x32')]);_0x175499[_0xb80f('0x35')]=_[_0xb80f('0x34')](_0x4b5013[_0xb80f('0x31')],qs[_0xb80f('0x36')](_0x28bdf1[_0xb80f('0x32')][_0xb80f('0x36')]));_0x175499[_0xb80f('0x35')]=_0x175499[_0xb80f('0x35')][_0xb80f('0x48')]?_0x175499[_0xb80f('0x35')]:_0x4b5013[_0xb80f('0x31')];_0x175499['order']=qs[_0xb80f('0x3a')](_0x28bdf1[_0xb80f('0x32')]['sort']);_0x175499[_0xb80f('0x3b')]=qs['filters'](_[_0xb80f('0x4d')](_0x28bdf1['query'],_0x4b5013[_0xb80f('0x33')]));if(_0x28bdf1[_0xb80f('0x32')]['filter']){_0x175499[_0xb80f('0x3b')]=_[_0xb80f('0x3f')](_0x175499['where'],{'$or':_['map'](_0x175499['attributes'],function(_0x1cd6d7){var _0x1d7694={};_0x1d7694[_0x1cd6d7]={'$like':'%'+_0x28bdf1[_0xb80f('0x32')][_0xb80f('0x3c')]+'%'};return _0x1d7694;})});}_0x175499=_['merge']({},_0x175499,_0x28bdf1[_0xb80f('0x40')]);return _0x79bac5[_0xb80f('0x4e')](_0x175499);}})[_0xb80f('0x25')](function(_0x1733e7){if(_0x1733e7){_0x6a15b7=_0x1733e7[_0xb80f('0x48')];if(!_0x28bdf1['query'][_0xb80f('0x37')](_0xb80f('0x38'))){_0x175499['limit']=qs['limit'](_0x28bdf1[_0xb80f('0x32')]['limit']);_0x175499[_0xb80f('0x1e')]=qs['offset'](_0x28bdf1[_0xb80f('0x32')]['offset']);}return _0x79bac5[_0xb80f('0x4e')](_0x175499);}})[_0xb80f('0x25')](function(_0xe377f9){if(_0xe377f9){return _0xe377f9?{'count':_0x6a15b7,'rows':_0xe377f9}:null;}})[_0xb80f('0x25')](respondWithResult(_0x1eb871,null))[_0xb80f('0x43')](handleError(_0x1eb871,null));};exports[_0xb80f('0x4f')]=function(_0x498ce8,_0x138d8f,_0x53f7b8){var _0x501732={};var _0x3be555={};var _0x54aa3d;var _0x21c18;return db['FreshdeskConfiguration'][_0xb80f('0x4c')]({'where':{'id':_0x498ce8['params']['id']}})[_0xb80f('0x25')](handleEntityNotFound(_0x138d8f,null))[_0xb80f('0x25')](function(_0x31bc64){if(_0x31bc64){_0x54aa3d=_0x31bc64;_0x3be555[_0xb80f('0x31')]=_[_0xb80f('0x46')](db[_0xb80f('0x50')][_0xb80f('0x47')]);_0x3be555[_0xb80f('0x32')]=_['keys'](_0x498ce8[_0xb80f('0x32')]);_0x3be555[_0xb80f('0x33')]=_['intersection'](_0x3be555[_0xb80f('0x31')],_0x3be555[_0xb80f('0x32')]);_0x501732['attributes']=_[_0xb80f('0x34')](_0x3be555[_0xb80f('0x31')],qs[_0xb80f('0x36')](_0x498ce8[_0xb80f('0x32')]['fields']));_0x501732[_0xb80f('0x35')]=_0x501732['attributes'][_0xb80f('0x48')]?_0x501732[_0xb80f('0x35')]:_0x3be555['model'];_0x501732['order']=qs[_0xb80f('0x3a')](_0x498ce8[_0xb80f('0x32')][_0xb80f('0x3a')]);_0x501732[_0xb80f('0x3b')]=qs[_0xb80f('0x33')](_['pick'](_0x498ce8[_0xb80f('0x32')],_0x3be555[_0xb80f('0x33')]));if(_0x498ce8[_0xb80f('0x32')]['filter']){_0x501732[_0xb80f('0x3b')]=_[_0xb80f('0x3f')](_0x501732['where'],{'$or':_[_0xb80f('0x2c')](_0x501732[_0xb80f('0x35')],function(_0xabf14b){var _0x222d29={};_0x222d29[_0xabf14b]={'$like':'%'+_0x498ce8[_0xb80f('0x32')][_0xb80f('0x3c')]+'%'};return _0x222d29;})});}_0x501732=_[_0xb80f('0x3f')]({},_0x501732,_0x498ce8[_0xb80f('0x40')]);return _0x54aa3d[_0xb80f('0x4f')](_0x501732);}})[_0xb80f('0x25')](function(_0x4e031b){if(_0x4e031b){_0x21c18=_0x4e031b['length'];if(!_0x498ce8[_0xb80f('0x32')][_0xb80f('0x37')](_0xb80f('0x38'))){_0x501732[_0xb80f('0x1c')]=qs[_0xb80f('0x1c')](_0x498ce8['query'][_0xb80f('0x1c')]);_0x501732[_0xb80f('0x1e')]=qs['offset'](_0x498ce8[_0xb80f('0x32')][_0xb80f('0x1e')]);}return _0x54aa3d[_0xb80f('0x4f')](_0x501732);}})['then'](function(_0xc4bb1e){if(_0xc4bb1e){return _0xc4bb1e?{'count':_0x21c18,'rows':_0xc4bb1e}:null;}})[_0xb80f('0x25')](respondWithResult(_0x138d8f,null))[_0xb80f('0x43')](handleError(_0x138d8f,null));};exports[_0xb80f('0x51')]=function(_0x20f8d2,_0x365a4c,_0x23ede5){var _0x4e37eb={};var _0xed4ea6={};var _0x13b73f;var _0x8a4ac1;return db[_0xb80f('0x2d')][_0xb80f('0x4c')]({'where':{'id':_0x20f8d2[_0xb80f('0x45')]['id']}})['then'](handleEntityNotFound(_0x365a4c,null))[_0xb80f('0x25')](function(_0x61ffdb){if(_0x61ffdb){_0x13b73f=_0x61ffdb;_0xed4ea6[_0xb80f('0x31')]=_[_0xb80f('0x46')](db[_0xb80f('0x50')][_0xb80f('0x47')]);_0xed4ea6['query']=_['keys'](_0x20f8d2[_0xb80f('0x32')]);_0xed4ea6['filters']=_['intersection'](_0xed4ea6[_0xb80f('0x31')],_0xed4ea6[_0xb80f('0x32')]);_0x4e37eb[_0xb80f('0x35')]=_[_0xb80f('0x34')](_0xed4ea6[_0xb80f('0x31')],qs[_0xb80f('0x36')](_0x20f8d2['query']['fields']));_0x4e37eb[_0xb80f('0x35')]=_0x4e37eb['attributes'][_0xb80f('0x48')]?_0x4e37eb[_0xb80f('0x35')]:_0xed4ea6[_0xb80f('0x31')];_0x4e37eb[_0xb80f('0x39')]=qs[_0xb80f('0x3a')](_0x20f8d2[_0xb80f('0x32')][_0xb80f('0x3a')]);_0x4e37eb[_0xb80f('0x3b')]=qs[_0xb80f('0x33')](_['pick'](_0x20f8d2['query'],_0xed4ea6[_0xb80f('0x33')]));if(_0x20f8d2[_0xb80f('0x32')][_0xb80f('0x3c')]){_0x4e37eb[_0xb80f('0x3b')]=_[_0xb80f('0x3f')](_0x4e37eb[_0xb80f('0x3b')],{'$or':_[_0xb80f('0x2c')](_0x4e37eb['attributes'],function(_0x2c4028){var _0x2a5d36={};_0x2a5d36[_0x2c4028]={'$like':'%'+_0x20f8d2['query'][_0xb80f('0x3c')]+'%'};return _0x2a5d36;})});}_0x4e37eb=_[_0xb80f('0x3f')]({},_0x4e37eb,_0x20f8d2[_0xb80f('0x40')]);return _0x13b73f[_0xb80f('0x51')](_0x4e37eb);}})[_0xb80f('0x25')](function(_0x3ee967){if(_0x3ee967){_0x8a4ac1=_0x3ee967['length'];if(!_0x20f8d2['query'][_0xb80f('0x37')]('nolimit')){_0x4e37eb[_0xb80f('0x1c')]=qs[_0xb80f('0x1c')](_0x20f8d2[_0xb80f('0x32')]['limit']);_0x4e37eb['offset']=qs[_0xb80f('0x1e')](_0x20f8d2[_0xb80f('0x32')][_0xb80f('0x1e')]);}return _0x13b73f['getDescriptions'](_0x4e37eb);}})[_0xb80f('0x25')](function(_0x22c5d8){if(_0x22c5d8){return _0x22c5d8?{'count':_0x8a4ac1,'rows':_0x22c5d8}:null;}})[_0xb80f('0x25')](respondWithResult(_0x365a4c,null))[_0xb80f('0x43')](handleError(_0x365a4c,null));};exports[_0xb80f('0x52')]=function(_0x454f48,_0x1a94e6,_0x7e0d2e){var _0x254979={};var _0x4a0fd0={};var _0x483c97;var _0x135082;return db[_0xb80f('0x2d')]['findOne']({'where':{'id':_0x454f48[_0xb80f('0x45')]['id']}})['then'](handleEntityNotFound(_0x1a94e6,null))[_0xb80f('0x25')](function(_0x3ad9f2){if(_0x3ad9f2){_0x483c97=_0x3ad9f2;_0x4a0fd0[_0xb80f('0x31')]=_[_0xb80f('0x46')](db[_0xb80f('0x53')][_0xb80f('0x47')]);_0x4a0fd0[_0xb80f('0x32')]=_[_0xb80f('0x46')](_0x454f48[_0xb80f('0x32')]);_0x4a0fd0[_0xb80f('0x33')]=_[_0xb80f('0x34')](_0x4a0fd0[_0xb80f('0x31')],_0x4a0fd0['query']);_0x254979[_0xb80f('0x35')]=_['intersection'](_0x4a0fd0[_0xb80f('0x31')],qs['fields'](_0x454f48[_0xb80f('0x32')][_0xb80f('0x36')]));_0x254979[_0xb80f('0x35')]=_0x254979[_0xb80f('0x35')]['length']?_0x254979[_0xb80f('0x35')]:_0x4a0fd0['model'];_0x254979['order']=qs[_0xb80f('0x3a')](_0x454f48[_0xb80f('0x32')][_0xb80f('0x3a')]);_0x254979[_0xb80f('0x3b')]=qs[_0xb80f('0x33')](_[_0xb80f('0x4d')](_0x454f48[_0xb80f('0x32')],_0x4a0fd0[_0xb80f('0x33')]));if(_0x454f48[_0xb80f('0x32')][_0xb80f('0x3c')]){_0x254979['where']=_[_0xb80f('0x3f')](_0x254979[_0xb80f('0x3b')],{'$or':_['map'](_0x254979['attributes'],function(_0x253f71){var _0x227b98={};_0x227b98[_0x253f71]={'$like':'%'+_0x454f48['query']['filter']+'%'};return _0x227b98;})});}_0x254979=_[_0xb80f('0x3f')]({},_0x254979,_0x454f48[_0xb80f('0x40')]);return _0x483c97[_0xb80f('0x52')](_0x254979);}})['then'](function(_0x58b4e){if(_0x58b4e){_0x135082=_0x58b4e[_0xb80f('0x48')];if(!_0x454f48[_0xb80f('0x32')][_0xb80f('0x37')]('nolimit')){_0x254979[_0xb80f('0x1c')]=qs[_0xb80f('0x1c')](_0x454f48[_0xb80f('0x32')][_0xb80f('0x1c')]);_0x254979['offset']=qs['offset'](_0x454f48['query'][_0xb80f('0x1e')]);}return _0x483c97[_0xb80f('0x52')](_0x254979);}})[_0xb80f('0x25')](function(_0x44f82d){if(_0x44f82d){return _0x44f82d?{'count':_0x135082,'rows':_0x44f82d}:null;}})[_0xb80f('0x25')](respondWithResult(_0x1a94e6,null))['catch'](handleError(_0x1a94e6,null));};exports[_0xb80f('0x54')]=function(_0x15bfb5,_0x475084,_0x41e9b8){if(_0x15bfb5['body']['id']){delete _0x15bfb5['body']['id'];}return db[_0xb80f('0x2d')][_0xb80f('0x4c')]({'where':{'id':_0x15bfb5[_0xb80f('0x45')]['id']}})[_0xb80f('0x25')](handleEntityNotFound(_0x475084,null))[_0xb80f('0x25')](function(_0x3c618b){if(_0x3c618b){return _0x3c618b[_0xb80f('0x54')](_0x15bfb5[_0xb80f('0x4b')][_0xb80f('0x55')]||[]);}return null;})[_0xb80f('0x25')](respondWithResult(_0x475084,null))[_0xb80f('0x43')](handleError(_0x475084,null));};