4dcc28c1eafc688b3cfb1a7272fe95dc9f7ccb8a
[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 _0x53e3=['FreshdeskField','getDescriptions','Tag','getTags','setTags','ids','zip-dir','moment','bluebird','util','path','sox','fs-extra','lodash','squel','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','jayson/promise','client','http','request','then','info','FreshdeskConfiguration,\x20%s,\x20%s','request\x20sent','debug','error','code','message','result','sendStatus','status','end','json','offset','undefined','limit','count','apply','save','update','destroy','stack','name','send','merge','contact','agent','interaction','account','index','FreshdeskConfiguration','rawAttributes','fieldName','type','model','map','keys','query','filters','intersection','fields','length','attributes','nolimit','sort','where','pick','options','includeAll','rows','catch','params','find','create','body','getFields','findOne','filter','hasOwnProperty','order','getSubjects'];(function(_0x35f29e,_0xd4d1f2){var _0x3a76c2=function(_0x480c33){while(--_0x480c33){_0x35f29e['push'](_0x35f29e['shift']());}};_0x3a76c2(++_0xd4d1f2);}(_0x53e3,0x11d));var _0x353e=function(_0x25a5e5,_0x199a42){_0x25a5e5=_0x25a5e5-0x0;var _0xff8926=_0x53e3[_0x25a5e5];return _0xff8926;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x353e('0x0'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x353e('0x1'));var BPromise=require(_0x353e('0x2'));var Mustache=require('mustache');var util=require(_0x353e('0x3'));var path=require(_0x353e('0x4'));var sox=require(_0x353e('0x5'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x353e('0x6'));var _=require(_0x353e('0x7'));var squel=require(_0x353e('0x8'));var crypto=require(_0x353e('0x9'));var jsforce=require(_0x353e('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x353e('0xb'));var querystring=require(_0x353e('0xc'));var Papa=require(_0x353e('0xd'));var Redis=require(_0x353e('0xe'));var authService=require(_0x353e('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x353e('0x10'));var hardwareService=require(_0x353e('0x11'));var logger=require(_0x353e('0x12'))(_0x353e('0x13'));var utils=require('../../config/utils');var config=require(_0x353e('0x14'));var licenseUtil=require(_0x353e('0x15'));var db=require('../../mysqldb')['db'];var jayson=require(_0x353e('0x16'));var client=jayson[_0x353e('0x17')][_0x353e('0x18')]({'port':0x232a});function respondWithRpcPromise(_0x476375,_0x39cc59,_0x4ef2cd,_0x2bb6e3){return new BPromise(function(_0x4da1e6,_0x8705b1){var _0x232917=_0x2bb6e3||client;return _0x232917[_0x353e('0x19')](_0x476375,_0x4ef2cd)[_0x353e('0x1a')](function(_0x249f21){logger[_0x353e('0x1b')](_0x353e('0x1c'),_0x39cc59,_0x353e('0x1d'));logger[_0x353e('0x1e')]('FreshdeskConfiguration,\x20%s,\x20%s,\x20%s',_0x39cc59,_0x353e('0x1d'),JSON['stringify'](_0x249f21));if(_0x249f21['error']){if(_0x249f21[_0x353e('0x1f')][_0x353e('0x20')]===0x1f4){logger[_0x353e('0x1f')](_0x353e('0x1c'),_0x39cc59,_0x249f21[_0x353e('0x1f')][_0x353e('0x21')]);return _0x8705b1(_0x249f21[_0x353e('0x1f')][_0x353e('0x21')]);}logger[_0x353e('0x1f')](_0x353e('0x1c'),_0x39cc59,_0x249f21[_0x353e('0x1f')]['message']);return _0x4da1e6(_0x249f21[_0x353e('0x1f')][_0x353e('0x21')]);}else{logger['info'](_0x353e('0x1c'),_0x39cc59,_0x353e('0x1d'));_0x4da1e6(_0x249f21[_0x353e('0x22')]['message']);}})['catch'](function(_0x102fd1){logger[_0x353e('0x1f')](_0x353e('0x1c'),_0x39cc59,_0x102fd1);_0x8705b1(_0x102fd1);});});}function respondWithStatusCode(_0x100407,_0x9c6e8b){_0x9c6e8b=_0x9c6e8b||0xcc;return function(_0xe4c75f){if(_0xe4c75f){return _0x100407[_0x353e('0x23')](_0x9c6e8b);}return _0x100407[_0x353e('0x24')](_0x9c6e8b)[_0x353e('0x25')]();};}function respondWithResult(_0x3feef2,_0x376589){_0x376589=_0x376589||0xc8;return function(_0x4d18d2){if(_0x4d18d2){return _0x3feef2[_0x353e('0x24')](_0x376589)[_0x353e('0x26')](_0x4d18d2);}};}function respondWithFilteredResult(_0x1ead85,_0x307bc4){return function(_0x2ba03e){if(_0x2ba03e){var _0x23a0a3=typeof _0x307bc4[_0x353e('0x27')]===_0x353e('0x28')&&typeof _0x307bc4[_0x353e('0x29')]==='undefined';var _0x5b97c3=_0x2ba03e[_0x353e('0x2a')];var _0x531ee5=_0x23a0a3?0x0:_0x307bc4[_0x353e('0x27')];var _0x1af9ed=_0x23a0a3?_0x2ba03e[_0x353e('0x2a')]:_0x307bc4[_0x353e('0x27')]+_0x307bc4[_0x353e('0x29')];var _0x2138f6;if(_0x1af9ed>=_0x5b97c3){_0x1af9ed=_0x5b97c3;_0x2138f6=0xc8;}else{_0x2138f6=0xce;}_0x1ead85[_0x353e('0x24')](_0x2138f6);return _0x1ead85['set']('Content-Range',_0x531ee5+'-'+_0x1af9ed+'/'+_0x5b97c3)[_0x353e('0x26')](_0x2ba03e);}return null;};}function patchUpdates(_0x322ce3){return function(_0x157e85){try{jsonpatch[_0x353e('0x2b')](_0x157e85,_0x322ce3,!![]);}catch(_0x26ae94){return BPromise['reject'](_0x26ae94);}return _0x157e85[_0x353e('0x2c')]();};}function saveUpdates(_0x47297e,_0xab6e93){return function(_0xc17a8f){if(_0xc17a8f){return _0xc17a8f[_0x353e('0x2d')](_0x47297e)['then'](function(_0x28e9e1){return _0x28e9e1;});}return null;};}function removeEntity(_0x5bbd31,_0x2a709d){return function(_0x2179ca){if(_0x2179ca){return _0x2179ca[_0x353e('0x2e')]()[_0x353e('0x1a')](function(){_0x5bbd31[_0x353e('0x24')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4c696c,_0x4ede9a){return function(_0x452281){if(!_0x452281){_0x4c696c[_0x353e('0x23')](0x194);}return _0x452281;};}function handleError(_0x18e2e5,_0x347765){_0x347765=_0x347765||0x1f4;return function(_0x1c7c3f){logger[_0x353e('0x1f')](_0x1c7c3f[_0x353e('0x2f')]);if(_0x1c7c3f[_0x353e('0x30')]){delete _0x1c7c3f[_0x353e('0x30')];}_0x18e2e5[_0x353e('0x24')](_0x347765)[_0x353e('0x31')](_0x1c7c3f);};}function getMustacheRender(_0xad168,_0x536dc0){return Mustache['render'](_0xad168,_[_0x353e('0x32')](_0x536dc0['body'],{'contact':_0x536dc0[_0x353e('0x33')],'message':_0x536dc0[_0x353e('0x21')],'agent':_0x536dc0[_0x353e('0x34')],'interaction':_0x536dc0[_0x353e('0x35')],'account':_0x536dc0[_0x353e('0x36')]}))||'';}exports[_0x353e('0x37')]=function(_0x2cece5,_0x101d28){var _0x517f36={},_0x510dc8={},_0x2973d3={'count':0x0,'rows':[]};var _0x3e9da9=_['map'](db[_0x353e('0x38')][_0x353e('0x39')],function(_0x3b7eca){return{'name':_0x3b7eca[_0x353e('0x3a')],'type':_0x3b7eca[_0x353e('0x3b')]['key']};});_0x510dc8[_0x353e('0x3c')]=_[_0x353e('0x3d')](_0x3e9da9,_0x353e('0x30'));_0x510dc8['query']=_[_0x353e('0x3e')](_0x2cece5[_0x353e('0x3f')]);_0x510dc8[_0x353e('0x40')]=_['intersection'](_0x510dc8[_0x353e('0x3c')],_0x510dc8[_0x353e('0x3f')]);_0x517f36['attributes']=_[_0x353e('0x41')](_0x510dc8[_0x353e('0x3c')],qs['fields'](_0x2cece5[_0x353e('0x3f')][_0x353e('0x42')]));_0x517f36['attributes']=_0x517f36['attributes'][_0x353e('0x43')]?_0x517f36[_0x353e('0x44')]:_0x510dc8[_0x353e('0x3c')];if(!_0x2cece5[_0x353e('0x3f')]['hasOwnProperty'](_0x353e('0x45'))){_0x517f36[_0x353e('0x29')]=qs[_0x353e('0x29')](_0x2cece5[_0x353e('0x3f')][_0x353e('0x29')]);_0x517f36['offset']=qs[_0x353e('0x27')](_0x2cece5[_0x353e('0x3f')][_0x353e('0x27')]);}_0x517f36['order']=qs['sort'](_0x2cece5['query'][_0x353e('0x46')]);_0x517f36[_0x353e('0x47')]=qs['filters'](_[_0x353e('0x48')](_0x2cece5[_0x353e('0x3f')],_0x510dc8[_0x353e('0x40')]),_0x3e9da9);if(_0x2cece5[_0x353e('0x3f')]['filter']){_0x517f36[_0x353e('0x47')]=_[_0x353e('0x32')](_0x517f36[_0x353e('0x47')],{'$or':_[_0x353e('0x3d')](_0x3e9da9,function(_0x108348){if(_0x108348[_0x353e('0x3b')]!=='VIRTUAL'){var _0x3d06be={};_0x3d06be[_0x108348[_0x353e('0x30')]]={'$like':'%'+_0x2cece5[_0x353e('0x3f')]['filter']+'%'};return _0x3d06be;}})});}_0x517f36=_[_0x353e('0x32')]({},_0x517f36,_0x2cece5[_0x353e('0x49')]);var _0x2add88={'where':_0x517f36[_0x353e('0x47')]};return db[_0x353e('0x38')][_0x353e('0x2a')](_0x2add88)[_0x353e('0x1a')](function(_0x5e3a7d){_0x2973d3[_0x353e('0x2a')]=_0x5e3a7d;if(_0x2cece5[_0x353e('0x3f')][_0x353e('0x4a')]){_0x517f36['include']=[{'all':!![]}];}return db['FreshdeskConfiguration']['findAll'](_0x517f36);})[_0x353e('0x1a')](function(_0x430cfb){_0x2973d3[_0x353e('0x4b')]=_0x430cfb;return _0x2973d3;})[_0x353e('0x1a')](respondWithFilteredResult(_0x101d28,_0x517f36))[_0x353e('0x4c')](handleError(_0x101d28,null));};exports['show']=function(_0x459682,_0x40f254){var _0x39b754={'raw':![],'where':{'id':_0x459682[_0x353e('0x4d')]['id']}},_0x2c1d09={};_0x2c1d09[_0x353e('0x3c')]=_[_0x353e('0x3e')](db['FreshdeskConfiguration']['rawAttributes']);_0x2c1d09[_0x353e('0x3f')]=_[_0x353e('0x3e')](_0x459682[_0x353e('0x3f')]);_0x2c1d09[_0x353e('0x40')]=_['intersection'](_0x2c1d09[_0x353e('0x3c')],_0x2c1d09[_0x353e('0x3f')]);_0x39b754[_0x353e('0x44')]=_[_0x353e('0x41')](_0x2c1d09[_0x353e('0x3c')],qs[_0x353e('0x42')](_0x459682[_0x353e('0x3f')]['fields']));_0x39b754[_0x353e('0x44')]=_0x39b754['attributes'][_0x353e('0x43')]?_0x39b754[_0x353e('0x44')]:_0x2c1d09[_0x353e('0x3c')];if(_0x459682[_0x353e('0x3f')][_0x353e('0x4a')]){_0x39b754['include']=[{'all':!![]}];}_0x39b754=_[_0x353e('0x32')]({},_0x39b754,_0x459682[_0x353e('0x49')]);return db[_0x353e('0x38')][_0x353e('0x4e')](_0x39b754)[_0x353e('0x1a')](handleEntityNotFound(_0x40f254,null))[_0x353e('0x1a')](respondWithResult(_0x40f254,null))[_0x353e('0x4c')](handleError(_0x40f254,null));};exports[_0x353e('0x4f')]=function(_0x286474,_0x204769){return db[_0x353e('0x38')][_0x353e('0x4f')](_0x286474[_0x353e('0x50')],{})[_0x353e('0x1a')](respondWithResult(_0x204769,0xc9))[_0x353e('0x4c')](handleError(_0x204769,null));};exports['update']=function(_0x114536,_0x7a7cb4){if(_0x114536[_0x353e('0x50')]['id']){delete _0x114536[_0x353e('0x50')]['id'];}return db['FreshdeskConfiguration'][_0x353e('0x4e')]({'where':{'id':_0x114536[_0x353e('0x4d')]['id']}})[_0x353e('0x1a')](handleEntityNotFound(_0x7a7cb4,null))[_0x353e('0x1a')](saveUpdates(_0x114536[_0x353e('0x50')],null))[_0x353e('0x1a')](respondWithResult(_0x7a7cb4,null))[_0x353e('0x4c')](handleError(_0x7a7cb4,null));};exports[_0x353e('0x2e')]=function(_0x1572d1,_0x76d74f){return db[_0x353e('0x38')][_0x353e('0x4e')]({'where':{'id':_0x1572d1[_0x353e('0x4d')]['id']}})['then'](handleEntityNotFound(_0x76d74f,null))[_0x353e('0x1a')](removeEntity(_0x76d74f,null))[_0x353e('0x4c')](handleError(_0x76d74f,null));};exports[_0x353e('0x51')]=function(_0x1cfe43,_0x153392,_0x473438){var _0x481dd6={};var _0x1e90d7={};var _0x74a826;var _0x5c9f25;return db[_0x353e('0x38')][_0x353e('0x52')]({'where':{'id':_0x1cfe43[_0x353e('0x4d')]['id']}})[_0x353e('0x1a')](handleEntityNotFound(_0x153392,null))[_0x353e('0x1a')](function(_0x3d0abd){if(_0x3d0abd){_0x74a826=_0x3d0abd;_0x1e90d7[_0x353e('0x3c')]=_[_0x353e('0x3e')](db['FreshdeskField'][_0x353e('0x39')]);_0x1e90d7[_0x353e('0x3f')]=_[_0x353e('0x3e')](_0x1cfe43['query']);_0x1e90d7[_0x353e('0x40')]=_['intersection'](_0x1e90d7['model'],_0x1e90d7[_0x353e('0x3f')]);_0x481dd6[_0x353e('0x44')]=_[_0x353e('0x41')](_0x1e90d7['model'],qs['fields'](_0x1cfe43[_0x353e('0x3f')][_0x353e('0x42')]));_0x481dd6[_0x353e('0x44')]=_0x481dd6[_0x353e('0x44')][_0x353e('0x43')]?_0x481dd6[_0x353e('0x44')]:_0x1e90d7['model'];_0x481dd6['order']=qs[_0x353e('0x46')](_0x1cfe43[_0x353e('0x3f')][_0x353e('0x46')]);_0x481dd6['where']=qs[_0x353e('0x40')](_['pick'](_0x1cfe43[_0x353e('0x3f')],_0x1e90d7[_0x353e('0x40')]));if(_0x1cfe43[_0x353e('0x3f')][_0x353e('0x53')]){_0x481dd6['where']=_['merge'](_0x481dd6[_0x353e('0x47')],{'$or':_[_0x353e('0x3d')](_0x481dd6[_0x353e('0x44')],function(_0x3f3c6e){var _0x28370a={};_0x28370a[_0x3f3c6e]={'$like':'%'+_0x1cfe43[_0x353e('0x3f')][_0x353e('0x53')]+'%'};return _0x28370a;})});}_0x481dd6=_[_0x353e('0x32')]({},_0x481dd6,_0x1cfe43[_0x353e('0x49')]);return _0x74a826[_0x353e('0x51')](_0x481dd6);}})[_0x353e('0x1a')](function(_0x445e17){if(_0x445e17){_0x5c9f25=_0x445e17[_0x353e('0x43')];if(!_0x1cfe43[_0x353e('0x3f')][_0x353e('0x54')]('nolimit')){_0x481dd6[_0x353e('0x29')]=qs['limit'](_0x1cfe43[_0x353e('0x3f')][_0x353e('0x29')]);_0x481dd6['offset']=qs[_0x353e('0x27')](_0x1cfe43[_0x353e('0x3f')][_0x353e('0x27')]);}return _0x74a826[_0x353e('0x51')](_0x481dd6);}})[_0x353e('0x1a')](function(_0x38add2){if(_0x38add2){return _0x38add2?{'count':_0x5c9f25,'rows':_0x38add2}:null;}})[_0x353e('0x1a')](respondWithResult(_0x153392,null))['catch'](handleError(_0x153392,null));};exports['getSubjects']=function(_0x448c8b,_0x520a0c,_0x3270de){var _0x1bb0f0={};var _0x3c3bdb={};var _0xf0cb1b;var _0x40945e;return db['FreshdeskConfiguration'][_0x353e('0x52')]({'where':{'id':_0x448c8b[_0x353e('0x4d')]['id']}})[_0x353e('0x1a')](handleEntityNotFound(_0x520a0c,null))[_0x353e('0x1a')](function(_0x145036){if(_0x145036){_0xf0cb1b=_0x145036;_0x3c3bdb[_0x353e('0x3c')]=_['keys'](db['FreshdeskField'][_0x353e('0x39')]);_0x3c3bdb[_0x353e('0x3f')]=_['keys'](_0x448c8b[_0x353e('0x3f')]);_0x3c3bdb[_0x353e('0x40')]=_[_0x353e('0x41')](_0x3c3bdb[_0x353e('0x3c')],_0x3c3bdb[_0x353e('0x3f')]);_0x1bb0f0[_0x353e('0x44')]=_['intersection'](_0x3c3bdb[_0x353e('0x3c')],qs[_0x353e('0x42')](_0x448c8b[_0x353e('0x3f')]['fields']));_0x1bb0f0[_0x353e('0x44')]=_0x1bb0f0[_0x353e('0x44')]['length']?_0x1bb0f0['attributes']:_0x3c3bdb[_0x353e('0x3c')];_0x1bb0f0[_0x353e('0x55')]=qs[_0x353e('0x46')](_0x448c8b[_0x353e('0x3f')][_0x353e('0x46')]);_0x1bb0f0[_0x353e('0x47')]=qs[_0x353e('0x40')](_['pick'](_0x448c8b[_0x353e('0x3f')],_0x3c3bdb[_0x353e('0x40')]));if(_0x448c8b['query'][_0x353e('0x53')]){_0x1bb0f0['where']=_[_0x353e('0x32')](_0x1bb0f0[_0x353e('0x47')],{'$or':_['map'](_0x1bb0f0[_0x353e('0x44')],function(_0x2c84f9){var _0x304006={};_0x304006[_0x2c84f9]={'$like':'%'+_0x448c8b[_0x353e('0x3f')][_0x353e('0x53')]+'%'};return _0x304006;})});}_0x1bb0f0=_[_0x353e('0x32')]({},_0x1bb0f0,_0x448c8b[_0x353e('0x49')]);return _0xf0cb1b[_0x353e('0x56')](_0x1bb0f0);}})[_0x353e('0x1a')](function(_0xfc9e59){if(_0xfc9e59){_0x40945e=_0xfc9e59[_0x353e('0x43')];if(!_0x448c8b['query'][_0x353e('0x54')](_0x353e('0x45'))){_0x1bb0f0[_0x353e('0x29')]=qs[_0x353e('0x29')](_0x448c8b[_0x353e('0x3f')][_0x353e('0x29')]);_0x1bb0f0[_0x353e('0x27')]=qs[_0x353e('0x27')](_0x448c8b[_0x353e('0x3f')]['offset']);}return _0xf0cb1b[_0x353e('0x56')](_0x1bb0f0);}})[_0x353e('0x1a')](function(_0x397802){if(_0x397802){return _0x397802?{'count':_0x40945e,'rows':_0x397802}:null;}})[_0x353e('0x1a')](respondWithResult(_0x520a0c,null))[_0x353e('0x4c')](handleError(_0x520a0c,null));};exports['getDescriptions']=function(_0xdfc588,_0x5cb329,_0x31e309){var _0xfc1eef={};var _0x5e5283={};var _0x504e6a;var _0x58c592;return db[_0x353e('0x38')][_0x353e('0x52')]({'where':{'id':_0xdfc588['params']['id']}})[_0x353e('0x1a')](handleEntityNotFound(_0x5cb329,null))[_0x353e('0x1a')](function(_0x5351f7){if(_0x5351f7){_0x504e6a=_0x5351f7;_0x5e5283[_0x353e('0x3c')]=_[_0x353e('0x3e')](db[_0x353e('0x57')][_0x353e('0x39')]);_0x5e5283[_0x353e('0x3f')]=_['keys'](_0xdfc588['query']);_0x5e5283[_0x353e('0x40')]=_[_0x353e('0x41')](_0x5e5283[_0x353e('0x3c')],_0x5e5283[_0x353e('0x3f')]);_0xfc1eef[_0x353e('0x44')]=_[_0x353e('0x41')](_0x5e5283[_0x353e('0x3c')],qs[_0x353e('0x42')](_0xdfc588['query'][_0x353e('0x42')]));_0xfc1eef['attributes']=_0xfc1eef['attributes'][_0x353e('0x43')]?_0xfc1eef[_0x353e('0x44')]:_0x5e5283[_0x353e('0x3c')];_0xfc1eef[_0x353e('0x55')]=qs[_0x353e('0x46')](_0xdfc588['query'][_0x353e('0x46')]);_0xfc1eef[_0x353e('0x47')]=qs[_0x353e('0x40')](_['pick'](_0xdfc588['query'],_0x5e5283[_0x353e('0x40')]));if(_0xdfc588[_0x353e('0x3f')]['filter']){_0xfc1eef[_0x353e('0x47')]=_[_0x353e('0x32')](_0xfc1eef[_0x353e('0x47')],{'$or':_[_0x353e('0x3d')](_0xfc1eef[_0x353e('0x44')],function(_0x2e1deb){var _0x1333cb={};_0x1333cb[_0x2e1deb]={'$like':'%'+_0xdfc588[_0x353e('0x3f')][_0x353e('0x53')]+'%'};return _0x1333cb;})});}_0xfc1eef=_[_0x353e('0x32')]({},_0xfc1eef,_0xdfc588['options']);return _0x504e6a[_0x353e('0x58')](_0xfc1eef);}})[_0x353e('0x1a')](function(_0xd97b7f){if(_0xd97b7f){_0x58c592=_0xd97b7f[_0x353e('0x43')];if(!_0xdfc588[_0x353e('0x3f')][_0x353e('0x54')]('nolimit')){_0xfc1eef['limit']=qs[_0x353e('0x29')](_0xdfc588[_0x353e('0x3f')]['limit']);_0xfc1eef[_0x353e('0x27')]=qs[_0x353e('0x27')](_0xdfc588[_0x353e('0x3f')][_0x353e('0x27')]);}return _0x504e6a['getDescriptions'](_0xfc1eef);}})[_0x353e('0x1a')](function(_0x325bdd){if(_0x325bdd){return _0x325bdd?{'count':_0x58c592,'rows':_0x325bdd}:null;}})['then'](respondWithResult(_0x5cb329,null))[_0x353e('0x4c')](handleError(_0x5cb329,null));};exports['getTags']=function(_0x48a086,_0x1bd95a,_0x536c5e){var _0x1f4834={};var _0x181f39={};var _0x45716c;var _0x4b2acc;return db[_0x353e('0x38')]['findOne']({'where':{'id':_0x48a086['params']['id']}})['then'](handleEntityNotFound(_0x1bd95a,null))[_0x353e('0x1a')](function(_0x42462c){if(_0x42462c){_0x45716c=_0x42462c;_0x181f39['model']=_[_0x353e('0x3e')](db[_0x353e('0x59')][_0x353e('0x39')]);_0x181f39['query']=_[_0x353e('0x3e')](_0x48a086[_0x353e('0x3f')]);_0x181f39[_0x353e('0x40')]=_[_0x353e('0x41')](_0x181f39[_0x353e('0x3c')],_0x181f39[_0x353e('0x3f')]);_0x1f4834[_0x353e('0x44')]=_['intersection'](_0x181f39['model'],qs[_0x353e('0x42')](_0x48a086[_0x353e('0x3f')][_0x353e('0x42')]));_0x1f4834[_0x353e('0x44')]=_0x1f4834[_0x353e('0x44')][_0x353e('0x43')]?_0x1f4834['attributes']:_0x181f39[_0x353e('0x3c')];_0x1f4834[_0x353e('0x55')]=qs[_0x353e('0x46')](_0x48a086[_0x353e('0x3f')][_0x353e('0x46')]);_0x1f4834['where']=qs[_0x353e('0x40')](_[_0x353e('0x48')](_0x48a086[_0x353e('0x3f')],_0x181f39[_0x353e('0x40')]));if(_0x48a086[_0x353e('0x3f')][_0x353e('0x53')]){_0x1f4834[_0x353e('0x47')]=_[_0x353e('0x32')](_0x1f4834['where'],{'$or':_['map'](_0x1f4834['attributes'],function(_0x363bcb){var _0x4e7af4={};_0x4e7af4[_0x363bcb]={'$like':'%'+_0x48a086[_0x353e('0x3f')][_0x353e('0x53')]+'%'};return _0x4e7af4;})});}_0x1f4834=_[_0x353e('0x32')]({},_0x1f4834,_0x48a086[_0x353e('0x49')]);return _0x45716c[_0x353e('0x5a')](_0x1f4834);}})[_0x353e('0x1a')](function(_0x5a55f1){if(_0x5a55f1){_0x4b2acc=_0x5a55f1['length'];if(!_0x48a086[_0x353e('0x3f')]['hasOwnProperty'](_0x353e('0x45'))){_0x1f4834[_0x353e('0x29')]=qs[_0x353e('0x29')](_0x48a086[_0x353e('0x3f')]['limit']);_0x1f4834[_0x353e('0x27')]=qs[_0x353e('0x27')](_0x48a086['query']['offset']);}return _0x45716c[_0x353e('0x5a')](_0x1f4834);}})[_0x353e('0x1a')](function(_0x22a180){if(_0x22a180){return _0x22a180?{'count':_0x4b2acc,'rows':_0x22a180}:null;}})['then'](respondWithResult(_0x1bd95a,null))['catch'](handleError(_0x1bd95a,null));};exports['setTags']=function(_0x1011b1,_0x22a8d0,_0x371fb6){if(_0x1011b1[_0x353e('0x50')]['id']){delete _0x1011b1[_0x353e('0x50')]['id'];}return db[_0x353e('0x38')][_0x353e('0x52')]({'where':{'id':_0x1011b1['params']['id']}})['then'](handleEntityNotFound(_0x22a8d0,null))[_0x353e('0x1a')](function(_0x49ab83){if(_0x49ab83){return _0x49ab83[_0x353e('0x5b')](_0x1011b1[_0x353e('0x50')][_0x353e('0x5c')]||[]);}return null;})['then'](respondWithResult(_0x22a8d0,null))[_0x353e('0x4c')](handleError(_0x22a8d0,null));};