b6cd9bad596c66ecbcaae25e1efec3306fc2ec20
[motion2.git] / server / api / intDeskConfiguration / intDeskConfiguration.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 _0xd6d6=['bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','jayson/promise','client','http','test','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','DeskConfiguration,\x20%s,\x20%s','request\x20sent','debug','DeskConfiguration,\x20%s,\x20%s,\x20%s','error','code','message','info','result','catch','sendStatus','status','end','offset','limit','set','Content-Range','json','apply','reject','update','stack','name','send','index','map','rawAttributes','fieldName','type','query','keys','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','merge','options','DeskConfiguration','count','includeAll','include','findAll','show','params','find','create','body','destroy','findOne','DeskField','order','getFields','getSubjects','getDescriptions','getTags','setTags','ids','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment'];(function(_0x3ffc74,_0x265c91){var _0xa2dd3b=function(_0x10abd1){while(--_0x10abd1){_0x3ffc74['push'](_0x3ffc74['shift']());}};_0xa2dd3b(++_0x265c91);}(_0xd6d6,0xbe));var _0x6d6d=function(_0x83865d,_0x2367de){_0x83865d=_0x83865d-0x0;var _0x2464f7=_0xd6d6[_0x83865d];return _0x2464f7;};'use strict';var pdf=require(_0x6d6d('0x0'));var emlformat=require(_0x6d6d('0x1'));var rimraf=require(_0x6d6d('0x2'));var zipdir=require(_0x6d6d('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6d6d('0x4'));var moment=require(_0x6d6d('0x5'));var BPromise=require(_0x6d6d('0x6'));var Mustache=require(_0x6d6d('0x7'));var util=require(_0x6d6d('0x8'));var path=require(_0x6d6d('0x9'));var sox=require(_0x6d6d('0xa'));var csv=require('to-csv');var ejs=require(_0x6d6d('0xb'));var fs=require('fs');var _=require(_0x6d6d('0xc'));var squel=require(_0x6d6d('0xd'));var crypto=require(_0x6d6d('0xe'));var jsforce=require(_0x6d6d('0xf'));var deskjs=require(_0x6d6d('0x10'));var toCsv=require(_0x6d6d('0x11'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x6d6d('0x12'));var authService=require(_0x6d6d('0x13'));var qs=require(_0x6d6d('0x14'));var as=require(_0x6d6d('0x15'));var hardwareService=require(_0x6d6d('0x16'));var logger=require('../../config/logger')(_0x6d6d('0x17'));var utils=require(_0x6d6d('0x18'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];var jayson=require(_0x6d6d('0x19'));var client=jayson[_0x6d6d('0x1a')][_0x6d6d('0x1b')]({'port':0x232a});function checkPasswordPattern(_0x3f8542,_0x2b74ed,_0x41fbdf){if(_0x41fbdf){var _0x19cf50=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x19cf50[_0x6d6d('0x1c')](_0x2b74ed)){return _0x3f8542;}else{throw new db['Sequelize'][(_0x6d6d('0x1d'))](_0x6d6d('0x1e'));}}else{return _0x3f8542;}}function respondWithRpcPromise(_0x1f2aac,_0xa3b05d,_0x29cbd8,_0x5d80c0){return new BPromise(function(_0x2e6fdb,_0x587338){var _0x27830d=_0x5d80c0||client;return _0x27830d[_0x6d6d('0x1f')](_0x1f2aac,_0x29cbd8)[_0x6d6d('0x20')](function(_0x4bb3d1){logger['info'](_0x6d6d('0x21'),_0xa3b05d,_0x6d6d('0x22'));logger[_0x6d6d('0x23')](_0x6d6d('0x24'),_0xa3b05d,'request\x20sent',JSON['stringify'](_0x4bb3d1));if(_0x4bb3d1[_0x6d6d('0x25')]){if(_0x4bb3d1['error'][_0x6d6d('0x26')]===0x1f4){logger[_0x6d6d('0x25')](_0x6d6d('0x21'),_0xa3b05d,_0x4bb3d1[_0x6d6d('0x25')][_0x6d6d('0x27')]);return _0x587338(_0x4bb3d1[_0x6d6d('0x25')][_0x6d6d('0x27')]);}logger[_0x6d6d('0x25')](_0x6d6d('0x21'),_0xa3b05d,_0x4bb3d1[_0x6d6d('0x25')][_0x6d6d('0x27')]);return _0x2e6fdb(_0x4bb3d1[_0x6d6d('0x25')][_0x6d6d('0x27')]);}else{logger[_0x6d6d('0x28')](_0x6d6d('0x21'),_0xa3b05d,_0x6d6d('0x22'));_0x2e6fdb(_0x4bb3d1[_0x6d6d('0x29')]['message']);}})[_0x6d6d('0x2a')](function(_0x2dcb9c){logger[_0x6d6d('0x25')](_0x6d6d('0x21'),_0xa3b05d,_0x2dcb9c);_0x587338(_0x2dcb9c);});});}function respondWithStatusCode(_0xf0df7f,_0x12fab2){_0x12fab2=_0x12fab2||0xcc;return function(_0x554f8e){if(_0x554f8e){return _0xf0df7f[_0x6d6d('0x2b')](_0x12fab2);}return _0xf0df7f[_0x6d6d('0x2c')](_0x12fab2)[_0x6d6d('0x2d')]();};}function respondWithResult(_0x126ac8,_0x25c121){_0x25c121=_0x25c121||0xc8;return function(_0x408f98){if(_0x408f98){return _0x126ac8[_0x6d6d('0x2c')](_0x25c121)['json'](_0x408f98);}};}function respondWithFilteredResult(_0x298408,_0x9595d8){return function(_0x51bd68){if(_0x51bd68){var _0x553645=_0x51bd68['count'],_0x3edcce=_0x9595d8[_0x6d6d('0x2e')],_0x5273cd=_0x9595d8[_0x6d6d('0x2e')]+_0x9595d8[_0x6d6d('0x2f')],_0x8a9a84;if(_0x5273cd>=_0x553645){_0x5273cd=_0x553645;_0x8a9a84=0xc8;}else{_0x8a9a84=0xce;}_0x298408[_0x6d6d('0x2c')](_0x8a9a84);return _0x298408[_0x6d6d('0x30')](_0x6d6d('0x31'),_0x3edcce+'-'+_0x5273cd+'/'+_0x553645)[_0x6d6d('0x32')](_0x51bd68);}return null;};}function patchUpdates(_0x359cfd){return function(_0x6c4741){try{jsonpatch[_0x6d6d('0x33')](_0x6c4741,_0x359cfd,!![]);}catch(_0x5a67ca){return BPromise[_0x6d6d('0x34')](_0x5a67ca);}return _0x6c4741['save']();};}function saveUpdates(_0x18015a,_0x1ea9b2){return function(_0xf527da){if(_0xf527da){return _0xf527da[_0x6d6d('0x35')](_0x18015a)['then'](function(_0x182441){return _0x182441;});}return null;};}function removeEntity(_0x4f2f13,_0x3cc702){return function(_0x219fd4){if(_0x219fd4){return _0x219fd4['destroy']()[_0x6d6d('0x20')](function(){_0x4f2f13[_0x6d6d('0x2c')](0xcc)[_0x6d6d('0x2d')]();});}};}function handleEntityNotFound(_0xa73803,_0x34c390){return function(_0x486183){if(!_0x486183){_0xa73803[_0x6d6d('0x2b')](0x194);}return _0x486183;};}function handleError(_0x2d524d,_0x243555){_0x243555=_0x243555||0x1f4;return function(_0x1d0545){logger[_0x6d6d('0x25')](_0x1d0545[_0x6d6d('0x36')]);if(_0x1d0545[_0x6d6d('0x37')]){delete _0x1d0545[_0x6d6d('0x37')];}_0x2d524d['status'](_0x243555)[_0x6d6d('0x38')](_0x1d0545);};}exports[_0x6d6d('0x39')]=function(_0x3e2415,_0x5e4f38){var _0x4acf0f={},_0x52481b={},_0x3726ba={'count':0x0,'rows':[]};var _0x26b2de=_[_0x6d6d('0x3a')](db['DeskConfiguration'][_0x6d6d('0x3b')],function(_0x2607c1){return{'name':_0x2607c1[_0x6d6d('0x3c')],'type':_0x2607c1[_0x6d6d('0x3d')]['key']};});_0x52481b['model']=_['map'](_0x26b2de,_0x6d6d('0x37'));_0x52481b[_0x6d6d('0x3e')]=_[_0x6d6d('0x3f')](_0x3e2415[_0x6d6d('0x3e')]);_0x52481b['filters']=_[_0x6d6d('0x40')](_0x52481b[_0x6d6d('0x41')],_0x52481b[_0x6d6d('0x3e')]);_0x4acf0f[_0x6d6d('0x42')]=_[_0x6d6d('0x40')](_0x52481b[_0x6d6d('0x41')],qs['fields'](_0x3e2415[_0x6d6d('0x3e')][_0x6d6d('0x43')]));_0x4acf0f[_0x6d6d('0x42')]=_0x4acf0f[_0x6d6d('0x42')][_0x6d6d('0x44')]?_0x4acf0f[_0x6d6d('0x42')]:_0x52481b[_0x6d6d('0x41')];if(!_0x3e2415['query'][_0x6d6d('0x45')](_0x6d6d('0x46'))){_0x4acf0f[_0x6d6d('0x2f')]=qs[_0x6d6d('0x2f')](_0x3e2415[_0x6d6d('0x3e')]['limit']);_0x4acf0f[_0x6d6d('0x2e')]=qs[_0x6d6d('0x2e')](_0x3e2415['query'][_0x6d6d('0x2e')]);}_0x4acf0f['order']=qs[_0x6d6d('0x47')](_0x3e2415[_0x6d6d('0x3e')]['sort']);_0x4acf0f[_0x6d6d('0x48')]=qs[_0x6d6d('0x49')](_[_0x6d6d('0x4a')](_0x3e2415[_0x6d6d('0x3e')],_0x52481b[_0x6d6d('0x49')]),_0x26b2de);if(_0x3e2415['query']['filter']){_0x4acf0f[_0x6d6d('0x48')]=_['merge'](_0x4acf0f['where'],{'$or':_[_0x6d6d('0x3a')](_0x26b2de,function(_0x3e4d6c){if(_0x3e4d6c[_0x6d6d('0x3d')]!=='VIRTUAL'){var _0x21589d={};_0x21589d[_0x3e4d6c['name']]={'$like':'%'+_0x3e2415[_0x6d6d('0x3e')][_0x6d6d('0x4b')]+'%'};return _0x21589d;}})});}_0x4acf0f=_[_0x6d6d('0x4c')]({},_0x4acf0f,_0x3e2415[_0x6d6d('0x4d')]);var _0x75f298={'where':_0x4acf0f[_0x6d6d('0x48')]};return db[_0x6d6d('0x4e')]['count'](_0x75f298)[_0x6d6d('0x20')](function(_0x150479){_0x3726ba[_0x6d6d('0x4f')]=_0x150479;if(_0x3e2415[_0x6d6d('0x3e')][_0x6d6d('0x50')]){_0x4acf0f[_0x6d6d('0x51')]=[{'all':!![]}];}return db[_0x6d6d('0x4e')][_0x6d6d('0x52')](_0x4acf0f);})[_0x6d6d('0x20')](function(_0x5e4c04){_0x3726ba['rows']=_0x5e4c04;return _0x3726ba;})[_0x6d6d('0x20')](respondWithFilteredResult(_0x5e4f38,_0x4acf0f))[_0x6d6d('0x2a')](handleError(_0x5e4f38,null));};exports[_0x6d6d('0x53')]=function(_0x622c23,_0xe2a20e){var _0x492834={'raw':![],'where':{'id':_0x622c23[_0x6d6d('0x54')]['id']}},_0x47170d={};_0x47170d[_0x6d6d('0x41')]=_[_0x6d6d('0x3f')](db[_0x6d6d('0x4e')][_0x6d6d('0x3b')]);_0x47170d[_0x6d6d('0x3e')]=_[_0x6d6d('0x3f')](_0x622c23[_0x6d6d('0x3e')]);_0x47170d[_0x6d6d('0x49')]=_[_0x6d6d('0x40')](_0x47170d[_0x6d6d('0x41')],_0x47170d['query']);_0x492834[_0x6d6d('0x42')]=_[_0x6d6d('0x40')](_0x47170d[_0x6d6d('0x41')],qs[_0x6d6d('0x43')](_0x622c23[_0x6d6d('0x3e')]['fields']));_0x492834[_0x6d6d('0x42')]=_0x492834[_0x6d6d('0x42')][_0x6d6d('0x44')]?_0x492834['attributes']:_0x47170d['model'];if(_0x622c23[_0x6d6d('0x3e')]['includeAll']){_0x492834[_0x6d6d('0x51')]=[{'all':!![]}];}_0x492834=_[_0x6d6d('0x4c')]({},_0x492834,_0x622c23[_0x6d6d('0x4d')]);return db[_0x6d6d('0x4e')][_0x6d6d('0x55')](_0x492834)[_0x6d6d('0x20')](handleEntityNotFound(_0xe2a20e,null))[_0x6d6d('0x20')](respondWithResult(_0xe2a20e,null))[_0x6d6d('0x2a')](handleError(_0xe2a20e,null));};exports[_0x6d6d('0x56')]=function(_0x24c9a3,_0x583d1a){return db[_0x6d6d('0x4e')][_0x6d6d('0x56')](_0x24c9a3[_0x6d6d('0x57')],{})[_0x6d6d('0x20')](respondWithResult(_0x583d1a,0xc9))[_0x6d6d('0x2a')](handleError(_0x583d1a,null));};exports[_0x6d6d('0x35')]=function(_0x243be3,_0x5e5ace){if(_0x243be3['body']['id']){delete _0x243be3[_0x6d6d('0x57')]['id'];}return db[_0x6d6d('0x4e')]['find']({'where':{'id':_0x243be3[_0x6d6d('0x54')]['id']}})[_0x6d6d('0x20')](handleEntityNotFound(_0x5e5ace,null))[_0x6d6d('0x20')](saveUpdates(_0x243be3[_0x6d6d('0x57')],null))[_0x6d6d('0x20')](respondWithResult(_0x5e5ace,null))[_0x6d6d('0x2a')](handleError(_0x5e5ace,null));};exports[_0x6d6d('0x58')]=function(_0x1ef7fb,_0x2abd8c){return db[_0x6d6d('0x4e')][_0x6d6d('0x55')]({'where':{'id':_0x1ef7fb[_0x6d6d('0x54')]['id']}})[_0x6d6d('0x20')](handleEntityNotFound(_0x2abd8c,null))[_0x6d6d('0x20')](removeEntity(_0x2abd8c,null))[_0x6d6d('0x2a')](handleError(_0x2abd8c,null));};exports['getFields']=function(_0x43b81a,_0x33d7b1,_0x4bb143){var _0x1ab22b={};var _0x466778={};var _0x1f99ef;var _0x407357;return db[_0x6d6d('0x4e')][_0x6d6d('0x59')]({'where':{'id':_0x43b81a[_0x6d6d('0x54')]['id']}})[_0x6d6d('0x20')](handleEntityNotFound(_0x33d7b1,null))[_0x6d6d('0x20')](function(_0x5f1b29){if(_0x5f1b29){_0x1f99ef=_0x5f1b29;_0x466778['model']=_[_0x6d6d('0x3f')](db[_0x6d6d('0x5a')][_0x6d6d('0x3b')]);_0x466778['query']=_['keys'](_0x43b81a[_0x6d6d('0x3e')]);_0x466778['filters']=_[_0x6d6d('0x40')](_0x466778['model'],_0x466778[_0x6d6d('0x3e')]);_0x1ab22b[_0x6d6d('0x42')]=_[_0x6d6d('0x40')](_0x466778[_0x6d6d('0x41')],qs[_0x6d6d('0x43')](_0x43b81a[_0x6d6d('0x3e')]['fields']));_0x1ab22b[_0x6d6d('0x42')]=_0x1ab22b['attributes'][_0x6d6d('0x44')]?_0x1ab22b['attributes']:_0x466778[_0x6d6d('0x41')];_0x1ab22b[_0x6d6d('0x5b')]=qs[_0x6d6d('0x47')](_0x43b81a[_0x6d6d('0x3e')][_0x6d6d('0x47')]);_0x1ab22b[_0x6d6d('0x48')]=qs[_0x6d6d('0x49')](_['pick'](_0x43b81a['query'],_0x466778[_0x6d6d('0x49')]));if(_0x43b81a['query'][_0x6d6d('0x4b')]){_0x1ab22b['where']=_[_0x6d6d('0x4c')](_0x1ab22b[_0x6d6d('0x48')],{'$or':_[_0x6d6d('0x3a')](_0x1ab22b[_0x6d6d('0x42')],function(_0x423198){var _0x2ee7c9={};_0x2ee7c9[_0x423198]={'$like':'%'+_0x43b81a['query'][_0x6d6d('0x4b')]+'%'};return _0x2ee7c9;})});}_0x1ab22b=_[_0x6d6d('0x4c')]({},_0x1ab22b,_0x43b81a[_0x6d6d('0x4d')]);return _0x1f99ef[_0x6d6d('0x5c')](_0x1ab22b);}})[_0x6d6d('0x20')](function(_0x155670){if(_0x155670){_0x407357=_0x155670[_0x6d6d('0x44')];if(!_0x43b81a['query'][_0x6d6d('0x45')](_0x6d6d('0x46'))){_0x1ab22b[_0x6d6d('0x2f')]=qs[_0x6d6d('0x2f')](_0x43b81a[_0x6d6d('0x3e')][_0x6d6d('0x2f')]);_0x1ab22b[_0x6d6d('0x2e')]=qs[_0x6d6d('0x2e')](_0x43b81a[_0x6d6d('0x3e')][_0x6d6d('0x2e')]);}return _0x1f99ef[_0x6d6d('0x5c')](_0x1ab22b);}})['then'](function(_0x488b2f){if(_0x488b2f){return _0x488b2f?{'count':_0x407357,'rows':_0x488b2f}:null;}})[_0x6d6d('0x20')](respondWithResult(_0x33d7b1,null))['catch'](handleError(_0x33d7b1,null));};exports['getSubjects']=function(_0x5b6ca7,_0x1e3b17,_0x1ee1b3){var _0x4d11e9={};var _0x9f2647={};var _0x2d4a04;var _0x258b71;return db['DeskConfiguration']['findOne']({'where':{'id':_0x5b6ca7[_0x6d6d('0x54')]['id']}})['then'](handleEntityNotFound(_0x1e3b17,null))['then'](function(_0x4d042b){if(_0x4d042b){_0x2d4a04=_0x4d042b;_0x9f2647[_0x6d6d('0x41')]=_['keys'](db[_0x6d6d('0x5a')]['rawAttributes']);_0x9f2647[_0x6d6d('0x3e')]=_[_0x6d6d('0x3f')](_0x5b6ca7['query']);_0x9f2647['filters']=_[_0x6d6d('0x40')](_0x9f2647[_0x6d6d('0x41')],_0x9f2647[_0x6d6d('0x3e')]);_0x4d11e9[_0x6d6d('0x42')]=_['intersection'](_0x9f2647[_0x6d6d('0x41')],qs[_0x6d6d('0x43')](_0x5b6ca7[_0x6d6d('0x3e')][_0x6d6d('0x43')]));_0x4d11e9['attributes']=_0x4d11e9[_0x6d6d('0x42')]['length']?_0x4d11e9['attributes']:_0x9f2647['model'];_0x4d11e9[_0x6d6d('0x5b')]=qs['sort'](_0x5b6ca7[_0x6d6d('0x3e')][_0x6d6d('0x47')]);_0x4d11e9[_0x6d6d('0x48')]=qs['filters'](_['pick'](_0x5b6ca7[_0x6d6d('0x3e')],_0x9f2647[_0x6d6d('0x49')]));if(_0x5b6ca7['query']['filter']){_0x4d11e9[_0x6d6d('0x48')]=_[_0x6d6d('0x4c')](_0x4d11e9[_0x6d6d('0x48')],{'$or':_[_0x6d6d('0x3a')](_0x4d11e9[_0x6d6d('0x42')],function(_0x1e03a4){var _0x3f9aad={};_0x3f9aad[_0x1e03a4]={'$like':'%'+_0x5b6ca7['query']['filter']+'%'};return _0x3f9aad;})});}_0x4d11e9=_['merge']({},_0x4d11e9,_0x5b6ca7['options']);return _0x2d4a04['getSubjects'](_0x4d11e9);}})['then'](function(_0x87dd34){if(_0x87dd34){_0x258b71=_0x87dd34[_0x6d6d('0x44')];if(!_0x5b6ca7[_0x6d6d('0x3e')][_0x6d6d('0x45')]('nolimit')){_0x4d11e9['limit']=qs['limit'](_0x5b6ca7[_0x6d6d('0x3e')][_0x6d6d('0x2f')]);_0x4d11e9[_0x6d6d('0x2e')]=qs[_0x6d6d('0x2e')](_0x5b6ca7['query']['offset']);}return _0x2d4a04[_0x6d6d('0x5d')](_0x4d11e9);}})[_0x6d6d('0x20')](function(_0x478ed4){if(_0x478ed4){return _0x478ed4?{'count':_0x258b71,'rows':_0x478ed4}:null;}})[_0x6d6d('0x20')](respondWithResult(_0x1e3b17,null))[_0x6d6d('0x2a')](handleError(_0x1e3b17,null));};exports[_0x6d6d('0x5e')]=function(_0x2aaf4c,_0x28ea59,_0x581027){var _0xf5586f={};var _0x50eea6={};var _0x39f986;var _0x5885c5;return db[_0x6d6d('0x4e')]['findOne']({'where':{'id':_0x2aaf4c[_0x6d6d('0x54')]['id']}})[_0x6d6d('0x20')](handleEntityNotFound(_0x28ea59,null))[_0x6d6d('0x20')](function(_0x16bc35){if(_0x16bc35){_0x39f986=_0x16bc35;_0x50eea6[_0x6d6d('0x41')]=_[_0x6d6d('0x3f')](db[_0x6d6d('0x5a')][_0x6d6d('0x3b')]);_0x50eea6[_0x6d6d('0x3e')]=_[_0x6d6d('0x3f')](_0x2aaf4c[_0x6d6d('0x3e')]);_0x50eea6[_0x6d6d('0x49')]=_[_0x6d6d('0x40')](_0x50eea6[_0x6d6d('0x41')],_0x50eea6[_0x6d6d('0x3e')]);_0xf5586f[_0x6d6d('0x42')]=_['intersection'](_0x50eea6['model'],qs[_0x6d6d('0x43')](_0x2aaf4c['query'][_0x6d6d('0x43')]));_0xf5586f[_0x6d6d('0x42')]=_0xf5586f['attributes']['length']?_0xf5586f[_0x6d6d('0x42')]:_0x50eea6['model'];_0xf5586f[_0x6d6d('0x5b')]=qs[_0x6d6d('0x47')](_0x2aaf4c[_0x6d6d('0x3e')][_0x6d6d('0x47')]);_0xf5586f[_0x6d6d('0x48')]=qs[_0x6d6d('0x49')](_[_0x6d6d('0x4a')](_0x2aaf4c[_0x6d6d('0x3e')],_0x50eea6['filters']));if(_0x2aaf4c[_0x6d6d('0x3e')][_0x6d6d('0x4b')]){_0xf5586f[_0x6d6d('0x48')]=_['merge'](_0xf5586f['where'],{'$or':_[_0x6d6d('0x3a')](_0xf5586f[_0x6d6d('0x42')],function(_0x367b64){var _0x4d8dca={};_0x4d8dca[_0x367b64]={'$like':'%'+_0x2aaf4c[_0x6d6d('0x3e')][_0x6d6d('0x4b')]+'%'};return _0x4d8dca;})});}_0xf5586f=_['merge']({},_0xf5586f,_0x2aaf4c[_0x6d6d('0x4d')]);return _0x39f986[_0x6d6d('0x5e')](_0xf5586f);}})[_0x6d6d('0x20')](function(_0x155edb){if(_0x155edb){_0x5885c5=_0x155edb[_0x6d6d('0x44')];if(!_0x2aaf4c['query'][_0x6d6d('0x45')](_0x6d6d('0x46'))){_0xf5586f['limit']=qs['limit'](_0x2aaf4c[_0x6d6d('0x3e')][_0x6d6d('0x2f')]);_0xf5586f[_0x6d6d('0x2e')]=qs[_0x6d6d('0x2e')](_0x2aaf4c['query'][_0x6d6d('0x2e')]);}return _0x39f986['getDescriptions'](_0xf5586f);}})[_0x6d6d('0x20')](function(_0x330365){if(_0x330365){return _0x330365?{'count':_0x5885c5,'rows':_0x330365}:null;}})[_0x6d6d('0x20')](respondWithResult(_0x28ea59,null))[_0x6d6d('0x2a')](handleError(_0x28ea59,null));};exports[_0x6d6d('0x5f')]=function(_0x306559,_0x39c1a5,_0x2ee087){var _0x103c3d={};var _0x2893a2={};var _0x179bbe;var _0x2809b1;return db[_0x6d6d('0x4e')][_0x6d6d('0x59')]({'where':{'id':_0x306559[_0x6d6d('0x54')]['id']}})[_0x6d6d('0x20')](handleEntityNotFound(_0x39c1a5,null))[_0x6d6d('0x20')](function(_0xccbc07){if(_0xccbc07){_0x179bbe=_0xccbc07;_0x2893a2[_0x6d6d('0x41')]=_[_0x6d6d('0x3f')](db['Tag']['rawAttributes']);_0x2893a2[_0x6d6d('0x3e')]=_[_0x6d6d('0x3f')](_0x306559[_0x6d6d('0x3e')]);_0x2893a2[_0x6d6d('0x49')]=_[_0x6d6d('0x40')](_0x2893a2[_0x6d6d('0x41')],_0x2893a2[_0x6d6d('0x3e')]);_0x103c3d[_0x6d6d('0x42')]=_[_0x6d6d('0x40')](_0x2893a2[_0x6d6d('0x41')],qs[_0x6d6d('0x43')](_0x306559[_0x6d6d('0x3e')][_0x6d6d('0x43')]));_0x103c3d[_0x6d6d('0x42')]=_0x103c3d[_0x6d6d('0x42')]['length']?_0x103c3d[_0x6d6d('0x42')]:_0x2893a2[_0x6d6d('0x41')];_0x103c3d[_0x6d6d('0x5b')]=qs['sort'](_0x306559['query']['sort']);_0x103c3d[_0x6d6d('0x48')]=qs['filters'](_['pick'](_0x306559[_0x6d6d('0x3e')],_0x2893a2[_0x6d6d('0x49')]));if(_0x306559[_0x6d6d('0x3e')][_0x6d6d('0x4b')]){_0x103c3d[_0x6d6d('0x48')]=_['merge'](_0x103c3d[_0x6d6d('0x48')],{'$or':_[_0x6d6d('0x3a')](_0x103c3d[_0x6d6d('0x42')],function(_0x1e25cd){var _0x342365={};_0x342365[_0x1e25cd]={'$like':'%'+_0x306559['query'][_0x6d6d('0x4b')]+'%'};return _0x342365;})});}_0x103c3d=_['merge']({},_0x103c3d,_0x306559[_0x6d6d('0x4d')]);return _0x179bbe['getTags'](_0x103c3d);}})[_0x6d6d('0x20')](function(_0x49bb3a){if(_0x49bb3a){_0x2809b1=_0x49bb3a[_0x6d6d('0x44')];if(!_0x306559['query'][_0x6d6d('0x45')](_0x6d6d('0x46'))){_0x103c3d['limit']=qs[_0x6d6d('0x2f')](_0x306559[_0x6d6d('0x3e')][_0x6d6d('0x2f')]);_0x103c3d[_0x6d6d('0x2e')]=qs[_0x6d6d('0x2e')](_0x306559[_0x6d6d('0x3e')]['offset']);}return _0x179bbe[_0x6d6d('0x5f')](_0x103c3d);}})[_0x6d6d('0x20')](function(_0x5a09a6){if(_0x5a09a6){return _0x5a09a6?{'count':_0x2809b1,'rows':_0x5a09a6}:null;}})[_0x6d6d('0x20')](respondWithResult(_0x39c1a5,null))[_0x6d6d('0x2a')](handleError(_0x39c1a5,null));};exports[_0x6d6d('0x60')]=function(_0x30aaf1,_0x235f13,_0x5b21ae){if(_0x30aaf1['body']['id']){delete _0x30aaf1[_0x6d6d('0x57')]['id'];}return db[_0x6d6d('0x4e')][_0x6d6d('0x59')]({'where':{'id':_0x30aaf1[_0x6d6d('0x54')]['id']}})[_0x6d6d('0x20')](handleEntityNotFound(_0x235f13,null))[_0x6d6d('0x20')](function(_0x353aa3){if(_0x353aa3){return _0x353aa3['setTags'](_0x30aaf1['body'][_0x6d6d('0x61')]||[]);}return null;})[_0x6d6d('0x20')](respondWithResult(_0x235f13,null))['catch'](handleError(_0x235f13,null));};