Built motion from commit 616d3211.|2.6.4
[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 _0xd7a4=['save','update','then','destroy','end','name','send','map','rawAttributes','fieldName','type','model','query','keys','intersection','attributes','fields','length','nolimit','order','sort','filters','where','merge','filter','options','include','FreshdeskConfiguration','findAll','rows','show','includeAll','find','catch','create','body','params','getFields','findOne','FreshdeskField','pick','hasOwnProperty','getSubjects','getDescriptions','getTags','Tag','setTags','ids','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','to-csv','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','offset','undefined','limit','count','set','json','apply','reject'];(function(_0x33487d,_0x26affb){var _0x30b25d=function(_0x4b7af6){while(--_0x4b7af6){_0x33487d['push'](_0x33487d['shift']());}};_0x30b25d(++_0x26affb);}(_0xd7a4,0x84));var _0x4d7a=function(_0x4d39fb,_0x4a795d){_0x4d39fb=_0x4d39fb-0x0;var _0x5c26f4=_0xd7a4[_0x4d39fb];return _0x5c26f4;};'use strict';var emlformat=require(_0x4d7a('0x0'));var rimraf=require(_0x4d7a('0x1'));var zipdir=require(_0x4d7a('0x2'));var jsonpatch=require(_0x4d7a('0x3'));var rp=require(_0x4d7a('0x4'));var moment=require(_0x4d7a('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x4d7a('0x6'));var util=require(_0x4d7a('0x7'));var path=require(_0x4d7a('0x8'));var sox=require(_0x4d7a('0x9'));var csv=require('to-csv');var ejs=require(_0x4d7a('0xa'));var fs=require('fs');var fs_extra=require(_0x4d7a('0xb'));var _=require(_0x4d7a('0xc'));var squel=require(_0x4d7a('0xd'));var crypto=require(_0x4d7a('0xe'));var jsforce=require(_0x4d7a('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x4d7a('0x10'));var querystring=require('querystring');var Papa=require(_0x4d7a('0x11'));var Redis=require(_0x4d7a('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x4d7a('0x13'));var as=require(_0x4d7a('0x14'));var hardwareService=require(_0x4d7a('0x15'));var logger=require(_0x4d7a('0x16'))(_0x4d7a('0x17'));var utils=require('../../config/utils');var config=require(_0x4d7a('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x4d7a('0x19'))['db'];function respondWithStatusCode(_0x40526f,_0x785447){_0x785447=_0x785447||0xcc;return function(_0x2219dc){if(_0x2219dc){return _0x40526f[_0x4d7a('0x1a')](_0x785447);}return _0x40526f[_0x4d7a('0x1b')](_0x785447)['end']();};}function respondWithResult(_0xe4a7e,_0x50e306){_0x50e306=_0x50e306||0xc8;return function(_0x604428){if(_0x604428){return _0xe4a7e[_0x4d7a('0x1b')](_0x50e306)['json'](_0x604428);}};}function respondWithFilteredResult(_0x2b5f1c,_0x2c8bb1){return function(_0x2d6884){if(_0x2d6884){var _0x8c7d86=typeof _0x2c8bb1[_0x4d7a('0x1c')]===_0x4d7a('0x1d')&&typeof _0x2c8bb1[_0x4d7a('0x1e')]===_0x4d7a('0x1d');var _0x87c007=_0x2d6884[_0x4d7a('0x1f')];var _0x282ec9=_0x8c7d86?0x0:_0x2c8bb1[_0x4d7a('0x1c')];var _0x4a0a47=_0x8c7d86?_0x2d6884[_0x4d7a('0x1f')]:_0x2c8bb1['offset']+_0x2c8bb1['limit'];var _0x4cd636;if(_0x4a0a47>=_0x87c007){_0x4a0a47=_0x87c007;_0x4cd636=0xc8;}else{_0x4cd636=0xce;}_0x2b5f1c[_0x4d7a('0x1b')](_0x4cd636);return _0x2b5f1c[_0x4d7a('0x20')]('Content-Range',_0x282ec9+'-'+_0x4a0a47+'/'+_0x87c007)[_0x4d7a('0x21')](_0x2d6884);}return null;};}function patchUpdates(_0x48f260){return function(_0x231454){try{jsonpatch[_0x4d7a('0x22')](_0x231454,_0x48f260,!![]);}catch(_0x5633f4){return BPromise[_0x4d7a('0x23')](_0x5633f4);}return _0x231454[_0x4d7a('0x24')]();};}function saveUpdates(_0x3434c1,_0x46cdeb){return function(_0x28a5e0){if(_0x28a5e0){return _0x28a5e0[_0x4d7a('0x25')](_0x3434c1)[_0x4d7a('0x26')](function(_0x5dec3a){return _0x5dec3a;});}return null;};}function removeEntity(_0x6292c1,_0x33d512){return function(_0x5a6776){if(_0x5a6776){return _0x5a6776[_0x4d7a('0x27')]()[_0x4d7a('0x26')](function(){_0x6292c1['status'](0xcc)[_0x4d7a('0x28')]();});}};}function handleEntityNotFound(_0x238946,_0x497271){return function(_0x9bcb4e){if(!_0x9bcb4e){_0x238946[_0x4d7a('0x1a')](0x194);}return _0x9bcb4e;};}function handleError(_0x4daa24,_0xabbe13){_0xabbe13=_0xabbe13||0x1f4;return function(_0x240412){logger['error'](_0x240412['stack']);if(_0x240412[_0x4d7a('0x29')]){delete _0x240412[_0x4d7a('0x29')];}_0x4daa24[_0x4d7a('0x1b')](_0xabbe13)[_0x4d7a('0x2a')](_0x240412);};}exports['index']=function(_0x2be127,_0x1a7b55){var _0x3d3c31={},_0xc5dca4={},_0x7f1289={'count':0x0,'rows':[]};var _0x5d3b5a=_[_0x4d7a('0x2b')](db['FreshdeskConfiguration'][_0x4d7a('0x2c')],function(_0x3b8d6b){return{'name':_0x3b8d6b[_0x4d7a('0x2d')],'type':_0x3b8d6b[_0x4d7a('0x2e')]['key']};});_0xc5dca4[_0x4d7a('0x2f')]=_[_0x4d7a('0x2b')](_0x5d3b5a,_0x4d7a('0x29'));_0xc5dca4[_0x4d7a('0x30')]=_[_0x4d7a('0x31')](_0x2be127['query']);_0xc5dca4['filters']=_[_0x4d7a('0x32')](_0xc5dca4[_0x4d7a('0x2f')],_0xc5dca4['query']);_0x3d3c31[_0x4d7a('0x33')]=_[_0x4d7a('0x32')](_0xc5dca4[_0x4d7a('0x2f')],qs[_0x4d7a('0x34')](_0x2be127[_0x4d7a('0x30')][_0x4d7a('0x34')]));_0x3d3c31['attributes']=_0x3d3c31['attributes'][_0x4d7a('0x35')]?_0x3d3c31[_0x4d7a('0x33')]:_0xc5dca4[_0x4d7a('0x2f')];if(!_0x2be127[_0x4d7a('0x30')]['hasOwnProperty'](_0x4d7a('0x36'))){_0x3d3c31['limit']=qs[_0x4d7a('0x1e')](_0x2be127[_0x4d7a('0x30')][_0x4d7a('0x1e')]);_0x3d3c31['offset']=qs[_0x4d7a('0x1c')](_0x2be127[_0x4d7a('0x30')][_0x4d7a('0x1c')]);}_0x3d3c31[_0x4d7a('0x37')]=qs[_0x4d7a('0x38')](_0x2be127['query'][_0x4d7a('0x38')]);_0x3d3c31['where']=qs[_0x4d7a('0x39')](_['pick'](_0x2be127[_0x4d7a('0x30')],_0xc5dca4['filters']),_0x5d3b5a);if(_0x2be127[_0x4d7a('0x30')]['filter']){_0x3d3c31[_0x4d7a('0x3a')]=_[_0x4d7a('0x3b')](_0x3d3c31[_0x4d7a('0x3a')],{'$or':_[_0x4d7a('0x2b')](_0x5d3b5a,function(_0x1d9cdc){if(_0x1d9cdc[_0x4d7a('0x2e')]!=='VIRTUAL'){var _0x3d7150={};_0x3d7150[_0x1d9cdc['name']]={'$like':'%'+_0x2be127['query'][_0x4d7a('0x3c')]+'%'};return _0x3d7150;}})});}_0x3d3c31=_[_0x4d7a('0x3b')]({},_0x3d3c31,_0x2be127[_0x4d7a('0x3d')]);var _0x4859cc={'where':_0x3d3c31[_0x4d7a('0x3a')]};return db['FreshdeskConfiguration'][_0x4d7a('0x1f')](_0x4859cc)[_0x4d7a('0x26')](function(_0x4d8ff1){_0x7f1289[_0x4d7a('0x1f')]=_0x4d8ff1;if(_0x2be127[_0x4d7a('0x30')]['includeAll']){_0x3d3c31[_0x4d7a('0x3e')]=[{'all':!![]}];}return db[_0x4d7a('0x3f')][_0x4d7a('0x40')](_0x3d3c31);})['then'](function(_0x3f8dbc){_0x7f1289[_0x4d7a('0x41')]=_0x3f8dbc;return _0x7f1289;})['then'](respondWithFilteredResult(_0x1a7b55,_0x3d3c31))['catch'](handleError(_0x1a7b55,null));};exports[_0x4d7a('0x42')]=function(_0x5b951a,_0x254487){var _0x1003bf={'raw':![],'where':{'id':_0x5b951a['params']['id']}},_0x5ee684={};_0x5ee684['model']=_[_0x4d7a('0x31')](db[_0x4d7a('0x3f')][_0x4d7a('0x2c')]);_0x5ee684['query']=_[_0x4d7a('0x31')](_0x5b951a[_0x4d7a('0x30')]);_0x5ee684['filters']=_[_0x4d7a('0x32')](_0x5ee684[_0x4d7a('0x2f')],_0x5ee684[_0x4d7a('0x30')]);_0x1003bf[_0x4d7a('0x33')]=_[_0x4d7a('0x32')](_0x5ee684[_0x4d7a('0x2f')],qs[_0x4d7a('0x34')](_0x5b951a['query'][_0x4d7a('0x34')]));_0x1003bf[_0x4d7a('0x33')]=_0x1003bf[_0x4d7a('0x33')][_0x4d7a('0x35')]?_0x1003bf['attributes']:_0x5ee684[_0x4d7a('0x2f')];if(_0x5b951a[_0x4d7a('0x30')][_0x4d7a('0x43')]){_0x1003bf[_0x4d7a('0x3e')]=[{'all':!![]}];}_0x1003bf=_[_0x4d7a('0x3b')]({},_0x1003bf,_0x5b951a[_0x4d7a('0x3d')]);return db['FreshdeskConfiguration'][_0x4d7a('0x44')](_0x1003bf)[_0x4d7a('0x26')](handleEntityNotFound(_0x254487,null))[_0x4d7a('0x26')](respondWithResult(_0x254487,null))[_0x4d7a('0x45')](handleError(_0x254487,null));};exports[_0x4d7a('0x46')]=function(_0x4be457,_0x1e8e41){return db['FreshdeskConfiguration'][_0x4d7a('0x46')](_0x4be457[_0x4d7a('0x47')],{})[_0x4d7a('0x26')](respondWithResult(_0x1e8e41,0xc9))['catch'](handleError(_0x1e8e41,null));};exports[_0x4d7a('0x25')]=function(_0x3cae3d,_0x4264d1){if(_0x3cae3d[_0x4d7a('0x47')]['id']){delete _0x3cae3d[_0x4d7a('0x47')]['id'];}return db[_0x4d7a('0x3f')]['find']({'where':{'id':_0x3cae3d[_0x4d7a('0x48')]['id']}})[_0x4d7a('0x26')](handleEntityNotFound(_0x4264d1,null))[_0x4d7a('0x26')](saveUpdates(_0x3cae3d['body'],null))['then'](respondWithResult(_0x4264d1,null))[_0x4d7a('0x45')](handleError(_0x4264d1,null));};exports[_0x4d7a('0x27')]=function(_0x30867c,_0x2fa158){return db[_0x4d7a('0x3f')]['find']({'where':{'id':_0x30867c['params']['id']}})[_0x4d7a('0x26')](handleEntityNotFound(_0x2fa158,null))[_0x4d7a('0x26')](removeEntity(_0x2fa158,null))[_0x4d7a('0x45')](handleError(_0x2fa158,null));};exports[_0x4d7a('0x49')]=function(_0x4f7173,_0x28754f,_0x56a673){var _0x4da5a0={};var _0x47f31f={};var _0x52a0d7;var _0x4bb3ab;return db['FreshdeskConfiguration'][_0x4d7a('0x4a')]({'where':{'id':_0x4f7173[_0x4d7a('0x48')]['id']}})[_0x4d7a('0x26')](handleEntityNotFound(_0x28754f,null))['then'](function(_0x38f824){if(_0x38f824){_0x52a0d7=_0x38f824;_0x47f31f[_0x4d7a('0x2f')]=_[_0x4d7a('0x31')](db[_0x4d7a('0x4b')][_0x4d7a('0x2c')]);_0x47f31f[_0x4d7a('0x30')]=_[_0x4d7a('0x31')](_0x4f7173[_0x4d7a('0x30')]);_0x47f31f[_0x4d7a('0x39')]=_['intersection'](_0x47f31f['model'],_0x47f31f[_0x4d7a('0x30')]);_0x4da5a0['attributes']=_[_0x4d7a('0x32')](_0x47f31f[_0x4d7a('0x2f')],qs[_0x4d7a('0x34')](_0x4f7173[_0x4d7a('0x30')]['fields']));_0x4da5a0['attributes']=_0x4da5a0[_0x4d7a('0x33')][_0x4d7a('0x35')]?_0x4da5a0['attributes']:_0x47f31f[_0x4d7a('0x2f')];_0x4da5a0[_0x4d7a('0x37')]=qs[_0x4d7a('0x38')](_0x4f7173[_0x4d7a('0x30')][_0x4d7a('0x38')]);_0x4da5a0[_0x4d7a('0x3a')]=qs[_0x4d7a('0x39')](_[_0x4d7a('0x4c')](_0x4f7173[_0x4d7a('0x30')],_0x47f31f[_0x4d7a('0x39')]));if(_0x4f7173[_0x4d7a('0x30')][_0x4d7a('0x3c')]){_0x4da5a0[_0x4d7a('0x3a')]=_[_0x4d7a('0x3b')](_0x4da5a0['where'],{'$or':_['map'](_0x4da5a0['attributes'],function(_0x437579){var _0x232e2d={};_0x232e2d[_0x437579]={'$like':'%'+_0x4f7173['query'][_0x4d7a('0x3c')]+'%'};return _0x232e2d;})});}_0x4da5a0=_[_0x4d7a('0x3b')]({},_0x4da5a0,_0x4f7173['options']);return _0x52a0d7[_0x4d7a('0x49')](_0x4da5a0);}})[_0x4d7a('0x26')](function(_0x9e6cf2){if(_0x9e6cf2){_0x4bb3ab=_0x9e6cf2[_0x4d7a('0x35')];if(!_0x4f7173[_0x4d7a('0x30')][_0x4d7a('0x4d')](_0x4d7a('0x36'))){_0x4da5a0['limit']=qs[_0x4d7a('0x1e')](_0x4f7173['query'][_0x4d7a('0x1e')]);_0x4da5a0[_0x4d7a('0x1c')]=qs['offset'](_0x4f7173[_0x4d7a('0x30')][_0x4d7a('0x1c')]);}return _0x52a0d7['getFields'](_0x4da5a0);}})[_0x4d7a('0x26')](function(_0xde6fbf){if(_0xde6fbf){return _0xde6fbf?{'count':_0x4bb3ab,'rows':_0xde6fbf}:null;}})[_0x4d7a('0x26')](respondWithResult(_0x28754f,null))[_0x4d7a('0x45')](handleError(_0x28754f,null));};exports[_0x4d7a('0x4e')]=function(_0x3cbe75,_0x49abea,_0x4c4d15){var _0x3d5093={};var _0x270bfc={};var _0x12aeb6;var _0x1739e8;return db[_0x4d7a('0x3f')][_0x4d7a('0x4a')]({'where':{'id':_0x3cbe75[_0x4d7a('0x48')]['id']}})[_0x4d7a('0x26')](handleEntityNotFound(_0x49abea,null))[_0x4d7a('0x26')](function(_0x2615b0){if(_0x2615b0){_0x12aeb6=_0x2615b0;_0x270bfc[_0x4d7a('0x2f')]=_[_0x4d7a('0x31')](db[_0x4d7a('0x4b')]['rawAttributes']);_0x270bfc['query']=_[_0x4d7a('0x31')](_0x3cbe75[_0x4d7a('0x30')]);_0x270bfc[_0x4d7a('0x39')]=_[_0x4d7a('0x32')](_0x270bfc[_0x4d7a('0x2f')],_0x270bfc[_0x4d7a('0x30')]);_0x3d5093[_0x4d7a('0x33')]=_[_0x4d7a('0x32')](_0x270bfc[_0x4d7a('0x2f')],qs['fields'](_0x3cbe75[_0x4d7a('0x30')]['fields']));_0x3d5093[_0x4d7a('0x33')]=_0x3d5093[_0x4d7a('0x33')][_0x4d7a('0x35')]?_0x3d5093['attributes']:_0x270bfc[_0x4d7a('0x2f')];_0x3d5093[_0x4d7a('0x37')]=qs[_0x4d7a('0x38')](_0x3cbe75[_0x4d7a('0x30')]['sort']);_0x3d5093[_0x4d7a('0x3a')]=qs[_0x4d7a('0x39')](_[_0x4d7a('0x4c')](_0x3cbe75[_0x4d7a('0x30')],_0x270bfc['filters']));if(_0x3cbe75[_0x4d7a('0x30')]['filter']){_0x3d5093[_0x4d7a('0x3a')]=_[_0x4d7a('0x3b')](_0x3d5093[_0x4d7a('0x3a')],{'$or':_['map'](_0x3d5093[_0x4d7a('0x33')],function(_0x5263d0){var _0x21aeeb={};_0x21aeeb[_0x5263d0]={'$like':'%'+_0x3cbe75[_0x4d7a('0x30')]['filter']+'%'};return _0x21aeeb;})});}_0x3d5093=_[_0x4d7a('0x3b')]({},_0x3d5093,_0x3cbe75[_0x4d7a('0x3d')]);return _0x12aeb6[_0x4d7a('0x4e')](_0x3d5093);}})[_0x4d7a('0x26')](function(_0x3d5034){if(_0x3d5034){_0x1739e8=_0x3d5034['length'];if(!_0x3cbe75[_0x4d7a('0x30')]['hasOwnProperty'](_0x4d7a('0x36'))){_0x3d5093[_0x4d7a('0x1e')]=qs[_0x4d7a('0x1e')](_0x3cbe75[_0x4d7a('0x30')][_0x4d7a('0x1e')]);_0x3d5093[_0x4d7a('0x1c')]=qs[_0x4d7a('0x1c')](_0x3cbe75[_0x4d7a('0x30')][_0x4d7a('0x1c')]);}return _0x12aeb6[_0x4d7a('0x4e')](_0x3d5093);}})[_0x4d7a('0x26')](function(_0x366b90){if(_0x366b90){return _0x366b90?{'count':_0x1739e8,'rows':_0x366b90}:null;}})[_0x4d7a('0x26')](respondWithResult(_0x49abea,null))[_0x4d7a('0x45')](handleError(_0x49abea,null));};exports[_0x4d7a('0x4f')]=function(_0x18e961,_0x49fbc1,_0x3cdc53){var _0x4d54a0={};var _0x268f59={};var _0x37e113;var _0x1830c5;return db['FreshdeskConfiguration'][_0x4d7a('0x4a')]({'where':{'id':_0x18e961[_0x4d7a('0x48')]['id']}})['then'](handleEntityNotFound(_0x49fbc1,null))[_0x4d7a('0x26')](function(_0xf04ad){if(_0xf04ad){_0x37e113=_0xf04ad;_0x268f59[_0x4d7a('0x2f')]=_['keys'](db[_0x4d7a('0x4b')][_0x4d7a('0x2c')]);_0x268f59['query']=_[_0x4d7a('0x31')](_0x18e961[_0x4d7a('0x30')]);_0x268f59[_0x4d7a('0x39')]=_[_0x4d7a('0x32')](_0x268f59['model'],_0x268f59[_0x4d7a('0x30')]);_0x4d54a0[_0x4d7a('0x33')]=_[_0x4d7a('0x32')](_0x268f59[_0x4d7a('0x2f')],qs[_0x4d7a('0x34')](_0x18e961[_0x4d7a('0x30')][_0x4d7a('0x34')]));_0x4d54a0[_0x4d7a('0x33')]=_0x4d54a0[_0x4d7a('0x33')]['length']?_0x4d54a0['attributes']:_0x268f59[_0x4d7a('0x2f')];_0x4d54a0['order']=qs[_0x4d7a('0x38')](_0x18e961[_0x4d7a('0x30')]['sort']);_0x4d54a0[_0x4d7a('0x3a')]=qs[_0x4d7a('0x39')](_[_0x4d7a('0x4c')](_0x18e961['query'],_0x268f59[_0x4d7a('0x39')]));if(_0x18e961['query']['filter']){_0x4d54a0[_0x4d7a('0x3a')]=_[_0x4d7a('0x3b')](_0x4d54a0[_0x4d7a('0x3a')],{'$or':_['map'](_0x4d54a0[_0x4d7a('0x33')],function(_0x142601){var _0x15bbb5={};_0x15bbb5[_0x142601]={'$like':'%'+_0x18e961[_0x4d7a('0x30')][_0x4d7a('0x3c')]+'%'};return _0x15bbb5;})});}_0x4d54a0=_['merge']({},_0x4d54a0,_0x18e961[_0x4d7a('0x3d')]);return _0x37e113[_0x4d7a('0x4f')](_0x4d54a0);}})[_0x4d7a('0x26')](function(_0x57e368){if(_0x57e368){_0x1830c5=_0x57e368['length'];if(!_0x18e961[_0x4d7a('0x30')][_0x4d7a('0x4d')]('nolimit')){_0x4d54a0[_0x4d7a('0x1e')]=qs[_0x4d7a('0x1e')](_0x18e961[_0x4d7a('0x30')][_0x4d7a('0x1e')]);_0x4d54a0['offset']=qs[_0x4d7a('0x1c')](_0x18e961['query'][_0x4d7a('0x1c')]);}return _0x37e113[_0x4d7a('0x4f')](_0x4d54a0);}})[_0x4d7a('0x26')](function(_0x26a88a){if(_0x26a88a){return _0x26a88a?{'count':_0x1830c5,'rows':_0x26a88a}:null;}})[_0x4d7a('0x26')](respondWithResult(_0x49fbc1,null))[_0x4d7a('0x45')](handleError(_0x49fbc1,null));};exports[_0x4d7a('0x50')]=function(_0x12d78b,_0x5e6b58,_0x19a7de){var _0xcdf9ec={};var _0x1b8a09={};var _0x45a885;var _0x26790c;return db['FreshdeskConfiguration'][_0x4d7a('0x4a')]({'where':{'id':_0x12d78b[_0x4d7a('0x48')]['id']}})[_0x4d7a('0x26')](handleEntityNotFound(_0x5e6b58,null))[_0x4d7a('0x26')](function(_0x55c92a){if(_0x55c92a){_0x45a885=_0x55c92a;_0x1b8a09['model']=_[_0x4d7a('0x31')](db[_0x4d7a('0x51')][_0x4d7a('0x2c')]);_0x1b8a09[_0x4d7a('0x30')]=_[_0x4d7a('0x31')](_0x12d78b['query']);_0x1b8a09['filters']=_[_0x4d7a('0x32')](_0x1b8a09[_0x4d7a('0x2f')],_0x1b8a09[_0x4d7a('0x30')]);_0xcdf9ec['attributes']=_[_0x4d7a('0x32')](_0x1b8a09['model'],qs[_0x4d7a('0x34')](_0x12d78b['query'][_0x4d7a('0x34')]));_0xcdf9ec[_0x4d7a('0x33')]=_0xcdf9ec[_0x4d7a('0x33')][_0x4d7a('0x35')]?_0xcdf9ec[_0x4d7a('0x33')]:_0x1b8a09[_0x4d7a('0x2f')];_0xcdf9ec[_0x4d7a('0x37')]=qs[_0x4d7a('0x38')](_0x12d78b[_0x4d7a('0x30')][_0x4d7a('0x38')]);_0xcdf9ec['where']=qs['filters'](_[_0x4d7a('0x4c')](_0x12d78b[_0x4d7a('0x30')],_0x1b8a09[_0x4d7a('0x39')]));if(_0x12d78b[_0x4d7a('0x30')][_0x4d7a('0x3c')]){_0xcdf9ec[_0x4d7a('0x3a')]=_[_0x4d7a('0x3b')](_0xcdf9ec['where'],{'$or':_[_0x4d7a('0x2b')](_0xcdf9ec[_0x4d7a('0x33')],function(_0x723ab4){var _0x15cd24={};_0x15cd24[_0x723ab4]={'$like':'%'+_0x12d78b[_0x4d7a('0x30')][_0x4d7a('0x3c')]+'%'};return _0x15cd24;})});}_0xcdf9ec=_[_0x4d7a('0x3b')]({},_0xcdf9ec,_0x12d78b['options']);return _0x45a885[_0x4d7a('0x50')](_0xcdf9ec);}})['then'](function(_0x4ee906){if(_0x4ee906){_0x26790c=_0x4ee906[_0x4d7a('0x35')];if(!_0x12d78b[_0x4d7a('0x30')][_0x4d7a('0x4d')](_0x4d7a('0x36'))){_0xcdf9ec[_0x4d7a('0x1e')]=qs[_0x4d7a('0x1e')](_0x12d78b[_0x4d7a('0x30')][_0x4d7a('0x1e')]);_0xcdf9ec[_0x4d7a('0x1c')]=qs[_0x4d7a('0x1c')](_0x12d78b[_0x4d7a('0x30')][_0x4d7a('0x1c')]);}return _0x45a885[_0x4d7a('0x50')](_0xcdf9ec);}})[_0x4d7a('0x26')](function(_0x1ae911){if(_0x1ae911){return _0x1ae911?{'count':_0x26790c,'rows':_0x1ae911}:null;}})['then'](respondWithResult(_0x5e6b58,null))[_0x4d7a('0x45')](handleError(_0x5e6b58,null));};exports['setTags']=function(_0x1608c7,_0x2ff84f,_0x177794){if(_0x1608c7[_0x4d7a('0x47')]['id']){delete _0x1608c7[_0x4d7a('0x47')]['id'];}return db[_0x4d7a('0x3f')][_0x4d7a('0x4a')]({'where':{'id':_0x1608c7[_0x4d7a('0x48')]['id']}})[_0x4d7a('0x26')](handleEntityNotFound(_0x2ff84f,null))['then'](function(_0x238c24){if(_0x238c24){return _0x238c24[_0x4d7a('0x52')](_0x1608c7['body'][_0x4d7a('0x53')]||[]);}return null;})[_0x4d7a('0x26')](respondWithResult(_0x2ff84f,null))['catch'](handleError(_0x2ff84f,null));};