Built motion from commit (unavailable).|2.5.4
[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 _0x99e9=['to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','jayson/promise','client','test','ValidationError','request','then','request\x20sent','debug','DeskConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','DeskConfiguration,\x20%s,\x20%s','message','catch','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','update','destroy','stack','name','send','index','type','query','keys','filters','intersection','model','fields','attributes','length','nolimit','order','sort','where','filter','merge','options','DeskConfiguration','includeAll','include','rows','show','rawAttributes','find','create','body','params','findOne','DeskField','pick','map','getFields','getSubjects','hasOwnProperty','getDescriptions','getTags','setTags','ids','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','path'];(function(_0x1cacfd,_0x5af578){var _0xf925a7=function(_0x1b6967){while(--_0x1b6967){_0x1cacfd['push'](_0x1cacfd['shift']());}};_0xf925a7(++_0x5af578);}(_0x99e9,0xb4));var _0x999e=function(_0x2142c8,_0x3001eb){_0x2142c8=_0x2142c8-0x0;var _0x4286e9=_0x99e9[_0x2142c8];return _0x4286e9;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x999e('0x0'));var rimraf=require(_0x999e('0x1'));var zipdir=require(_0x999e('0x2'));var jsonpatch=require(_0x999e('0x3'));var rp=require('request-promise');var moment=require(_0x999e('0x4'));var BPromise=require(_0x999e('0x5'));var Mustache=require(_0x999e('0x6'));var util=require('util');var path=require(_0x999e('0x7'));var sox=require('sox');var csv=require(_0x999e('0x8'));var ejs=require(_0x999e('0x9'));var fs=require('fs');var _=require(_0x999e('0xa'));var squel=require(_0x999e('0xb'));var crypto=require('crypto');var jsforce=require(_0x999e('0xc'));var deskjs=require(_0x999e('0xd'));var toCsv=require(_0x999e('0x8'));var querystring=require(_0x999e('0xe'));var Papa=require(_0x999e('0xf'));var Redis=require(_0x999e('0x10'));var authService=require(_0x999e('0x11'));var qs=require(_0x999e('0x12'));var as=require(_0x999e('0x13'));var hardwareService=require(_0x999e('0x14'));var logger=require(_0x999e('0x15'))(_0x999e('0x16'));var utils=require(_0x999e('0x17'));var config=require(_0x999e('0x18'));var db=require(_0x999e('0x19'))['db'];var jayson=require(_0x999e('0x1a'));var client=jayson[_0x999e('0x1b')]['http']({'port':0x232a});function checkPasswordPattern(_0x15f771,_0x54afad,_0x3e6f5a){if(_0x3e6f5a){var _0x387924=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x387924[_0x999e('0x1c')](_0x54afad)){return _0x15f771;}else{throw new db['Sequelize'][(_0x999e('0x1d'))]('The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.');}}else{return _0x15f771;}}function respondWithRpcPromise(_0xa44e4c,_0x539598,_0x549ad4,_0x1eee64){return new BPromise(function(_0x22feac,_0x2dd5f4){var _0x289e0e=_0x1eee64||client;return _0x289e0e[_0x999e('0x1e')](_0xa44e4c,_0x549ad4)[_0x999e('0x1f')](function(_0x4aac66){logger['info']('DeskConfiguration,\x20%s,\x20%s',_0x539598,_0x999e('0x20'));logger[_0x999e('0x21')](_0x999e('0x22'),_0x539598,_0x999e('0x20'),JSON[_0x999e('0x23')](_0x4aac66));if(_0x4aac66[_0x999e('0x24')]){if(_0x4aac66['error']['code']===0x1f4){logger[_0x999e('0x24')](_0x999e('0x25'),_0x539598,_0x4aac66[_0x999e('0x24')]['message']);return _0x2dd5f4(_0x4aac66[_0x999e('0x24')][_0x999e('0x26')]);}logger[_0x999e('0x24')](_0x999e('0x25'),_0x539598,_0x4aac66[_0x999e('0x24')][_0x999e('0x26')]);return _0x22feac(_0x4aac66[_0x999e('0x24')]['message']);}else{logger['info'](_0x999e('0x25'),_0x539598,_0x999e('0x20'));_0x22feac(_0x4aac66['result'][_0x999e('0x26')]);}})[_0x999e('0x27')](function(_0x3f548e){logger[_0x999e('0x24')](_0x999e('0x25'),_0x539598,_0x3f548e);_0x2dd5f4(_0x3f548e);});});}function respondWithStatusCode(_0x320634,_0x4f8406){_0x4f8406=_0x4f8406||0xcc;return function(_0x2e1cc5){if(_0x2e1cc5){return _0x320634[_0x999e('0x28')](_0x4f8406);}return _0x320634[_0x999e('0x29')](_0x4f8406)[_0x999e('0x2a')]();};}function respondWithResult(_0x1b7adb,_0x1d2dc6){_0x1d2dc6=_0x1d2dc6||0xc8;return function(_0x44b790){if(_0x44b790){return _0x1b7adb['status'](_0x1d2dc6)[_0x999e('0x2b')](_0x44b790);}};}function respondWithFilteredResult(_0x5ba8b0,_0x4fed13){return function(_0x3dff6b){if(_0x3dff6b){var _0x1059bd=_0x3dff6b[_0x999e('0x2c')],_0x1f89f2=_0x4fed13[_0x999e('0x2d')],_0x555ca0=_0x4fed13[_0x999e('0x2d')]+_0x4fed13[_0x999e('0x2e')],_0x1ea0e4;if(_0x555ca0>=_0x1059bd){_0x555ca0=_0x1059bd;_0x1ea0e4=0xc8;}else{_0x1ea0e4=0xce;}_0x5ba8b0[_0x999e('0x29')](_0x1ea0e4);return _0x5ba8b0[_0x999e('0x2f')](_0x999e('0x30'),_0x1f89f2+'-'+_0x555ca0+'/'+_0x1059bd)[_0x999e('0x2b')](_0x3dff6b);}return null;};}function patchUpdates(_0x3ddacb){return function(_0x53ece1){try{jsonpatch[_0x999e('0x31')](_0x53ece1,_0x3ddacb,!![]);}catch(_0x1cd206){return BPromise[_0x999e('0x32')](_0x1cd206);}return _0x53ece1['save']();};}function saveUpdates(_0x2ca5b8,_0x5af72c){return function(_0x5dce40){if(_0x5dce40){return _0x5dce40[_0x999e('0x33')](_0x2ca5b8)[_0x999e('0x1f')](function(_0x5aa206){return _0x5aa206;});}return null;};}function removeEntity(_0x53ebb2,_0x5def61){return function(_0x12eb93){if(_0x12eb93){return _0x12eb93[_0x999e('0x34')]()[_0x999e('0x1f')](function(){_0x53ebb2['status'](0xcc)[_0x999e('0x2a')]();});}};}function handleEntityNotFound(_0x41d6f1,_0x37f662){return function(_0x30247a){if(!_0x30247a){_0x41d6f1['sendStatus'](0x194);}return _0x30247a;};}function handleError(_0x4ebcb7,_0x44fb32){_0x44fb32=_0x44fb32||0x1f4;return function(_0x490694){logger[_0x999e('0x24')](_0x490694[_0x999e('0x35')]);if(_0x490694[_0x999e('0x36')]){delete _0x490694[_0x999e('0x36')];}_0x4ebcb7['status'](_0x44fb32)[_0x999e('0x37')](_0x490694);};}exports[_0x999e('0x38')]=function(_0x5bd468,_0x4808d1){var _0x327866={},_0x4aa98c={},_0xa0c150={'count':0x0,'rows':[]};var _0x5dac45=_['map'](db['DeskConfiguration']['rawAttributes'],function(_0x17e257){return{'name':_0x17e257['fieldName'],'type':_0x17e257[_0x999e('0x39')]['key']};});_0x4aa98c['model']=_['map'](_0x5dac45,_0x999e('0x36'));_0x4aa98c[_0x999e('0x3a')]=_[_0x999e('0x3b')](_0x5bd468[_0x999e('0x3a')]);_0x4aa98c[_0x999e('0x3c')]=_[_0x999e('0x3d')](_0x4aa98c[_0x999e('0x3e')],_0x4aa98c[_0x999e('0x3a')]);_0x327866['attributes']=_[_0x999e('0x3d')](_0x4aa98c[_0x999e('0x3e')],qs[_0x999e('0x3f')](_0x5bd468[_0x999e('0x3a')]['fields']));_0x327866[_0x999e('0x40')]=_0x327866['attributes'][_0x999e('0x41')]?_0x327866[_0x999e('0x40')]:_0x4aa98c[_0x999e('0x3e')];if(!_0x5bd468[_0x999e('0x3a')]['hasOwnProperty'](_0x999e('0x42'))){_0x327866[_0x999e('0x2e')]=qs[_0x999e('0x2e')](_0x5bd468['query']['limit']);_0x327866[_0x999e('0x2d')]=qs[_0x999e('0x2d')](_0x5bd468[_0x999e('0x3a')][_0x999e('0x2d')]);}_0x327866[_0x999e('0x43')]=qs[_0x999e('0x44')](_0x5bd468[_0x999e('0x3a')][_0x999e('0x44')]);_0x327866[_0x999e('0x45')]=qs[_0x999e('0x3c')](_['pick'](_0x5bd468['query'],_0x4aa98c[_0x999e('0x3c')]),_0x5dac45);if(_0x5bd468[_0x999e('0x3a')][_0x999e('0x46')]){_0x327866[_0x999e('0x45')]=_[_0x999e('0x47')](_0x327866[_0x999e('0x45')],{'$or':_['map'](_0x5dac45,function(_0x33f2c6){if(_0x33f2c6['type']!=='VIRTUAL'){var _0x88b11e={};_0x88b11e[_0x33f2c6['name']]={'$like':'%'+_0x5bd468['query']['filter']+'%'};return _0x88b11e;}})});}_0x327866=_['merge']({},_0x327866,_0x5bd468[_0x999e('0x48')]);var _0x2841f7={'where':_0x327866['where']};return db[_0x999e('0x49')][_0x999e('0x2c')](_0x2841f7)[_0x999e('0x1f')](function(_0x57aaa9){_0xa0c150['count']=_0x57aaa9;if(_0x5bd468[_0x999e('0x3a')][_0x999e('0x4a')]){_0x327866[_0x999e('0x4b')]=[{'all':!![]}];}return db['DeskConfiguration']['findAll'](_0x327866);})['then'](function(_0x5ee14d){_0xa0c150[_0x999e('0x4c')]=_0x5ee14d;return _0xa0c150;})['then'](respondWithFilteredResult(_0x4808d1,_0x327866))['catch'](handleError(_0x4808d1,null));};exports[_0x999e('0x4d')]=function(_0x29a27f,_0x5843f1){var _0xa50dc6={'raw':![],'where':{'id':_0x29a27f['params']['id']}},_0x1a5c3d={};_0x1a5c3d[_0x999e('0x3e')]=_['keys'](db[_0x999e('0x49')][_0x999e('0x4e')]);_0x1a5c3d['query']=_[_0x999e('0x3b')](_0x29a27f[_0x999e('0x3a')]);_0x1a5c3d['filters']=_['intersection'](_0x1a5c3d[_0x999e('0x3e')],_0x1a5c3d['query']);_0xa50dc6['attributes']=_['intersection'](_0x1a5c3d[_0x999e('0x3e')],qs[_0x999e('0x3f')](_0x29a27f[_0x999e('0x3a')][_0x999e('0x3f')]));_0xa50dc6[_0x999e('0x40')]=_0xa50dc6[_0x999e('0x40')]['length']?_0xa50dc6[_0x999e('0x40')]:_0x1a5c3d[_0x999e('0x3e')];if(_0x29a27f['query'][_0x999e('0x4a')]){_0xa50dc6[_0x999e('0x4b')]=[{'all':!![]}];}_0xa50dc6=_[_0x999e('0x47')]({},_0xa50dc6,_0x29a27f[_0x999e('0x48')]);return db[_0x999e('0x49')][_0x999e('0x4f')](_0xa50dc6)[_0x999e('0x1f')](handleEntityNotFound(_0x5843f1,null))[_0x999e('0x1f')](respondWithResult(_0x5843f1,null))[_0x999e('0x27')](handleError(_0x5843f1,null));};exports['create']=function(_0x9f3f7a,_0x45b61a){return db[_0x999e('0x49')][_0x999e('0x50')](_0x9f3f7a['body'],{})[_0x999e('0x1f')](respondWithResult(_0x45b61a,0xc9))[_0x999e('0x27')](handleError(_0x45b61a,null));};exports[_0x999e('0x33')]=function(_0x291b73,_0x3e475b){if(_0x291b73[_0x999e('0x51')]['id']){delete _0x291b73[_0x999e('0x51')]['id'];}return db[_0x999e('0x49')]['find']({'where':{'id':_0x291b73['params']['id']}})[_0x999e('0x1f')](handleEntityNotFound(_0x3e475b,null))[_0x999e('0x1f')](saveUpdates(_0x291b73[_0x999e('0x51')],null))[_0x999e('0x1f')](respondWithResult(_0x3e475b,null))[_0x999e('0x27')](handleError(_0x3e475b,null));};exports[_0x999e('0x34')]=function(_0x23c5fb,_0x56d4b2){return db['DeskConfiguration'][_0x999e('0x4f')]({'where':{'id':_0x23c5fb[_0x999e('0x52')]['id']}})[_0x999e('0x1f')](handleEntityNotFound(_0x56d4b2,null))[_0x999e('0x1f')](removeEntity(_0x56d4b2,null))[_0x999e('0x27')](handleError(_0x56d4b2,null));};exports['getFields']=function(_0x10f82f,_0x1e7ad2,_0x30a49d){var _0x3c8ecf={};var _0x502c9={};var _0x434e13;var _0x2b4bbe;return db['DeskConfiguration'][_0x999e('0x53')]({'where':{'id':_0x10f82f['params']['id']}})[_0x999e('0x1f')](handleEntityNotFound(_0x1e7ad2,null))[_0x999e('0x1f')](function(_0x2ce0b3){if(_0x2ce0b3){_0x434e13=_0x2ce0b3;_0x502c9[_0x999e('0x3e')]=_[_0x999e('0x3b')](db[_0x999e('0x54')]['rawAttributes']);_0x502c9[_0x999e('0x3a')]=_[_0x999e('0x3b')](_0x10f82f[_0x999e('0x3a')]);_0x502c9[_0x999e('0x3c')]=_[_0x999e('0x3d')](_0x502c9[_0x999e('0x3e')],_0x502c9[_0x999e('0x3a')]);_0x3c8ecf[_0x999e('0x40')]=_[_0x999e('0x3d')](_0x502c9[_0x999e('0x3e')],qs[_0x999e('0x3f')](_0x10f82f[_0x999e('0x3a')][_0x999e('0x3f')]));_0x3c8ecf[_0x999e('0x40')]=_0x3c8ecf[_0x999e('0x40')]['length']?_0x3c8ecf[_0x999e('0x40')]:_0x502c9[_0x999e('0x3e')];_0x3c8ecf[_0x999e('0x43')]=qs[_0x999e('0x44')](_0x10f82f['query']['sort']);_0x3c8ecf[_0x999e('0x45')]=qs[_0x999e('0x3c')](_[_0x999e('0x55')](_0x10f82f[_0x999e('0x3a')],_0x502c9[_0x999e('0x3c')]));if(_0x10f82f[_0x999e('0x3a')][_0x999e('0x46')]){_0x3c8ecf[_0x999e('0x45')]=_[_0x999e('0x47')](_0x3c8ecf['where'],{'$or':_[_0x999e('0x56')](_0x3c8ecf['attributes'],function(_0x184b3e){var _0x21a04a={};_0x21a04a[_0x184b3e]={'$like':'%'+_0x10f82f['query'][_0x999e('0x46')]+'%'};return _0x21a04a;})});}_0x3c8ecf=_[_0x999e('0x47')]({},_0x3c8ecf,_0x10f82f[_0x999e('0x48')]);return _0x434e13[_0x999e('0x57')](_0x3c8ecf);}})[_0x999e('0x1f')](function(_0x4ba9cd){if(_0x4ba9cd){_0x2b4bbe=_0x4ba9cd[_0x999e('0x41')];if(!_0x10f82f[_0x999e('0x3a')]['hasOwnProperty']('nolimit')){_0x3c8ecf['limit']=qs[_0x999e('0x2e')](_0x10f82f[_0x999e('0x3a')][_0x999e('0x2e')]);_0x3c8ecf[_0x999e('0x2d')]=qs[_0x999e('0x2d')](_0x10f82f['query']['offset']);}return _0x434e13['getFields'](_0x3c8ecf);}})[_0x999e('0x1f')](function(_0x513580){if(_0x513580){return _0x513580?{'count':_0x2b4bbe,'rows':_0x513580}:null;}})['then'](respondWithResult(_0x1e7ad2,null))[_0x999e('0x27')](handleError(_0x1e7ad2,null));};exports['getSubjects']=function(_0x294f2a,_0x3131c7,_0xb5ac06){var _0x5b8a0d={};var _0x3ca455={};var _0x3c2bce;var _0x2ddf00;return db[_0x999e('0x49')][_0x999e('0x53')]({'where':{'id':_0x294f2a[_0x999e('0x52')]['id']}})[_0x999e('0x1f')](handleEntityNotFound(_0x3131c7,null))['then'](function(_0x1fdc45){if(_0x1fdc45){_0x3c2bce=_0x1fdc45;_0x3ca455[_0x999e('0x3e')]=_[_0x999e('0x3b')](db['DeskField'][_0x999e('0x4e')]);_0x3ca455[_0x999e('0x3a')]=_['keys'](_0x294f2a[_0x999e('0x3a')]);_0x3ca455[_0x999e('0x3c')]=_[_0x999e('0x3d')](_0x3ca455[_0x999e('0x3e')],_0x3ca455[_0x999e('0x3a')]);_0x5b8a0d[_0x999e('0x40')]=_[_0x999e('0x3d')](_0x3ca455[_0x999e('0x3e')],qs[_0x999e('0x3f')](_0x294f2a['query'][_0x999e('0x3f')]));_0x5b8a0d[_0x999e('0x40')]=_0x5b8a0d[_0x999e('0x40')]['length']?_0x5b8a0d[_0x999e('0x40')]:_0x3ca455['model'];_0x5b8a0d[_0x999e('0x43')]=qs[_0x999e('0x44')](_0x294f2a[_0x999e('0x3a')]['sort']);_0x5b8a0d[_0x999e('0x45')]=qs[_0x999e('0x3c')](_[_0x999e('0x55')](_0x294f2a[_0x999e('0x3a')],_0x3ca455[_0x999e('0x3c')]));if(_0x294f2a[_0x999e('0x3a')]['filter']){_0x5b8a0d[_0x999e('0x45')]=_['merge'](_0x5b8a0d[_0x999e('0x45')],{'$or':_['map'](_0x5b8a0d['attributes'],function(_0x3ef0c0){var _0x5d136c={};_0x5d136c[_0x3ef0c0]={'$like':'%'+_0x294f2a[_0x999e('0x3a')][_0x999e('0x46')]+'%'};return _0x5d136c;})});}_0x5b8a0d=_['merge']({},_0x5b8a0d,_0x294f2a[_0x999e('0x48')]);return _0x3c2bce[_0x999e('0x58')](_0x5b8a0d);}})['then'](function(_0x2a4d85){if(_0x2a4d85){_0x2ddf00=_0x2a4d85[_0x999e('0x41')];if(!_0x294f2a[_0x999e('0x3a')][_0x999e('0x59')](_0x999e('0x42'))){_0x5b8a0d[_0x999e('0x2e')]=qs[_0x999e('0x2e')](_0x294f2a[_0x999e('0x3a')]['limit']);_0x5b8a0d['offset']=qs[_0x999e('0x2d')](_0x294f2a[_0x999e('0x3a')][_0x999e('0x2d')]);}return _0x3c2bce[_0x999e('0x58')](_0x5b8a0d);}})[_0x999e('0x1f')](function(_0x4be2fa){if(_0x4be2fa){return _0x4be2fa?{'count':_0x2ddf00,'rows':_0x4be2fa}:null;}})['then'](respondWithResult(_0x3131c7,null))[_0x999e('0x27')](handleError(_0x3131c7,null));};exports[_0x999e('0x5a')]=function(_0x5c9439,_0x2405f5,_0x404391){var _0x40d407={};var _0x54742b={};var _0x389520;var _0x1a53c9;return db[_0x999e('0x49')]['findOne']({'where':{'id':_0x5c9439[_0x999e('0x52')]['id']}})[_0x999e('0x1f')](handleEntityNotFound(_0x2405f5,null))[_0x999e('0x1f')](function(_0x53cf4d){if(_0x53cf4d){_0x389520=_0x53cf4d;_0x54742b['model']=_[_0x999e('0x3b')](db['DeskField'][_0x999e('0x4e')]);_0x54742b[_0x999e('0x3a')]=_[_0x999e('0x3b')](_0x5c9439[_0x999e('0x3a')]);_0x54742b[_0x999e('0x3c')]=_[_0x999e('0x3d')](_0x54742b[_0x999e('0x3e')],_0x54742b['query']);_0x40d407[_0x999e('0x40')]=_['intersection'](_0x54742b['model'],qs[_0x999e('0x3f')](_0x5c9439[_0x999e('0x3a')][_0x999e('0x3f')]));_0x40d407[_0x999e('0x40')]=_0x40d407[_0x999e('0x40')][_0x999e('0x41')]?_0x40d407['attributes']:_0x54742b[_0x999e('0x3e')];_0x40d407['order']=qs[_0x999e('0x44')](_0x5c9439[_0x999e('0x3a')][_0x999e('0x44')]);_0x40d407['where']=qs[_0x999e('0x3c')](_['pick'](_0x5c9439[_0x999e('0x3a')],_0x54742b[_0x999e('0x3c')]));if(_0x5c9439[_0x999e('0x3a')][_0x999e('0x46')]){_0x40d407[_0x999e('0x45')]=_['merge'](_0x40d407['where'],{'$or':_[_0x999e('0x56')](_0x40d407[_0x999e('0x40')],function(_0x34e2be){var _0x283d61={};_0x283d61[_0x34e2be]={'$like':'%'+_0x5c9439[_0x999e('0x3a')][_0x999e('0x46')]+'%'};return _0x283d61;})});}_0x40d407=_[_0x999e('0x47')]({},_0x40d407,_0x5c9439[_0x999e('0x48')]);return _0x389520['getDescriptions'](_0x40d407);}})[_0x999e('0x1f')](function(_0xaed39c){if(_0xaed39c){_0x1a53c9=_0xaed39c[_0x999e('0x41')];if(!_0x5c9439[_0x999e('0x3a')][_0x999e('0x59')](_0x999e('0x42'))){_0x40d407[_0x999e('0x2e')]=qs[_0x999e('0x2e')](_0x5c9439['query'][_0x999e('0x2e')]);_0x40d407[_0x999e('0x2d')]=qs[_0x999e('0x2d')](_0x5c9439[_0x999e('0x3a')][_0x999e('0x2d')]);}return _0x389520[_0x999e('0x5a')](_0x40d407);}})[_0x999e('0x1f')](function(_0x360ce9){if(_0x360ce9){return _0x360ce9?{'count':_0x1a53c9,'rows':_0x360ce9}:null;}})['then'](respondWithResult(_0x2405f5,null))[_0x999e('0x27')](handleError(_0x2405f5,null));};exports[_0x999e('0x5b')]=function(_0x34d75e,_0x4b0d85,_0x2b036d){var _0x3edea2={};var _0x3b5b20={};var _0x2cd575;var _0x35fcd5;return db[_0x999e('0x49')][_0x999e('0x53')]({'where':{'id':_0x34d75e[_0x999e('0x52')]['id']}})[_0x999e('0x1f')](handleEntityNotFound(_0x4b0d85,null))['then'](function(_0xbd2dac){if(_0xbd2dac){_0x2cd575=_0xbd2dac;_0x3b5b20[_0x999e('0x3e')]=_[_0x999e('0x3b')](db['Tag']['rawAttributes']);_0x3b5b20[_0x999e('0x3a')]=_[_0x999e('0x3b')](_0x34d75e[_0x999e('0x3a')]);_0x3b5b20['filters']=_[_0x999e('0x3d')](_0x3b5b20[_0x999e('0x3e')],_0x3b5b20[_0x999e('0x3a')]);_0x3edea2['attributes']=_[_0x999e('0x3d')](_0x3b5b20[_0x999e('0x3e')],qs['fields'](_0x34d75e[_0x999e('0x3a')]['fields']));_0x3edea2['attributes']=_0x3edea2[_0x999e('0x40')][_0x999e('0x41')]?_0x3edea2[_0x999e('0x40')]:_0x3b5b20[_0x999e('0x3e')];_0x3edea2['order']=qs[_0x999e('0x44')](_0x34d75e[_0x999e('0x3a')][_0x999e('0x44')]);_0x3edea2[_0x999e('0x45')]=qs[_0x999e('0x3c')](_['pick'](_0x34d75e[_0x999e('0x3a')],_0x3b5b20[_0x999e('0x3c')]));if(_0x34d75e[_0x999e('0x3a')]['filter']){_0x3edea2[_0x999e('0x45')]=_[_0x999e('0x47')](_0x3edea2[_0x999e('0x45')],{'$or':_[_0x999e('0x56')](_0x3edea2[_0x999e('0x40')],function(_0x1b6cfd){var _0x1d885d={};_0x1d885d[_0x1b6cfd]={'$like':'%'+_0x34d75e[_0x999e('0x3a')]['filter']+'%'};return _0x1d885d;})});}_0x3edea2=_[_0x999e('0x47')]({},_0x3edea2,_0x34d75e[_0x999e('0x48')]);return _0x2cd575[_0x999e('0x5b')](_0x3edea2);}})[_0x999e('0x1f')](function(_0x4787d3){if(_0x4787d3){_0x35fcd5=_0x4787d3[_0x999e('0x41')];if(!_0x34d75e[_0x999e('0x3a')][_0x999e('0x59')](_0x999e('0x42'))){_0x3edea2[_0x999e('0x2e')]=qs['limit'](_0x34d75e[_0x999e('0x3a')][_0x999e('0x2e')]);_0x3edea2[_0x999e('0x2d')]=qs[_0x999e('0x2d')](_0x34d75e[_0x999e('0x3a')][_0x999e('0x2d')]);}return _0x2cd575['getTags'](_0x3edea2);}})['then'](function(_0x2b2368){if(_0x2b2368){return _0x2b2368?{'count':_0x35fcd5,'rows':_0x2b2368}:null;}})[_0x999e('0x1f')](respondWithResult(_0x4b0d85,null))['catch'](handleError(_0x4b0d85,null));};exports[_0x999e('0x5c')]=function(_0x346afc,_0x593111,_0x413c81){if(_0x346afc[_0x999e('0x51')]['id']){delete _0x346afc[_0x999e('0x51')]['id'];}return db[_0x999e('0x49')][_0x999e('0x53')]({'where':{'id':_0x346afc['params']['id']}})[_0x999e('0x1f')](handleEntityNotFound(_0x593111,null))[_0x999e('0x1f')](function(_0x2e86ac){if(_0x2e86ac){return _0x2e86ac[_0x999e('0x5c')](_0x346afc[_0x999e('0x51')][_0x999e('0x5d')]||[]);}return null;})[_0x999e('0x1f')](respondWithResult(_0x593111,null))['catch'](handleError(_0x593111,null));};