b9de5bedf4cd0154e415514f6f8676dc9fc2a659
[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 _0xf731=['hasOwnProperty','nolimit','order','sort','pick','merge','VIRTUAL','filter','where','count','includeAll','include','findAll','show','params','options','create','body','find','findOne','FreshdeskField','getFields','getDescriptions','map','Tag','getTags','setTags','ids','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','client','http','request','then','info','FreshdeskConfiguration,\x20%s,\x20%s','request\x20sent','debug','FreshdeskConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','json','offset','limit','set','Content-Range','reject','save','update','destroy','end','name','send','index','FreshdeskConfiguration','rawAttributes','type','key','model','query','keys','filters','intersection','fields','attributes','length'];(function(_0x1cfaa1,_0x437686){var _0x451e02=function(_0x7de656){while(--_0x7de656){_0x1cfaa1['push'](_0x1cfaa1['shift']());}};_0x451e02(++_0x437686);}(_0xf731,0xde));var _0x1f73=function(_0x59a539,_0x484818){_0x59a539=_0x59a539-0x0;var _0x5b9187=_0xf731[_0x59a539];return _0x5b9187;};'use strict';var pdf=require(_0x1f73('0x0'));var emlformat=require(_0x1f73('0x1'));var rimraf=require(_0x1f73('0x2'));var zipdir=require(_0x1f73('0x3'));var jsonpatch=require(_0x1f73('0x4'));var rp=require(_0x1f73('0x5'));var moment=require(_0x1f73('0x6'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x1f73('0x7'));var path=require(_0x1f73('0x8'));var sox=require(_0x1f73('0x9'));var csv=require(_0x1f73('0xa'));var ejs=require(_0x1f73('0xb'));var fs=require('fs');var _=require(_0x1f73('0xc'));var squel=require(_0x1f73('0xd'));var crypto=require(_0x1f73('0xe'));var jsforce=require(_0x1f73('0xf'));var deskjs=require(_0x1f73('0x10'));var toCsv=require(_0x1f73('0xa'));var querystring=require(_0x1f73('0x11'));var Papa=require('papaparse');var Redis=require(_0x1f73('0x12'));var authService=require(_0x1f73('0x13'));var qs=require(_0x1f73('0x14'));var as=require(_0x1f73('0x15'));var hardwareService=require(_0x1f73('0x16'));var logger=require(_0x1f73('0x17'))('api');var utils=require(_0x1f73('0x18'));var config=require(_0x1f73('0x19'));var licenseUtil=require(_0x1f73('0x1a'));var db=require('../../mysqldb')['db'];var jayson=require('jayson/promise');var client=jayson[_0x1f73('0x1b')][_0x1f73('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0x56b51b,_0x4f5021,_0x4f67dc,_0x3f372b){return new BPromise(function(_0x4f8b2d,_0x29b089){var _0x3b4845=_0x3f372b||client;return _0x3b4845[_0x1f73('0x1d')](_0x56b51b,_0x4f67dc)[_0x1f73('0x1e')](function(_0x1edc7d){logger[_0x1f73('0x1f')](_0x1f73('0x20'),_0x4f5021,_0x1f73('0x21'));logger[_0x1f73('0x22')](_0x1f73('0x23'),_0x4f5021,_0x1f73('0x21'),JSON[_0x1f73('0x24')](_0x1edc7d));if(_0x1edc7d[_0x1f73('0x25')]){if(_0x1edc7d[_0x1f73('0x25')][_0x1f73('0x26')]===0x1f4){logger['error'](_0x1f73('0x20'),_0x4f5021,_0x1edc7d['error'][_0x1f73('0x27')]);return _0x29b089(_0x1edc7d[_0x1f73('0x25')][_0x1f73('0x27')]);}logger[_0x1f73('0x25')](_0x1f73('0x20'),_0x4f5021,_0x1edc7d[_0x1f73('0x25')][_0x1f73('0x27')]);return _0x4f8b2d(_0x1edc7d['error'][_0x1f73('0x27')]);}else{logger[_0x1f73('0x1f')](_0x1f73('0x20'),_0x4f5021,_0x1f73('0x21'));_0x4f8b2d(_0x1edc7d[_0x1f73('0x28')][_0x1f73('0x27')]);}})[_0x1f73('0x29')](function(_0x3d58fd){logger['error'](_0x1f73('0x20'),_0x4f5021,_0x3d58fd);_0x29b089(_0x3d58fd);});});}function respondWithStatusCode(_0x22fe30,_0x488b39){_0x488b39=_0x488b39||0xcc;return function(_0x45bbec){if(_0x45bbec){return _0x22fe30[_0x1f73('0x2a')](_0x488b39);}return _0x22fe30['status'](_0x488b39)['end']();};}function respondWithResult(_0x9edb2e,_0x32338d){_0x32338d=_0x32338d||0xc8;return function(_0x5abc06){if(_0x5abc06){return _0x9edb2e[_0x1f73('0x2b')](_0x32338d)[_0x1f73('0x2c')](_0x5abc06);}};}function respondWithFilteredResult(_0x2218ee,_0x5c94bf){return function(_0x4bf1ee){if(_0x4bf1ee){var _0x2e0905=_0x4bf1ee['count'],_0x1fa579=_0x5c94bf['offset'],_0x5a3c8b=_0x5c94bf[_0x1f73('0x2d')]+_0x5c94bf[_0x1f73('0x2e')],_0x4e1367;if(_0x5a3c8b>=_0x2e0905){_0x5a3c8b=_0x2e0905;_0x4e1367=0xc8;}else{_0x4e1367=0xce;}_0x2218ee[_0x1f73('0x2b')](_0x4e1367);return _0x2218ee[_0x1f73('0x2f')](_0x1f73('0x30'),_0x1fa579+'-'+_0x5a3c8b+'/'+_0x2e0905)[_0x1f73('0x2c')](_0x4bf1ee);}return null;};}function patchUpdates(_0x953dbb){return function(_0x46a6b6){try{jsonpatch['apply'](_0x46a6b6,_0x953dbb,!![]);}catch(_0x52a5fa){return BPromise[_0x1f73('0x31')](_0x52a5fa);}return _0x46a6b6[_0x1f73('0x32')]();};}function saveUpdates(_0x4adbd4,_0x10d93b){return function(_0x2d1f65){if(_0x2d1f65){return _0x2d1f65[_0x1f73('0x33')](_0x4adbd4)[_0x1f73('0x1e')](function(_0xb90308){return _0xb90308;});}return null;};}function removeEntity(_0x581542,_0x595231){return function(_0x3c94bb){if(_0x3c94bb){return _0x3c94bb[_0x1f73('0x34')]()[_0x1f73('0x1e')](function(){_0x581542[_0x1f73('0x2b')](0xcc)[_0x1f73('0x35')]();});}};}function handleEntityNotFound(_0x179ca2,_0x1f376e){return function(_0xe717d){if(!_0xe717d){_0x179ca2[_0x1f73('0x2a')](0x194);}return _0xe717d;};}function handleError(_0x1cfc29,_0x2b3073){_0x2b3073=_0x2b3073||0x1f4;return function(_0x52daa0){logger['error'](_0x52daa0['stack']);if(_0x52daa0[_0x1f73('0x36')]){delete _0x52daa0['name'];}_0x1cfc29[_0x1f73('0x2b')](_0x2b3073)[_0x1f73('0x37')](_0x52daa0);};}exports[_0x1f73('0x38')]=function(_0x52f564,_0x1c751f){var _0x42cb70={},_0x2f61d3={},_0x792525={'count':0x0,'rows':[]};var _0x3b072e=_['map'](db[_0x1f73('0x39')][_0x1f73('0x3a')],function(_0x18e732){return{'name':_0x18e732['fieldName'],'type':_0x18e732[_0x1f73('0x3b')][_0x1f73('0x3c')]};});_0x2f61d3[_0x1f73('0x3d')]=_['map'](_0x3b072e,'name');_0x2f61d3[_0x1f73('0x3e')]=_[_0x1f73('0x3f')](_0x52f564[_0x1f73('0x3e')]);_0x2f61d3[_0x1f73('0x40')]=_[_0x1f73('0x41')](_0x2f61d3['model'],_0x2f61d3['query']);_0x42cb70['attributes']=_[_0x1f73('0x41')](_0x2f61d3[_0x1f73('0x3d')],qs[_0x1f73('0x42')](_0x52f564[_0x1f73('0x3e')][_0x1f73('0x42')]));_0x42cb70[_0x1f73('0x43')]=_0x42cb70[_0x1f73('0x43')][_0x1f73('0x44')]?_0x42cb70['attributes']:_0x2f61d3[_0x1f73('0x3d')];if(!_0x52f564[_0x1f73('0x3e')][_0x1f73('0x45')](_0x1f73('0x46'))){_0x42cb70['limit']=qs[_0x1f73('0x2e')](_0x52f564[_0x1f73('0x3e')][_0x1f73('0x2e')]);_0x42cb70[_0x1f73('0x2d')]=qs['offset'](_0x52f564[_0x1f73('0x3e')][_0x1f73('0x2d')]);}_0x42cb70[_0x1f73('0x47')]=qs[_0x1f73('0x48')](_0x52f564['query'][_0x1f73('0x48')]);_0x42cb70['where']=qs[_0x1f73('0x40')](_[_0x1f73('0x49')](_0x52f564[_0x1f73('0x3e')],_0x2f61d3['filters']),_0x3b072e);if(_0x52f564[_0x1f73('0x3e')]['filter']){_0x42cb70['where']=_[_0x1f73('0x4a')](_0x42cb70['where'],{'$or':_['map'](_0x3b072e,function(_0x1f7794){if(_0x1f7794['type']!==_0x1f73('0x4b')){var _0x152adf={};_0x152adf[_0x1f7794[_0x1f73('0x36')]]={'$like':'%'+_0x52f564[_0x1f73('0x3e')][_0x1f73('0x4c')]+'%'};return _0x152adf;}})});}_0x42cb70=_[_0x1f73('0x4a')]({},_0x42cb70,_0x52f564['options']);var _0x254fd4={'where':_0x42cb70[_0x1f73('0x4d')]};return db[_0x1f73('0x39')][_0x1f73('0x4e')](_0x254fd4)['then'](function(_0x17587c){_0x792525[_0x1f73('0x4e')]=_0x17587c;if(_0x52f564[_0x1f73('0x3e')][_0x1f73('0x4f')]){_0x42cb70[_0x1f73('0x50')]=[{'all':!![]}];}return db[_0x1f73('0x39')][_0x1f73('0x51')](_0x42cb70);})['then'](function(_0x2f7b7d){_0x792525['rows']=_0x2f7b7d;return _0x792525;})[_0x1f73('0x1e')](respondWithFilteredResult(_0x1c751f,_0x42cb70))[_0x1f73('0x29')](handleError(_0x1c751f,null));};exports[_0x1f73('0x52')]=function(_0x57e3d4,_0x4f4bde){var _0x454ec8={'raw':![],'where':{'id':_0x57e3d4[_0x1f73('0x53')]['id']}},_0x300497={};_0x300497[_0x1f73('0x3d')]=_['keys'](db['FreshdeskConfiguration'][_0x1f73('0x3a')]);_0x300497['query']=_[_0x1f73('0x3f')](_0x57e3d4[_0x1f73('0x3e')]);_0x300497[_0x1f73('0x40')]=_[_0x1f73('0x41')](_0x300497[_0x1f73('0x3d')],_0x300497[_0x1f73('0x3e')]);_0x454ec8[_0x1f73('0x43')]=_[_0x1f73('0x41')](_0x300497[_0x1f73('0x3d')],qs['fields'](_0x57e3d4[_0x1f73('0x3e')][_0x1f73('0x42')]));_0x454ec8[_0x1f73('0x43')]=_0x454ec8['attributes'][_0x1f73('0x44')]?_0x454ec8[_0x1f73('0x43')]:_0x300497['model'];if(_0x57e3d4[_0x1f73('0x3e')][_0x1f73('0x4f')]){_0x454ec8['include']=[{'all':!![]}];}_0x454ec8=_[_0x1f73('0x4a')]({},_0x454ec8,_0x57e3d4[_0x1f73('0x54')]);return db[_0x1f73('0x39')]['find'](_0x454ec8)[_0x1f73('0x1e')](handleEntityNotFound(_0x4f4bde,null))[_0x1f73('0x1e')](respondWithResult(_0x4f4bde,null))[_0x1f73('0x29')](handleError(_0x4f4bde,null));};exports['create']=function(_0x2bcc1b,_0x5aaf47){return db[_0x1f73('0x39')][_0x1f73('0x55')](_0x2bcc1b[_0x1f73('0x56')],{})[_0x1f73('0x1e')](respondWithResult(_0x5aaf47,0xc9))[_0x1f73('0x29')](handleError(_0x5aaf47,null));};exports[_0x1f73('0x33')]=function(_0x249607,_0x240a7a){if(_0x249607[_0x1f73('0x56')]['id']){delete _0x249607[_0x1f73('0x56')]['id'];}return db[_0x1f73('0x39')][_0x1f73('0x57')]({'where':{'id':_0x249607['params']['id']}})[_0x1f73('0x1e')](handleEntityNotFound(_0x240a7a,null))[_0x1f73('0x1e')](saveUpdates(_0x249607[_0x1f73('0x56')],null))[_0x1f73('0x1e')](respondWithResult(_0x240a7a,null))[_0x1f73('0x29')](handleError(_0x240a7a,null));};exports['destroy']=function(_0x2103b0,_0x4417d9){return db['FreshdeskConfiguration'][_0x1f73('0x57')]({'where':{'id':_0x2103b0[_0x1f73('0x53')]['id']}})[_0x1f73('0x1e')](handleEntityNotFound(_0x4417d9,null))[_0x1f73('0x1e')](removeEntity(_0x4417d9,null))[_0x1f73('0x29')](handleError(_0x4417d9,null));};exports['getFields']=function(_0x5761b7,_0x15ece1,_0x531176){var _0x1c4ca6={};var _0x399a55={};var _0xa86f65;var _0x160dbc;return db['FreshdeskConfiguration'][_0x1f73('0x58')]({'where':{'id':_0x5761b7[_0x1f73('0x53')]['id']}})[_0x1f73('0x1e')](handleEntityNotFound(_0x15ece1,null))[_0x1f73('0x1e')](function(_0x473a3f){if(_0x473a3f){_0xa86f65=_0x473a3f;_0x399a55[_0x1f73('0x3d')]=_[_0x1f73('0x3f')](db[_0x1f73('0x59')]['rawAttributes']);_0x399a55[_0x1f73('0x3e')]=_['keys'](_0x5761b7[_0x1f73('0x3e')]);_0x399a55[_0x1f73('0x40')]=_[_0x1f73('0x41')](_0x399a55[_0x1f73('0x3d')],_0x399a55[_0x1f73('0x3e')]);_0x1c4ca6[_0x1f73('0x43')]=_[_0x1f73('0x41')](_0x399a55[_0x1f73('0x3d')],qs[_0x1f73('0x42')](_0x5761b7[_0x1f73('0x3e')][_0x1f73('0x42')]));_0x1c4ca6['attributes']=_0x1c4ca6[_0x1f73('0x43')][_0x1f73('0x44')]?_0x1c4ca6[_0x1f73('0x43')]:_0x399a55[_0x1f73('0x3d')];_0x1c4ca6[_0x1f73('0x47')]=qs[_0x1f73('0x48')](_0x5761b7[_0x1f73('0x3e')][_0x1f73('0x48')]);_0x1c4ca6[_0x1f73('0x4d')]=qs[_0x1f73('0x40')](_[_0x1f73('0x49')](_0x5761b7[_0x1f73('0x3e')],_0x399a55[_0x1f73('0x40')]));if(_0x5761b7[_0x1f73('0x3e')][_0x1f73('0x4c')]){_0x1c4ca6[_0x1f73('0x4d')]=_[_0x1f73('0x4a')](_0x1c4ca6[_0x1f73('0x4d')],{'$or':_['map'](_0x1c4ca6[_0x1f73('0x43')],function(_0x5c5610){var _0x56385f={};_0x56385f[_0x5c5610]={'$like':'%'+_0x5761b7[_0x1f73('0x3e')]['filter']+'%'};return _0x56385f;})});}_0x1c4ca6=_[_0x1f73('0x4a')]({},_0x1c4ca6,_0x5761b7[_0x1f73('0x54')]);return _0xa86f65[_0x1f73('0x5a')](_0x1c4ca6);}})[_0x1f73('0x1e')](function(_0x20a96e){if(_0x20a96e){_0x160dbc=_0x20a96e[_0x1f73('0x44')];if(!_0x5761b7[_0x1f73('0x3e')]['hasOwnProperty'](_0x1f73('0x46'))){_0x1c4ca6['limit']=qs[_0x1f73('0x2e')](_0x5761b7[_0x1f73('0x3e')][_0x1f73('0x2e')]);_0x1c4ca6[_0x1f73('0x2d')]=qs[_0x1f73('0x2d')](_0x5761b7[_0x1f73('0x3e')]['offset']);}return _0xa86f65[_0x1f73('0x5a')](_0x1c4ca6);}})[_0x1f73('0x1e')](function(_0x5a873d){if(_0x5a873d){return _0x5a873d?{'count':_0x160dbc,'rows':_0x5a873d}:null;}})[_0x1f73('0x1e')](respondWithResult(_0x15ece1,null))[_0x1f73('0x29')](handleError(_0x15ece1,null));};exports['getSubjects']=function(_0x28a275,_0x591e8a,_0x4621e5){var _0x1d9f96={};var _0x5f50c0={};var _0x5558b;var _0xc1c977;return db[_0x1f73('0x39')][_0x1f73('0x58')]({'where':{'id':_0x28a275[_0x1f73('0x53')]['id']}})[_0x1f73('0x1e')](handleEntityNotFound(_0x591e8a,null))[_0x1f73('0x1e')](function(_0xd9abcb){if(_0xd9abcb){_0x5558b=_0xd9abcb;_0x5f50c0['model']=_[_0x1f73('0x3f')](db[_0x1f73('0x59')][_0x1f73('0x3a')]);_0x5f50c0[_0x1f73('0x3e')]=_['keys'](_0x28a275['query']);_0x5f50c0[_0x1f73('0x40')]=_['intersection'](_0x5f50c0[_0x1f73('0x3d')],_0x5f50c0[_0x1f73('0x3e')]);_0x1d9f96[_0x1f73('0x43')]=_['intersection'](_0x5f50c0[_0x1f73('0x3d')],qs['fields'](_0x28a275[_0x1f73('0x3e')][_0x1f73('0x42')]));_0x1d9f96[_0x1f73('0x43')]=_0x1d9f96[_0x1f73('0x43')][_0x1f73('0x44')]?_0x1d9f96[_0x1f73('0x43')]:_0x5f50c0['model'];_0x1d9f96[_0x1f73('0x47')]=qs[_0x1f73('0x48')](_0x28a275['query'][_0x1f73('0x48')]);_0x1d9f96['where']=qs['filters'](_['pick'](_0x28a275[_0x1f73('0x3e')],_0x5f50c0[_0x1f73('0x40')]));if(_0x28a275[_0x1f73('0x3e')][_0x1f73('0x4c')]){_0x1d9f96[_0x1f73('0x4d')]=_['merge'](_0x1d9f96[_0x1f73('0x4d')],{'$or':_['map'](_0x1d9f96['attributes'],function(_0x1a9f05){var _0x42a3b2={};_0x42a3b2[_0x1a9f05]={'$like':'%'+_0x28a275[_0x1f73('0x3e')]['filter']+'%'};return _0x42a3b2;})});}_0x1d9f96=_['merge']({},_0x1d9f96,_0x28a275[_0x1f73('0x54')]);return _0x5558b['getSubjects'](_0x1d9f96);}})['then'](function(_0x466daf){if(_0x466daf){_0xc1c977=_0x466daf[_0x1f73('0x44')];if(!_0x28a275[_0x1f73('0x3e')][_0x1f73('0x45')](_0x1f73('0x46'))){_0x1d9f96[_0x1f73('0x2e')]=qs[_0x1f73('0x2e')](_0x28a275[_0x1f73('0x3e')]['limit']);_0x1d9f96[_0x1f73('0x2d')]=qs[_0x1f73('0x2d')](_0x28a275[_0x1f73('0x3e')][_0x1f73('0x2d')]);}return _0x5558b['getSubjects'](_0x1d9f96);}})[_0x1f73('0x1e')](function(_0x1d1ae9){if(_0x1d1ae9){return _0x1d1ae9?{'count':_0xc1c977,'rows':_0x1d1ae9}:null;}})[_0x1f73('0x1e')](respondWithResult(_0x591e8a,null))[_0x1f73('0x29')](handleError(_0x591e8a,null));};exports[_0x1f73('0x5b')]=function(_0x3fd91a,_0x8407d6,_0x40c5c7){var _0xed1822={};var _0xcc9235={};var _0x576823;var _0x24c535;return db['FreshdeskConfiguration'][_0x1f73('0x58')]({'where':{'id':_0x3fd91a[_0x1f73('0x53')]['id']}})[_0x1f73('0x1e')](handleEntityNotFound(_0x8407d6,null))['then'](function(_0x5afa4c){if(_0x5afa4c){_0x576823=_0x5afa4c;_0xcc9235[_0x1f73('0x3d')]=_['keys'](db['FreshdeskField'][_0x1f73('0x3a')]);_0xcc9235[_0x1f73('0x3e')]=_[_0x1f73('0x3f')](_0x3fd91a[_0x1f73('0x3e')]);_0xcc9235[_0x1f73('0x40')]=_[_0x1f73('0x41')](_0xcc9235[_0x1f73('0x3d')],_0xcc9235[_0x1f73('0x3e')]);_0xed1822[_0x1f73('0x43')]=_[_0x1f73('0x41')](_0xcc9235[_0x1f73('0x3d')],qs['fields'](_0x3fd91a[_0x1f73('0x3e')][_0x1f73('0x42')]));_0xed1822['attributes']=_0xed1822[_0x1f73('0x43')][_0x1f73('0x44')]?_0xed1822[_0x1f73('0x43')]:_0xcc9235[_0x1f73('0x3d')];_0xed1822[_0x1f73('0x47')]=qs[_0x1f73('0x48')](_0x3fd91a[_0x1f73('0x3e')][_0x1f73('0x48')]);_0xed1822['where']=qs['filters'](_['pick'](_0x3fd91a['query'],_0xcc9235['filters']));if(_0x3fd91a['query'][_0x1f73('0x4c')]){_0xed1822[_0x1f73('0x4d')]=_[_0x1f73('0x4a')](_0xed1822[_0x1f73('0x4d')],{'$or':_[_0x1f73('0x5c')](_0xed1822[_0x1f73('0x43')],function(_0x1edd08){var _0x21067e={};_0x21067e[_0x1edd08]={'$like':'%'+_0x3fd91a['query'][_0x1f73('0x4c')]+'%'};return _0x21067e;})});}_0xed1822=_['merge']({},_0xed1822,_0x3fd91a[_0x1f73('0x54')]);return _0x576823['getDescriptions'](_0xed1822);}})[_0x1f73('0x1e')](function(_0x524196){if(_0x524196){_0x24c535=_0x524196['length'];if(!_0x3fd91a['query'][_0x1f73('0x45')]('nolimit')){_0xed1822[_0x1f73('0x2e')]=qs[_0x1f73('0x2e')](_0x3fd91a[_0x1f73('0x3e')][_0x1f73('0x2e')]);_0xed1822[_0x1f73('0x2d')]=qs[_0x1f73('0x2d')](_0x3fd91a['query'][_0x1f73('0x2d')]);}return _0x576823[_0x1f73('0x5b')](_0xed1822);}})['then'](function(_0x585202){if(_0x585202){return _0x585202?{'count':_0x24c535,'rows':_0x585202}:null;}})['then'](respondWithResult(_0x8407d6,null))[_0x1f73('0x29')](handleError(_0x8407d6,null));};exports['getTags']=function(_0x4660f2,_0x1abf51,_0x3ddf11){var _0x576da1={};var _0x11b1b7={};var _0xb2d744;var _0x5e2ed3;return db[_0x1f73('0x39')][_0x1f73('0x58')]({'where':{'id':_0x4660f2[_0x1f73('0x53')]['id']}})[_0x1f73('0x1e')](handleEntityNotFound(_0x1abf51,null))[_0x1f73('0x1e')](function(_0x53ad9f){if(_0x53ad9f){_0xb2d744=_0x53ad9f;_0x11b1b7[_0x1f73('0x3d')]=_[_0x1f73('0x3f')](db[_0x1f73('0x5d')]['rawAttributes']);_0x11b1b7[_0x1f73('0x3e')]=_[_0x1f73('0x3f')](_0x4660f2['query']);_0x11b1b7[_0x1f73('0x40')]=_['intersection'](_0x11b1b7['model'],_0x11b1b7[_0x1f73('0x3e')]);_0x576da1['attributes']=_[_0x1f73('0x41')](_0x11b1b7[_0x1f73('0x3d')],qs[_0x1f73('0x42')](_0x4660f2[_0x1f73('0x3e')][_0x1f73('0x42')]));_0x576da1[_0x1f73('0x43')]=_0x576da1['attributes'][_0x1f73('0x44')]?_0x576da1['attributes']:_0x11b1b7[_0x1f73('0x3d')];_0x576da1[_0x1f73('0x47')]=qs[_0x1f73('0x48')](_0x4660f2[_0x1f73('0x3e')][_0x1f73('0x48')]);_0x576da1['where']=qs[_0x1f73('0x40')](_[_0x1f73('0x49')](_0x4660f2[_0x1f73('0x3e')],_0x11b1b7[_0x1f73('0x40')]));if(_0x4660f2[_0x1f73('0x3e')]['filter']){_0x576da1[_0x1f73('0x4d')]=_['merge'](_0x576da1[_0x1f73('0x4d')],{'$or':_[_0x1f73('0x5c')](_0x576da1[_0x1f73('0x43')],function(_0x547718){var _0x10292e={};_0x10292e[_0x547718]={'$like':'%'+_0x4660f2[_0x1f73('0x3e')]['filter']+'%'};return _0x10292e;})});}_0x576da1=_[_0x1f73('0x4a')]({},_0x576da1,_0x4660f2['options']);return _0xb2d744[_0x1f73('0x5e')](_0x576da1);}})['then'](function(_0x1c4cc1){if(_0x1c4cc1){_0x5e2ed3=_0x1c4cc1['length'];if(!_0x4660f2[_0x1f73('0x3e')]['hasOwnProperty'](_0x1f73('0x46'))){_0x576da1[_0x1f73('0x2e')]=qs['limit'](_0x4660f2[_0x1f73('0x3e')]['limit']);_0x576da1[_0x1f73('0x2d')]=qs['offset'](_0x4660f2[_0x1f73('0x3e')][_0x1f73('0x2d')]);}return _0xb2d744[_0x1f73('0x5e')](_0x576da1);}})[_0x1f73('0x1e')](function(_0x9b4379){if(_0x9b4379){return _0x9b4379?{'count':_0x5e2ed3,'rows':_0x9b4379}:null;}})[_0x1f73('0x1e')](respondWithResult(_0x1abf51,null))[_0x1f73('0x29')](handleError(_0x1abf51,null));};exports[_0x1f73('0x5f')]=function(_0x2d17a3,_0x53f9f0,_0xf66e39){if(_0x2d17a3[_0x1f73('0x56')]['id']){delete _0x2d17a3['body']['id'];}return db[_0x1f73('0x39')][_0x1f73('0x58')]({'where':{'id':_0x2d17a3[_0x1f73('0x53')]['id']}})['then'](handleEntityNotFound(_0x53f9f0,null))[_0x1f73('0x1e')](function(_0x251de0){if(_0x251de0){return _0x251de0[_0x1f73('0x5f')](_0x2d17a3[_0x1f73('0x56')][_0x1f73('0x60')]||[]);}return null;})[_0x1f73('0x1e')](respondWithResult(_0x53f9f0,null))[_0x1f73('0x29')](handleError(_0x53f9f0,null));};