d86f7a43ea80ef791ff19d7d5607d09f1614d50f
[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 _0xcdb9=['key','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','where','filter','merge','VIRTUAL','options','include','rows','show','params','keys','rawAttributes','find','catch','create','body','findOne','FreshdeskField','pick','nolimit','getFields','getSubjects','getDescriptions','getTags','Tag','setTags','ids','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','to-csv','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../mysqldb','jayson/promise','client','http','test','Sequelize','ValidationError','request','info','FreshdeskConfiguration,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','status','json','count','offset','limit','set','Content-Range','reject','save','update','then','destroy','sendStatus','stack','name','send','map','FreshdeskConfiguration','fieldName'];(function(_0x18d67d,_0xb823f){var _0x3b8d06=function(_0x2215f8){while(--_0x2215f8){_0x18d67d['push'](_0x18d67d['shift']());}};_0x3b8d06(++_0xb823f);}(_0xcdb9,0x82));var _0x9cdb=function(_0x2b6b13,_0x3f075a){_0x2b6b13=_0x2b6b13-0x0;var _0x360069=_0xcdb9[_0x2b6b13];return _0x360069;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x9cdb('0x0'));var rimraf=require(_0x9cdb('0x1'));var zipdir=require(_0x9cdb('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9cdb('0x3'));var moment=require(_0x9cdb('0x4'));var BPromise=require(_0x9cdb('0x5'));var Mustache=require(_0x9cdb('0x6'));var util=require(_0x9cdb('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x9cdb('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x9cdb('0x9'));var squel=require('squel');var crypto=require(_0x9cdb('0xa'));var jsforce=require(_0x9cdb('0xb'));var deskjs=require(_0x9cdb('0xc'));var toCsv=require(_0x9cdb('0x8'));var querystring=require(_0x9cdb('0xd'));var Papa=require('papaparse');var Redis=require(_0x9cdb('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x9cdb('0xf'));var as=require(_0x9cdb('0x10'));var hardwareService=require(_0x9cdb('0x11'));var logger=require('../../config/logger')('api');var utils=require(_0x9cdb('0x12'));var config=require(_0x9cdb('0x13'));var db=require(_0x9cdb('0x14'))['db'];var jayson=require(_0x9cdb('0x15'));var client=jayson[_0x9cdb('0x16')][_0x9cdb('0x17')]({'port':0x232a});function checkPasswordPattern(_0x1ff96c,_0x55215f,_0x147e76){if(_0x147e76){var _0x4a25cf=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x4a25cf[_0x9cdb('0x18')](_0x55215f)){return _0x1ff96c;}else{throw new db[(_0x9cdb('0x19'))][(_0x9cdb('0x1a'))]('The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.');}}else{return _0x1ff96c;}}function respondWithRpcPromise(_0x279fab,_0x11858c,_0x238144,_0x3f0c4e){return new BPromise(function(_0x5d5579,_0x2f86b3){var _0x4cbc7d=_0x3f0c4e||client;return _0x4cbc7d[_0x9cdb('0x1b')](_0x279fab,_0x238144)['then'](function(_0x3ed04b){logger[_0x9cdb('0x1c')](_0x9cdb('0x1d'),_0x11858c,_0x9cdb('0x1e'));logger[_0x9cdb('0x1f')]('FreshdeskConfiguration,\x20%s,\x20%s,\x20%s',_0x11858c,_0x9cdb('0x1e'),JSON[_0x9cdb('0x20')](_0x3ed04b));if(_0x3ed04b[_0x9cdb('0x21')]){if(_0x3ed04b[_0x9cdb('0x21')][_0x9cdb('0x22')]===0x1f4){logger[_0x9cdb('0x21')](_0x9cdb('0x1d'),_0x11858c,_0x3ed04b['error'][_0x9cdb('0x23')]);return _0x2f86b3(_0x3ed04b[_0x9cdb('0x21')][_0x9cdb('0x23')]);}logger[_0x9cdb('0x21')](_0x9cdb('0x1d'),_0x11858c,_0x3ed04b[_0x9cdb('0x21')]['message']);return _0x5d5579(_0x3ed04b['error'][_0x9cdb('0x23')]);}else{logger[_0x9cdb('0x1c')]('FreshdeskConfiguration,\x20%s,\x20%s',_0x11858c,_0x9cdb('0x1e'));_0x5d5579(_0x3ed04b[_0x9cdb('0x24')]['message']);}})['catch'](function(_0x35b056){logger[_0x9cdb('0x21')]('FreshdeskConfiguration,\x20%s,\x20%s',_0x11858c,_0x35b056);_0x2f86b3(_0x35b056);});});}function respondWithStatusCode(_0x29170c,_0xda496a){_0xda496a=_0xda496a||0xcc;return function(_0x31ec0c){if(_0x31ec0c){return _0x29170c['sendStatus'](_0xda496a);}return _0x29170c['status'](_0xda496a)['end']();};}function respondWithResult(_0x4a8e8c,_0x614e1e){_0x614e1e=_0x614e1e||0xc8;return function(_0x443da8){if(_0x443da8){return _0x4a8e8c[_0x9cdb('0x25')](_0x614e1e)[_0x9cdb('0x26')](_0x443da8);}};}function respondWithFilteredResult(_0x5c530e,_0x4345f3){return function(_0x37d66e){if(_0x37d66e){var _0x47a21d=_0x37d66e[_0x9cdb('0x27')],_0x317685=_0x4345f3[_0x9cdb('0x28')],_0x3392c5=_0x4345f3[_0x9cdb('0x28')]+_0x4345f3[_0x9cdb('0x29')],_0xb1b9f8;if(_0x3392c5>=_0x47a21d){_0x3392c5=_0x47a21d;_0xb1b9f8=0xc8;}else{_0xb1b9f8=0xce;}_0x5c530e[_0x9cdb('0x25')](_0xb1b9f8);return _0x5c530e[_0x9cdb('0x2a')](_0x9cdb('0x2b'),_0x317685+'-'+_0x3392c5+'/'+_0x47a21d)[_0x9cdb('0x26')](_0x37d66e);}return null;};}function patchUpdates(_0x434617){return function(_0x253e6e){try{jsonpatch['apply'](_0x253e6e,_0x434617,!![]);}catch(_0xf63f2b){return BPromise[_0x9cdb('0x2c')](_0xf63f2b);}return _0x253e6e[_0x9cdb('0x2d')]();};}function saveUpdates(_0x3b08d7,_0x1387bb){return function(_0x1523fd){if(_0x1523fd){return _0x1523fd[_0x9cdb('0x2e')](_0x3b08d7)[_0x9cdb('0x2f')](function(_0x382401){return _0x382401;});}return null;};}function removeEntity(_0x1993b8,_0x2145b4){return function(_0x44fa53){if(_0x44fa53){return _0x44fa53[_0x9cdb('0x30')]()[_0x9cdb('0x2f')](function(){_0x1993b8[_0x9cdb('0x25')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2fc26f,_0x356cd4){return function(_0x37cdda){if(!_0x37cdda){_0x2fc26f[_0x9cdb('0x31')](0x194);}return _0x37cdda;};}function handleError(_0x5d2b16,_0x3b2833){_0x3b2833=_0x3b2833||0x1f4;return function(_0x3bd423){logger[_0x9cdb('0x21')](_0x3bd423[_0x9cdb('0x32')]);if(_0x3bd423[_0x9cdb('0x33')]){delete _0x3bd423['name'];}_0x5d2b16['status'](_0x3b2833)[_0x9cdb('0x34')](_0x3bd423);};}exports['index']=function(_0x4ca545,_0x6c94b8){var _0x5d7239={},_0x50a2e2={},_0x4c2fcd={'count':0x0,'rows':[]};var _0x2f9c8e=_[_0x9cdb('0x35')](db[_0x9cdb('0x36')]['rawAttributes'],function(_0x2e8af0){return{'name':_0x2e8af0[_0x9cdb('0x37')],'type':_0x2e8af0['type'][_0x9cdb('0x38')]};});_0x50a2e2['model']=_[_0x9cdb('0x35')](_0x2f9c8e,_0x9cdb('0x33'));_0x50a2e2['query']=_['keys'](_0x4ca545[_0x9cdb('0x39')]);_0x50a2e2[_0x9cdb('0x3a')]=_[_0x9cdb('0x3b')](_0x50a2e2[_0x9cdb('0x3c')],_0x50a2e2[_0x9cdb('0x39')]);_0x5d7239[_0x9cdb('0x3d')]=_[_0x9cdb('0x3b')](_0x50a2e2[_0x9cdb('0x3c')],qs[_0x9cdb('0x3e')](_0x4ca545[_0x9cdb('0x39')][_0x9cdb('0x3e')]));_0x5d7239[_0x9cdb('0x3d')]=_0x5d7239[_0x9cdb('0x3d')][_0x9cdb('0x3f')]?_0x5d7239['attributes']:_0x50a2e2['model'];if(!_0x4ca545[_0x9cdb('0x39')][_0x9cdb('0x40')]('nolimit')){_0x5d7239[_0x9cdb('0x29')]=qs['limit'](_0x4ca545[_0x9cdb('0x39')][_0x9cdb('0x29')]);_0x5d7239[_0x9cdb('0x28')]=qs['offset'](_0x4ca545['query'][_0x9cdb('0x28')]);}_0x5d7239[_0x9cdb('0x41')]=qs[_0x9cdb('0x42')](_0x4ca545['query'][_0x9cdb('0x42')]);_0x5d7239[_0x9cdb('0x43')]=qs['filters'](_['pick'](_0x4ca545[_0x9cdb('0x39')],_0x50a2e2[_0x9cdb('0x3a')]));if(_0x4ca545[_0x9cdb('0x39')][_0x9cdb('0x44')]){_0x5d7239['where']=_[_0x9cdb('0x45')](_0x5d7239[_0x9cdb('0x43')],{'$or':_[_0x9cdb('0x35')](_0x2f9c8e,function(_0x381319){if(_0x381319['type']!==_0x9cdb('0x46')){var _0x136efe={};_0x136efe[_0x381319[_0x9cdb('0x33')]]={'$like':'%'+_0x4ca545[_0x9cdb('0x39')][_0x9cdb('0x44')]+'%'};return _0x136efe;}})});}_0x5d7239=_[_0x9cdb('0x45')]({},_0x5d7239,_0x4ca545[_0x9cdb('0x47')]);var _0x46f603={'where':_0x5d7239[_0x9cdb('0x43')]};return db[_0x9cdb('0x36')][_0x9cdb('0x27')](_0x46f603)[_0x9cdb('0x2f')](function(_0x361df6){_0x4c2fcd[_0x9cdb('0x27')]=_0x361df6;if(_0x4ca545[_0x9cdb('0x39')]['includeAll']){_0x5d7239[_0x9cdb('0x48')]=[{'all':!![]}];}return db['FreshdeskConfiguration']['findAll'](_0x5d7239);})['then'](function(_0x537145){_0x4c2fcd[_0x9cdb('0x49')]=_0x537145;return _0x4c2fcd;})['then'](respondWithFilteredResult(_0x6c94b8,_0x5d7239))['catch'](handleError(_0x6c94b8,null));};exports[_0x9cdb('0x4a')]=function(_0x4e74fb,_0x4bd505){var _0x5d4fc4={'raw':![],'where':{'id':_0x4e74fb[_0x9cdb('0x4b')]['id']}},_0xb44876={};_0xb44876[_0x9cdb('0x3c')]=_[_0x9cdb('0x4c')](db[_0x9cdb('0x36')][_0x9cdb('0x4d')]);_0xb44876[_0x9cdb('0x39')]=_[_0x9cdb('0x4c')](_0x4e74fb['query']);_0xb44876[_0x9cdb('0x3a')]=_[_0x9cdb('0x3b')](_0xb44876['model'],_0xb44876['query']);_0x5d4fc4[_0x9cdb('0x3d')]=_[_0x9cdb('0x3b')](_0xb44876[_0x9cdb('0x3c')],qs[_0x9cdb('0x3e')](_0x4e74fb[_0x9cdb('0x39')][_0x9cdb('0x3e')]));_0x5d4fc4[_0x9cdb('0x3d')]=_0x5d4fc4[_0x9cdb('0x3d')][_0x9cdb('0x3f')]?_0x5d4fc4[_0x9cdb('0x3d')]:_0xb44876[_0x9cdb('0x3c')];if(_0x4e74fb[_0x9cdb('0x39')]['includeAll']){_0x5d4fc4[_0x9cdb('0x48')]=[{'all':!![]}];}_0x5d4fc4=_[_0x9cdb('0x45')]({},_0x5d4fc4,_0x4e74fb['options']);return db[_0x9cdb('0x36')][_0x9cdb('0x4e')](_0x5d4fc4)[_0x9cdb('0x2f')](handleEntityNotFound(_0x4bd505,null))[_0x9cdb('0x2f')](respondWithResult(_0x4bd505,null))[_0x9cdb('0x4f')](handleError(_0x4bd505,null));};exports[_0x9cdb('0x50')]=function(_0x286b75,_0xe2e3f){return db[_0x9cdb('0x36')]['create'](_0x286b75[_0x9cdb('0x51')],{})[_0x9cdb('0x2f')](respondWithResult(_0xe2e3f,0xc9))[_0x9cdb('0x4f')](handleError(_0xe2e3f,null));};exports[_0x9cdb('0x2e')]=function(_0x1fb4f7,_0x5258ca){if(_0x1fb4f7[_0x9cdb('0x51')]['id']){delete _0x1fb4f7[_0x9cdb('0x51')]['id'];}return db[_0x9cdb('0x36')][_0x9cdb('0x4e')]({'where':{'id':_0x1fb4f7['params']['id']}})[_0x9cdb('0x2f')](handleEntityNotFound(_0x5258ca,null))['then'](saveUpdates(_0x1fb4f7[_0x9cdb('0x51')],null))[_0x9cdb('0x2f')](respondWithResult(_0x5258ca,null))[_0x9cdb('0x4f')](handleError(_0x5258ca,null));};exports['destroy']=function(_0x45c0d8,_0x507d1c){return db[_0x9cdb('0x36')]['find']({'where':{'id':_0x45c0d8[_0x9cdb('0x4b')]['id']}})['then'](handleEntityNotFound(_0x507d1c,null))[_0x9cdb('0x2f')](removeEntity(_0x507d1c,null))[_0x9cdb('0x4f')](handleError(_0x507d1c,null));};exports['getFields']=function(_0x140ad3,_0x491d50,_0x550364){var _0x1d6666={};var _0x358a32={};var _0x3a22e7;var _0x5a8e23;return db['FreshdeskConfiguration'][_0x9cdb('0x52')]({'where':{'id':_0x140ad3['params']['id']}})[_0x9cdb('0x2f')](handleEntityNotFound(_0x491d50,null))[_0x9cdb('0x2f')](function(_0x449726){if(_0x449726){_0x3a22e7=_0x449726;_0x358a32[_0x9cdb('0x3c')]=_[_0x9cdb('0x4c')](db[_0x9cdb('0x53')][_0x9cdb('0x4d')]);_0x358a32[_0x9cdb('0x39')]=_[_0x9cdb('0x4c')](_0x140ad3[_0x9cdb('0x39')]);_0x358a32[_0x9cdb('0x3a')]=_[_0x9cdb('0x3b')](_0x358a32[_0x9cdb('0x3c')],_0x358a32[_0x9cdb('0x39')]);_0x1d6666[_0x9cdb('0x3d')]=_[_0x9cdb('0x3b')](_0x358a32['model'],qs[_0x9cdb('0x3e')](_0x140ad3['query'][_0x9cdb('0x3e')]));_0x1d6666['attributes']=_0x1d6666[_0x9cdb('0x3d')]['length']?_0x1d6666[_0x9cdb('0x3d')]:_0x358a32['model'];_0x1d6666['order']=qs[_0x9cdb('0x42')](_0x140ad3[_0x9cdb('0x39')][_0x9cdb('0x42')]);_0x1d6666[_0x9cdb('0x43')]=qs[_0x9cdb('0x3a')](_[_0x9cdb('0x54')](_0x140ad3[_0x9cdb('0x39')],_0x358a32[_0x9cdb('0x3a')]));if(_0x140ad3[_0x9cdb('0x39')][_0x9cdb('0x44')]){_0x1d6666[_0x9cdb('0x43')]=_['merge'](_0x1d6666[_0x9cdb('0x43')],{'$or':_['map'](_0x1d6666['attributes'],function(_0x483e70){var _0x5aadd6={};_0x5aadd6[_0x483e70]={'$like':'%'+_0x140ad3[_0x9cdb('0x39')][_0x9cdb('0x44')]+'%'};return _0x5aadd6;})});}_0x1d6666=_[_0x9cdb('0x45')]({},_0x1d6666,_0x140ad3['options']);return _0x3a22e7['getFields'](_0x1d6666);}})[_0x9cdb('0x2f')](function(_0xebd5b8){if(_0xebd5b8){_0x5a8e23=_0xebd5b8[_0x9cdb('0x3f')];if(!_0x140ad3[_0x9cdb('0x39')][_0x9cdb('0x40')](_0x9cdb('0x55'))){_0x1d6666[_0x9cdb('0x29')]=qs[_0x9cdb('0x29')](_0x140ad3[_0x9cdb('0x39')]['limit']);_0x1d6666[_0x9cdb('0x28')]=qs[_0x9cdb('0x28')](_0x140ad3[_0x9cdb('0x39')][_0x9cdb('0x28')]);}return _0x3a22e7[_0x9cdb('0x56')](_0x1d6666);}})['then'](function(_0x2ef53a){if(_0x2ef53a){return _0x2ef53a?{'count':_0x5a8e23,'rows':_0x2ef53a}:null;}})[_0x9cdb('0x2f')](respondWithResult(_0x491d50,null))[_0x9cdb('0x4f')](handleError(_0x491d50,null));};exports[_0x9cdb('0x57')]=function(_0x557bd3,_0x48a331,_0x5945d4){var _0x32584b={};var _0x5718da={};var _0x54f88c;var _0x16a20d;return db[_0x9cdb('0x36')][_0x9cdb('0x52')]({'where':{'id':_0x557bd3['params']['id']}})[_0x9cdb('0x2f')](handleEntityNotFound(_0x48a331,null))[_0x9cdb('0x2f')](function(_0x5274f2){if(_0x5274f2){_0x54f88c=_0x5274f2;_0x5718da[_0x9cdb('0x3c')]=_['keys'](db[_0x9cdb('0x53')]['rawAttributes']);_0x5718da[_0x9cdb('0x39')]=_[_0x9cdb('0x4c')](_0x557bd3[_0x9cdb('0x39')]);_0x5718da[_0x9cdb('0x3a')]=_[_0x9cdb('0x3b')](_0x5718da['model'],_0x5718da[_0x9cdb('0x39')]);_0x32584b[_0x9cdb('0x3d')]=_[_0x9cdb('0x3b')](_0x5718da[_0x9cdb('0x3c')],qs[_0x9cdb('0x3e')](_0x557bd3['query']['fields']));_0x32584b[_0x9cdb('0x3d')]=_0x32584b[_0x9cdb('0x3d')]['length']?_0x32584b[_0x9cdb('0x3d')]:_0x5718da['model'];_0x32584b[_0x9cdb('0x41')]=qs[_0x9cdb('0x42')](_0x557bd3[_0x9cdb('0x39')][_0x9cdb('0x42')]);_0x32584b['where']=qs[_0x9cdb('0x3a')](_['pick'](_0x557bd3[_0x9cdb('0x39')],_0x5718da[_0x9cdb('0x3a')]));if(_0x557bd3[_0x9cdb('0x39')][_0x9cdb('0x44')]){_0x32584b[_0x9cdb('0x43')]=_['merge'](_0x32584b[_0x9cdb('0x43')],{'$or':_['map'](_0x32584b[_0x9cdb('0x3d')],function(_0x28528e){var _0x4325a8={};_0x4325a8[_0x28528e]={'$like':'%'+_0x557bd3['query'][_0x9cdb('0x44')]+'%'};return _0x4325a8;})});}_0x32584b=_[_0x9cdb('0x45')]({},_0x32584b,_0x557bd3[_0x9cdb('0x47')]);return _0x54f88c['getSubjects'](_0x32584b);}})['then'](function(_0x1ebd08){if(_0x1ebd08){_0x16a20d=_0x1ebd08['length'];if(!_0x557bd3[_0x9cdb('0x39')][_0x9cdb('0x40')](_0x9cdb('0x55'))){_0x32584b['limit']=qs['limit'](_0x557bd3[_0x9cdb('0x39')]['limit']);_0x32584b[_0x9cdb('0x28')]=qs[_0x9cdb('0x28')](_0x557bd3[_0x9cdb('0x39')]['offset']);}return _0x54f88c[_0x9cdb('0x57')](_0x32584b);}})[_0x9cdb('0x2f')](function(_0xe75073){if(_0xe75073){return _0xe75073?{'count':_0x16a20d,'rows':_0xe75073}:null;}})[_0x9cdb('0x2f')](respondWithResult(_0x48a331,null))[_0x9cdb('0x4f')](handleError(_0x48a331,null));};exports['getDescriptions']=function(_0x19a622,_0x4b583,_0xec947){var _0x553a71={};var _0x2d21be={};var _0x22119d;var _0x3f28f1;return db[_0x9cdb('0x36')]['findOne']({'where':{'id':_0x19a622['params']['id']}})['then'](handleEntityNotFound(_0x4b583,null))[_0x9cdb('0x2f')](function(_0x2edc98){if(_0x2edc98){_0x22119d=_0x2edc98;_0x2d21be[_0x9cdb('0x3c')]=_[_0x9cdb('0x4c')](db['FreshdeskField']['rawAttributes']);_0x2d21be[_0x9cdb('0x39')]=_[_0x9cdb('0x4c')](_0x19a622[_0x9cdb('0x39')]);_0x2d21be[_0x9cdb('0x3a')]=_['intersection'](_0x2d21be[_0x9cdb('0x3c')],_0x2d21be[_0x9cdb('0x39')]);_0x553a71[_0x9cdb('0x3d')]=_['intersection'](_0x2d21be[_0x9cdb('0x3c')],qs[_0x9cdb('0x3e')](_0x19a622[_0x9cdb('0x39')]['fields']));_0x553a71[_0x9cdb('0x3d')]=_0x553a71[_0x9cdb('0x3d')][_0x9cdb('0x3f')]?_0x553a71[_0x9cdb('0x3d')]:_0x2d21be[_0x9cdb('0x3c')];_0x553a71['order']=qs[_0x9cdb('0x42')](_0x19a622['query'][_0x9cdb('0x42')]);_0x553a71[_0x9cdb('0x43')]=qs[_0x9cdb('0x3a')](_[_0x9cdb('0x54')](_0x19a622[_0x9cdb('0x39')],_0x2d21be['filters']));if(_0x19a622['query']['filter']){_0x553a71[_0x9cdb('0x43')]=_[_0x9cdb('0x45')](_0x553a71[_0x9cdb('0x43')],{'$or':_[_0x9cdb('0x35')](_0x553a71['attributes'],function(_0x483913){var _0xb4bd49={};_0xb4bd49[_0x483913]={'$like':'%'+_0x19a622[_0x9cdb('0x39')][_0x9cdb('0x44')]+'%'};return _0xb4bd49;})});}_0x553a71=_[_0x9cdb('0x45')]({},_0x553a71,_0x19a622[_0x9cdb('0x47')]);return _0x22119d[_0x9cdb('0x58')](_0x553a71);}})[_0x9cdb('0x2f')](function(_0x5dd98e){if(_0x5dd98e){_0x3f28f1=_0x5dd98e[_0x9cdb('0x3f')];if(!_0x19a622[_0x9cdb('0x39')][_0x9cdb('0x40')]('nolimit')){_0x553a71['limit']=qs['limit'](_0x19a622[_0x9cdb('0x39')]['limit']);_0x553a71['offset']=qs[_0x9cdb('0x28')](_0x19a622['query'][_0x9cdb('0x28')]);}return _0x22119d[_0x9cdb('0x58')](_0x553a71);}})[_0x9cdb('0x2f')](function(_0x5e523e){if(_0x5e523e){return _0x5e523e?{'count':_0x3f28f1,'rows':_0x5e523e}:null;}})[_0x9cdb('0x2f')](respondWithResult(_0x4b583,null))['catch'](handleError(_0x4b583,null));};exports[_0x9cdb('0x59')]=function(_0x15469c,_0x30f2d0,_0x3d0350){var _0x191134={};var _0x447d1e={};var _0x2c05cc;var _0x116ca9;return db[_0x9cdb('0x36')]['findOne']({'where':{'id':_0x15469c['params']['id']}})[_0x9cdb('0x2f')](handleEntityNotFound(_0x30f2d0,null))['then'](function(_0x42decc){if(_0x42decc){_0x2c05cc=_0x42decc;_0x447d1e['model']=_[_0x9cdb('0x4c')](db[_0x9cdb('0x5a')][_0x9cdb('0x4d')]);_0x447d1e[_0x9cdb('0x39')]=_[_0x9cdb('0x4c')](_0x15469c[_0x9cdb('0x39')]);_0x447d1e[_0x9cdb('0x3a')]=_[_0x9cdb('0x3b')](_0x447d1e[_0x9cdb('0x3c')],_0x447d1e['query']);_0x191134[_0x9cdb('0x3d')]=_['intersection'](_0x447d1e[_0x9cdb('0x3c')],qs[_0x9cdb('0x3e')](_0x15469c[_0x9cdb('0x39')][_0x9cdb('0x3e')]));_0x191134['attributes']=_0x191134[_0x9cdb('0x3d')][_0x9cdb('0x3f')]?_0x191134[_0x9cdb('0x3d')]:_0x447d1e['model'];_0x191134[_0x9cdb('0x41')]=qs[_0x9cdb('0x42')](_0x15469c[_0x9cdb('0x39')][_0x9cdb('0x42')]);_0x191134['where']=qs[_0x9cdb('0x3a')](_[_0x9cdb('0x54')](_0x15469c[_0x9cdb('0x39')],_0x447d1e[_0x9cdb('0x3a')]));if(_0x15469c['query']['filter']){_0x191134[_0x9cdb('0x43')]=_[_0x9cdb('0x45')](_0x191134['where'],{'$or':_[_0x9cdb('0x35')](_0x191134['attributes'],function(_0x42527a){var _0x48d64c={};_0x48d64c[_0x42527a]={'$like':'%'+_0x15469c[_0x9cdb('0x39')][_0x9cdb('0x44')]+'%'};return _0x48d64c;})});}_0x191134=_[_0x9cdb('0x45')]({},_0x191134,_0x15469c['options']);return _0x2c05cc['getTags'](_0x191134);}})[_0x9cdb('0x2f')](function(_0x1f421d){if(_0x1f421d){_0x116ca9=_0x1f421d['length'];if(!_0x15469c[_0x9cdb('0x39')][_0x9cdb('0x40')](_0x9cdb('0x55'))){_0x191134[_0x9cdb('0x29')]=qs[_0x9cdb('0x29')](_0x15469c[_0x9cdb('0x39')][_0x9cdb('0x29')]);_0x191134[_0x9cdb('0x28')]=qs['offset'](_0x15469c[_0x9cdb('0x39')][_0x9cdb('0x28')]);}return _0x2c05cc[_0x9cdb('0x59')](_0x191134);}})[_0x9cdb('0x2f')](function(_0x40ced1){if(_0x40ced1){return _0x40ced1?{'count':_0x116ca9,'rows':_0x40ced1}:null;}})[_0x9cdb('0x2f')](respondWithResult(_0x30f2d0,null))[_0x9cdb('0x4f')](handleError(_0x30f2d0,null));};exports[_0x9cdb('0x5b')]=function(_0x5fbd76,_0x2871c5,_0x44fc1c){if(_0x5fbd76[_0x9cdb('0x51')]['id']){delete _0x5fbd76['body']['id'];}return db[_0x9cdb('0x36')][_0x9cdb('0x52')]({'where':{'id':_0x5fbd76[_0x9cdb('0x4b')]['id']}})[_0x9cdb('0x2f')](handleEntityNotFound(_0x2871c5,null))['then'](function(_0x3c76b0){if(_0x3c76b0){return _0x3c76b0[_0x9cdb('0x5b')](_0x5fbd76[_0x9cdb('0x51')][_0x9cdb('0x5c')]||[]);}return null;})[_0x9cdb('0x2f')](respondWithResult(_0x2871c5,null))[_0x9cdb('0x4f')](handleError(_0x2871c5,null));};