Built motion from commit (unavailable).|2.6.0
[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 _0xa9ea=['send','index','map','FreshdeskConfiguration','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','show','params','rawAttributes','find','create','body','getFields','FreshdeskField','pick','getSubjects','findOne','getDescriptions','Tag','getTags','setTags','ids','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','client','http','request','request\x20sent','debug','FreshdeskConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','code','message','FreshdeskConfiguration,\x20%s,\x20%s','info','result','catch','sendStatus','status','json','undefined','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','end','name'];(function(_0x54268b,_0x46feab){var _0x3062e4=function(_0x5b77e3){while(--_0x5b77e3){_0x54268b['push'](_0x54268b['shift']());}};_0x3062e4(++_0x46feab);}(_0xa9ea,0x1b6));var _0xaa9e=function(_0xf89181,_0x2b1f87){_0xf89181=_0xf89181-0x0;var _0x4803f3=_0xa9ea[_0xf89181];return _0x4803f3;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xaa9e('0x0'));var zipdir=require(_0xaa9e('0x1'));var jsonpatch=require(_0xaa9e('0x2'));var rp=require(_0xaa9e('0x3'));var moment=require(_0xaa9e('0x4'));var BPromise=require(_0xaa9e('0x5'));var Mustache=require(_0xaa9e('0x6'));var util=require(_0xaa9e('0x7'));var path=require('path');var sox=require(_0xaa9e('0x8'));var csv=require(_0xaa9e('0x9'));var ejs=require(_0xaa9e('0xa'));var fs=require('fs');var fs_extra=require(_0xaa9e('0xb'));var _=require(_0xaa9e('0xc'));var squel=require(_0xaa9e('0xd'));var crypto=require(_0xaa9e('0xe'));var jsforce=require(_0xaa9e('0xf'));var deskjs=require(_0xaa9e('0x10'));var toCsv=require(_0xaa9e('0x9'));var querystring=require(_0xaa9e('0x11'));var Papa=require(_0xaa9e('0x12'));var Redis=require(_0xaa9e('0x13'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xaa9e('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xaa9e('0x15'))('api');var utils=require(_0xaa9e('0x16'));var config=require(_0xaa9e('0x17'));var licenseUtil=require(_0xaa9e('0x18'));var db=require(_0xaa9e('0x19'))['db'];var jayson=require('jayson/promise');var client=jayson[_0xaa9e('0x1a')][_0xaa9e('0x1b')]({'port':0x232a});function respondWithRpcPromise(_0x4ce2f9,_0x221432,_0x31e2c3,_0x29d1a2){return new BPromise(function(_0x3980a6,_0x54e878){var _0x597604=_0x29d1a2||client;return _0x597604[_0xaa9e('0x1c')](_0x4ce2f9,_0x31e2c3)['then'](function(_0x2bf20b){logger['info']('FreshdeskConfiguration,\x20%s,\x20%s',_0x221432,_0xaa9e('0x1d'));logger[_0xaa9e('0x1e')](_0xaa9e('0x1f'),_0x221432,_0xaa9e('0x1d'),JSON[_0xaa9e('0x20')](_0x2bf20b));if(_0x2bf20b[_0xaa9e('0x21')]){if(_0x2bf20b['error'][_0xaa9e('0x22')]===0x1f4){logger['error']('FreshdeskConfiguration,\x20%s,\x20%s',_0x221432,_0x2bf20b[_0xaa9e('0x21')][_0xaa9e('0x23')]);return _0x54e878(_0x2bf20b[_0xaa9e('0x21')]['message']);}logger[_0xaa9e('0x21')](_0xaa9e('0x24'),_0x221432,_0x2bf20b[_0xaa9e('0x21')][_0xaa9e('0x23')]);return _0x3980a6(_0x2bf20b[_0xaa9e('0x21')][_0xaa9e('0x23')]);}else{logger[_0xaa9e('0x25')](_0xaa9e('0x24'),_0x221432,_0xaa9e('0x1d'));_0x3980a6(_0x2bf20b[_0xaa9e('0x26')]['message']);}})[_0xaa9e('0x27')](function(_0x3c6273){logger['error'](_0xaa9e('0x24'),_0x221432,_0x3c6273);_0x54e878(_0x3c6273);});});}function respondWithStatusCode(_0x6111ba,_0x25d28f){_0x25d28f=_0x25d28f||0xcc;return function(_0x3925f5){if(_0x3925f5){return _0x6111ba[_0xaa9e('0x28')](_0x25d28f);}return _0x6111ba[_0xaa9e('0x29')](_0x25d28f)['end']();};}function respondWithResult(_0xb6df6d,_0x4eda9b){_0x4eda9b=_0x4eda9b||0xc8;return function(_0x469127){if(_0x469127){return _0xb6df6d[_0xaa9e('0x29')](_0x4eda9b)[_0xaa9e('0x2a')](_0x469127);}};}function respondWithFilteredResult(_0x4d495e,_0x20dcad){return function(_0x5adca2){if(_0x5adca2){var _0x207c2f=typeof _0x20dcad['offset']==='undefined'&&typeof _0x20dcad['limit']===_0xaa9e('0x2b');var _0x5f4167=_0x5adca2[_0xaa9e('0x2c')];var _0x2e512b=_0x207c2f?0x0:_0x20dcad[_0xaa9e('0x2d')];var _0x2b2f7f=_0x207c2f?_0x5adca2['count']:_0x20dcad[_0xaa9e('0x2d')]+_0x20dcad[_0xaa9e('0x2e')];var _0x2809e0;if(_0x2b2f7f>=_0x5f4167){_0x2b2f7f=_0x5f4167;_0x2809e0=0xc8;}else{_0x2809e0=0xce;}_0x4d495e['status'](_0x2809e0);return _0x4d495e[_0xaa9e('0x2f')](_0xaa9e('0x30'),_0x2e512b+'-'+_0x2b2f7f+'/'+_0x5f4167)['json'](_0x5adca2);}return null;};}function patchUpdates(_0x3c4ca3){return function(_0x39fcb4){try{jsonpatch[_0xaa9e('0x31')](_0x39fcb4,_0x3c4ca3,!![]);}catch(_0x30f8f2){return BPromise[_0xaa9e('0x32')](_0x30f8f2);}return _0x39fcb4[_0xaa9e('0x33')]();};}function saveUpdates(_0x558475,_0x51c57a){return function(_0x27d86e){if(_0x27d86e){return _0x27d86e[_0xaa9e('0x34')](_0x558475)[_0xaa9e('0x35')](function(_0x380211){return _0x380211;});}return null;};}function removeEntity(_0x594a31,_0x3a4d1f){return function(_0xeb08cf){if(_0xeb08cf){return _0xeb08cf[_0xaa9e('0x36')]()[_0xaa9e('0x35')](function(){_0x594a31[_0xaa9e('0x29')](0xcc)[_0xaa9e('0x37')]();});}};}function handleEntityNotFound(_0x5642bd,_0x5b2526){return function(_0x42879f){if(!_0x42879f){_0x5642bd['sendStatus'](0x194);}return _0x42879f;};}function handleError(_0x385595,_0x4abbe9){_0x4abbe9=_0x4abbe9||0x1f4;return function(_0x3e25cb){logger[_0xaa9e('0x21')](_0x3e25cb['stack']);if(_0x3e25cb['name']){delete _0x3e25cb[_0xaa9e('0x38')];}_0x385595['status'](_0x4abbe9)[_0xaa9e('0x39')](_0x3e25cb);};}exports[_0xaa9e('0x3a')]=function(_0x47442d,_0x2371a4){var _0x11c60a={},_0x49092e={},_0x16b597={'count':0x0,'rows':[]};var _0x1ae0d0=_[_0xaa9e('0x3b')](db[_0xaa9e('0x3c')]['rawAttributes'],function(_0x5ada6a){return{'name':_0x5ada6a['fieldName'],'type':_0x5ada6a['type']['key']};});_0x49092e['model']=_[_0xaa9e('0x3b')](_0x1ae0d0,_0xaa9e('0x38'));_0x49092e[_0xaa9e('0x3d')]=_[_0xaa9e('0x3e')](_0x47442d[_0xaa9e('0x3d')]);_0x49092e[_0xaa9e('0x3f')]=_[_0xaa9e('0x40')](_0x49092e[_0xaa9e('0x41')],_0x49092e[_0xaa9e('0x3d')]);_0x11c60a[_0xaa9e('0x42')]=_[_0xaa9e('0x40')](_0x49092e[_0xaa9e('0x41')],qs[_0xaa9e('0x43')](_0x47442d['query'][_0xaa9e('0x43')]));_0x11c60a[_0xaa9e('0x42')]=_0x11c60a[_0xaa9e('0x42')][_0xaa9e('0x44')]?_0x11c60a[_0xaa9e('0x42')]:_0x49092e['model'];if(!_0x47442d[_0xaa9e('0x3d')][_0xaa9e('0x45')](_0xaa9e('0x46'))){_0x11c60a['limit']=qs[_0xaa9e('0x2e')](_0x47442d[_0xaa9e('0x3d')]['limit']);_0x11c60a[_0xaa9e('0x2d')]=qs['offset'](_0x47442d[_0xaa9e('0x3d')][_0xaa9e('0x2d')]);}_0x11c60a[_0xaa9e('0x47')]=qs['sort'](_0x47442d[_0xaa9e('0x3d')][_0xaa9e('0x48')]);_0x11c60a[_0xaa9e('0x49')]=qs[_0xaa9e('0x3f')](_['pick'](_0x47442d[_0xaa9e('0x3d')],_0x49092e[_0xaa9e('0x3f')]),_0x1ae0d0);if(_0x47442d[_0xaa9e('0x3d')][_0xaa9e('0x4a')]){_0x11c60a[_0xaa9e('0x49')]=_[_0xaa9e('0x4b')](_0x11c60a[_0xaa9e('0x49')],{'$or':_[_0xaa9e('0x3b')](_0x1ae0d0,function(_0x57756e){if(_0x57756e[_0xaa9e('0x4c')]!==_0xaa9e('0x4d')){var _0x2f22c8={};_0x2f22c8[_0x57756e['name']]={'$like':'%'+_0x47442d[_0xaa9e('0x3d')][_0xaa9e('0x4a')]+'%'};return _0x2f22c8;}})});}_0x11c60a=_[_0xaa9e('0x4b')]({},_0x11c60a,_0x47442d[_0xaa9e('0x4e')]);var _0x2e8c5a={'where':_0x11c60a['where']};return db[_0xaa9e('0x3c')][_0xaa9e('0x2c')](_0x2e8c5a)[_0xaa9e('0x35')](function(_0x16e960){_0x16b597[_0xaa9e('0x2c')]=_0x16e960;if(_0x47442d[_0xaa9e('0x3d')][_0xaa9e('0x4f')]){_0x11c60a[_0xaa9e('0x50')]=[{'all':!![]}];}return db[_0xaa9e('0x3c')][_0xaa9e('0x51')](_0x11c60a);})[_0xaa9e('0x35')](function(_0x45312d){_0x16b597[_0xaa9e('0x52')]=_0x45312d;return _0x16b597;})[_0xaa9e('0x35')](respondWithFilteredResult(_0x2371a4,_0x11c60a))['catch'](handleError(_0x2371a4,null));};exports[_0xaa9e('0x53')]=function(_0x50208e,_0x2ceac4){var _0x2fe542={'raw':![],'where':{'id':_0x50208e[_0xaa9e('0x54')]['id']}},_0x4c2231={};_0x4c2231[_0xaa9e('0x41')]=_[_0xaa9e('0x3e')](db[_0xaa9e('0x3c')][_0xaa9e('0x55')]);_0x4c2231[_0xaa9e('0x3d')]=_[_0xaa9e('0x3e')](_0x50208e[_0xaa9e('0x3d')]);_0x4c2231[_0xaa9e('0x3f')]=_[_0xaa9e('0x40')](_0x4c2231[_0xaa9e('0x41')],_0x4c2231[_0xaa9e('0x3d')]);_0x2fe542['attributes']=_[_0xaa9e('0x40')](_0x4c2231[_0xaa9e('0x41')],qs[_0xaa9e('0x43')](_0x50208e[_0xaa9e('0x3d')]['fields']));_0x2fe542[_0xaa9e('0x42')]=_0x2fe542[_0xaa9e('0x42')][_0xaa9e('0x44')]?_0x2fe542[_0xaa9e('0x42')]:_0x4c2231[_0xaa9e('0x41')];if(_0x50208e['query'][_0xaa9e('0x4f')]){_0x2fe542['include']=[{'all':!![]}];}_0x2fe542=_[_0xaa9e('0x4b')]({},_0x2fe542,_0x50208e[_0xaa9e('0x4e')]);return db[_0xaa9e('0x3c')][_0xaa9e('0x56')](_0x2fe542)[_0xaa9e('0x35')](handleEntityNotFound(_0x2ceac4,null))[_0xaa9e('0x35')](respondWithResult(_0x2ceac4,null))['catch'](handleError(_0x2ceac4,null));};exports[_0xaa9e('0x57')]=function(_0x41d987,_0x5ec571){return db['FreshdeskConfiguration'][_0xaa9e('0x57')](_0x41d987[_0xaa9e('0x58')],{})[_0xaa9e('0x35')](respondWithResult(_0x5ec571,0xc9))[_0xaa9e('0x27')](handleError(_0x5ec571,null));};exports[_0xaa9e('0x34')]=function(_0x1d1df0,_0x4b37c0){if(_0x1d1df0[_0xaa9e('0x58')]['id']){delete _0x1d1df0[_0xaa9e('0x58')]['id'];}return db['FreshdeskConfiguration'][_0xaa9e('0x56')]({'where':{'id':_0x1d1df0[_0xaa9e('0x54')]['id']}})[_0xaa9e('0x35')](handleEntityNotFound(_0x4b37c0,null))['then'](saveUpdates(_0x1d1df0[_0xaa9e('0x58')],null))['then'](respondWithResult(_0x4b37c0,null))[_0xaa9e('0x27')](handleError(_0x4b37c0,null));};exports[_0xaa9e('0x36')]=function(_0x982648,_0x3af003){return db[_0xaa9e('0x3c')][_0xaa9e('0x56')]({'where':{'id':_0x982648[_0xaa9e('0x54')]['id']}})[_0xaa9e('0x35')](handleEntityNotFound(_0x3af003,null))[_0xaa9e('0x35')](removeEntity(_0x3af003,null))[_0xaa9e('0x27')](handleError(_0x3af003,null));};exports[_0xaa9e('0x59')]=function(_0x558ae5,_0x5e76eb,_0x17d4dc){var _0x19bf40={};var _0x321411={};var _0x2e695f;var _0x408032;return db[_0xaa9e('0x3c')]['findOne']({'where':{'id':_0x558ae5[_0xaa9e('0x54')]['id']}})[_0xaa9e('0x35')](handleEntityNotFound(_0x5e76eb,null))[_0xaa9e('0x35')](function(_0x4ecdea){if(_0x4ecdea){_0x2e695f=_0x4ecdea;_0x321411[_0xaa9e('0x41')]=_[_0xaa9e('0x3e')](db[_0xaa9e('0x5a')][_0xaa9e('0x55')]);_0x321411['query']=_[_0xaa9e('0x3e')](_0x558ae5[_0xaa9e('0x3d')]);_0x321411['filters']=_[_0xaa9e('0x40')](_0x321411[_0xaa9e('0x41')],_0x321411[_0xaa9e('0x3d')]);_0x19bf40[_0xaa9e('0x42')]=_[_0xaa9e('0x40')](_0x321411[_0xaa9e('0x41')],qs[_0xaa9e('0x43')](_0x558ae5[_0xaa9e('0x3d')][_0xaa9e('0x43')]));_0x19bf40['attributes']=_0x19bf40[_0xaa9e('0x42')][_0xaa9e('0x44')]?_0x19bf40[_0xaa9e('0x42')]:_0x321411['model'];_0x19bf40['order']=qs['sort'](_0x558ae5['query'][_0xaa9e('0x48')]);_0x19bf40[_0xaa9e('0x49')]=qs[_0xaa9e('0x3f')](_[_0xaa9e('0x5b')](_0x558ae5[_0xaa9e('0x3d')],_0x321411[_0xaa9e('0x3f')]));if(_0x558ae5['query']['filter']){_0x19bf40[_0xaa9e('0x49')]=_[_0xaa9e('0x4b')](_0x19bf40[_0xaa9e('0x49')],{'$or':_[_0xaa9e('0x3b')](_0x19bf40[_0xaa9e('0x42')],function(_0x2e3fdc){var _0x38a9ca={};_0x38a9ca[_0x2e3fdc]={'$like':'%'+_0x558ae5[_0xaa9e('0x3d')][_0xaa9e('0x4a')]+'%'};return _0x38a9ca;})});}_0x19bf40=_[_0xaa9e('0x4b')]({},_0x19bf40,_0x558ae5[_0xaa9e('0x4e')]);return _0x2e695f[_0xaa9e('0x59')](_0x19bf40);}})['then'](function(_0x3de762){if(_0x3de762){_0x408032=_0x3de762[_0xaa9e('0x44')];if(!_0x558ae5[_0xaa9e('0x3d')][_0xaa9e('0x45')](_0xaa9e('0x46'))){_0x19bf40[_0xaa9e('0x2e')]=qs[_0xaa9e('0x2e')](_0x558ae5['query'][_0xaa9e('0x2e')]);_0x19bf40[_0xaa9e('0x2d')]=qs[_0xaa9e('0x2d')](_0x558ae5[_0xaa9e('0x3d')][_0xaa9e('0x2d')]);}return _0x2e695f[_0xaa9e('0x59')](_0x19bf40);}})[_0xaa9e('0x35')](function(_0x3f4787){if(_0x3f4787){return _0x3f4787?{'count':_0x408032,'rows':_0x3f4787}:null;}})[_0xaa9e('0x35')](respondWithResult(_0x5e76eb,null))[_0xaa9e('0x27')](handleError(_0x5e76eb,null));};exports[_0xaa9e('0x5c')]=function(_0x3b5501,_0x581b91,_0x109658){var _0x51ea00={};var _0x1215f2={};var _0x34aecc;var _0x41b819;return db[_0xaa9e('0x3c')][_0xaa9e('0x5d')]({'where':{'id':_0x3b5501[_0xaa9e('0x54')]['id']}})[_0xaa9e('0x35')](handleEntityNotFound(_0x581b91,null))[_0xaa9e('0x35')](function(_0x105bf8){if(_0x105bf8){_0x34aecc=_0x105bf8;_0x1215f2[_0xaa9e('0x41')]=_[_0xaa9e('0x3e')](db[_0xaa9e('0x5a')][_0xaa9e('0x55')]);_0x1215f2['query']=_[_0xaa9e('0x3e')](_0x3b5501[_0xaa9e('0x3d')]);_0x1215f2[_0xaa9e('0x3f')]=_[_0xaa9e('0x40')](_0x1215f2['model'],_0x1215f2[_0xaa9e('0x3d')]);_0x51ea00['attributes']=_['intersection'](_0x1215f2[_0xaa9e('0x41')],qs[_0xaa9e('0x43')](_0x3b5501[_0xaa9e('0x3d')][_0xaa9e('0x43')]));_0x51ea00[_0xaa9e('0x42')]=_0x51ea00[_0xaa9e('0x42')]['length']?_0x51ea00[_0xaa9e('0x42')]:_0x1215f2[_0xaa9e('0x41')];_0x51ea00['order']=qs['sort'](_0x3b5501[_0xaa9e('0x3d')][_0xaa9e('0x48')]);_0x51ea00[_0xaa9e('0x49')]=qs[_0xaa9e('0x3f')](_[_0xaa9e('0x5b')](_0x3b5501[_0xaa9e('0x3d')],_0x1215f2[_0xaa9e('0x3f')]));if(_0x3b5501[_0xaa9e('0x3d')][_0xaa9e('0x4a')]){_0x51ea00['where']=_[_0xaa9e('0x4b')](_0x51ea00[_0xaa9e('0x49')],{'$or':_[_0xaa9e('0x3b')](_0x51ea00[_0xaa9e('0x42')],function(_0x32ebfc){var _0x328c12={};_0x328c12[_0x32ebfc]={'$like':'%'+_0x3b5501['query'][_0xaa9e('0x4a')]+'%'};return _0x328c12;})});}_0x51ea00=_[_0xaa9e('0x4b')]({},_0x51ea00,_0x3b5501[_0xaa9e('0x4e')]);return _0x34aecc['getSubjects'](_0x51ea00);}})[_0xaa9e('0x35')](function(_0x128414){if(_0x128414){_0x41b819=_0x128414[_0xaa9e('0x44')];if(!_0x3b5501[_0xaa9e('0x3d')][_0xaa9e('0x45')](_0xaa9e('0x46'))){_0x51ea00[_0xaa9e('0x2e')]=qs[_0xaa9e('0x2e')](_0x3b5501[_0xaa9e('0x3d')][_0xaa9e('0x2e')]);_0x51ea00['offset']=qs['offset'](_0x3b5501[_0xaa9e('0x3d')][_0xaa9e('0x2d')]);}return _0x34aecc[_0xaa9e('0x5c')](_0x51ea00);}})[_0xaa9e('0x35')](function(_0x512fe5){if(_0x512fe5){return _0x512fe5?{'count':_0x41b819,'rows':_0x512fe5}:null;}})[_0xaa9e('0x35')](respondWithResult(_0x581b91,null))[_0xaa9e('0x27')](handleError(_0x581b91,null));};exports[_0xaa9e('0x5e')]=function(_0x47aa98,_0x5d93fc,_0x2be107){var _0xf4c3fd={};var _0x263ced={};var _0x18a683;var _0x27b6ae;return db[_0xaa9e('0x3c')][_0xaa9e('0x5d')]({'where':{'id':_0x47aa98[_0xaa9e('0x54')]['id']}})[_0xaa9e('0x35')](handleEntityNotFound(_0x5d93fc,null))[_0xaa9e('0x35')](function(_0x233612){if(_0x233612){_0x18a683=_0x233612;_0x263ced['model']=_['keys'](db['FreshdeskField']['rawAttributes']);_0x263ced[_0xaa9e('0x3d')]=_[_0xaa9e('0x3e')](_0x47aa98[_0xaa9e('0x3d')]);_0x263ced[_0xaa9e('0x3f')]=_['intersection'](_0x263ced[_0xaa9e('0x41')],_0x263ced['query']);_0xf4c3fd[_0xaa9e('0x42')]=_['intersection'](_0x263ced[_0xaa9e('0x41')],qs[_0xaa9e('0x43')](_0x47aa98[_0xaa9e('0x3d')]['fields']));_0xf4c3fd['attributes']=_0xf4c3fd[_0xaa9e('0x42')][_0xaa9e('0x44')]?_0xf4c3fd['attributes']:_0x263ced[_0xaa9e('0x41')];_0xf4c3fd[_0xaa9e('0x47')]=qs[_0xaa9e('0x48')](_0x47aa98[_0xaa9e('0x3d')][_0xaa9e('0x48')]);_0xf4c3fd['where']=qs[_0xaa9e('0x3f')](_[_0xaa9e('0x5b')](_0x47aa98['query'],_0x263ced[_0xaa9e('0x3f')]));if(_0x47aa98[_0xaa9e('0x3d')][_0xaa9e('0x4a')]){_0xf4c3fd['where']=_[_0xaa9e('0x4b')](_0xf4c3fd[_0xaa9e('0x49')],{'$or':_[_0xaa9e('0x3b')](_0xf4c3fd[_0xaa9e('0x42')],function(_0xa88c7b){var _0x466ab7={};_0x466ab7[_0xa88c7b]={'$like':'%'+_0x47aa98[_0xaa9e('0x3d')][_0xaa9e('0x4a')]+'%'};return _0x466ab7;})});}_0xf4c3fd=_[_0xaa9e('0x4b')]({},_0xf4c3fd,_0x47aa98[_0xaa9e('0x4e')]);return _0x18a683[_0xaa9e('0x5e')](_0xf4c3fd);}})[_0xaa9e('0x35')](function(_0x3f09d8){if(_0x3f09d8){_0x27b6ae=_0x3f09d8[_0xaa9e('0x44')];if(!_0x47aa98[_0xaa9e('0x3d')][_0xaa9e('0x45')](_0xaa9e('0x46'))){_0xf4c3fd[_0xaa9e('0x2e')]=qs[_0xaa9e('0x2e')](_0x47aa98['query']['limit']);_0xf4c3fd['offset']=qs[_0xaa9e('0x2d')](_0x47aa98[_0xaa9e('0x3d')][_0xaa9e('0x2d')]);}return _0x18a683[_0xaa9e('0x5e')](_0xf4c3fd);}})[_0xaa9e('0x35')](function(_0x32fdd0){if(_0x32fdd0){return _0x32fdd0?{'count':_0x27b6ae,'rows':_0x32fdd0}:null;}})['then'](respondWithResult(_0x5d93fc,null))['catch'](handleError(_0x5d93fc,null));};exports['getTags']=function(_0x27c8ce,_0x103fcc,_0x20f890){var _0x21e627={};var _0x1830e2={};var _0x217f4e;var _0x5d049f;return db[_0xaa9e('0x3c')]['findOne']({'where':{'id':_0x27c8ce['params']['id']}})[_0xaa9e('0x35')](handleEntityNotFound(_0x103fcc,null))[_0xaa9e('0x35')](function(_0x5ca5d5){if(_0x5ca5d5){_0x217f4e=_0x5ca5d5;_0x1830e2[_0xaa9e('0x41')]=_['keys'](db[_0xaa9e('0x5f')][_0xaa9e('0x55')]);_0x1830e2[_0xaa9e('0x3d')]=_[_0xaa9e('0x3e')](_0x27c8ce[_0xaa9e('0x3d')]);_0x1830e2[_0xaa9e('0x3f')]=_['intersection'](_0x1830e2[_0xaa9e('0x41')],_0x1830e2[_0xaa9e('0x3d')]);_0x21e627[_0xaa9e('0x42')]=_['intersection'](_0x1830e2[_0xaa9e('0x41')],qs[_0xaa9e('0x43')](_0x27c8ce[_0xaa9e('0x3d')]['fields']));_0x21e627['attributes']=_0x21e627['attributes'][_0xaa9e('0x44')]?_0x21e627[_0xaa9e('0x42')]:_0x1830e2[_0xaa9e('0x41')];_0x21e627[_0xaa9e('0x47')]=qs[_0xaa9e('0x48')](_0x27c8ce[_0xaa9e('0x3d')][_0xaa9e('0x48')]);_0x21e627[_0xaa9e('0x49')]=qs[_0xaa9e('0x3f')](_[_0xaa9e('0x5b')](_0x27c8ce[_0xaa9e('0x3d')],_0x1830e2[_0xaa9e('0x3f')]));if(_0x27c8ce[_0xaa9e('0x3d')][_0xaa9e('0x4a')]){_0x21e627[_0xaa9e('0x49')]=_['merge'](_0x21e627[_0xaa9e('0x49')],{'$or':_['map'](_0x21e627[_0xaa9e('0x42')],function(_0x433fbb){var _0xe5c361={};_0xe5c361[_0x433fbb]={'$like':'%'+_0x27c8ce[_0xaa9e('0x3d')][_0xaa9e('0x4a')]+'%'};return _0xe5c361;})});}_0x21e627=_['merge']({},_0x21e627,_0x27c8ce[_0xaa9e('0x4e')]);return _0x217f4e['getTags'](_0x21e627);}})['then'](function(_0x252907){if(_0x252907){_0x5d049f=_0x252907[_0xaa9e('0x44')];if(!_0x27c8ce[_0xaa9e('0x3d')][_0xaa9e('0x45')]('nolimit')){_0x21e627[_0xaa9e('0x2e')]=qs[_0xaa9e('0x2e')](_0x27c8ce[_0xaa9e('0x3d')][_0xaa9e('0x2e')]);_0x21e627[_0xaa9e('0x2d')]=qs[_0xaa9e('0x2d')](_0x27c8ce['query'][_0xaa9e('0x2d')]);}return _0x217f4e[_0xaa9e('0x60')](_0x21e627);}})[_0xaa9e('0x35')](function(_0xa9ab0d){if(_0xa9ab0d){return _0xa9ab0d?{'count':_0x5d049f,'rows':_0xa9ab0d}:null;}})['then'](respondWithResult(_0x103fcc,null))[_0xaa9e('0x27')](handleError(_0x103fcc,null));};exports[_0xaa9e('0x61')]=function(_0x6fd610,_0xc0e773,_0x1b149d){if(_0x6fd610[_0xaa9e('0x58')]['id']){delete _0x6fd610['body']['id'];}return db[_0xaa9e('0x3c')][_0xaa9e('0x5d')]({'where':{'id':_0x6fd610[_0xaa9e('0x54')]['id']}})[_0xaa9e('0x35')](handleEntityNotFound(_0xc0e773,null))[_0xaa9e('0x35')](function(_0x29dd52){if(_0x29dd52){return _0x29dd52[_0xaa9e('0x61')](_0x6fd610[_0xaa9e('0x58')][_0xaa9e('0x62')]||[]);}return null;})[_0xaa9e('0x35')](respondWithResult(_0xc0e773,null))[_0xaa9e('0x27')](handleError(_0xc0e773,null));};