b37bf86e924f02d3c2f4f6a170d62413c3938b65
[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 _0x8ce1=['getSubjects','findOne','FreshdeskField','getDescriptions','getTags','Tag','setTags','ids','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/license/util','../../mysqldb','client','http','request','then','info','request\x20sent','debug','FreshdeskConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','code','FreshdeskConfiguration,\x20%s,\x20%s','message','result','catch','sendStatus','status','end','json','offset','undefined','limit','set','Content-Range','apply','reject','destroy','name','index','FreshdeskConfiguration','rawAttributes','fieldName','key','model','map','query','keys','intersection','attributes','fields','length','nolimit','order','sort','filters','pick','filter','where','type','VIRTUAL','merge','options','count','includeAll','findAll','rows','show','include','find','create','body','update','getFields','params','hasOwnProperty'];(function(_0x27838a,_0x5e199f){var _0x2bc1be=function(_0x1fa290){while(--_0x1fa290){_0x27838a['push'](_0x27838a['shift']());}};_0x2bc1be(++_0x5e199f);}(_0x8ce1,0x190));var _0x18ce=function(_0x560a46,_0x109aaf){_0x560a46=_0x560a46-0x0;var _0x54353c=_0x8ce1[_0x560a46];return _0x54353c;};'use strict';var emlformat=require(_0x18ce('0x0'));var rimraf=require(_0x18ce('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x18ce('0x2'));var rp=require(_0x18ce('0x3'));var moment=require(_0x18ce('0x4'));var BPromise=require(_0x18ce('0x5'));var Mustache=require(_0x18ce('0x6'));var util=require(_0x18ce('0x7'));var path=require(_0x18ce('0x8'));var sox=require(_0x18ce('0x9'));var csv=require(_0x18ce('0xa'));var ejs=require(_0x18ce('0xb'));var fs=require('fs');var fs_extra=require(_0x18ce('0xc'));var _=require(_0x18ce('0xd'));var squel=require(_0x18ce('0xe'));var crypto=require(_0x18ce('0xf'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x18ce('0xa'));var querystring=require('querystring');var Papa=require(_0x18ce('0x10'));var Redis=require(_0x18ce('0x11'));var authService=require(_0x18ce('0x12'));var qs=require(_0x18ce('0x13'));var as=require(_0x18ce('0x14'));var hardwareService=require(_0x18ce('0x15'));var logger=require('../../config/logger')(_0x18ce('0x16'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x18ce('0x17'));var db=require(_0x18ce('0x18'))['db'];var jayson=require('jayson/promise');var client=jayson[_0x18ce('0x19')][_0x18ce('0x1a')]({'port':0x232a});function respondWithRpcPromise(_0x6b86d9,_0x4d078f,_0x14364d,_0xc9501b){return new BPromise(function(_0x4ff6c7,_0x46ec7c){var _0x61d1f5=_0xc9501b||client;return _0x61d1f5[_0x18ce('0x1b')](_0x6b86d9,_0x14364d)[_0x18ce('0x1c')](function(_0x3ab4a6){logger[_0x18ce('0x1d')]('FreshdeskConfiguration,\x20%s,\x20%s',_0x4d078f,_0x18ce('0x1e'));logger[_0x18ce('0x1f')](_0x18ce('0x20'),_0x4d078f,_0x18ce('0x1e'),JSON[_0x18ce('0x21')](_0x3ab4a6));if(_0x3ab4a6[_0x18ce('0x22')]){if(_0x3ab4a6['error'][_0x18ce('0x23')]===0x1f4){logger[_0x18ce('0x22')](_0x18ce('0x24'),_0x4d078f,_0x3ab4a6[_0x18ce('0x22')]['message']);return _0x46ec7c(_0x3ab4a6[_0x18ce('0x22')][_0x18ce('0x25')]);}logger[_0x18ce('0x22')](_0x18ce('0x24'),_0x4d078f,_0x3ab4a6[_0x18ce('0x22')][_0x18ce('0x25')]);return _0x4ff6c7(_0x3ab4a6[_0x18ce('0x22')][_0x18ce('0x25')]);}else{logger[_0x18ce('0x1d')](_0x18ce('0x24'),_0x4d078f,_0x18ce('0x1e'));_0x4ff6c7(_0x3ab4a6[_0x18ce('0x26')]['message']);}})[_0x18ce('0x27')](function(_0x7f18f8){logger['error']('FreshdeskConfiguration,\x20%s,\x20%s',_0x4d078f,_0x7f18f8);_0x46ec7c(_0x7f18f8);});});}function respondWithStatusCode(_0x5a142f,_0x1581b8){_0x1581b8=_0x1581b8||0xcc;return function(_0xfc5980){if(_0xfc5980){return _0x5a142f[_0x18ce('0x28')](_0x1581b8);}return _0x5a142f[_0x18ce('0x29')](_0x1581b8)[_0x18ce('0x2a')]();};}function respondWithResult(_0x244d52,_0x300e51){_0x300e51=_0x300e51||0xc8;return function(_0x2eb7f4){if(_0x2eb7f4){return _0x244d52['status'](_0x300e51)[_0x18ce('0x2b')](_0x2eb7f4);}};}function respondWithFilteredResult(_0x15a1cd,_0x46e9d8){return function(_0x21bad6){if(_0x21bad6){var _0x5be256=typeof _0x46e9d8[_0x18ce('0x2c')]===_0x18ce('0x2d')&&typeof _0x46e9d8['limit']===_0x18ce('0x2d');var _0x370d6d=_0x21bad6['count'];var _0x4b2d5b=_0x5be256?0x0:_0x46e9d8[_0x18ce('0x2c')];var _0x99fc78=_0x5be256?_0x21bad6['count']:_0x46e9d8[_0x18ce('0x2c')]+_0x46e9d8[_0x18ce('0x2e')];var _0x9f8029;if(_0x99fc78>=_0x370d6d){_0x99fc78=_0x370d6d;_0x9f8029=0xc8;}else{_0x9f8029=0xce;}_0x15a1cd[_0x18ce('0x29')](_0x9f8029);return _0x15a1cd[_0x18ce('0x2f')](_0x18ce('0x30'),_0x4b2d5b+'-'+_0x99fc78+'/'+_0x370d6d)[_0x18ce('0x2b')](_0x21bad6);}return null;};}function patchUpdates(_0x5ce5c8){return function(_0x2c690b){try{jsonpatch[_0x18ce('0x31')](_0x2c690b,_0x5ce5c8,!![]);}catch(_0x21eb28){return BPromise[_0x18ce('0x32')](_0x21eb28);}return _0x2c690b['save']();};}function saveUpdates(_0x4e69f0,_0x4b7c1e){return function(_0xe82b23){if(_0xe82b23){return _0xe82b23['update'](_0x4e69f0)[_0x18ce('0x1c')](function(_0x5e6130){return _0x5e6130;});}return null;};}function removeEntity(_0x11954a,_0xd0c11f){return function(_0x3746ea){if(_0x3746ea){return _0x3746ea[_0x18ce('0x33')]()[_0x18ce('0x1c')](function(){_0x11954a['status'](0xcc)[_0x18ce('0x2a')]();});}};}function handleEntityNotFound(_0x618fc3,_0x2d016d){return function(_0x2ad4c2){if(!_0x2ad4c2){_0x618fc3[_0x18ce('0x28')](0x194);}return _0x2ad4c2;};}function handleError(_0x2398b5,_0x4cfab0){_0x4cfab0=_0x4cfab0||0x1f4;return function(_0x146942){logger[_0x18ce('0x22')](_0x146942['stack']);if(_0x146942[_0x18ce('0x34')]){delete _0x146942['name'];}_0x2398b5['status'](_0x4cfab0)['send'](_0x146942);};}exports[_0x18ce('0x35')]=function(_0x3cc4ac,_0x459efe){var _0xc725ed={},_0x4b85f5={},_0xce971d={'count':0x0,'rows':[]};var _0x25c19e=_['map'](db[_0x18ce('0x36')][_0x18ce('0x37')],function(_0x11e0e8){return{'name':_0x11e0e8[_0x18ce('0x38')],'type':_0x11e0e8['type'][_0x18ce('0x39')]};});_0x4b85f5[_0x18ce('0x3a')]=_[_0x18ce('0x3b')](_0x25c19e,'name');_0x4b85f5[_0x18ce('0x3c')]=_[_0x18ce('0x3d')](_0x3cc4ac[_0x18ce('0x3c')]);_0x4b85f5['filters']=_[_0x18ce('0x3e')](_0x4b85f5[_0x18ce('0x3a')],_0x4b85f5[_0x18ce('0x3c')]);_0xc725ed[_0x18ce('0x3f')]=_[_0x18ce('0x3e')](_0x4b85f5[_0x18ce('0x3a')],qs[_0x18ce('0x40')](_0x3cc4ac[_0x18ce('0x3c')][_0x18ce('0x40')]));_0xc725ed[_0x18ce('0x3f')]=_0xc725ed[_0x18ce('0x3f')][_0x18ce('0x41')]?_0xc725ed[_0x18ce('0x3f')]:_0x4b85f5[_0x18ce('0x3a')];if(!_0x3cc4ac[_0x18ce('0x3c')]['hasOwnProperty'](_0x18ce('0x42'))){_0xc725ed['limit']=qs[_0x18ce('0x2e')](_0x3cc4ac[_0x18ce('0x3c')][_0x18ce('0x2e')]);_0xc725ed[_0x18ce('0x2c')]=qs[_0x18ce('0x2c')](_0x3cc4ac[_0x18ce('0x3c')][_0x18ce('0x2c')]);}_0xc725ed[_0x18ce('0x43')]=qs[_0x18ce('0x44')](_0x3cc4ac[_0x18ce('0x3c')][_0x18ce('0x44')]);_0xc725ed['where']=qs[_0x18ce('0x45')](_[_0x18ce('0x46')](_0x3cc4ac[_0x18ce('0x3c')],_0x4b85f5['filters']),_0x25c19e);if(_0x3cc4ac[_0x18ce('0x3c')][_0x18ce('0x47')]){_0xc725ed[_0x18ce('0x48')]=_['merge'](_0xc725ed[_0x18ce('0x48')],{'$or':_[_0x18ce('0x3b')](_0x25c19e,function(_0x28a86f){if(_0x28a86f[_0x18ce('0x49')]!==_0x18ce('0x4a')){var _0x54b330={};_0x54b330[_0x28a86f[_0x18ce('0x34')]]={'$like':'%'+_0x3cc4ac[_0x18ce('0x3c')]['filter']+'%'};return _0x54b330;}})});}_0xc725ed=_[_0x18ce('0x4b')]({},_0xc725ed,_0x3cc4ac[_0x18ce('0x4c')]);var _0x2728bd={'where':_0xc725ed['where']};return db[_0x18ce('0x36')]['count'](_0x2728bd)['then'](function(_0x5c91cf){_0xce971d[_0x18ce('0x4d')]=_0x5c91cf;if(_0x3cc4ac['query'][_0x18ce('0x4e')]){_0xc725ed['include']=[{'all':!![]}];}return db['FreshdeskConfiguration'][_0x18ce('0x4f')](_0xc725ed);})[_0x18ce('0x1c')](function(_0xf77768){_0xce971d[_0x18ce('0x50')]=_0xf77768;return _0xce971d;})[_0x18ce('0x1c')](respondWithFilteredResult(_0x459efe,_0xc725ed))[_0x18ce('0x27')](handleError(_0x459efe,null));};exports[_0x18ce('0x51')]=function(_0x4886af,_0x47d572){var _0x417ced={'raw':![],'where':{'id':_0x4886af['params']['id']}},_0x589a0e={};_0x589a0e[_0x18ce('0x3a')]=_['keys'](db[_0x18ce('0x36')][_0x18ce('0x37')]);_0x589a0e['query']=_[_0x18ce('0x3d')](_0x4886af[_0x18ce('0x3c')]);_0x589a0e[_0x18ce('0x45')]=_[_0x18ce('0x3e')](_0x589a0e[_0x18ce('0x3a')],_0x589a0e[_0x18ce('0x3c')]);_0x417ced['attributes']=_[_0x18ce('0x3e')](_0x589a0e[_0x18ce('0x3a')],qs['fields'](_0x4886af[_0x18ce('0x3c')][_0x18ce('0x40')]));_0x417ced[_0x18ce('0x3f')]=_0x417ced['attributes'][_0x18ce('0x41')]?_0x417ced['attributes']:_0x589a0e[_0x18ce('0x3a')];if(_0x4886af[_0x18ce('0x3c')]['includeAll']){_0x417ced[_0x18ce('0x52')]=[{'all':!![]}];}_0x417ced=_['merge']({},_0x417ced,_0x4886af[_0x18ce('0x4c')]);return db[_0x18ce('0x36')][_0x18ce('0x53')](_0x417ced)[_0x18ce('0x1c')](handleEntityNotFound(_0x47d572,null))[_0x18ce('0x1c')](respondWithResult(_0x47d572,null))[_0x18ce('0x27')](handleError(_0x47d572,null));};exports[_0x18ce('0x54')]=function(_0xb0aae1,_0x58cf64){return db[_0x18ce('0x36')][_0x18ce('0x54')](_0xb0aae1[_0x18ce('0x55')],{})[_0x18ce('0x1c')](respondWithResult(_0x58cf64,0xc9))['catch'](handleError(_0x58cf64,null));};exports[_0x18ce('0x56')]=function(_0x297814,_0x2bd96e){if(_0x297814[_0x18ce('0x55')]['id']){delete _0x297814[_0x18ce('0x55')]['id'];}return db[_0x18ce('0x36')]['find']({'where':{'id':_0x297814['params']['id']}})[_0x18ce('0x1c')](handleEntityNotFound(_0x2bd96e,null))[_0x18ce('0x1c')](saveUpdates(_0x297814['body'],null))[_0x18ce('0x1c')](respondWithResult(_0x2bd96e,null))[_0x18ce('0x27')](handleError(_0x2bd96e,null));};exports[_0x18ce('0x33')]=function(_0x2e8616,_0x1824bb){return db[_0x18ce('0x36')][_0x18ce('0x53')]({'where':{'id':_0x2e8616['params']['id']}})[_0x18ce('0x1c')](handleEntityNotFound(_0x1824bb,null))[_0x18ce('0x1c')](removeEntity(_0x1824bb,null))[_0x18ce('0x27')](handleError(_0x1824bb,null));};exports[_0x18ce('0x57')]=function(_0x10e9d2,_0x1c055d,_0x373ea0){var _0x2b789b={};var _0x2a3c63={};var _0x3b5b90;var _0x508ed8;return db[_0x18ce('0x36')]['findOne']({'where':{'id':_0x10e9d2[_0x18ce('0x58')]['id']}})[_0x18ce('0x1c')](handleEntityNotFound(_0x1c055d,null))['then'](function(_0x5a4837){if(_0x5a4837){_0x3b5b90=_0x5a4837;_0x2a3c63['model']=_[_0x18ce('0x3d')](db['FreshdeskField'][_0x18ce('0x37')]);_0x2a3c63[_0x18ce('0x3c')]=_[_0x18ce('0x3d')](_0x10e9d2['query']);_0x2a3c63[_0x18ce('0x45')]=_[_0x18ce('0x3e')](_0x2a3c63[_0x18ce('0x3a')],_0x2a3c63[_0x18ce('0x3c')]);_0x2b789b['attributes']=_[_0x18ce('0x3e')](_0x2a3c63[_0x18ce('0x3a')],qs[_0x18ce('0x40')](_0x10e9d2[_0x18ce('0x3c')][_0x18ce('0x40')]));_0x2b789b[_0x18ce('0x3f')]=_0x2b789b[_0x18ce('0x3f')][_0x18ce('0x41')]?_0x2b789b[_0x18ce('0x3f')]:_0x2a3c63[_0x18ce('0x3a')];_0x2b789b['order']=qs[_0x18ce('0x44')](_0x10e9d2[_0x18ce('0x3c')]['sort']);_0x2b789b[_0x18ce('0x48')]=qs[_0x18ce('0x45')](_[_0x18ce('0x46')](_0x10e9d2['query'],_0x2a3c63[_0x18ce('0x45')]));if(_0x10e9d2[_0x18ce('0x3c')][_0x18ce('0x47')]){_0x2b789b['where']=_[_0x18ce('0x4b')](_0x2b789b[_0x18ce('0x48')],{'$or':_[_0x18ce('0x3b')](_0x2b789b[_0x18ce('0x3f')],function(_0x2a7fec){var _0xca9ef9={};_0xca9ef9[_0x2a7fec]={'$like':'%'+_0x10e9d2[_0x18ce('0x3c')][_0x18ce('0x47')]+'%'};return _0xca9ef9;})});}_0x2b789b=_[_0x18ce('0x4b')]({},_0x2b789b,_0x10e9d2['options']);return _0x3b5b90[_0x18ce('0x57')](_0x2b789b);}})['then'](function(_0x4ddeb2){if(_0x4ddeb2){_0x508ed8=_0x4ddeb2[_0x18ce('0x41')];if(!_0x10e9d2['query'][_0x18ce('0x59')](_0x18ce('0x42'))){_0x2b789b[_0x18ce('0x2e')]=qs[_0x18ce('0x2e')](_0x10e9d2[_0x18ce('0x3c')]['limit']);_0x2b789b['offset']=qs['offset'](_0x10e9d2[_0x18ce('0x3c')][_0x18ce('0x2c')]);}return _0x3b5b90['getFields'](_0x2b789b);}})[_0x18ce('0x1c')](function(_0x31f2db){if(_0x31f2db){return _0x31f2db?{'count':_0x508ed8,'rows':_0x31f2db}:null;}})[_0x18ce('0x1c')](respondWithResult(_0x1c055d,null))[_0x18ce('0x27')](handleError(_0x1c055d,null));};exports[_0x18ce('0x5a')]=function(_0x2f1012,_0x5aa77f,_0x3b57b4){var _0x5da5c2={};var _0x21a132={};var _0x5b5ec2;var _0x539c41;return db[_0x18ce('0x36')][_0x18ce('0x5b')]({'where':{'id':_0x2f1012[_0x18ce('0x58')]['id']}})['then'](handleEntityNotFound(_0x5aa77f,null))[_0x18ce('0x1c')](function(_0x2c7e40){if(_0x2c7e40){_0x5b5ec2=_0x2c7e40;_0x21a132[_0x18ce('0x3a')]=_['keys'](db[_0x18ce('0x5c')]['rawAttributes']);_0x21a132[_0x18ce('0x3c')]=_[_0x18ce('0x3d')](_0x2f1012['query']);_0x21a132[_0x18ce('0x45')]=_[_0x18ce('0x3e')](_0x21a132['model'],_0x21a132[_0x18ce('0x3c')]);_0x5da5c2[_0x18ce('0x3f')]=_['intersection'](_0x21a132['model'],qs[_0x18ce('0x40')](_0x2f1012[_0x18ce('0x3c')][_0x18ce('0x40')]));_0x5da5c2[_0x18ce('0x3f')]=_0x5da5c2[_0x18ce('0x3f')][_0x18ce('0x41')]?_0x5da5c2[_0x18ce('0x3f')]:_0x21a132[_0x18ce('0x3a')];_0x5da5c2['order']=qs[_0x18ce('0x44')](_0x2f1012[_0x18ce('0x3c')][_0x18ce('0x44')]);_0x5da5c2[_0x18ce('0x48')]=qs[_0x18ce('0x45')](_[_0x18ce('0x46')](_0x2f1012['query'],_0x21a132[_0x18ce('0x45')]));if(_0x2f1012[_0x18ce('0x3c')][_0x18ce('0x47')]){_0x5da5c2['where']=_[_0x18ce('0x4b')](_0x5da5c2['where'],{'$or':_[_0x18ce('0x3b')](_0x5da5c2['attributes'],function(_0x4a9f59){var _0x23c9a9={};_0x23c9a9[_0x4a9f59]={'$like':'%'+_0x2f1012[_0x18ce('0x3c')][_0x18ce('0x47')]+'%'};return _0x23c9a9;})});}_0x5da5c2=_['merge']({},_0x5da5c2,_0x2f1012['options']);return _0x5b5ec2[_0x18ce('0x5a')](_0x5da5c2);}})[_0x18ce('0x1c')](function(_0x299894){if(_0x299894){_0x539c41=_0x299894[_0x18ce('0x41')];if(!_0x2f1012[_0x18ce('0x3c')][_0x18ce('0x59')]('nolimit')){_0x5da5c2[_0x18ce('0x2e')]=qs['limit'](_0x2f1012[_0x18ce('0x3c')]['limit']);_0x5da5c2['offset']=qs[_0x18ce('0x2c')](_0x2f1012[_0x18ce('0x3c')]['offset']);}return _0x5b5ec2[_0x18ce('0x5a')](_0x5da5c2);}})[_0x18ce('0x1c')](function(_0x1c94a1){if(_0x1c94a1){return _0x1c94a1?{'count':_0x539c41,'rows':_0x1c94a1}:null;}})['then'](respondWithResult(_0x5aa77f,null))[_0x18ce('0x27')](handleError(_0x5aa77f,null));};exports[_0x18ce('0x5d')]=function(_0x491ad2,_0x1c666a,_0x1460eb){var _0x304970={};var _0x949c80={};var _0x432c2a;var _0x50c061;return db[_0x18ce('0x36')][_0x18ce('0x5b')]({'where':{'id':_0x491ad2[_0x18ce('0x58')]['id']}})[_0x18ce('0x1c')](handleEntityNotFound(_0x1c666a,null))[_0x18ce('0x1c')](function(_0x52b0bc){if(_0x52b0bc){_0x432c2a=_0x52b0bc;_0x949c80[_0x18ce('0x3a')]=_[_0x18ce('0x3d')](db[_0x18ce('0x5c')][_0x18ce('0x37')]);_0x949c80['query']=_[_0x18ce('0x3d')](_0x491ad2['query']);_0x949c80[_0x18ce('0x45')]=_[_0x18ce('0x3e')](_0x949c80[_0x18ce('0x3a')],_0x949c80['query']);_0x304970[_0x18ce('0x3f')]=_[_0x18ce('0x3e')](_0x949c80[_0x18ce('0x3a')],qs[_0x18ce('0x40')](_0x491ad2['query'][_0x18ce('0x40')]));_0x304970[_0x18ce('0x3f')]=_0x304970[_0x18ce('0x3f')][_0x18ce('0x41')]?_0x304970[_0x18ce('0x3f')]:_0x949c80['model'];_0x304970['order']=qs['sort'](_0x491ad2[_0x18ce('0x3c')][_0x18ce('0x44')]);_0x304970[_0x18ce('0x48')]=qs['filters'](_[_0x18ce('0x46')](_0x491ad2[_0x18ce('0x3c')],_0x949c80[_0x18ce('0x45')]));if(_0x491ad2[_0x18ce('0x3c')]['filter']){_0x304970[_0x18ce('0x48')]=_[_0x18ce('0x4b')](_0x304970[_0x18ce('0x48')],{'$or':_['map'](_0x304970['attributes'],function(_0x45e6fe){var _0x41ee6f={};_0x41ee6f[_0x45e6fe]={'$like':'%'+_0x491ad2[_0x18ce('0x3c')][_0x18ce('0x47')]+'%'};return _0x41ee6f;})});}_0x304970=_[_0x18ce('0x4b')]({},_0x304970,_0x491ad2[_0x18ce('0x4c')]);return _0x432c2a[_0x18ce('0x5d')](_0x304970);}})[_0x18ce('0x1c')](function(_0x14f8d2){if(_0x14f8d2){_0x50c061=_0x14f8d2['length'];if(!_0x491ad2[_0x18ce('0x3c')][_0x18ce('0x59')](_0x18ce('0x42'))){_0x304970[_0x18ce('0x2e')]=qs[_0x18ce('0x2e')](_0x491ad2[_0x18ce('0x3c')][_0x18ce('0x2e')]);_0x304970[_0x18ce('0x2c')]=qs['offset'](_0x491ad2['query'][_0x18ce('0x2c')]);}return _0x432c2a[_0x18ce('0x5d')](_0x304970);}})['then'](function(_0x5732a1){if(_0x5732a1){return _0x5732a1?{'count':_0x50c061,'rows':_0x5732a1}:null;}})[_0x18ce('0x1c')](respondWithResult(_0x1c666a,null))[_0x18ce('0x27')](handleError(_0x1c666a,null));};exports[_0x18ce('0x5e')]=function(_0x30031d,_0x48795d,_0x47eb15){var _0xd9c89a={};var _0x3a4a83={};var _0xe196a9;var _0x16801c;return db[_0x18ce('0x36')][_0x18ce('0x5b')]({'where':{'id':_0x30031d[_0x18ce('0x58')]['id']}})[_0x18ce('0x1c')](handleEntityNotFound(_0x48795d,null))['then'](function(_0x35acb3){if(_0x35acb3){_0xe196a9=_0x35acb3;_0x3a4a83[_0x18ce('0x3a')]=_['keys'](db[_0x18ce('0x5f')][_0x18ce('0x37')]);_0x3a4a83[_0x18ce('0x3c')]=_[_0x18ce('0x3d')](_0x30031d[_0x18ce('0x3c')]);_0x3a4a83[_0x18ce('0x45')]=_[_0x18ce('0x3e')](_0x3a4a83[_0x18ce('0x3a')],_0x3a4a83[_0x18ce('0x3c')]);_0xd9c89a[_0x18ce('0x3f')]=_['intersection'](_0x3a4a83[_0x18ce('0x3a')],qs['fields'](_0x30031d[_0x18ce('0x3c')][_0x18ce('0x40')]));_0xd9c89a[_0x18ce('0x3f')]=_0xd9c89a[_0x18ce('0x3f')]['length']?_0xd9c89a[_0x18ce('0x3f')]:_0x3a4a83[_0x18ce('0x3a')];_0xd9c89a[_0x18ce('0x43')]=qs[_0x18ce('0x44')](_0x30031d[_0x18ce('0x3c')]['sort']);_0xd9c89a[_0x18ce('0x48')]=qs['filters'](_[_0x18ce('0x46')](_0x30031d['query'],_0x3a4a83[_0x18ce('0x45')]));if(_0x30031d[_0x18ce('0x3c')][_0x18ce('0x47')]){_0xd9c89a[_0x18ce('0x48')]=_[_0x18ce('0x4b')](_0xd9c89a[_0x18ce('0x48')],{'$or':_[_0x18ce('0x3b')](_0xd9c89a['attributes'],function(_0x196892){var _0x43a27e={};_0x43a27e[_0x196892]={'$like':'%'+_0x30031d[_0x18ce('0x3c')]['filter']+'%'};return _0x43a27e;})});}_0xd9c89a=_[_0x18ce('0x4b')]({},_0xd9c89a,_0x30031d[_0x18ce('0x4c')]);return _0xe196a9[_0x18ce('0x5e')](_0xd9c89a);}})[_0x18ce('0x1c')](function(_0x23d466){if(_0x23d466){_0x16801c=_0x23d466[_0x18ce('0x41')];if(!_0x30031d[_0x18ce('0x3c')][_0x18ce('0x59')]('nolimit')){_0xd9c89a[_0x18ce('0x2e')]=qs[_0x18ce('0x2e')](_0x30031d[_0x18ce('0x3c')][_0x18ce('0x2e')]);_0xd9c89a['offset']=qs[_0x18ce('0x2c')](_0x30031d['query'][_0x18ce('0x2c')]);}return _0xe196a9[_0x18ce('0x5e')](_0xd9c89a);}})[_0x18ce('0x1c')](function(_0x7d3222){if(_0x7d3222){return _0x7d3222?{'count':_0x16801c,'rows':_0x7d3222}:null;}})[_0x18ce('0x1c')](respondWithResult(_0x48795d,null))['catch'](handleError(_0x48795d,null));};exports[_0x18ce('0x60')]=function(_0x1b34d5,_0x1e8a3a,_0xd10bd8){if(_0x1b34d5['body']['id']){delete _0x1b34d5['body']['id'];}return db[_0x18ce('0x36')][_0x18ce('0x5b')]({'where':{'id':_0x1b34d5['params']['id']}})[_0x18ce('0x1c')](handleEntityNotFound(_0x1e8a3a,null))[_0x18ce('0x1c')](function(_0x3de43a){if(_0x3de43a){return _0x3de43a['setTags'](_0x1b34d5[_0x18ce('0x55')][_0x18ce('0x61')]||[]);}return null;})['then'](respondWithResult(_0x1e8a3a,null))[_0x18ce('0x27')](handleError(_0x1e8a3a,null));};