4dc685a4a71062bab5e72aeec8d7191b5d492fbb
[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 _0xb404=['intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','FreshdeskConfiguration','find','create','body','params','getFields','FreshdeskField','pick','getSubjects','getDescriptions','findOne','getTags','setTags','ids','rimraf','fast-json-patch','request-promise','mustache','util','path','ejs','lodash','crypto','desk.js','to-csv','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','then','destroy','sendStatus','error','name','send','map','rawAttributes','type','model','query','keys','filters'];(function(_0x59b439,_0x14ae7b){var _0x521ea3=function(_0x5af627){while(--_0x5af627){_0x59b439['push'](_0x59b439['shift']());}};_0x521ea3(++_0x14ae7b);}(_0xb404,0x6e));var _0x4b40=function(_0x4798c8,_0x53d005){_0x4798c8=_0x4798c8-0x0;var _0x1e2c1d=_0xb404[_0x4798c8];return _0x1e2c1d;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x4b40('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x4b40('0x1'));var rp=require(_0x4b40('0x2'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x4b40('0x3'));var util=require(_0x4b40('0x4'));var path=require(_0x4b40('0x5'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x4b40('0x6'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x4b40('0x7'));var squel=require('squel');var crypto=require(_0x4b40('0x8'));var jsforce=require('jsforce');var deskjs=require(_0x4b40('0x9'));var toCsv=require(_0x4b40('0xa'));var querystring=require('querystring');var Papa=require(_0x4b40('0xb'));var Redis=require('ioredis');var authService=require(_0x4b40('0xc'));var qs=require('../../components/parsers/qs');var as=require(_0x4b40('0xd'));var hardwareService=require(_0x4b40('0xe'));var logger=require(_0x4b40('0xf'))(_0x4b40('0x10'));var utils=require(_0x4b40('0x11'));var config=require(_0x4b40('0x12'));var licenseUtil=require(_0x4b40('0x13'));var db=require(_0x4b40('0x14'))['db'];function respondWithStatusCode(_0x3dfe56,_0x1d26ed){_0x1d26ed=_0x1d26ed||0xcc;return function(_0x33c321){if(_0x33c321){return _0x3dfe56['sendStatus'](_0x1d26ed);}return _0x3dfe56[_0x4b40('0x15')](_0x1d26ed)[_0x4b40('0x16')]();};}function respondWithResult(_0x5bc696,_0x3f9d3e){_0x3f9d3e=_0x3f9d3e||0xc8;return function(_0x60f9b1){if(_0x60f9b1){return _0x5bc696[_0x4b40('0x15')](_0x3f9d3e)[_0x4b40('0x17')](_0x60f9b1);}};}function respondWithFilteredResult(_0x27852a,_0x14aa1a){return function(_0x239fb0){if(_0x239fb0){var _0x3c4a6a=typeof _0x14aa1a[_0x4b40('0x18')]===_0x4b40('0x19')&&typeof _0x14aa1a[_0x4b40('0x1a')]===_0x4b40('0x19');var _0x3f7970=_0x239fb0[_0x4b40('0x1b')];var _0x25a083=_0x3c4a6a?0x0:_0x14aa1a[_0x4b40('0x18')];var _0x8455b0=_0x3c4a6a?_0x239fb0[_0x4b40('0x1b')]:_0x14aa1a['offset']+_0x14aa1a[_0x4b40('0x1a')];var _0x5d7804;if(_0x8455b0>=_0x3f7970){_0x8455b0=_0x3f7970;_0x5d7804=0xc8;}else{_0x5d7804=0xce;}_0x27852a['status'](_0x5d7804);return _0x27852a[_0x4b40('0x1c')](_0x4b40('0x1d'),_0x25a083+'-'+_0x8455b0+'/'+_0x3f7970)[_0x4b40('0x17')](_0x239fb0);}return null;};}function patchUpdates(_0x492ec5){return function(_0x2c1659){try{jsonpatch['apply'](_0x2c1659,_0x492ec5,!![]);}catch(_0x89404){return BPromise[_0x4b40('0x1e')](_0x89404);}return _0x2c1659[_0x4b40('0x1f')]();};}function saveUpdates(_0x2ff6c9,_0x4d54be){return function(_0x16a006){if(_0x16a006){return _0x16a006[_0x4b40('0x20')](_0x2ff6c9)[_0x4b40('0x21')](function(_0x14a3c9){return _0x14a3c9;});}return null;};}function removeEntity(_0x1aecb4,_0x4ee05f){return function(_0x53f363){if(_0x53f363){return _0x53f363[_0x4b40('0x22')]()[_0x4b40('0x21')](function(){_0x1aecb4[_0x4b40('0x15')](0xcc)[_0x4b40('0x16')]();});}};}function handleEntityNotFound(_0x310507,_0x2cfb1e){return function(_0x58dbf1){if(!_0x58dbf1){_0x310507[_0x4b40('0x23')](0x194);}return _0x58dbf1;};}function handleError(_0x242eff,_0x4b0249){_0x4b0249=_0x4b0249||0x1f4;return function(_0x16d0ea){logger[_0x4b40('0x24')](_0x16d0ea['stack']);if(_0x16d0ea[_0x4b40('0x25')]){delete _0x16d0ea[_0x4b40('0x25')];}_0x242eff[_0x4b40('0x15')](_0x4b0249)[_0x4b40('0x26')](_0x16d0ea);};}exports['index']=function(_0x293365,_0x2b33dd){var _0x264ae9={},_0x5b0e0f={},_0x2e2b78={'count':0x0,'rows':[]};var _0x39b810=_[_0x4b40('0x27')](db['FreshdeskConfiguration'][_0x4b40('0x28')],function(_0x508fe7){return{'name':_0x508fe7['fieldName'],'type':_0x508fe7[_0x4b40('0x29')]['key']};});_0x5b0e0f[_0x4b40('0x2a')]=_[_0x4b40('0x27')](_0x39b810,'name');_0x5b0e0f[_0x4b40('0x2b')]=_[_0x4b40('0x2c')](_0x293365['query']);_0x5b0e0f[_0x4b40('0x2d')]=_[_0x4b40('0x2e')](_0x5b0e0f[_0x4b40('0x2a')],_0x5b0e0f[_0x4b40('0x2b')]);_0x264ae9[_0x4b40('0x2f')]=_[_0x4b40('0x2e')](_0x5b0e0f[_0x4b40('0x2a')],qs[_0x4b40('0x30')](_0x293365['query'][_0x4b40('0x30')]));_0x264ae9[_0x4b40('0x2f')]=_0x264ae9[_0x4b40('0x2f')][_0x4b40('0x31')]?_0x264ae9['attributes']:_0x5b0e0f[_0x4b40('0x2a')];if(!_0x293365['query'][_0x4b40('0x32')](_0x4b40('0x33'))){_0x264ae9[_0x4b40('0x1a')]=qs[_0x4b40('0x1a')](_0x293365['query'][_0x4b40('0x1a')]);_0x264ae9[_0x4b40('0x18')]=qs[_0x4b40('0x18')](_0x293365['query'][_0x4b40('0x18')]);}_0x264ae9[_0x4b40('0x34')]=qs[_0x4b40('0x35')](_0x293365[_0x4b40('0x2b')][_0x4b40('0x35')]);_0x264ae9[_0x4b40('0x36')]=qs['filters'](_['pick'](_0x293365[_0x4b40('0x2b')],_0x5b0e0f['filters']),_0x39b810);if(_0x293365['query'][_0x4b40('0x37')]){_0x264ae9[_0x4b40('0x36')]=_[_0x4b40('0x38')](_0x264ae9['where'],{'$or':_['map'](_0x39b810,function(_0x5c71ec){if(_0x5c71ec[_0x4b40('0x29')]!==_0x4b40('0x39')){var _0x5824ea={};_0x5824ea[_0x5c71ec[_0x4b40('0x25')]]={'$like':'%'+_0x293365[_0x4b40('0x2b')][_0x4b40('0x37')]+'%'};return _0x5824ea;}})});}_0x264ae9=_['merge']({},_0x264ae9,_0x293365[_0x4b40('0x3a')]);var _0x5b71fa={'where':_0x264ae9[_0x4b40('0x36')]};return db['FreshdeskConfiguration'][_0x4b40('0x1b')](_0x5b71fa)[_0x4b40('0x21')](function(_0x51f9e0){_0x2e2b78['count']=_0x51f9e0;if(_0x293365[_0x4b40('0x2b')]['includeAll']){_0x264ae9[_0x4b40('0x3b')]=[{'all':!![]}];}return db['FreshdeskConfiguration'][_0x4b40('0x3c')](_0x264ae9);})[_0x4b40('0x21')](function(_0x7487fe){_0x2e2b78[_0x4b40('0x3d')]=_0x7487fe;return _0x2e2b78;})['then'](respondWithFilteredResult(_0x2b33dd,_0x264ae9))[_0x4b40('0x3e')](handleError(_0x2b33dd,null));};exports[_0x4b40('0x3f')]=function(_0x10e493,_0x46be2d){var _0x439ac3={'raw':![],'where':{'id':_0x10e493['params']['id']}},_0x46109d={};_0x46109d['model']=_['keys'](db[_0x4b40('0x40')]['rawAttributes']);_0x46109d[_0x4b40('0x2b')]=_['keys'](_0x10e493[_0x4b40('0x2b')]);_0x46109d[_0x4b40('0x2d')]=_[_0x4b40('0x2e')](_0x46109d['model'],_0x46109d[_0x4b40('0x2b')]);_0x439ac3[_0x4b40('0x2f')]=_[_0x4b40('0x2e')](_0x46109d[_0x4b40('0x2a')],qs[_0x4b40('0x30')](_0x10e493['query'][_0x4b40('0x30')]));_0x439ac3[_0x4b40('0x2f')]=_0x439ac3[_0x4b40('0x2f')][_0x4b40('0x31')]?_0x439ac3[_0x4b40('0x2f')]:_0x46109d[_0x4b40('0x2a')];if(_0x10e493[_0x4b40('0x2b')]['includeAll']){_0x439ac3[_0x4b40('0x3b')]=[{'all':!![]}];}_0x439ac3=_[_0x4b40('0x38')]({},_0x439ac3,_0x10e493[_0x4b40('0x3a')]);return db[_0x4b40('0x40')][_0x4b40('0x41')](_0x439ac3)[_0x4b40('0x21')](handleEntityNotFound(_0x46be2d,null))[_0x4b40('0x21')](respondWithResult(_0x46be2d,null))[_0x4b40('0x3e')](handleError(_0x46be2d,null));};exports[_0x4b40('0x42')]=function(_0x294b5a,_0x3c3339){return db['FreshdeskConfiguration']['create'](_0x294b5a['body'],{})[_0x4b40('0x21')](respondWithResult(_0x3c3339,0xc9))['catch'](handleError(_0x3c3339,null));};exports[_0x4b40('0x20')]=function(_0x30b820,_0x30123e){if(_0x30b820['body']['id']){delete _0x30b820[_0x4b40('0x43')]['id'];}return db['FreshdeskConfiguration'][_0x4b40('0x41')]({'where':{'id':_0x30b820['params']['id']}})[_0x4b40('0x21')](handleEntityNotFound(_0x30123e,null))[_0x4b40('0x21')](saveUpdates(_0x30b820[_0x4b40('0x43')],null))[_0x4b40('0x21')](respondWithResult(_0x30123e,null))[_0x4b40('0x3e')](handleError(_0x30123e,null));};exports[_0x4b40('0x22')]=function(_0xad80d4,_0x10beaa){return db[_0x4b40('0x40')][_0x4b40('0x41')]({'where':{'id':_0xad80d4[_0x4b40('0x44')]['id']}})[_0x4b40('0x21')](handleEntityNotFound(_0x10beaa,null))[_0x4b40('0x21')](removeEntity(_0x10beaa,null))['catch'](handleError(_0x10beaa,null));};exports[_0x4b40('0x45')]=function(_0x2bf44a,_0x2890ec,_0x3f3946){var _0xdf5a41={};var _0x44055f={};var _0x20b6c0;var _0x3fbc00;return db[_0x4b40('0x40')]['findOne']({'where':{'id':_0x2bf44a[_0x4b40('0x44')]['id']}})[_0x4b40('0x21')](handleEntityNotFound(_0x2890ec,null))['then'](function(_0x24b458){if(_0x24b458){_0x20b6c0=_0x24b458;_0x44055f[_0x4b40('0x2a')]=_[_0x4b40('0x2c')](db[_0x4b40('0x46')][_0x4b40('0x28')]);_0x44055f[_0x4b40('0x2b')]=_[_0x4b40('0x2c')](_0x2bf44a[_0x4b40('0x2b')]);_0x44055f[_0x4b40('0x2d')]=_[_0x4b40('0x2e')](_0x44055f[_0x4b40('0x2a')],_0x44055f[_0x4b40('0x2b')]);_0xdf5a41[_0x4b40('0x2f')]=_[_0x4b40('0x2e')](_0x44055f[_0x4b40('0x2a')],qs[_0x4b40('0x30')](_0x2bf44a[_0x4b40('0x2b')][_0x4b40('0x30')]));_0xdf5a41[_0x4b40('0x2f')]=_0xdf5a41[_0x4b40('0x2f')][_0x4b40('0x31')]?_0xdf5a41[_0x4b40('0x2f')]:_0x44055f['model'];_0xdf5a41[_0x4b40('0x34')]=qs['sort'](_0x2bf44a[_0x4b40('0x2b')]['sort']);_0xdf5a41[_0x4b40('0x36')]=qs[_0x4b40('0x2d')](_[_0x4b40('0x47')](_0x2bf44a[_0x4b40('0x2b')],_0x44055f['filters']));if(_0x2bf44a[_0x4b40('0x2b')][_0x4b40('0x37')]){_0xdf5a41[_0x4b40('0x36')]=_[_0x4b40('0x38')](_0xdf5a41[_0x4b40('0x36')],{'$or':_[_0x4b40('0x27')](_0xdf5a41[_0x4b40('0x2f')],function(_0x7b5478){var _0x243ad1={};_0x243ad1[_0x7b5478]={'$like':'%'+_0x2bf44a[_0x4b40('0x2b')][_0x4b40('0x37')]+'%'};return _0x243ad1;})});}_0xdf5a41=_[_0x4b40('0x38')]({},_0xdf5a41,_0x2bf44a['options']);return _0x20b6c0[_0x4b40('0x45')](_0xdf5a41);}})[_0x4b40('0x21')](function(_0x48e5fe){if(_0x48e5fe){_0x3fbc00=_0x48e5fe[_0x4b40('0x31')];if(!_0x2bf44a[_0x4b40('0x2b')]['hasOwnProperty'](_0x4b40('0x33'))){_0xdf5a41['limit']=qs[_0x4b40('0x1a')](_0x2bf44a[_0x4b40('0x2b')][_0x4b40('0x1a')]);_0xdf5a41['offset']=qs[_0x4b40('0x18')](_0x2bf44a[_0x4b40('0x2b')][_0x4b40('0x18')]);}return _0x20b6c0[_0x4b40('0x45')](_0xdf5a41);}})[_0x4b40('0x21')](function(_0x1b4de7){if(_0x1b4de7){return _0x1b4de7?{'count':_0x3fbc00,'rows':_0x1b4de7}:null;}})['then'](respondWithResult(_0x2890ec,null))[_0x4b40('0x3e')](handleError(_0x2890ec,null));};exports[_0x4b40('0x48')]=function(_0x2ac2d9,_0x32054c,_0x3fd97c){var _0x38cb5e={};var _0x5827f8={};var _0x111af6;var _0x4491f4;return db['FreshdeskConfiguration']['findOne']({'where':{'id':_0x2ac2d9['params']['id']}})[_0x4b40('0x21')](handleEntityNotFound(_0x32054c,null))['then'](function(_0x2d7e86){if(_0x2d7e86){_0x111af6=_0x2d7e86;_0x5827f8[_0x4b40('0x2a')]=_[_0x4b40('0x2c')](db[_0x4b40('0x46')]['rawAttributes']);_0x5827f8[_0x4b40('0x2b')]=_[_0x4b40('0x2c')](_0x2ac2d9['query']);_0x5827f8['filters']=_[_0x4b40('0x2e')](_0x5827f8['model'],_0x5827f8[_0x4b40('0x2b')]);_0x38cb5e[_0x4b40('0x2f')]=_[_0x4b40('0x2e')](_0x5827f8['model'],qs[_0x4b40('0x30')](_0x2ac2d9['query'][_0x4b40('0x30')]));_0x38cb5e[_0x4b40('0x2f')]=_0x38cb5e[_0x4b40('0x2f')][_0x4b40('0x31')]?_0x38cb5e[_0x4b40('0x2f')]:_0x5827f8[_0x4b40('0x2a')];_0x38cb5e[_0x4b40('0x34')]=qs[_0x4b40('0x35')](_0x2ac2d9[_0x4b40('0x2b')][_0x4b40('0x35')]);_0x38cb5e[_0x4b40('0x36')]=qs[_0x4b40('0x2d')](_[_0x4b40('0x47')](_0x2ac2d9['query'],_0x5827f8['filters']));if(_0x2ac2d9[_0x4b40('0x2b')][_0x4b40('0x37')]){_0x38cb5e[_0x4b40('0x36')]=_[_0x4b40('0x38')](_0x38cb5e[_0x4b40('0x36')],{'$or':_[_0x4b40('0x27')](_0x38cb5e['attributes'],function(_0x4e1dba){var _0x937c9e={};_0x937c9e[_0x4e1dba]={'$like':'%'+_0x2ac2d9[_0x4b40('0x2b')][_0x4b40('0x37')]+'%'};return _0x937c9e;})});}_0x38cb5e=_['merge']({},_0x38cb5e,_0x2ac2d9[_0x4b40('0x3a')]);return _0x111af6[_0x4b40('0x48')](_0x38cb5e);}})[_0x4b40('0x21')](function(_0x160f27){if(_0x160f27){_0x4491f4=_0x160f27[_0x4b40('0x31')];if(!_0x2ac2d9[_0x4b40('0x2b')]['hasOwnProperty'](_0x4b40('0x33'))){_0x38cb5e[_0x4b40('0x1a')]=qs['limit'](_0x2ac2d9[_0x4b40('0x2b')][_0x4b40('0x1a')]);_0x38cb5e[_0x4b40('0x18')]=qs[_0x4b40('0x18')](_0x2ac2d9[_0x4b40('0x2b')]['offset']);}return _0x111af6['getSubjects'](_0x38cb5e);}})[_0x4b40('0x21')](function(_0x130891){if(_0x130891){return _0x130891?{'count':_0x4491f4,'rows':_0x130891}:null;}})['then'](respondWithResult(_0x32054c,null))[_0x4b40('0x3e')](handleError(_0x32054c,null));};exports[_0x4b40('0x49')]=function(_0x5c5720,_0x616bdd,_0x443d4b){var _0x206eff={};var _0x39b10b={};var _0x598120;var _0xc3771f;return db[_0x4b40('0x40')][_0x4b40('0x4a')]({'where':{'id':_0x5c5720[_0x4b40('0x44')]['id']}})[_0x4b40('0x21')](handleEntityNotFound(_0x616bdd,null))[_0x4b40('0x21')](function(_0xf8500f){if(_0xf8500f){_0x598120=_0xf8500f;_0x39b10b[_0x4b40('0x2a')]=_['keys'](db[_0x4b40('0x46')][_0x4b40('0x28')]);_0x39b10b[_0x4b40('0x2b')]=_[_0x4b40('0x2c')](_0x5c5720[_0x4b40('0x2b')]);_0x39b10b['filters']=_['intersection'](_0x39b10b['model'],_0x39b10b['query']);_0x206eff[_0x4b40('0x2f')]=_[_0x4b40('0x2e')](_0x39b10b[_0x4b40('0x2a')],qs['fields'](_0x5c5720[_0x4b40('0x2b')][_0x4b40('0x30')]));_0x206eff[_0x4b40('0x2f')]=_0x206eff[_0x4b40('0x2f')]['length']?_0x206eff[_0x4b40('0x2f')]:_0x39b10b[_0x4b40('0x2a')];_0x206eff[_0x4b40('0x34')]=qs[_0x4b40('0x35')](_0x5c5720[_0x4b40('0x2b')][_0x4b40('0x35')]);_0x206eff[_0x4b40('0x36')]=qs[_0x4b40('0x2d')](_[_0x4b40('0x47')](_0x5c5720[_0x4b40('0x2b')],_0x39b10b['filters']));if(_0x5c5720[_0x4b40('0x2b')]['filter']){_0x206eff[_0x4b40('0x36')]=_[_0x4b40('0x38')](_0x206eff[_0x4b40('0x36')],{'$or':_[_0x4b40('0x27')](_0x206eff[_0x4b40('0x2f')],function(_0x1e7941){var _0x4871a0={};_0x4871a0[_0x1e7941]={'$like':'%'+_0x5c5720[_0x4b40('0x2b')][_0x4b40('0x37')]+'%'};return _0x4871a0;})});}_0x206eff=_[_0x4b40('0x38')]({},_0x206eff,_0x5c5720[_0x4b40('0x3a')]);return _0x598120[_0x4b40('0x49')](_0x206eff);}})[_0x4b40('0x21')](function(_0x1f5ab1){if(_0x1f5ab1){_0xc3771f=_0x1f5ab1[_0x4b40('0x31')];if(!_0x5c5720[_0x4b40('0x2b')][_0x4b40('0x32')](_0x4b40('0x33'))){_0x206eff[_0x4b40('0x1a')]=qs['limit'](_0x5c5720[_0x4b40('0x2b')]['limit']);_0x206eff[_0x4b40('0x18')]=qs[_0x4b40('0x18')](_0x5c5720[_0x4b40('0x2b')][_0x4b40('0x18')]);}return _0x598120[_0x4b40('0x49')](_0x206eff);}})[_0x4b40('0x21')](function(_0xeaab3){if(_0xeaab3){return _0xeaab3?{'count':_0xc3771f,'rows':_0xeaab3}:null;}})[_0x4b40('0x21')](respondWithResult(_0x616bdd,null))[_0x4b40('0x3e')](handleError(_0x616bdd,null));};exports[_0x4b40('0x4b')]=function(_0x414ffe,_0x53532c,_0xa6cb72){var _0x492f45={};var _0x33a267={};var _0x13babf;var _0x394e81;return db[_0x4b40('0x40')]['findOne']({'where':{'id':_0x414ffe['params']['id']}})[_0x4b40('0x21')](handleEntityNotFound(_0x53532c,null))['then'](function(_0x57b9a0){if(_0x57b9a0){_0x13babf=_0x57b9a0;_0x33a267[_0x4b40('0x2a')]=_[_0x4b40('0x2c')](db['Tag'][_0x4b40('0x28')]);_0x33a267['query']=_['keys'](_0x414ffe[_0x4b40('0x2b')]);_0x33a267[_0x4b40('0x2d')]=_[_0x4b40('0x2e')](_0x33a267[_0x4b40('0x2a')],_0x33a267[_0x4b40('0x2b')]);_0x492f45[_0x4b40('0x2f')]=_[_0x4b40('0x2e')](_0x33a267['model'],qs[_0x4b40('0x30')](_0x414ffe[_0x4b40('0x2b')]['fields']));_0x492f45['attributes']=_0x492f45[_0x4b40('0x2f')][_0x4b40('0x31')]?_0x492f45['attributes']:_0x33a267['model'];_0x492f45[_0x4b40('0x34')]=qs[_0x4b40('0x35')](_0x414ffe[_0x4b40('0x2b')][_0x4b40('0x35')]);_0x492f45[_0x4b40('0x36')]=qs[_0x4b40('0x2d')](_[_0x4b40('0x47')](_0x414ffe[_0x4b40('0x2b')],_0x33a267[_0x4b40('0x2d')]));if(_0x414ffe[_0x4b40('0x2b')][_0x4b40('0x37')]){_0x492f45[_0x4b40('0x36')]=_[_0x4b40('0x38')](_0x492f45[_0x4b40('0x36')],{'$or':_[_0x4b40('0x27')](_0x492f45[_0x4b40('0x2f')],function(_0x11e663){var _0x351dcd={};_0x351dcd[_0x11e663]={'$like':'%'+_0x414ffe[_0x4b40('0x2b')][_0x4b40('0x37')]+'%'};return _0x351dcd;})});}_0x492f45=_[_0x4b40('0x38')]({},_0x492f45,_0x414ffe['options']);return _0x13babf[_0x4b40('0x4b')](_0x492f45);}})[_0x4b40('0x21')](function(_0x49b2ce){if(_0x49b2ce){_0x394e81=_0x49b2ce[_0x4b40('0x31')];if(!_0x414ffe[_0x4b40('0x2b')][_0x4b40('0x32')](_0x4b40('0x33'))){_0x492f45[_0x4b40('0x1a')]=qs[_0x4b40('0x1a')](_0x414ffe[_0x4b40('0x2b')]['limit']);_0x492f45[_0x4b40('0x18')]=qs['offset'](_0x414ffe['query'][_0x4b40('0x18')]);}return _0x13babf[_0x4b40('0x4b')](_0x492f45);}})[_0x4b40('0x21')](function(_0x444363){if(_0x444363){return _0x444363?{'count':_0x394e81,'rows':_0x444363}:null;}})[_0x4b40('0x21')](respondWithResult(_0x53532c,null))['catch'](handleError(_0x53532c,null));};exports[_0x4b40('0x4c')]=function(_0x554a7d,_0x554c56,_0x1a9792){if(_0x554a7d[_0x4b40('0x43')]['id']){delete _0x554a7d[_0x4b40('0x43')]['id'];}return db[_0x4b40('0x40')][_0x4b40('0x4a')]({'where':{'id':_0x554a7d[_0x4b40('0x44')]['id']}})['then'](handleEntityNotFound(_0x554c56,null))[_0x4b40('0x21')](function(_0x504df0){if(_0x504df0){return _0x504df0['setTags'](_0x554a7d['body'][_0x4b40('0x4d')]||[]);}return null;})[_0x4b40('0x21')](respondWithResult(_0x554c56,null))[_0x4b40('0x3e')](handleError(_0x554c56,null));};