b0f3313e4a0ddbdd3a634c432822f9cc3d942450
[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 _0xe32d=['DeskConfiguration,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','catch','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','update','destroy','name','send','index','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','include','findAll','show','params','DeskConfiguration','rawAttributes','includeAll','options','find','create','body','getFields','findOne','getSubjects','DeskField','getDescriptions','getTags','setTags','ids','html-pdf','rimraf','zip-dir','fast-json-patch','moment','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','jayson/promise','client','test','Sequelize','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','info'];(function(_0x2a2966,_0x4a3091){var _0x2b2e70=function(_0x5b2331){while(--_0x5b2331){_0x2a2966['push'](_0x2a2966['shift']());}};_0x2b2e70(++_0x4a3091);}(_0xe32d,0xff));var _0xde32=function(_0xe39134,_0x120db7){_0xe39134=_0xe39134-0x0;var _0x28118a=_0xe32d[_0xe39134];return _0x28118a;};'use strict';var pdf=require(_0xde32('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xde32('0x1'));var zipdir=require(_0xde32('0x2'));var jsonpatch=require(_0xde32('0x3'));var rp=require('request-promise');var moment=require(_0xde32('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xde32('0x5'));var util=require('util');var path=require(_0xde32('0x6'));var sox=require(_0xde32('0x7'));var csv=require(_0xde32('0x8'));var ejs=require(_0xde32('0x9'));var fs=require('fs');var _=require(_0xde32('0xa'));var squel=require(_0xde32('0xb'));var crypto=require(_0xde32('0xc'));var jsforce=require(_0xde32('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xde32('0x8'));var querystring=require('querystring');var Papa=require(_0xde32('0xe'));var Redis=require('ioredis');var authService=require(_0xde32('0xf'));var qs=require(_0xde32('0x10'));var as=require(_0xde32('0x11'));var hardwareService=require(_0xde32('0x12'));var logger=require(_0xde32('0x13'))(_0xde32('0x14'));var utils=require(_0xde32('0x15'));var config=require(_0xde32('0x16'));var db=require(_0xde32('0x17'))['db'];var jayson=require(_0xde32('0x18'));var client=jayson[_0xde32('0x19')]['http']({'port':0x232a});function checkPasswordPattern(_0x1f0c89,_0x3bbfd5,_0x7ab0ab){if(_0x7ab0ab){var _0x1acd89=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x1acd89[_0xde32('0x1a')](_0x3bbfd5)){return _0x1f0c89;}else{throw new db[(_0xde32('0x1b'))][(_0xde32('0x1c'))](_0xde32('0x1d'));}}else{return _0x1f0c89;}}function respondWithRpcPromise(_0x23ba9e,_0x14d156,_0xaed16c,_0x21fa42){return new BPromise(function(_0x247e13,_0x5ae995){var _0x273172=_0x21fa42||client;return _0x273172[_0xde32('0x1e')](_0x23ba9e,_0xaed16c)[_0xde32('0x1f')](function(_0x11062a){logger[_0xde32('0x20')](_0xde32('0x21'),_0x14d156,_0xde32('0x22'));logger[_0xde32('0x23')]('DeskConfiguration,\x20%s,\x20%s,\x20%s',_0x14d156,'request\x20sent',JSON[_0xde32('0x24')](_0x11062a));if(_0x11062a[_0xde32('0x25')]){if(_0x11062a['error'][_0xde32('0x26')]===0x1f4){logger[_0xde32('0x25')](_0xde32('0x21'),_0x14d156,_0x11062a[_0xde32('0x25')][_0xde32('0x27')]);return _0x5ae995(_0x11062a[_0xde32('0x25')][_0xde32('0x27')]);}logger[_0xde32('0x25')](_0xde32('0x21'),_0x14d156,_0x11062a[_0xde32('0x25')][_0xde32('0x27')]);return _0x247e13(_0x11062a['error'][_0xde32('0x27')]);}else{logger['info']('DeskConfiguration,\x20%s,\x20%s',_0x14d156,_0xde32('0x22'));_0x247e13(_0x11062a[_0xde32('0x28')]['message']);}})[_0xde32('0x29')](function(_0x2c90e6){logger[_0xde32('0x25')](_0xde32('0x21'),_0x14d156,_0x2c90e6);_0x5ae995(_0x2c90e6);});});}function respondWithStatusCode(_0x2d4ce0,_0x2c45e2){_0x2c45e2=_0x2c45e2||0xcc;return function(_0x232cdc){if(_0x232cdc){return _0x2d4ce0[_0xde32('0x2a')](_0x2c45e2);}return _0x2d4ce0[_0xde32('0x2b')](_0x2c45e2)['end']();};}function respondWithResult(_0xc13e0a,_0x27b2ef){_0x27b2ef=_0x27b2ef||0xc8;return function(_0x293834){if(_0x293834){return _0xc13e0a['status'](_0x27b2ef)[_0xde32('0x2c')](_0x293834);}};}function respondWithFilteredResult(_0x1c6103,_0x1204db){return function(_0x1a55d8){if(_0x1a55d8){var _0x51606e=_0x1a55d8[_0xde32('0x2d')],_0x31c4cd=_0x1204db[_0xde32('0x2e')],_0x5da5e5=_0x1204db[_0xde32('0x2e')]+_0x1204db[_0xde32('0x2f')],_0x2671fd;if(_0x5da5e5>=_0x51606e){_0x5da5e5=_0x51606e;_0x2671fd=0xc8;}else{_0x2671fd=0xce;}_0x1c6103['status'](_0x2671fd);return _0x1c6103[_0xde32('0x30')](_0xde32('0x31'),_0x31c4cd+'-'+_0x5da5e5+'/'+_0x51606e)['json'](_0x1a55d8);}return null;};}function patchUpdates(_0x3d24ba){return function(_0x271c9b){try{jsonpatch[_0xde32('0x32')](_0x271c9b,_0x3d24ba,!![]);}catch(_0x3325b6){return BPromise['reject'](_0x3325b6);}return _0x271c9b['save']();};}function saveUpdates(_0x4f2b30,_0x2f31f5){return function(_0x12ccde){if(_0x12ccde){return _0x12ccde[_0xde32('0x33')](_0x4f2b30)[_0xde32('0x1f')](function(_0x12a019){return _0x12a019;});}return null;};}function removeEntity(_0x30fac1,_0x162682){return function(_0x1aee37){if(_0x1aee37){return _0x1aee37[_0xde32('0x34')]()[_0xde32('0x1f')](function(){_0x30fac1[_0xde32('0x2b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2e434c,_0x5bdf41){return function(_0x28fe88){if(!_0x28fe88){_0x2e434c['sendStatus'](0x194);}return _0x28fe88;};}function handleError(_0x564754,_0x31d82b){_0x31d82b=_0x31d82b||0x1f4;return function(_0x43a689){logger[_0xde32('0x25')](_0x43a689['stack']);if(_0x43a689[_0xde32('0x35')]){delete _0x43a689[_0xde32('0x35')];}_0x564754[_0xde32('0x2b')](_0x31d82b)[_0xde32('0x36')](_0x43a689);};}exports[_0xde32('0x37')]=function(_0x1c9c72,_0x254a50){var _0x3eaf2e={},_0x2738ef={},_0x13f63a={'count':0x0,'rows':[]};var _0x5362df=_['map'](db['DeskConfiguration']['rawAttributes'],function(_0x4dc9ec){return{'name':_0x4dc9ec[_0xde32('0x38')],'type':_0x4dc9ec[_0xde32('0x39')][_0xde32('0x3a')]};});_0x2738ef[_0xde32('0x3b')]=_[_0xde32('0x3c')](_0x5362df,_0xde32('0x35'));_0x2738ef[_0xde32('0x3d')]=_[_0xde32('0x3e')](_0x1c9c72[_0xde32('0x3d')]);_0x2738ef[_0xde32('0x3f')]=_[_0xde32('0x40')](_0x2738ef['model'],_0x2738ef[_0xde32('0x3d')]);_0x3eaf2e[_0xde32('0x41')]=_['intersection'](_0x2738ef[_0xde32('0x3b')],qs['fields'](_0x1c9c72['query'][_0xde32('0x42')]));_0x3eaf2e['attributes']=_0x3eaf2e[_0xde32('0x41')][_0xde32('0x43')]?_0x3eaf2e[_0xde32('0x41')]:_0x2738ef[_0xde32('0x3b')];if(!_0x1c9c72[_0xde32('0x3d')][_0xde32('0x44')](_0xde32('0x45'))){_0x3eaf2e[_0xde32('0x2f')]=qs['limit'](_0x1c9c72['query'][_0xde32('0x2f')]);_0x3eaf2e[_0xde32('0x2e')]=qs['offset'](_0x1c9c72['query']['offset']);}_0x3eaf2e[_0xde32('0x46')]=qs[_0xde32('0x47')](_0x1c9c72[_0xde32('0x3d')][_0xde32('0x47')]);_0x3eaf2e[_0xde32('0x48')]=qs['filters'](_[_0xde32('0x49')](_0x1c9c72[_0xde32('0x3d')],_0x2738ef[_0xde32('0x3f')]));if(_0x1c9c72[_0xde32('0x3d')][_0xde32('0x4a')]){_0x3eaf2e[_0xde32('0x48')]=_['merge'](_0x3eaf2e[_0xde32('0x48')],{'$or':_[_0xde32('0x3c')](_0x5362df,function(_0x399149){if(_0x399149[_0xde32('0x39')]!==_0xde32('0x4b')){var _0x2c7f5c={};_0x2c7f5c[_0x399149[_0xde32('0x35')]]={'$like':'%'+_0x1c9c72[_0xde32('0x3d')][_0xde32('0x4a')]+'%'};return _0x2c7f5c;}})});}_0x3eaf2e=_[_0xde32('0x4c')]({},_0x3eaf2e,_0x1c9c72['options']);var _0x52d467={'where':_0x3eaf2e[_0xde32('0x48')]};return db['DeskConfiguration']['count'](_0x52d467)['then'](function(_0x24572d){_0x13f63a[_0xde32('0x2d')]=_0x24572d;if(_0x1c9c72[_0xde32('0x3d')]['includeAll']){_0x3eaf2e[_0xde32('0x4d')]=[{'all':!![]}];}return db['DeskConfiguration'][_0xde32('0x4e')](_0x3eaf2e);})[_0xde32('0x1f')](function(_0x388444){_0x13f63a['rows']=_0x388444;return _0x13f63a;})[_0xde32('0x1f')](respondWithFilteredResult(_0x254a50,_0x3eaf2e))[_0xde32('0x29')](handleError(_0x254a50,null));};exports[_0xde32('0x4f')]=function(_0x465741,_0x413b31){var _0x39d1af={'raw':![],'where':{'id':_0x465741[_0xde32('0x50')]['id']}},_0x1e7f91={};_0x1e7f91[_0xde32('0x3b')]=_[_0xde32('0x3e')](db[_0xde32('0x51')][_0xde32('0x52')]);_0x1e7f91[_0xde32('0x3d')]=_[_0xde32('0x3e')](_0x465741[_0xde32('0x3d')]);_0x1e7f91[_0xde32('0x3f')]=_[_0xde32('0x40')](_0x1e7f91[_0xde32('0x3b')],_0x1e7f91[_0xde32('0x3d')]);_0x39d1af[_0xde32('0x41')]=_[_0xde32('0x40')](_0x1e7f91[_0xde32('0x3b')],qs['fields'](_0x465741['query'][_0xde32('0x42')]));_0x39d1af[_0xde32('0x41')]=_0x39d1af['attributes'][_0xde32('0x43')]?_0x39d1af['attributes']:_0x1e7f91[_0xde32('0x3b')];if(_0x465741[_0xde32('0x3d')][_0xde32('0x53')]){_0x39d1af[_0xde32('0x4d')]=[{'all':!![]}];}_0x39d1af=_[_0xde32('0x4c')]({},_0x39d1af,_0x465741[_0xde32('0x54')]);return db[_0xde32('0x51')][_0xde32('0x55')](_0x39d1af)['then'](handleEntityNotFound(_0x413b31,null))[_0xde32('0x1f')](respondWithResult(_0x413b31,null))[_0xde32('0x29')](handleError(_0x413b31,null));};exports[_0xde32('0x56')]=function(_0x51c4ef,_0x4d3c5f){return db[_0xde32('0x51')][_0xde32('0x56')](_0x51c4ef[_0xde32('0x57')],{})[_0xde32('0x1f')](respondWithResult(_0x4d3c5f,0xc9))[_0xde32('0x29')](handleError(_0x4d3c5f,null));};exports[_0xde32('0x33')]=function(_0x404062,_0x2a80e3){if(_0x404062[_0xde32('0x57')]['id']){delete _0x404062['body']['id'];}return db[_0xde32('0x51')][_0xde32('0x55')]({'where':{'id':_0x404062['params']['id']}})[_0xde32('0x1f')](handleEntityNotFound(_0x2a80e3,null))[_0xde32('0x1f')](saveUpdates(_0x404062[_0xde32('0x57')],null))[_0xde32('0x1f')](respondWithResult(_0x2a80e3,null))[_0xde32('0x29')](handleError(_0x2a80e3,null));};exports[_0xde32('0x34')]=function(_0x48db4d,_0x48dfb6){return db[_0xde32('0x51')][_0xde32('0x55')]({'where':{'id':_0x48db4d[_0xde32('0x50')]['id']}})[_0xde32('0x1f')](handleEntityNotFound(_0x48dfb6,null))[_0xde32('0x1f')](removeEntity(_0x48dfb6,null))['catch'](handleError(_0x48dfb6,null));};exports[_0xde32('0x58')]=function(_0x4e172c,_0x36c262,_0x399e02){var _0x51ea00={};var _0x3b5055={};var _0x25b2e8;var _0x16e056;return db[_0xde32('0x51')][_0xde32('0x59')]({'where':{'id':_0x4e172c[_0xde32('0x50')]['id']}})[_0xde32('0x1f')](handleEntityNotFound(_0x36c262,null))[_0xde32('0x1f')](function(_0x2e6353){if(_0x2e6353){_0x25b2e8=_0x2e6353;_0x3b5055['model']=_['keys'](db['DeskField']['rawAttributes']);_0x3b5055[_0xde32('0x3d')]=_[_0xde32('0x3e')](_0x4e172c[_0xde32('0x3d')]);_0x3b5055[_0xde32('0x3f')]=_[_0xde32('0x40')](_0x3b5055[_0xde32('0x3b')],_0x3b5055[_0xde32('0x3d')]);_0x51ea00[_0xde32('0x41')]=_[_0xde32('0x40')](_0x3b5055[_0xde32('0x3b')],qs[_0xde32('0x42')](_0x4e172c[_0xde32('0x3d')][_0xde32('0x42')]));_0x51ea00[_0xde32('0x41')]=_0x51ea00[_0xde32('0x41')][_0xde32('0x43')]?_0x51ea00[_0xde32('0x41')]:_0x3b5055[_0xde32('0x3b')];_0x51ea00[_0xde32('0x46')]=qs[_0xde32('0x47')](_0x4e172c['query']['sort']);_0x51ea00[_0xde32('0x48')]=qs[_0xde32('0x3f')](_[_0xde32('0x49')](_0x4e172c['query'],_0x3b5055[_0xde32('0x3f')]));if(_0x4e172c[_0xde32('0x3d')]['filter']){_0x51ea00['where']=_['merge'](_0x51ea00[_0xde32('0x48')],{'$or':_[_0xde32('0x3c')](_0x51ea00[_0xde32('0x41')],function(_0x3bba01){var _0x168a08={};_0x168a08[_0x3bba01]={'$like':'%'+_0x4e172c[_0xde32('0x3d')][_0xde32('0x4a')]+'%'};return _0x168a08;})});}_0x51ea00=_[_0xde32('0x4c')]({},_0x51ea00,_0x4e172c[_0xde32('0x54')]);return _0x25b2e8['getFields'](_0x51ea00);}})[_0xde32('0x1f')](function(_0x114080){if(_0x114080){_0x16e056=_0x114080[_0xde32('0x43')];if(!_0x4e172c[_0xde32('0x3d')][_0xde32('0x44')](_0xde32('0x45'))){_0x51ea00[_0xde32('0x2f')]=qs[_0xde32('0x2f')](_0x4e172c[_0xde32('0x3d')][_0xde32('0x2f')]);_0x51ea00[_0xde32('0x2e')]=qs['offset'](_0x4e172c[_0xde32('0x3d')][_0xde32('0x2e')]);}return _0x25b2e8[_0xde32('0x58')](_0x51ea00);}})[_0xde32('0x1f')](function(_0x2a9ac5){if(_0x2a9ac5){return _0x2a9ac5?{'count':_0x16e056,'rows':_0x2a9ac5}:null;}})['then'](respondWithResult(_0x36c262,null))['catch'](handleError(_0x36c262,null));};exports[_0xde32('0x5a')]=function(_0x2a6ffe,_0x24bf07,_0x433796){var _0xe1c788={};var _0x3df1d4={};var _0x4a5658;var _0x35763c;return db[_0xde32('0x51')][_0xde32('0x59')]({'where':{'id':_0x2a6ffe['params']['id']}})[_0xde32('0x1f')](handleEntityNotFound(_0x24bf07,null))['then'](function(_0x2a71f1){if(_0x2a71f1){_0x4a5658=_0x2a71f1;_0x3df1d4[_0xde32('0x3b')]=_['keys'](db[_0xde32('0x5b')][_0xde32('0x52')]);_0x3df1d4[_0xde32('0x3d')]=_[_0xde32('0x3e')](_0x2a6ffe[_0xde32('0x3d')]);_0x3df1d4['filters']=_[_0xde32('0x40')](_0x3df1d4['model'],_0x3df1d4['query']);_0xe1c788[_0xde32('0x41')]=_[_0xde32('0x40')](_0x3df1d4['model'],qs[_0xde32('0x42')](_0x2a6ffe[_0xde32('0x3d')][_0xde32('0x42')]));_0xe1c788['attributes']=_0xe1c788['attributes'][_0xde32('0x43')]?_0xe1c788['attributes']:_0x3df1d4[_0xde32('0x3b')];_0xe1c788[_0xde32('0x46')]=qs['sort'](_0x2a6ffe[_0xde32('0x3d')][_0xde32('0x47')]);_0xe1c788[_0xde32('0x48')]=qs[_0xde32('0x3f')](_[_0xde32('0x49')](_0x2a6ffe[_0xde32('0x3d')],_0x3df1d4[_0xde32('0x3f')]));if(_0x2a6ffe[_0xde32('0x3d')]['filter']){_0xe1c788['where']=_[_0xde32('0x4c')](_0xe1c788[_0xde32('0x48')],{'$or':_['map'](_0xe1c788[_0xde32('0x41')],function(_0x5a8df9){var _0x54154a={};_0x54154a[_0x5a8df9]={'$like':'%'+_0x2a6ffe[_0xde32('0x3d')][_0xde32('0x4a')]+'%'};return _0x54154a;})});}_0xe1c788=_[_0xde32('0x4c')]({},_0xe1c788,_0x2a6ffe[_0xde32('0x54')]);return _0x4a5658[_0xde32('0x5a')](_0xe1c788);}})[_0xde32('0x1f')](function(_0x18a4c4){if(_0x18a4c4){_0x35763c=_0x18a4c4[_0xde32('0x43')];if(!_0x2a6ffe[_0xde32('0x3d')][_0xde32('0x44')](_0xde32('0x45'))){_0xe1c788['limit']=qs[_0xde32('0x2f')](_0x2a6ffe[_0xde32('0x3d')][_0xde32('0x2f')]);_0xe1c788[_0xde32('0x2e')]=qs[_0xde32('0x2e')](_0x2a6ffe['query'][_0xde32('0x2e')]);}return _0x4a5658[_0xde32('0x5a')](_0xe1c788);}})[_0xde32('0x1f')](function(_0x3a6741){if(_0x3a6741){return _0x3a6741?{'count':_0x35763c,'rows':_0x3a6741}:null;}})[_0xde32('0x1f')](respondWithResult(_0x24bf07,null))['catch'](handleError(_0x24bf07,null));};exports['getDescriptions']=function(_0x3ab142,_0xa9a08f,_0x3052f6){var _0x55b8b0={};var _0x2b1b22={};var _0x371eee;var _0x2c3d8f;return db[_0xde32('0x51')]['findOne']({'where':{'id':_0x3ab142[_0xde32('0x50')]['id']}})[_0xde32('0x1f')](handleEntityNotFound(_0xa9a08f,null))[_0xde32('0x1f')](function(_0x5e02f8){if(_0x5e02f8){_0x371eee=_0x5e02f8;_0x2b1b22[_0xde32('0x3b')]=_[_0xde32('0x3e')](db[_0xde32('0x5b')]['rawAttributes']);_0x2b1b22[_0xde32('0x3d')]=_[_0xde32('0x3e')](_0x3ab142[_0xde32('0x3d')]);_0x2b1b22['filters']=_[_0xde32('0x40')](_0x2b1b22['model'],_0x2b1b22[_0xde32('0x3d')]);_0x55b8b0[_0xde32('0x41')]=_[_0xde32('0x40')](_0x2b1b22[_0xde32('0x3b')],qs[_0xde32('0x42')](_0x3ab142[_0xde32('0x3d')][_0xde32('0x42')]));_0x55b8b0[_0xde32('0x41')]=_0x55b8b0[_0xde32('0x41')][_0xde32('0x43')]?_0x55b8b0[_0xde32('0x41')]:_0x2b1b22[_0xde32('0x3b')];_0x55b8b0['order']=qs[_0xde32('0x47')](_0x3ab142[_0xde32('0x3d')]['sort']);_0x55b8b0[_0xde32('0x48')]=qs[_0xde32('0x3f')](_[_0xde32('0x49')](_0x3ab142['query'],_0x2b1b22['filters']));if(_0x3ab142['query'][_0xde32('0x4a')]){_0x55b8b0[_0xde32('0x48')]=_[_0xde32('0x4c')](_0x55b8b0[_0xde32('0x48')],{'$or':_[_0xde32('0x3c')](_0x55b8b0['attributes'],function(_0x16f05f){var _0xa70aa4={};_0xa70aa4[_0x16f05f]={'$like':'%'+_0x3ab142['query'][_0xde32('0x4a')]+'%'};return _0xa70aa4;})});}_0x55b8b0=_[_0xde32('0x4c')]({},_0x55b8b0,_0x3ab142[_0xde32('0x54')]);return _0x371eee['getDescriptions'](_0x55b8b0);}})[_0xde32('0x1f')](function(_0x3bd38a){if(_0x3bd38a){_0x2c3d8f=_0x3bd38a[_0xde32('0x43')];if(!_0x3ab142[_0xde32('0x3d')][_0xde32('0x44')](_0xde32('0x45'))){_0x55b8b0[_0xde32('0x2f')]=qs[_0xde32('0x2f')](_0x3ab142[_0xde32('0x3d')][_0xde32('0x2f')]);_0x55b8b0[_0xde32('0x2e')]=qs[_0xde32('0x2e')](_0x3ab142[_0xde32('0x3d')][_0xde32('0x2e')]);}return _0x371eee[_0xde32('0x5c')](_0x55b8b0);}})[_0xde32('0x1f')](function(_0x42398a){if(_0x42398a){return _0x42398a?{'count':_0x2c3d8f,'rows':_0x42398a}:null;}})[_0xde32('0x1f')](respondWithResult(_0xa9a08f,null))['catch'](handleError(_0xa9a08f,null));};exports[_0xde32('0x5d')]=function(_0x56fdd5,_0x583080,_0x552509){var _0x518c5c={};var _0x19b404={};var _0x629c3e;var _0x1151af;return db[_0xde32('0x51')][_0xde32('0x59')]({'where':{'id':_0x56fdd5[_0xde32('0x50')]['id']}})['then'](handleEntityNotFound(_0x583080,null))[_0xde32('0x1f')](function(_0x37ac06){if(_0x37ac06){_0x629c3e=_0x37ac06;_0x19b404['model']=_[_0xde32('0x3e')](db['Tag'][_0xde32('0x52')]);_0x19b404[_0xde32('0x3d')]=_[_0xde32('0x3e')](_0x56fdd5[_0xde32('0x3d')]);_0x19b404[_0xde32('0x3f')]=_['intersection'](_0x19b404[_0xde32('0x3b')],_0x19b404[_0xde32('0x3d')]);_0x518c5c[_0xde32('0x41')]=_[_0xde32('0x40')](_0x19b404[_0xde32('0x3b')],qs[_0xde32('0x42')](_0x56fdd5[_0xde32('0x3d')][_0xde32('0x42')]));_0x518c5c[_0xde32('0x41')]=_0x518c5c[_0xde32('0x41')][_0xde32('0x43')]?_0x518c5c[_0xde32('0x41')]:_0x19b404[_0xde32('0x3b')];_0x518c5c[_0xde32('0x46')]=qs['sort'](_0x56fdd5[_0xde32('0x3d')][_0xde32('0x47')]);_0x518c5c[_0xde32('0x48')]=qs['filters'](_[_0xde32('0x49')](_0x56fdd5[_0xde32('0x3d')],_0x19b404[_0xde32('0x3f')]));if(_0x56fdd5[_0xde32('0x3d')][_0xde32('0x4a')]){_0x518c5c[_0xde32('0x48')]=_[_0xde32('0x4c')](_0x518c5c[_0xde32('0x48')],{'$or':_[_0xde32('0x3c')](_0x518c5c[_0xde32('0x41')],function(_0x6e6d42){var _0x3c1e31={};_0x3c1e31[_0x6e6d42]={'$like':'%'+_0x56fdd5[_0xde32('0x3d')][_0xde32('0x4a')]+'%'};return _0x3c1e31;})});}_0x518c5c=_['merge']({},_0x518c5c,_0x56fdd5[_0xde32('0x54')]);return _0x629c3e[_0xde32('0x5d')](_0x518c5c);}})[_0xde32('0x1f')](function(_0x434253){if(_0x434253){_0x1151af=_0x434253['length'];if(!_0x56fdd5[_0xde32('0x3d')][_0xde32('0x44')](_0xde32('0x45'))){_0x518c5c[_0xde32('0x2f')]=qs[_0xde32('0x2f')](_0x56fdd5[_0xde32('0x3d')][_0xde32('0x2f')]);_0x518c5c[_0xde32('0x2e')]=qs[_0xde32('0x2e')](_0x56fdd5[_0xde32('0x3d')]['offset']);}return _0x629c3e[_0xde32('0x5d')](_0x518c5c);}})[_0xde32('0x1f')](function(_0x3cd971){if(_0x3cd971){return _0x3cd971?{'count':_0x1151af,'rows':_0x3cd971}:null;}})[_0xde32('0x1f')](respondWithResult(_0x583080,null))[_0xde32('0x29')](handleError(_0x583080,null));};exports[_0xde32('0x5e')]=function(_0x2bda6e,_0x4ac74f,_0x13793c){if(_0x2bda6e[_0xde32('0x57')]['id']){delete _0x2bda6e['body']['id'];}return db[_0xde32('0x51')]['findOne']({'where':{'id':_0x2bda6e['params']['id']}})['then'](handleEntityNotFound(_0x4ac74f,null))['then'](function(_0x36f893){if(_0x36f893){return _0x36f893[_0xde32('0x5e')](_0x2bda6e[_0xde32('0x57')][_0xde32('0x5f')]||[]);}return null;})[_0xde32('0x1f')](respondWithResult(_0x4ac74f,null))[_0xde32('0x29')](handleError(_0x4ac74f,null));};