Built motion from commit (unavailable).|2.4.19
[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 _0x7bb8=['count','offset','Content-Range','apply','stack','name','send','index','map','rawAttributes','key','keys','filters','intersection','model','query','attributes','fields','length','nolimit','limit','sort','pick','filter','type','VIRTUAL','merge','where','DeskConfiguration','includeAll','include','findAll','rows','show','options','find','create','update','body','params','destroy','getFields','findOne','DeskField','order','hasOwnProperty','getSubjects','getDescriptions','Tag','getTags','ids','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../mysqldb','client','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~!@#$%^&-_=+[{]}.','then','info','DeskConfiguration,\x20%s,\x20%s','request\x20sent','debug','DeskConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','message','result','catch','sendStatus','status','end','json'];(function(_0x2e5d6c,_0x46cb7b){var _0x4e7f13=function(_0x396c14){while(--_0x396c14){_0x2e5d6c['push'](_0x2e5d6c['shift']());}};_0x4e7f13(++_0x46cb7b);}(_0x7bb8,0xe9));var _0x87bb=function(_0x243ee0,_0x3373b1){_0x243ee0=_0x243ee0-0x0;var _0x3afc38=_0x7bb8[_0x243ee0];return _0x3afc38;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x87bb('0x0'));var rimraf=require(_0x87bb('0x1'));var zipdir=require(_0x87bb('0x2'));var jsonpatch=require(_0x87bb('0x3'));var rp=require('request-promise');var moment=require(_0x87bb('0x4'));var BPromise=require(_0x87bb('0x5'));var Mustache=require('mustache');var util=require(_0x87bb('0x6'));var path=require(_0x87bb('0x7'));var sox=require(_0x87bb('0x8'));var csv=require(_0x87bb('0x9'));var ejs=require(_0x87bb('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0x87bb('0xb'));var crypto=require(_0x87bb('0xc'));var jsforce=require(_0x87bb('0xd'));var deskjs=require(_0x87bb('0xe'));var toCsv=require(_0x87bb('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x87bb('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x87bb('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x87bb('0x11'));var logger=require(_0x87bb('0x12'))('api');var utils=require(_0x87bb('0x13'));var config=require('../../config/environment');var db=require(_0x87bb('0x14'))['db'];var jayson=require('jayson/promise');var client=jayson[_0x87bb('0x15')]['http']({'port':0x232a});function checkPasswordPattern(_0x577b4a,_0xc095f5,_0x5a194d){if(_0x5a194d){var _0x447355=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x447355[_0x87bb('0x16')](_0xc095f5)){return _0x577b4a;}else{throw new db['Sequelize'][(_0x87bb('0x17'))](_0x87bb('0x18'));}}else{return _0x577b4a;}}function respondWithRpcPromise(_0x474976,_0x588841,_0x4047a7,_0x284c02){return new BPromise(function(_0x539333,_0x221ef8){var _0xce3e65=_0x284c02||client;return _0xce3e65['request'](_0x474976,_0x4047a7)[_0x87bb('0x19')](function(_0x1945ea){logger[_0x87bb('0x1a')](_0x87bb('0x1b'),_0x588841,_0x87bb('0x1c'));logger[_0x87bb('0x1d')](_0x87bb('0x1e'),_0x588841,_0x87bb('0x1c'),JSON[_0x87bb('0x1f')](_0x1945ea));if(_0x1945ea[_0x87bb('0x20')]){if(_0x1945ea[_0x87bb('0x20')]['code']===0x1f4){logger[_0x87bb('0x20')](_0x87bb('0x1b'),_0x588841,_0x1945ea[_0x87bb('0x20')][_0x87bb('0x21')]);return _0x221ef8(_0x1945ea[_0x87bb('0x20')][_0x87bb('0x21')]);}logger[_0x87bb('0x20')](_0x87bb('0x1b'),_0x588841,_0x1945ea[_0x87bb('0x20')][_0x87bb('0x21')]);return _0x539333(_0x1945ea[_0x87bb('0x20')][_0x87bb('0x21')]);}else{logger[_0x87bb('0x1a')](_0x87bb('0x1b'),_0x588841,_0x87bb('0x1c'));_0x539333(_0x1945ea[_0x87bb('0x22')][_0x87bb('0x21')]);}})[_0x87bb('0x23')](function(_0x510ced){logger[_0x87bb('0x20')](_0x87bb('0x1b'),_0x588841,_0x510ced);_0x221ef8(_0x510ced);});});}function respondWithStatusCode(_0x546eb3,_0x138409){_0x138409=_0x138409||0xcc;return function(_0x1dd15d){if(_0x1dd15d){return _0x546eb3[_0x87bb('0x24')](_0x138409);}return _0x546eb3[_0x87bb('0x25')](_0x138409)[_0x87bb('0x26')]();};}function respondWithResult(_0x170dc9,_0x29b162){_0x29b162=_0x29b162||0xc8;return function(_0x4bc7f1){if(_0x4bc7f1){return _0x170dc9[_0x87bb('0x25')](_0x29b162)[_0x87bb('0x27')](_0x4bc7f1);}};}function respondWithFilteredResult(_0x325074,_0x1ff6ee){return function(_0x3b8052){if(_0x3b8052){var _0x26d7d7=_0x3b8052[_0x87bb('0x28')],_0x49f912=_0x1ff6ee['offset'],_0x4d936c=_0x1ff6ee[_0x87bb('0x29')]+_0x1ff6ee['limit'],_0x5f3048;if(_0x4d936c>=_0x26d7d7){_0x4d936c=_0x26d7d7;_0x5f3048=0xc8;}else{_0x5f3048=0xce;}_0x325074['status'](_0x5f3048);return _0x325074['set'](_0x87bb('0x2a'),_0x49f912+'-'+_0x4d936c+'/'+_0x26d7d7)[_0x87bb('0x27')](_0x3b8052);}return null;};}function patchUpdates(_0x5bf424){return function(_0x5792cf){try{jsonpatch[_0x87bb('0x2b')](_0x5792cf,_0x5bf424,!![]);}catch(_0x568925){return BPromise['reject'](_0x568925);}return _0x5792cf['save']();};}function saveUpdates(_0x261674,_0x4ec241){return function(_0x55f995){if(_0x55f995){return _0x55f995['update'](_0x261674)[_0x87bb('0x19')](function(_0x306858){return _0x306858;});}return null;};}function removeEntity(_0x3a1b32,_0x3fa0a1){return function(_0x187137){if(_0x187137){return _0x187137['destroy']()[_0x87bb('0x19')](function(){_0x3a1b32[_0x87bb('0x25')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2dbed7,_0xe2fc07){return function(_0x2760be){if(!_0x2760be){_0x2dbed7[_0x87bb('0x24')](0x194);}return _0x2760be;};}function handleError(_0x3c41cb,_0x474b89){_0x474b89=_0x474b89||0x1f4;return function(_0x49cf1b){logger[_0x87bb('0x20')](_0x49cf1b[_0x87bb('0x2c')]);if(_0x49cf1b[_0x87bb('0x2d')]){delete _0x49cf1b['name'];}_0x3c41cb['status'](_0x474b89)[_0x87bb('0x2e')](_0x49cf1b);};}exports[_0x87bb('0x2f')]=function(_0x1245c2,_0xace559){var _0x3a8ae5={},_0x4ac7e8={},_0xd4ac47={'count':0x0,'rows':[]};var _0x24106e=_[_0x87bb('0x30')](db['DeskConfiguration'][_0x87bb('0x31')],function(_0x5a395a){return{'name':_0x5a395a['fieldName'],'type':_0x5a395a['type'][_0x87bb('0x32')]};});_0x4ac7e8['model']=_[_0x87bb('0x30')](_0x24106e,_0x87bb('0x2d'));_0x4ac7e8['query']=_[_0x87bb('0x33')](_0x1245c2['query']);_0x4ac7e8[_0x87bb('0x34')]=_[_0x87bb('0x35')](_0x4ac7e8[_0x87bb('0x36')],_0x4ac7e8[_0x87bb('0x37')]);_0x3a8ae5[_0x87bb('0x38')]=_[_0x87bb('0x35')](_0x4ac7e8[_0x87bb('0x36')],qs[_0x87bb('0x39')](_0x1245c2[_0x87bb('0x37')][_0x87bb('0x39')]));_0x3a8ae5[_0x87bb('0x38')]=_0x3a8ae5['attributes'][_0x87bb('0x3a')]?_0x3a8ae5[_0x87bb('0x38')]:_0x4ac7e8[_0x87bb('0x36')];if(!_0x1245c2[_0x87bb('0x37')]['hasOwnProperty'](_0x87bb('0x3b'))){_0x3a8ae5[_0x87bb('0x3c')]=qs[_0x87bb('0x3c')](_0x1245c2[_0x87bb('0x37')][_0x87bb('0x3c')]);_0x3a8ae5[_0x87bb('0x29')]=qs[_0x87bb('0x29')](_0x1245c2[_0x87bb('0x37')][_0x87bb('0x29')]);}_0x3a8ae5['order']=qs[_0x87bb('0x3d')](_0x1245c2[_0x87bb('0x37')][_0x87bb('0x3d')]);_0x3a8ae5['where']=qs['filters'](_[_0x87bb('0x3e')](_0x1245c2[_0x87bb('0x37')],_0x4ac7e8[_0x87bb('0x34')]));if(_0x1245c2[_0x87bb('0x37')][_0x87bb('0x3f')]){_0x3a8ae5['where']=_['merge'](_0x3a8ae5['where'],{'$or':_[_0x87bb('0x30')](_0x24106e,function(_0x3e8375){if(_0x3e8375[_0x87bb('0x40')]!==_0x87bb('0x41')){var _0x281819={};_0x281819[_0x3e8375['name']]={'$like':'%'+_0x1245c2[_0x87bb('0x37')]['filter']+'%'};return _0x281819;}})});}_0x3a8ae5=_[_0x87bb('0x42')]({},_0x3a8ae5,_0x1245c2['options']);var _0x5ae077={'where':_0x3a8ae5[_0x87bb('0x43')]};return db[_0x87bb('0x44')][_0x87bb('0x28')](_0x5ae077)['then'](function(_0x3e022c){_0xd4ac47['count']=_0x3e022c;if(_0x1245c2[_0x87bb('0x37')][_0x87bb('0x45')]){_0x3a8ae5[_0x87bb('0x46')]=[{'all':!![]}];}return db[_0x87bb('0x44')][_0x87bb('0x47')](_0x3a8ae5);})[_0x87bb('0x19')](function(_0x3a8f00){_0xd4ac47[_0x87bb('0x48')]=_0x3a8f00;return _0xd4ac47;})[_0x87bb('0x19')](respondWithFilteredResult(_0xace559,_0x3a8ae5))['catch'](handleError(_0xace559,null));};exports[_0x87bb('0x49')]=function(_0x3215cb,_0x48212a){var _0x1c0c37={'raw':![],'where':{'id':_0x3215cb['params']['id']}},_0x565be2={};_0x565be2[_0x87bb('0x36')]=_[_0x87bb('0x33')](db[_0x87bb('0x44')]['rawAttributes']);_0x565be2[_0x87bb('0x37')]=_[_0x87bb('0x33')](_0x3215cb['query']);_0x565be2[_0x87bb('0x34')]=_[_0x87bb('0x35')](_0x565be2[_0x87bb('0x36')],_0x565be2['query']);_0x1c0c37['attributes']=_[_0x87bb('0x35')](_0x565be2['model'],qs[_0x87bb('0x39')](_0x3215cb['query'][_0x87bb('0x39')]));_0x1c0c37[_0x87bb('0x38')]=_0x1c0c37['attributes'][_0x87bb('0x3a')]?_0x1c0c37[_0x87bb('0x38')]:_0x565be2['model'];if(_0x3215cb[_0x87bb('0x37')]['includeAll']){_0x1c0c37[_0x87bb('0x46')]=[{'all':!![]}];}_0x1c0c37=_[_0x87bb('0x42')]({},_0x1c0c37,_0x3215cb[_0x87bb('0x4a')]);return db['DeskConfiguration'][_0x87bb('0x4b')](_0x1c0c37)['then'](handleEntityNotFound(_0x48212a,null))['then'](respondWithResult(_0x48212a,null))[_0x87bb('0x23')](handleError(_0x48212a,null));};exports[_0x87bb('0x4c')]=function(_0x27387b,_0x199668){return db['DeskConfiguration'][_0x87bb('0x4c')](_0x27387b['body'],{})[_0x87bb('0x19')](respondWithResult(_0x199668,0xc9))[_0x87bb('0x23')](handleError(_0x199668,null));};exports[_0x87bb('0x4d')]=function(_0x25edea,_0x22bba2){if(_0x25edea[_0x87bb('0x4e')]['id']){delete _0x25edea['body']['id'];}return db[_0x87bb('0x44')][_0x87bb('0x4b')]({'where':{'id':_0x25edea[_0x87bb('0x4f')]['id']}})[_0x87bb('0x19')](handleEntityNotFound(_0x22bba2,null))[_0x87bb('0x19')](saveUpdates(_0x25edea['body'],null))[_0x87bb('0x19')](respondWithResult(_0x22bba2,null))['catch'](handleError(_0x22bba2,null));};exports[_0x87bb('0x50')]=function(_0xebfe37,_0x39dc1c){return db[_0x87bb('0x44')][_0x87bb('0x4b')]({'where':{'id':_0xebfe37[_0x87bb('0x4f')]['id']}})[_0x87bb('0x19')](handleEntityNotFound(_0x39dc1c,null))[_0x87bb('0x19')](removeEntity(_0x39dc1c,null))['catch'](handleError(_0x39dc1c,null));};exports[_0x87bb('0x51')]=function(_0x29f447,_0xf3470,_0x45af4a){var _0x24bc58={};var _0x17a7c6={};var _0x58aae6;var _0x16cdcb;return db[_0x87bb('0x44')][_0x87bb('0x52')]({'where':{'id':_0x29f447['params']['id']}})[_0x87bb('0x19')](handleEntityNotFound(_0xf3470,null))[_0x87bb('0x19')](function(_0x2ad997){if(_0x2ad997){_0x58aae6=_0x2ad997;_0x17a7c6['model']=_['keys'](db[_0x87bb('0x53')][_0x87bb('0x31')]);_0x17a7c6['query']=_['keys'](_0x29f447['query']);_0x17a7c6[_0x87bb('0x34')]=_[_0x87bb('0x35')](_0x17a7c6['model'],_0x17a7c6['query']);_0x24bc58[_0x87bb('0x38')]=_[_0x87bb('0x35')](_0x17a7c6[_0x87bb('0x36')],qs['fields'](_0x29f447[_0x87bb('0x37')][_0x87bb('0x39')]));_0x24bc58['attributes']=_0x24bc58[_0x87bb('0x38')][_0x87bb('0x3a')]?_0x24bc58[_0x87bb('0x38')]:_0x17a7c6[_0x87bb('0x36')];_0x24bc58[_0x87bb('0x54')]=qs[_0x87bb('0x3d')](_0x29f447[_0x87bb('0x37')][_0x87bb('0x3d')]);_0x24bc58[_0x87bb('0x43')]=qs['filters'](_[_0x87bb('0x3e')](_0x29f447[_0x87bb('0x37')],_0x17a7c6['filters']));if(_0x29f447[_0x87bb('0x37')][_0x87bb('0x3f')]){_0x24bc58[_0x87bb('0x43')]=_[_0x87bb('0x42')](_0x24bc58['where'],{'$or':_[_0x87bb('0x30')](_0x24bc58[_0x87bb('0x38')],function(_0x12ee94){var _0x55ab23={};_0x55ab23[_0x12ee94]={'$like':'%'+_0x29f447[_0x87bb('0x37')][_0x87bb('0x3f')]+'%'};return _0x55ab23;})});}_0x24bc58=_['merge']({},_0x24bc58,_0x29f447[_0x87bb('0x4a')]);return _0x58aae6[_0x87bb('0x51')](_0x24bc58);}})[_0x87bb('0x19')](function(_0x4a3cdb){if(_0x4a3cdb){_0x16cdcb=_0x4a3cdb[_0x87bb('0x3a')];if(!_0x29f447[_0x87bb('0x37')][_0x87bb('0x55')](_0x87bb('0x3b'))){_0x24bc58[_0x87bb('0x3c')]=qs[_0x87bb('0x3c')](_0x29f447['query'][_0x87bb('0x3c')]);_0x24bc58[_0x87bb('0x29')]=qs[_0x87bb('0x29')](_0x29f447['query']['offset']);}return _0x58aae6[_0x87bb('0x51')](_0x24bc58);}})['then'](function(_0x33df75){if(_0x33df75){return _0x33df75?{'count':_0x16cdcb,'rows':_0x33df75}:null;}})[_0x87bb('0x19')](respondWithResult(_0xf3470,null))['catch'](handleError(_0xf3470,null));};exports[_0x87bb('0x56')]=function(_0x3412f8,_0x4a5e71,_0x4e3dd3){var _0x5ca765={};var _0x259d13={};var _0xe79e2;var _0x100556;return db[_0x87bb('0x44')]['findOne']({'where':{'id':_0x3412f8[_0x87bb('0x4f')]['id']}})['then'](handleEntityNotFound(_0x4a5e71,null))[_0x87bb('0x19')](function(_0x1f9319){if(_0x1f9319){_0xe79e2=_0x1f9319;_0x259d13['model']=_[_0x87bb('0x33')](db[_0x87bb('0x53')][_0x87bb('0x31')]);_0x259d13[_0x87bb('0x37')]=_[_0x87bb('0x33')](_0x3412f8[_0x87bb('0x37')]);_0x259d13['filters']=_['intersection'](_0x259d13[_0x87bb('0x36')],_0x259d13[_0x87bb('0x37')]);_0x5ca765['attributes']=_[_0x87bb('0x35')](_0x259d13[_0x87bb('0x36')],qs[_0x87bb('0x39')](_0x3412f8[_0x87bb('0x37')][_0x87bb('0x39')]));_0x5ca765[_0x87bb('0x38')]=_0x5ca765['attributes'][_0x87bb('0x3a')]?_0x5ca765[_0x87bb('0x38')]:_0x259d13[_0x87bb('0x36')];_0x5ca765[_0x87bb('0x54')]=qs[_0x87bb('0x3d')](_0x3412f8['query'][_0x87bb('0x3d')]);_0x5ca765['where']=qs[_0x87bb('0x34')](_[_0x87bb('0x3e')](_0x3412f8['query'],_0x259d13['filters']));if(_0x3412f8[_0x87bb('0x37')][_0x87bb('0x3f')]){_0x5ca765[_0x87bb('0x43')]=_['merge'](_0x5ca765['where'],{'$or':_[_0x87bb('0x30')](_0x5ca765[_0x87bb('0x38')],function(_0x555ebc){var _0x1f2eae={};_0x1f2eae[_0x555ebc]={'$like':'%'+_0x3412f8[_0x87bb('0x37')]['filter']+'%'};return _0x1f2eae;})});}_0x5ca765=_['merge']({},_0x5ca765,_0x3412f8[_0x87bb('0x4a')]);return _0xe79e2[_0x87bb('0x56')](_0x5ca765);}})[_0x87bb('0x19')](function(_0x1f8fcd){if(_0x1f8fcd){_0x100556=_0x1f8fcd['length'];if(!_0x3412f8[_0x87bb('0x37')][_0x87bb('0x55')](_0x87bb('0x3b'))){_0x5ca765[_0x87bb('0x3c')]=qs[_0x87bb('0x3c')](_0x3412f8[_0x87bb('0x37')][_0x87bb('0x3c')]);_0x5ca765[_0x87bb('0x29')]=qs[_0x87bb('0x29')](_0x3412f8[_0x87bb('0x37')][_0x87bb('0x29')]);}return _0xe79e2[_0x87bb('0x56')](_0x5ca765);}})[_0x87bb('0x19')](function(_0x59084c){if(_0x59084c){return _0x59084c?{'count':_0x100556,'rows':_0x59084c}:null;}})[_0x87bb('0x19')](respondWithResult(_0x4a5e71,null))[_0x87bb('0x23')](handleError(_0x4a5e71,null));};exports[_0x87bb('0x57')]=function(_0x22e3e1,_0x3a35ca,_0x23f085){var _0x18c39e={};var _0x5bbebb={};var _0x4d846e;var _0x393507;return db['DeskConfiguration'][_0x87bb('0x52')]({'where':{'id':_0x22e3e1['params']['id']}})[_0x87bb('0x19')](handleEntityNotFound(_0x3a35ca,null))[_0x87bb('0x19')](function(_0x18f06f){if(_0x18f06f){_0x4d846e=_0x18f06f;_0x5bbebb[_0x87bb('0x36')]=_[_0x87bb('0x33')](db[_0x87bb('0x53')][_0x87bb('0x31')]);_0x5bbebb['query']=_[_0x87bb('0x33')](_0x22e3e1[_0x87bb('0x37')]);_0x5bbebb[_0x87bb('0x34')]=_[_0x87bb('0x35')](_0x5bbebb['model'],_0x5bbebb[_0x87bb('0x37')]);_0x18c39e[_0x87bb('0x38')]=_[_0x87bb('0x35')](_0x5bbebb[_0x87bb('0x36')],qs['fields'](_0x22e3e1['query']['fields']));_0x18c39e['attributes']=_0x18c39e['attributes'][_0x87bb('0x3a')]?_0x18c39e[_0x87bb('0x38')]:_0x5bbebb['model'];_0x18c39e['order']=qs[_0x87bb('0x3d')](_0x22e3e1[_0x87bb('0x37')]['sort']);_0x18c39e['where']=qs['filters'](_['pick'](_0x22e3e1[_0x87bb('0x37')],_0x5bbebb['filters']));if(_0x22e3e1[_0x87bb('0x37')][_0x87bb('0x3f')]){_0x18c39e[_0x87bb('0x43')]=_['merge'](_0x18c39e[_0x87bb('0x43')],{'$or':_[_0x87bb('0x30')](_0x18c39e['attributes'],function(_0x5a1536){var _0x3f5a66={};_0x3f5a66[_0x5a1536]={'$like':'%'+_0x22e3e1[_0x87bb('0x37')][_0x87bb('0x3f')]+'%'};return _0x3f5a66;})});}_0x18c39e=_['merge']({},_0x18c39e,_0x22e3e1[_0x87bb('0x4a')]);return _0x4d846e[_0x87bb('0x57')](_0x18c39e);}})[_0x87bb('0x19')](function(_0x2db7cb){if(_0x2db7cb){_0x393507=_0x2db7cb[_0x87bb('0x3a')];if(!_0x22e3e1[_0x87bb('0x37')]['hasOwnProperty'](_0x87bb('0x3b'))){_0x18c39e[_0x87bb('0x3c')]=qs[_0x87bb('0x3c')](_0x22e3e1[_0x87bb('0x37')]['limit']);_0x18c39e[_0x87bb('0x29')]=qs['offset'](_0x22e3e1[_0x87bb('0x37')]['offset']);}return _0x4d846e[_0x87bb('0x57')](_0x18c39e);}})['then'](function(_0x241a13){if(_0x241a13){return _0x241a13?{'count':_0x393507,'rows':_0x241a13}:null;}})[_0x87bb('0x19')](respondWithResult(_0x3a35ca,null))[_0x87bb('0x23')](handleError(_0x3a35ca,null));};exports['getTags']=function(_0x41b92f,_0x59a600,_0x461799){var _0x5478ef={};var _0x454a0f={};var _0x1551b1;var _0x36bbc1;return db[_0x87bb('0x44')][_0x87bb('0x52')]({'where':{'id':_0x41b92f[_0x87bb('0x4f')]['id']}})[_0x87bb('0x19')](handleEntityNotFound(_0x59a600,null))[_0x87bb('0x19')](function(_0x24cfd3){if(_0x24cfd3){_0x1551b1=_0x24cfd3;_0x454a0f[_0x87bb('0x36')]=_[_0x87bb('0x33')](db[_0x87bb('0x58')][_0x87bb('0x31')]);_0x454a0f[_0x87bb('0x37')]=_['keys'](_0x41b92f[_0x87bb('0x37')]);_0x454a0f[_0x87bb('0x34')]=_[_0x87bb('0x35')](_0x454a0f[_0x87bb('0x36')],_0x454a0f['query']);_0x5478ef[_0x87bb('0x38')]=_[_0x87bb('0x35')](_0x454a0f[_0x87bb('0x36')],qs[_0x87bb('0x39')](_0x41b92f[_0x87bb('0x37')][_0x87bb('0x39')]));_0x5478ef[_0x87bb('0x38')]=_0x5478ef[_0x87bb('0x38')][_0x87bb('0x3a')]?_0x5478ef[_0x87bb('0x38')]:_0x454a0f[_0x87bb('0x36')];_0x5478ef['order']=qs[_0x87bb('0x3d')](_0x41b92f['query'][_0x87bb('0x3d')]);_0x5478ef[_0x87bb('0x43')]=qs['filters'](_[_0x87bb('0x3e')](_0x41b92f[_0x87bb('0x37')],_0x454a0f['filters']));if(_0x41b92f[_0x87bb('0x37')][_0x87bb('0x3f')]){_0x5478ef[_0x87bb('0x43')]=_[_0x87bb('0x42')](_0x5478ef[_0x87bb('0x43')],{'$or':_[_0x87bb('0x30')](_0x5478ef['attributes'],function(_0x401b45){var _0x1cc6bf={};_0x1cc6bf[_0x401b45]={'$like':'%'+_0x41b92f[_0x87bb('0x37')][_0x87bb('0x3f')]+'%'};return _0x1cc6bf;})});}_0x5478ef=_[_0x87bb('0x42')]({},_0x5478ef,_0x41b92f[_0x87bb('0x4a')]);return _0x1551b1[_0x87bb('0x59')](_0x5478ef);}})[_0x87bb('0x19')](function(_0x11785c){if(_0x11785c){_0x36bbc1=_0x11785c[_0x87bb('0x3a')];if(!_0x41b92f[_0x87bb('0x37')]['hasOwnProperty'](_0x87bb('0x3b'))){_0x5478ef[_0x87bb('0x3c')]=qs[_0x87bb('0x3c')](_0x41b92f[_0x87bb('0x37')][_0x87bb('0x3c')]);_0x5478ef[_0x87bb('0x29')]=qs[_0x87bb('0x29')](_0x41b92f[_0x87bb('0x37')][_0x87bb('0x29')]);}return _0x1551b1[_0x87bb('0x59')](_0x5478ef);}})['then'](function(_0x5dba81){if(_0x5dba81){return _0x5dba81?{'count':_0x36bbc1,'rows':_0x5dba81}:null;}})[_0x87bb('0x19')](respondWithResult(_0x59a600,null))['catch'](handleError(_0x59a600,null));};exports['setTags']=function(_0x708d39,_0xf8a5be,_0x20fa7a){if(_0x708d39['body']['id']){delete _0x708d39['body']['id'];}return db[_0x87bb('0x44')][_0x87bb('0x52')]({'where':{'id':_0x708d39['params']['id']}})[_0x87bb('0x19')](handleEntityNotFound(_0xf8a5be,null))[_0x87bb('0x19')](function(_0x54c7de){if(_0x54c7de){return _0x54c7de['setTags'](_0x708d39[_0x87bb('0x4e')][_0x87bb('0x5a')]||[]);}return null;})[_0x87bb('0x19')](respondWithResult(_0xf8a5be,null))[_0x87bb('0x23')](handleError(_0xf8a5be,null));};