Built motion from commit ac06311e.|2.6.28
[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 _0x9f93=['api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','limit','count','set','json','reject','save','update','then','destroy','error','stack','name','send','map','DeskConfiguration','rawAttributes','type','query','filters','intersection','model','attributes','fields','hasOwnProperty','order','sort','where','pick','merge','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','length','find','create','body','params','getFields','findOne','keys','nolimit','DeskField','getSubjects','getDescriptions','getTags','Tag','setTags','ids','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x2157ab,_0x2b4a5b){var _0x5121e0=function(_0x46ab70){while(--_0x46ab70){_0x2157ab['push'](_0x2157ab['shift']());}};_0x5121e0(++_0x2b4a5b);}(_0x9f93,0x93));var _0x39f9=function(_0x4718c4,_0x522978){_0x4718c4=_0x4718c4-0x0;var _0x5f58a3=_0x9f93[_0x4718c4];return _0x5f58a3;};'use strict';var emlformat=require(_0x39f9('0x0'));var rimraf=require(_0x39f9('0x1'));var zipdir=require(_0x39f9('0x2'));var jsonpatch=require(_0x39f9('0x3'));var rp=require(_0x39f9('0x4'));var moment=require(_0x39f9('0x5'));var BPromise=require(_0x39f9('0x6'));var Mustache=require(_0x39f9('0x7'));var util=require(_0x39f9('0x8'));var path=require(_0x39f9('0x9'));var sox=require(_0x39f9('0xa'));var csv=require(_0x39f9('0xb'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x39f9('0xc'));var _=require('lodash');var squel=require(_0x39f9('0xd'));var crypto=require(_0x39f9('0xe'));var jsforce=require(_0x39f9('0xf'));var deskjs=require(_0x39f9('0x10'));var toCsv=require(_0x39f9('0xb'));var querystring=require('querystring');var Papa=require(_0x39f9('0x11'));var Redis=require(_0x39f9('0x12'));var authService=require(_0x39f9('0x13'));var qs=require(_0x39f9('0x14'));var as=require(_0x39f9('0x15'));var hardwareService=require(_0x39f9('0x16'));var logger=require('../../config/logger')(_0x39f9('0x17'));var utils=require(_0x39f9('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x39f9('0x19'));var db=require(_0x39f9('0x1a'))['db'];function respondWithStatusCode(_0xcbc741,_0x4da622){_0x4da622=_0x4da622||0xcc;return function(_0x5f5aa8){if(_0x5f5aa8){return _0xcbc741[_0x39f9('0x1b')](_0x4da622);}return _0xcbc741[_0x39f9('0x1c')](_0x4da622)['end']();};}function respondWithResult(_0x207320,_0x4a4986){_0x4a4986=_0x4a4986||0xc8;return function(_0x45c42a){if(_0x45c42a){return _0x207320[_0x39f9('0x1c')](_0x4a4986)['json'](_0x45c42a);}};}function respondWithFilteredResult(_0x10f396,_0x518e7b){return function(_0x577bf4){if(_0x577bf4){var _0x87dcf6=typeof _0x518e7b[_0x39f9('0x1d')]===_0x39f9('0x1e')&&typeof _0x518e7b[_0x39f9('0x1f')]===_0x39f9('0x1e');var _0x259404=_0x577bf4[_0x39f9('0x20')];var _0x301df2=_0x87dcf6?0x0:_0x518e7b[_0x39f9('0x1d')];var _0x4ba267=_0x87dcf6?_0x577bf4[_0x39f9('0x20')]:_0x518e7b[_0x39f9('0x1d')]+_0x518e7b[_0x39f9('0x1f')];var _0x4741ad;if(_0x4ba267>=_0x259404){_0x4ba267=_0x259404;_0x4741ad=0xc8;}else{_0x4741ad=0xce;}_0x10f396[_0x39f9('0x1c')](_0x4741ad);return _0x10f396[_0x39f9('0x21')]('Content-Range',_0x301df2+'-'+_0x4ba267+'/'+_0x259404)[_0x39f9('0x22')](_0x577bf4);}return null;};}function patchUpdates(_0x164e02){return function(_0x43d95a){try{jsonpatch['apply'](_0x43d95a,_0x164e02,!![]);}catch(_0x316f31){return BPromise[_0x39f9('0x23')](_0x316f31);}return _0x43d95a[_0x39f9('0x24')]();};}function saveUpdates(_0x5dca0f,_0x41f8ea){return function(_0x5ab9e1){if(_0x5ab9e1){return _0x5ab9e1[_0x39f9('0x25')](_0x5dca0f)[_0x39f9('0x26')](function(_0x12aa11){return _0x12aa11;});}return null;};}function removeEntity(_0x1bde76,_0x43a1ac){return function(_0x9e7fcb){if(_0x9e7fcb){return _0x9e7fcb[_0x39f9('0x27')]()[_0x39f9('0x26')](function(){_0x1bde76['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x26e28c,_0x5294e5){return function(_0x2904b3){if(!_0x2904b3){_0x26e28c['sendStatus'](0x194);}return _0x2904b3;};}function handleError(_0x3c7e69,_0x57e1b4){_0x57e1b4=_0x57e1b4||0x1f4;return function(_0xd5ecea){logger[_0x39f9('0x28')](_0xd5ecea[_0x39f9('0x29')]);if(_0xd5ecea['name']){delete _0xd5ecea[_0x39f9('0x2a')];}_0x3c7e69[_0x39f9('0x1c')](_0x57e1b4)[_0x39f9('0x2b')](_0xd5ecea);};}exports['index']=function(_0x3b9ab5,_0x4da713){var _0x3d7116={},_0x10b948={},_0x40e26a={'count':0x0,'rows':[]};var _0x368762=_[_0x39f9('0x2c')](db[_0x39f9('0x2d')][_0x39f9('0x2e')],function(_0x178fee){return{'name':_0x178fee['fieldName'],'type':_0x178fee[_0x39f9('0x2f')]['key']};});_0x10b948['model']=_[_0x39f9('0x2c')](_0x368762,_0x39f9('0x2a'));_0x10b948[_0x39f9('0x30')]=_['keys'](_0x3b9ab5[_0x39f9('0x30')]);_0x10b948[_0x39f9('0x31')]=_[_0x39f9('0x32')](_0x10b948[_0x39f9('0x33')],_0x10b948[_0x39f9('0x30')]);_0x3d7116[_0x39f9('0x34')]=_[_0x39f9('0x32')](_0x10b948[_0x39f9('0x33')],qs['fields'](_0x3b9ab5[_0x39f9('0x30')][_0x39f9('0x35')]));_0x3d7116[_0x39f9('0x34')]=_0x3d7116[_0x39f9('0x34')]['length']?_0x3d7116[_0x39f9('0x34')]:_0x10b948[_0x39f9('0x33')];if(!_0x3b9ab5[_0x39f9('0x30')][_0x39f9('0x36')]('nolimit')){_0x3d7116[_0x39f9('0x1f')]=qs[_0x39f9('0x1f')](_0x3b9ab5[_0x39f9('0x30')]['limit']);_0x3d7116[_0x39f9('0x1d')]=qs[_0x39f9('0x1d')](_0x3b9ab5[_0x39f9('0x30')][_0x39f9('0x1d')]);}_0x3d7116[_0x39f9('0x37')]=qs[_0x39f9('0x38')](_0x3b9ab5['query'][_0x39f9('0x38')]);_0x3d7116[_0x39f9('0x39')]=qs[_0x39f9('0x31')](_[_0x39f9('0x3a')](_0x3b9ab5[_0x39f9('0x30')],_0x10b948['filters']),_0x368762);if(_0x3b9ab5[_0x39f9('0x30')]['filter']){_0x3d7116[_0x39f9('0x39')]=_[_0x39f9('0x3b')](_0x3d7116[_0x39f9('0x39')],{'$or':_['map'](_0x368762,function(_0x68e2a9){if(_0x68e2a9[_0x39f9('0x2f')]!==_0x39f9('0x3c')){var _0x46a00b={};_0x46a00b[_0x68e2a9[_0x39f9('0x2a')]]={'$like':'%'+_0x3b9ab5['query'][_0x39f9('0x3d')]+'%'};return _0x46a00b;}})});}_0x3d7116=_[_0x39f9('0x3b')]({},_0x3d7116,_0x3b9ab5[_0x39f9('0x3e')]);var _0x5ddc67={'where':_0x3d7116[_0x39f9('0x39')]};return db[_0x39f9('0x2d')][_0x39f9('0x20')](_0x5ddc67)[_0x39f9('0x26')](function(_0x1c76fe){_0x40e26a[_0x39f9('0x20')]=_0x1c76fe;if(_0x3b9ab5[_0x39f9('0x30')][_0x39f9('0x3f')]){_0x3d7116[_0x39f9('0x40')]=[{'all':!![]}];}return db[_0x39f9('0x2d')][_0x39f9('0x41')](_0x3d7116);})[_0x39f9('0x26')](function(_0x590375){_0x40e26a[_0x39f9('0x42')]=_0x590375;return _0x40e26a;})[_0x39f9('0x26')](respondWithFilteredResult(_0x4da713,_0x3d7116))[_0x39f9('0x43')](handleError(_0x4da713,null));};exports[_0x39f9('0x44')]=function(_0x17cce8,_0x4ffd6c){var _0x5d80ae={'raw':![],'where':{'id':_0x17cce8['params']['id']}},_0xc1deed={};_0xc1deed[_0x39f9('0x33')]=_['keys'](db[_0x39f9('0x2d')]['rawAttributes']);_0xc1deed[_0x39f9('0x30')]=_['keys'](_0x17cce8[_0x39f9('0x30')]);_0xc1deed['filters']=_['intersection'](_0xc1deed[_0x39f9('0x33')],_0xc1deed[_0x39f9('0x30')]);_0x5d80ae[_0x39f9('0x34')]=_[_0x39f9('0x32')](_0xc1deed[_0x39f9('0x33')],qs['fields'](_0x17cce8[_0x39f9('0x30')][_0x39f9('0x35')]));_0x5d80ae[_0x39f9('0x34')]=_0x5d80ae[_0x39f9('0x34')][_0x39f9('0x45')]?_0x5d80ae[_0x39f9('0x34')]:_0xc1deed['model'];if(_0x17cce8['query']['includeAll']){_0x5d80ae[_0x39f9('0x40')]=[{'all':!![]}];}_0x5d80ae=_['merge']({},_0x5d80ae,_0x17cce8[_0x39f9('0x3e')]);return db[_0x39f9('0x2d')][_0x39f9('0x46')](_0x5d80ae)['then'](handleEntityNotFound(_0x4ffd6c,null))[_0x39f9('0x26')](respondWithResult(_0x4ffd6c,null))[_0x39f9('0x43')](handleError(_0x4ffd6c,null));};exports[_0x39f9('0x47')]=function(_0x5a036e,_0x11a59f){return db[_0x39f9('0x2d')][_0x39f9('0x47')](_0x5a036e['body'],{})['then'](respondWithResult(_0x11a59f,0xc9))[_0x39f9('0x43')](handleError(_0x11a59f,null));};exports[_0x39f9('0x25')]=function(_0x325f86,_0x1bf20e){if(_0x325f86[_0x39f9('0x48')]['id']){delete _0x325f86[_0x39f9('0x48')]['id'];}return db[_0x39f9('0x2d')][_0x39f9('0x46')]({'where':{'id':_0x325f86['params']['id']}})[_0x39f9('0x26')](handleEntityNotFound(_0x1bf20e,null))[_0x39f9('0x26')](saveUpdates(_0x325f86[_0x39f9('0x48')],null))['then'](respondWithResult(_0x1bf20e,null))['catch'](handleError(_0x1bf20e,null));};exports['destroy']=function(_0x2b31a9,_0x131a98){return db[_0x39f9('0x2d')]['find']({'where':{'id':_0x2b31a9[_0x39f9('0x49')]['id']}})['then'](handleEntityNotFound(_0x131a98,null))[_0x39f9('0x26')](removeEntity(_0x131a98,null))['catch'](handleError(_0x131a98,null));};exports[_0x39f9('0x4a')]=function(_0x5065c5,_0x202449,_0x5de5fb){var _0x12ae2f={};var _0x258371={};var _0x53227e;var _0x3d901c;return db[_0x39f9('0x2d')][_0x39f9('0x4b')]({'where':{'id':_0x5065c5[_0x39f9('0x49')]['id']}})[_0x39f9('0x26')](handleEntityNotFound(_0x202449,null))[_0x39f9('0x26')](function(_0x16cfd2){if(_0x16cfd2){_0x53227e=_0x16cfd2;_0x258371[_0x39f9('0x33')]=_[_0x39f9('0x4c')](db['DeskField'][_0x39f9('0x2e')]);_0x258371['query']=_['keys'](_0x5065c5[_0x39f9('0x30')]);_0x258371[_0x39f9('0x31')]=_[_0x39f9('0x32')](_0x258371[_0x39f9('0x33')],_0x258371['query']);_0x12ae2f['attributes']=_[_0x39f9('0x32')](_0x258371['model'],qs[_0x39f9('0x35')](_0x5065c5[_0x39f9('0x30')][_0x39f9('0x35')]));_0x12ae2f['attributes']=_0x12ae2f[_0x39f9('0x34')][_0x39f9('0x45')]?_0x12ae2f[_0x39f9('0x34')]:_0x258371[_0x39f9('0x33')];_0x12ae2f[_0x39f9('0x37')]=qs[_0x39f9('0x38')](_0x5065c5['query']['sort']);_0x12ae2f[_0x39f9('0x39')]=qs['filters'](_['pick'](_0x5065c5[_0x39f9('0x30')],_0x258371[_0x39f9('0x31')]));if(_0x5065c5[_0x39f9('0x30')][_0x39f9('0x3d')]){_0x12ae2f[_0x39f9('0x39')]=_['merge'](_0x12ae2f[_0x39f9('0x39')],{'$or':_[_0x39f9('0x2c')](_0x12ae2f['attributes'],function(_0xe078f4){var _0x2680b9={};_0x2680b9[_0xe078f4]={'$like':'%'+_0x5065c5[_0x39f9('0x30')][_0x39f9('0x3d')]+'%'};return _0x2680b9;})});}_0x12ae2f=_['merge']({},_0x12ae2f,_0x5065c5[_0x39f9('0x3e')]);return _0x53227e[_0x39f9('0x4a')](_0x12ae2f);}})['then'](function(_0x26e0ec){if(_0x26e0ec){_0x3d901c=_0x26e0ec[_0x39f9('0x45')];if(!_0x5065c5[_0x39f9('0x30')][_0x39f9('0x36')](_0x39f9('0x4d'))){_0x12ae2f[_0x39f9('0x1f')]=qs['limit'](_0x5065c5['query'][_0x39f9('0x1f')]);_0x12ae2f['offset']=qs[_0x39f9('0x1d')](_0x5065c5['query'][_0x39f9('0x1d')]);}return _0x53227e['getFields'](_0x12ae2f);}})[_0x39f9('0x26')](function(_0x1ca38f){if(_0x1ca38f){return _0x1ca38f?{'count':_0x3d901c,'rows':_0x1ca38f}:null;}})[_0x39f9('0x26')](respondWithResult(_0x202449,null))[_0x39f9('0x43')](handleError(_0x202449,null));};exports['getSubjects']=function(_0x35ff25,_0x10707e,_0x388b5c){var _0x3ce845={};var _0x8f5436={};var _0x415763;var _0x380b1e;return db[_0x39f9('0x2d')][_0x39f9('0x4b')]({'where':{'id':_0x35ff25[_0x39f9('0x49')]['id']}})[_0x39f9('0x26')](handleEntityNotFound(_0x10707e,null))['then'](function(_0x300ce9){if(_0x300ce9){_0x415763=_0x300ce9;_0x8f5436[_0x39f9('0x33')]=_[_0x39f9('0x4c')](db[_0x39f9('0x4e')]['rawAttributes']);_0x8f5436[_0x39f9('0x30')]=_[_0x39f9('0x4c')](_0x35ff25[_0x39f9('0x30')]);_0x8f5436['filters']=_[_0x39f9('0x32')](_0x8f5436['model'],_0x8f5436[_0x39f9('0x30')]);_0x3ce845[_0x39f9('0x34')]=_[_0x39f9('0x32')](_0x8f5436['model'],qs[_0x39f9('0x35')](_0x35ff25[_0x39f9('0x30')][_0x39f9('0x35')]));_0x3ce845[_0x39f9('0x34')]=_0x3ce845[_0x39f9('0x34')][_0x39f9('0x45')]?_0x3ce845['attributes']:_0x8f5436[_0x39f9('0x33')];_0x3ce845['order']=qs['sort'](_0x35ff25[_0x39f9('0x30')][_0x39f9('0x38')]);_0x3ce845[_0x39f9('0x39')]=qs['filters'](_[_0x39f9('0x3a')](_0x35ff25[_0x39f9('0x30')],_0x8f5436[_0x39f9('0x31')]));if(_0x35ff25[_0x39f9('0x30')][_0x39f9('0x3d')]){_0x3ce845['where']=_['merge'](_0x3ce845[_0x39f9('0x39')],{'$or':_[_0x39f9('0x2c')](_0x3ce845['attributes'],function(_0x116a0d){var _0x5b68c7={};_0x5b68c7[_0x116a0d]={'$like':'%'+_0x35ff25[_0x39f9('0x30')]['filter']+'%'};return _0x5b68c7;})});}_0x3ce845=_[_0x39f9('0x3b')]({},_0x3ce845,_0x35ff25[_0x39f9('0x3e')]);return _0x415763[_0x39f9('0x4f')](_0x3ce845);}})[_0x39f9('0x26')](function(_0x47baa1){if(_0x47baa1){_0x380b1e=_0x47baa1['length'];if(!_0x35ff25[_0x39f9('0x30')][_0x39f9('0x36')](_0x39f9('0x4d'))){_0x3ce845[_0x39f9('0x1f')]=qs[_0x39f9('0x1f')](_0x35ff25[_0x39f9('0x30')][_0x39f9('0x1f')]);_0x3ce845[_0x39f9('0x1d')]=qs[_0x39f9('0x1d')](_0x35ff25['query'][_0x39f9('0x1d')]);}return _0x415763[_0x39f9('0x4f')](_0x3ce845);}})[_0x39f9('0x26')](function(_0x21f8ad){if(_0x21f8ad){return _0x21f8ad?{'count':_0x380b1e,'rows':_0x21f8ad}:null;}})[_0x39f9('0x26')](respondWithResult(_0x10707e,null))[_0x39f9('0x43')](handleError(_0x10707e,null));};exports[_0x39f9('0x50')]=function(_0x159b42,_0x436b95,_0x1fe8a6){var _0xaaf1d5={};var _0x339ff2={};var _0x1039fb;var _0x3a1a92;return db[_0x39f9('0x2d')][_0x39f9('0x4b')]({'where':{'id':_0x159b42[_0x39f9('0x49')]['id']}})[_0x39f9('0x26')](handleEntityNotFound(_0x436b95,null))[_0x39f9('0x26')](function(_0x1f7ee0){if(_0x1f7ee0){_0x1039fb=_0x1f7ee0;_0x339ff2[_0x39f9('0x33')]=_['keys'](db[_0x39f9('0x4e')][_0x39f9('0x2e')]);_0x339ff2[_0x39f9('0x30')]=_[_0x39f9('0x4c')](_0x159b42[_0x39f9('0x30')]);_0x339ff2[_0x39f9('0x31')]=_[_0x39f9('0x32')](_0x339ff2[_0x39f9('0x33')],_0x339ff2['query']);_0xaaf1d5['attributes']=_[_0x39f9('0x32')](_0x339ff2[_0x39f9('0x33')],qs['fields'](_0x159b42[_0x39f9('0x30')][_0x39f9('0x35')]));_0xaaf1d5['attributes']=_0xaaf1d5[_0x39f9('0x34')][_0x39f9('0x45')]?_0xaaf1d5['attributes']:_0x339ff2[_0x39f9('0x33')];_0xaaf1d5[_0x39f9('0x37')]=qs['sort'](_0x159b42[_0x39f9('0x30')][_0x39f9('0x38')]);_0xaaf1d5[_0x39f9('0x39')]=qs[_0x39f9('0x31')](_[_0x39f9('0x3a')](_0x159b42[_0x39f9('0x30')],_0x339ff2[_0x39f9('0x31')]));if(_0x159b42['query'][_0x39f9('0x3d')]){_0xaaf1d5[_0x39f9('0x39')]=_[_0x39f9('0x3b')](_0xaaf1d5[_0x39f9('0x39')],{'$or':_['map'](_0xaaf1d5[_0x39f9('0x34')],function(_0x12a4cc){var _0x1ac109={};_0x1ac109[_0x12a4cc]={'$like':'%'+_0x159b42[_0x39f9('0x30')][_0x39f9('0x3d')]+'%'};return _0x1ac109;})});}_0xaaf1d5=_[_0x39f9('0x3b')]({},_0xaaf1d5,_0x159b42['options']);return _0x1039fb['getDescriptions'](_0xaaf1d5);}})[_0x39f9('0x26')](function(_0xe6cbb0){if(_0xe6cbb0){_0x3a1a92=_0xe6cbb0[_0x39f9('0x45')];if(!_0x159b42['query'][_0x39f9('0x36')](_0x39f9('0x4d'))){_0xaaf1d5['limit']=qs[_0x39f9('0x1f')](_0x159b42[_0x39f9('0x30')][_0x39f9('0x1f')]);_0xaaf1d5[_0x39f9('0x1d')]=qs[_0x39f9('0x1d')](_0x159b42[_0x39f9('0x30')][_0x39f9('0x1d')]);}return _0x1039fb[_0x39f9('0x50')](_0xaaf1d5);}})[_0x39f9('0x26')](function(_0x561843){if(_0x561843){return _0x561843?{'count':_0x3a1a92,'rows':_0x561843}:null;}})['then'](respondWithResult(_0x436b95,null))[_0x39f9('0x43')](handleError(_0x436b95,null));};exports[_0x39f9('0x51')]=function(_0x32f1f7,_0x342f91,_0x1e94bd){var _0x3e0763={};var _0x3b4249={};var _0x447d35;var _0x3a9b25;return db[_0x39f9('0x2d')]['findOne']({'where':{'id':_0x32f1f7[_0x39f9('0x49')]['id']}})['then'](handleEntityNotFound(_0x342f91,null))[_0x39f9('0x26')](function(_0x560154){if(_0x560154){_0x447d35=_0x560154;_0x3b4249[_0x39f9('0x33')]=_[_0x39f9('0x4c')](db[_0x39f9('0x52')]['rawAttributes']);_0x3b4249[_0x39f9('0x30')]=_[_0x39f9('0x4c')](_0x32f1f7[_0x39f9('0x30')]);_0x3b4249['filters']=_[_0x39f9('0x32')](_0x3b4249['model'],_0x3b4249[_0x39f9('0x30')]);_0x3e0763[_0x39f9('0x34')]=_[_0x39f9('0x32')](_0x3b4249[_0x39f9('0x33')],qs['fields'](_0x32f1f7[_0x39f9('0x30')]['fields']));_0x3e0763[_0x39f9('0x34')]=_0x3e0763['attributes'][_0x39f9('0x45')]?_0x3e0763[_0x39f9('0x34')]:_0x3b4249[_0x39f9('0x33')];_0x3e0763[_0x39f9('0x37')]=qs[_0x39f9('0x38')](_0x32f1f7[_0x39f9('0x30')][_0x39f9('0x38')]);_0x3e0763[_0x39f9('0x39')]=qs[_0x39f9('0x31')](_[_0x39f9('0x3a')](_0x32f1f7[_0x39f9('0x30')],_0x3b4249[_0x39f9('0x31')]));if(_0x32f1f7[_0x39f9('0x30')]['filter']){_0x3e0763[_0x39f9('0x39')]=_[_0x39f9('0x3b')](_0x3e0763[_0x39f9('0x39')],{'$or':_[_0x39f9('0x2c')](_0x3e0763[_0x39f9('0x34')],function(_0x5e2dff){var _0xc8eae6={};_0xc8eae6[_0x5e2dff]={'$like':'%'+_0x32f1f7[_0x39f9('0x30')][_0x39f9('0x3d')]+'%'};return _0xc8eae6;})});}_0x3e0763=_[_0x39f9('0x3b')]({},_0x3e0763,_0x32f1f7['options']);return _0x447d35['getTags'](_0x3e0763);}})['then'](function(_0x554fda){if(_0x554fda){_0x3a9b25=_0x554fda[_0x39f9('0x45')];if(!_0x32f1f7[_0x39f9('0x30')]['hasOwnProperty'](_0x39f9('0x4d'))){_0x3e0763[_0x39f9('0x1f')]=qs[_0x39f9('0x1f')](_0x32f1f7[_0x39f9('0x30')][_0x39f9('0x1f')]);_0x3e0763[_0x39f9('0x1d')]=qs[_0x39f9('0x1d')](_0x32f1f7[_0x39f9('0x30')][_0x39f9('0x1d')]);}return _0x447d35[_0x39f9('0x51')](_0x3e0763);}})[_0x39f9('0x26')](function(_0x1aeca6){if(_0x1aeca6){return _0x1aeca6?{'count':_0x3a9b25,'rows':_0x1aeca6}:null;}})[_0x39f9('0x26')](respondWithResult(_0x342f91,null))[_0x39f9('0x43')](handleError(_0x342f91,null));};exports['setTags']=function(_0x950778,_0x183cbd,_0x29c7e4){if(_0x950778[_0x39f9('0x48')]['id']){delete _0x950778['body']['id'];}return db[_0x39f9('0x2d')][_0x39f9('0x4b')]({'where':{'id':_0x950778[_0x39f9('0x49')]['id']}})['then'](handleEntityNotFound(_0x183cbd,null))[_0x39f9('0x26')](function(_0x4d1d91){if(_0x4d1d91){return _0x4d1d91[_0x39f9('0x53')](_0x950778[_0x39f9('0x48')][_0x39f9('0x54')]||[]);}return null;})[_0x39f9('0x26')](respondWithResult(_0x183cbd,null))[_0x39f9('0x43')](handleError(_0x183cbd,null));};