Built motion from commit 85328c08.|2.5.50
[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 _0xba87=['../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','undefined','limit','count','offset','reject','save','update','then','destroy','stack','name','send','index','fieldName','type','map','keys','filters','intersection','query','attributes','model','fields','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','show','params','rawAttributes','DeskConfiguration','create','catch','body','find','getFields','findOne','DeskField','getSubjects','hasOwnProperty','getDescriptions','getTags','Tag','setTags','ids','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','fs-extra','squel','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0xc7348b,_0x145880){var _0x307cec=function(_0x4f1554){while(--_0x4f1554){_0xc7348b['push'](_0xc7348b['shift']());}};_0x307cec(++_0x145880);}(_0xba87,0x1ee));var _0x7ba8=function(_0x5519c4,_0x270f91){_0x5519c4=_0x5519c4-0x0;var _0x2c1c3=_0xba87[_0x5519c4];return _0x2c1c3;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x7ba8('0x0'));var zipdir=require(_0x7ba8('0x1'));var jsonpatch=require(_0x7ba8('0x2'));var rp=require(_0x7ba8('0x3'));var moment=require(_0x7ba8('0x4'));var BPromise=require(_0x7ba8('0x5'));var Mustache=require(_0x7ba8('0x6'));var util=require(_0x7ba8('0x7'));var path=require(_0x7ba8('0x8'));var sox=require(_0x7ba8('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x7ba8('0xa'));var _=require('lodash');var squel=require(_0x7ba8('0xb'));var crypto=require(_0x7ba8('0xc'));var jsforce=require(_0x7ba8('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x7ba8('0xe'));var querystring=require(_0x7ba8('0xf'));var Papa=require(_0x7ba8('0x10'));var Redis=require(_0x7ba8('0x11'));var authService=require(_0x7ba8('0x12'));var qs=require(_0x7ba8('0x13'));var as=require(_0x7ba8('0x14'));var hardwareService=require(_0x7ba8('0x15'));var logger=require(_0x7ba8('0x16'))(_0x7ba8('0x17'));var utils=require(_0x7ba8('0x18'));var config=require(_0x7ba8('0x19'));var licenseUtil=require(_0x7ba8('0x1a'));var db=require(_0x7ba8('0x1b'))['db'];function respondWithStatusCode(_0x2064f6,_0x24b99a){_0x24b99a=_0x24b99a||0xcc;return function(_0x48fcfa){if(_0x48fcfa){return _0x2064f6[_0x7ba8('0x1c')](_0x24b99a);}return _0x2064f6['status'](_0x24b99a)[_0x7ba8('0x1d')]();};}function respondWithResult(_0x18219b,_0x428122){_0x428122=_0x428122||0xc8;return function(_0x403526){if(_0x403526){return _0x18219b[_0x7ba8('0x1e')](_0x428122)[_0x7ba8('0x1f')](_0x403526);}};}function respondWithFilteredResult(_0x5b46be,_0x18ac92){return function(_0x562076){if(_0x562076){var _0xdd85ef=typeof _0x18ac92['offset']===_0x7ba8('0x20')&&typeof _0x18ac92[_0x7ba8('0x21')]===_0x7ba8('0x20');var _0x5d45c1=_0x562076[_0x7ba8('0x22')];var _0x3d625c=_0xdd85ef?0x0:_0x18ac92[_0x7ba8('0x23')];var _0x46c735=_0xdd85ef?_0x562076['count']:_0x18ac92[_0x7ba8('0x23')]+_0x18ac92[_0x7ba8('0x21')];var _0x2879ee;if(_0x46c735>=_0x5d45c1){_0x46c735=_0x5d45c1;_0x2879ee=0xc8;}else{_0x2879ee=0xce;}_0x5b46be[_0x7ba8('0x1e')](_0x2879ee);return _0x5b46be['set']('Content-Range',_0x3d625c+'-'+_0x46c735+'/'+_0x5d45c1)[_0x7ba8('0x1f')](_0x562076);}return null;};}function patchUpdates(_0x2383f0){return function(_0x184e6c){try{jsonpatch['apply'](_0x184e6c,_0x2383f0,!![]);}catch(_0x5c5e55){return BPromise[_0x7ba8('0x24')](_0x5c5e55);}return _0x184e6c[_0x7ba8('0x25')]();};}function saveUpdates(_0x5e6668,_0x350fc1){return function(_0x5b63e4){if(_0x5b63e4){return _0x5b63e4[_0x7ba8('0x26')](_0x5e6668)[_0x7ba8('0x27')](function(_0x1ecf56){return _0x1ecf56;});}return null;};}function removeEntity(_0x3e58d4,_0x320e73){return function(_0x245f80){if(_0x245f80){return _0x245f80[_0x7ba8('0x28')]()[_0x7ba8('0x27')](function(){_0x3e58d4['status'](0xcc)[_0x7ba8('0x1d')]();});}};}function handleEntityNotFound(_0x289e54,_0xc4e00c){return function(_0x23616b){if(!_0x23616b){_0x289e54[_0x7ba8('0x1c')](0x194);}return _0x23616b;};}function handleError(_0x1fb167,_0x579dad){_0x579dad=_0x579dad||0x1f4;return function(_0x42f5d2){logger['error'](_0x42f5d2[_0x7ba8('0x29')]);if(_0x42f5d2[_0x7ba8('0x2a')]){delete _0x42f5d2[_0x7ba8('0x2a')];}_0x1fb167[_0x7ba8('0x1e')](_0x579dad)[_0x7ba8('0x2b')](_0x42f5d2);};}exports[_0x7ba8('0x2c')]=function(_0x48c397,_0x431b41){var _0xa26b60={},_0x4150ea={},_0x35fe5e={'count':0x0,'rows':[]};var _0x51b0c8=_['map'](db['DeskConfiguration']['rawAttributes'],function(_0x359b04){return{'name':_0x359b04[_0x7ba8('0x2d')],'type':_0x359b04[_0x7ba8('0x2e')]['key']};});_0x4150ea['model']=_[_0x7ba8('0x2f')](_0x51b0c8,_0x7ba8('0x2a'));_0x4150ea['query']=_[_0x7ba8('0x30')](_0x48c397['query']);_0x4150ea[_0x7ba8('0x31')]=_[_0x7ba8('0x32')](_0x4150ea['model'],_0x4150ea[_0x7ba8('0x33')]);_0xa26b60[_0x7ba8('0x34')]=_[_0x7ba8('0x32')](_0x4150ea[_0x7ba8('0x35')],qs[_0x7ba8('0x36')](_0x48c397['query']['fields']));_0xa26b60[_0x7ba8('0x34')]=_0xa26b60['attributes'][_0x7ba8('0x37')]?_0xa26b60['attributes']:_0x4150ea['model'];if(!_0x48c397[_0x7ba8('0x33')]['hasOwnProperty'](_0x7ba8('0x38'))){_0xa26b60[_0x7ba8('0x21')]=qs['limit'](_0x48c397[_0x7ba8('0x33')][_0x7ba8('0x21')]);_0xa26b60[_0x7ba8('0x23')]=qs['offset'](_0x48c397['query']['offset']);}_0xa26b60[_0x7ba8('0x39')]=qs[_0x7ba8('0x3a')](_0x48c397[_0x7ba8('0x33')][_0x7ba8('0x3a')]);_0xa26b60[_0x7ba8('0x3b')]=qs['filters'](_[_0x7ba8('0x3c')](_0x48c397[_0x7ba8('0x33')],_0x4150ea['filters']),_0x51b0c8);if(_0x48c397[_0x7ba8('0x33')][_0x7ba8('0x3d')]){_0xa26b60['where']=_[_0x7ba8('0x3e')](_0xa26b60[_0x7ba8('0x3b')],{'$or':_['map'](_0x51b0c8,function(_0x9a12b1){if(_0x9a12b1[_0x7ba8('0x2e')]!==_0x7ba8('0x3f')){var _0x4d213e={};_0x4d213e[_0x9a12b1[_0x7ba8('0x2a')]]={'$like':'%'+_0x48c397[_0x7ba8('0x33')][_0x7ba8('0x3d')]+'%'};return _0x4d213e;}})});}_0xa26b60=_[_0x7ba8('0x3e')]({},_0xa26b60,_0x48c397[_0x7ba8('0x40')]);var _0x3e1cbb={'where':_0xa26b60[_0x7ba8('0x3b')]};return db['DeskConfiguration'][_0x7ba8('0x22')](_0x3e1cbb)[_0x7ba8('0x27')](function(_0x154790){_0x35fe5e[_0x7ba8('0x22')]=_0x154790;if(_0x48c397[_0x7ba8('0x33')][_0x7ba8('0x41')]){_0xa26b60[_0x7ba8('0x42')]=[{'all':!![]}];}return db['DeskConfiguration'][_0x7ba8('0x43')](_0xa26b60);})[_0x7ba8('0x27')](function(_0x37ad85){_0x35fe5e['rows']=_0x37ad85;return _0x35fe5e;})['then'](respondWithFilteredResult(_0x431b41,_0xa26b60))['catch'](handleError(_0x431b41,null));};exports[_0x7ba8('0x44')]=function(_0x406c74,_0x302c7e){var _0x164550={'raw':![],'where':{'id':_0x406c74[_0x7ba8('0x45')]['id']}},_0x2414a6={};_0x2414a6['model']=_[_0x7ba8('0x30')](db['DeskConfiguration'][_0x7ba8('0x46')]);_0x2414a6[_0x7ba8('0x33')]=_[_0x7ba8('0x30')](_0x406c74['query']);_0x2414a6[_0x7ba8('0x31')]=_['intersection'](_0x2414a6['model'],_0x2414a6['query']);_0x164550['attributes']=_[_0x7ba8('0x32')](_0x2414a6[_0x7ba8('0x35')],qs[_0x7ba8('0x36')](_0x406c74[_0x7ba8('0x33')]['fields']));_0x164550['attributes']=_0x164550[_0x7ba8('0x34')][_0x7ba8('0x37')]?_0x164550[_0x7ba8('0x34')]:_0x2414a6[_0x7ba8('0x35')];if(_0x406c74[_0x7ba8('0x33')][_0x7ba8('0x41')]){_0x164550['include']=[{'all':!![]}];}_0x164550=_[_0x7ba8('0x3e')]({},_0x164550,_0x406c74[_0x7ba8('0x40')]);return db[_0x7ba8('0x47')]['find'](_0x164550)['then'](handleEntityNotFound(_0x302c7e,null))[_0x7ba8('0x27')](respondWithResult(_0x302c7e,null))['catch'](handleError(_0x302c7e,null));};exports[_0x7ba8('0x48')]=function(_0x59150c,_0x3b498d){return db[_0x7ba8('0x47')][_0x7ba8('0x48')](_0x59150c['body'],{})[_0x7ba8('0x27')](respondWithResult(_0x3b498d,0xc9))[_0x7ba8('0x49')](handleError(_0x3b498d,null));};exports[_0x7ba8('0x26')]=function(_0x1e3188,_0x5cd197){if(_0x1e3188[_0x7ba8('0x4a')]['id']){delete _0x1e3188[_0x7ba8('0x4a')]['id'];}return db[_0x7ba8('0x47')][_0x7ba8('0x4b')]({'where':{'id':_0x1e3188[_0x7ba8('0x45')]['id']}})[_0x7ba8('0x27')](handleEntityNotFound(_0x5cd197,null))['then'](saveUpdates(_0x1e3188[_0x7ba8('0x4a')],null))[_0x7ba8('0x27')](respondWithResult(_0x5cd197,null))[_0x7ba8('0x49')](handleError(_0x5cd197,null));};exports[_0x7ba8('0x28')]=function(_0x2536b3,_0xc64e75){return db[_0x7ba8('0x47')][_0x7ba8('0x4b')]({'where':{'id':_0x2536b3[_0x7ba8('0x45')]['id']}})[_0x7ba8('0x27')](handleEntityNotFound(_0xc64e75,null))[_0x7ba8('0x27')](removeEntity(_0xc64e75,null))[_0x7ba8('0x49')](handleError(_0xc64e75,null));};exports[_0x7ba8('0x4c')]=function(_0x40ea5e,_0x35b01e,_0x1aba3d){var _0x5baf1d={};var _0x36b7e7={};var _0x41c38a;var _0x5db2c1;return db[_0x7ba8('0x47')][_0x7ba8('0x4d')]({'where':{'id':_0x40ea5e[_0x7ba8('0x45')]['id']}})['then'](handleEntityNotFound(_0x35b01e,null))[_0x7ba8('0x27')](function(_0x2c576b){if(_0x2c576b){_0x41c38a=_0x2c576b;_0x36b7e7[_0x7ba8('0x35')]=_[_0x7ba8('0x30')](db[_0x7ba8('0x4e')][_0x7ba8('0x46')]);_0x36b7e7['query']=_[_0x7ba8('0x30')](_0x40ea5e[_0x7ba8('0x33')]);_0x36b7e7[_0x7ba8('0x31')]=_[_0x7ba8('0x32')](_0x36b7e7[_0x7ba8('0x35')],_0x36b7e7[_0x7ba8('0x33')]);_0x5baf1d['attributes']=_[_0x7ba8('0x32')](_0x36b7e7[_0x7ba8('0x35')],qs[_0x7ba8('0x36')](_0x40ea5e[_0x7ba8('0x33')][_0x7ba8('0x36')]));_0x5baf1d[_0x7ba8('0x34')]=_0x5baf1d[_0x7ba8('0x34')][_0x7ba8('0x37')]?_0x5baf1d['attributes']:_0x36b7e7[_0x7ba8('0x35')];_0x5baf1d['order']=qs['sort'](_0x40ea5e['query']['sort']);_0x5baf1d[_0x7ba8('0x3b')]=qs[_0x7ba8('0x31')](_[_0x7ba8('0x3c')](_0x40ea5e[_0x7ba8('0x33')],_0x36b7e7[_0x7ba8('0x31')]));if(_0x40ea5e[_0x7ba8('0x33')][_0x7ba8('0x3d')]){_0x5baf1d[_0x7ba8('0x3b')]=_[_0x7ba8('0x3e')](_0x5baf1d[_0x7ba8('0x3b')],{'$or':_[_0x7ba8('0x2f')](_0x5baf1d[_0x7ba8('0x34')],function(_0x662487){var _0x476566={};_0x476566[_0x662487]={'$like':'%'+_0x40ea5e['query'][_0x7ba8('0x3d')]+'%'};return _0x476566;})});}_0x5baf1d=_[_0x7ba8('0x3e')]({},_0x5baf1d,_0x40ea5e[_0x7ba8('0x40')]);return _0x41c38a['getFields'](_0x5baf1d);}})[_0x7ba8('0x27')](function(_0x3052b5){if(_0x3052b5){_0x5db2c1=_0x3052b5['length'];if(!_0x40ea5e[_0x7ba8('0x33')]['hasOwnProperty'](_0x7ba8('0x38'))){_0x5baf1d['limit']=qs[_0x7ba8('0x21')](_0x40ea5e[_0x7ba8('0x33')][_0x7ba8('0x21')]);_0x5baf1d['offset']=qs['offset'](_0x40ea5e[_0x7ba8('0x33')]['offset']);}return _0x41c38a['getFields'](_0x5baf1d);}})['then'](function(_0x2735fa){if(_0x2735fa){return _0x2735fa?{'count':_0x5db2c1,'rows':_0x2735fa}:null;}})[_0x7ba8('0x27')](respondWithResult(_0x35b01e,null))[_0x7ba8('0x49')](handleError(_0x35b01e,null));};exports[_0x7ba8('0x4f')]=function(_0x37b78a,_0x277bce,_0x5dd9aa){var _0x519457={};var _0x31305c={};var _0x1e0c16;var _0x40c93a;return db[_0x7ba8('0x47')][_0x7ba8('0x4d')]({'where':{'id':_0x37b78a[_0x7ba8('0x45')]['id']}})['then'](handleEntityNotFound(_0x277bce,null))[_0x7ba8('0x27')](function(_0x4fcc49){if(_0x4fcc49){_0x1e0c16=_0x4fcc49;_0x31305c[_0x7ba8('0x35')]=_[_0x7ba8('0x30')](db[_0x7ba8('0x4e')]['rawAttributes']);_0x31305c[_0x7ba8('0x33')]=_[_0x7ba8('0x30')](_0x37b78a[_0x7ba8('0x33')]);_0x31305c[_0x7ba8('0x31')]=_['intersection'](_0x31305c['model'],_0x31305c['query']);_0x519457[_0x7ba8('0x34')]=_[_0x7ba8('0x32')](_0x31305c['model'],qs[_0x7ba8('0x36')](_0x37b78a[_0x7ba8('0x33')][_0x7ba8('0x36')]));_0x519457[_0x7ba8('0x34')]=_0x519457[_0x7ba8('0x34')]['length']?_0x519457[_0x7ba8('0x34')]:_0x31305c[_0x7ba8('0x35')];_0x519457[_0x7ba8('0x39')]=qs[_0x7ba8('0x3a')](_0x37b78a[_0x7ba8('0x33')][_0x7ba8('0x3a')]);_0x519457[_0x7ba8('0x3b')]=qs[_0x7ba8('0x31')](_[_0x7ba8('0x3c')](_0x37b78a['query'],_0x31305c[_0x7ba8('0x31')]));if(_0x37b78a[_0x7ba8('0x33')][_0x7ba8('0x3d')]){_0x519457[_0x7ba8('0x3b')]=_[_0x7ba8('0x3e')](_0x519457[_0x7ba8('0x3b')],{'$or':_[_0x7ba8('0x2f')](_0x519457[_0x7ba8('0x34')],function(_0x34e84a){var _0x1b0d7f={};_0x1b0d7f[_0x34e84a]={'$like':'%'+_0x37b78a[_0x7ba8('0x33')][_0x7ba8('0x3d')]+'%'};return _0x1b0d7f;})});}_0x519457=_[_0x7ba8('0x3e')]({},_0x519457,_0x37b78a[_0x7ba8('0x40')]);return _0x1e0c16[_0x7ba8('0x4f')](_0x519457);}})[_0x7ba8('0x27')](function(_0x59dbb0){if(_0x59dbb0){_0x40c93a=_0x59dbb0['length'];if(!_0x37b78a[_0x7ba8('0x33')][_0x7ba8('0x50')](_0x7ba8('0x38'))){_0x519457[_0x7ba8('0x21')]=qs[_0x7ba8('0x21')](_0x37b78a['query']['limit']);_0x519457['offset']=qs[_0x7ba8('0x23')](_0x37b78a['query'][_0x7ba8('0x23')]);}return _0x1e0c16['getSubjects'](_0x519457);}})[_0x7ba8('0x27')](function(_0x26ebc8){if(_0x26ebc8){return _0x26ebc8?{'count':_0x40c93a,'rows':_0x26ebc8}:null;}})[_0x7ba8('0x27')](respondWithResult(_0x277bce,null))[_0x7ba8('0x49')](handleError(_0x277bce,null));};exports['getDescriptions']=function(_0x4d8701,_0x4f3453,_0x46a0bb){var _0x4ef306={};var _0x4598={};var _0x33f1dc;var _0x205d03;return db[_0x7ba8('0x47')]['findOne']({'where':{'id':_0x4d8701[_0x7ba8('0x45')]['id']}})[_0x7ba8('0x27')](handleEntityNotFound(_0x4f3453,null))['then'](function(_0x5127e4){if(_0x5127e4){_0x33f1dc=_0x5127e4;_0x4598[_0x7ba8('0x35')]=_[_0x7ba8('0x30')](db[_0x7ba8('0x4e')][_0x7ba8('0x46')]);_0x4598[_0x7ba8('0x33')]=_[_0x7ba8('0x30')](_0x4d8701['query']);_0x4598[_0x7ba8('0x31')]=_[_0x7ba8('0x32')](_0x4598['model'],_0x4598[_0x7ba8('0x33')]);_0x4ef306[_0x7ba8('0x34')]=_[_0x7ba8('0x32')](_0x4598[_0x7ba8('0x35')],qs['fields'](_0x4d8701[_0x7ba8('0x33')]['fields']));_0x4ef306['attributes']=_0x4ef306[_0x7ba8('0x34')]['length']?_0x4ef306[_0x7ba8('0x34')]:_0x4598[_0x7ba8('0x35')];_0x4ef306[_0x7ba8('0x39')]=qs[_0x7ba8('0x3a')](_0x4d8701[_0x7ba8('0x33')]['sort']);_0x4ef306[_0x7ba8('0x3b')]=qs[_0x7ba8('0x31')](_[_0x7ba8('0x3c')](_0x4d8701[_0x7ba8('0x33')],_0x4598['filters']));if(_0x4d8701[_0x7ba8('0x33')][_0x7ba8('0x3d')]){_0x4ef306[_0x7ba8('0x3b')]=_[_0x7ba8('0x3e')](_0x4ef306[_0x7ba8('0x3b')],{'$or':_[_0x7ba8('0x2f')](_0x4ef306[_0x7ba8('0x34')],function(_0x17c330){var _0x57c8bb={};_0x57c8bb[_0x17c330]={'$like':'%'+_0x4d8701[_0x7ba8('0x33')][_0x7ba8('0x3d')]+'%'};return _0x57c8bb;})});}_0x4ef306=_['merge']({},_0x4ef306,_0x4d8701[_0x7ba8('0x40')]);return _0x33f1dc['getDescriptions'](_0x4ef306);}})[_0x7ba8('0x27')](function(_0x11d1d2){if(_0x11d1d2){_0x205d03=_0x11d1d2[_0x7ba8('0x37')];if(!_0x4d8701[_0x7ba8('0x33')][_0x7ba8('0x50')](_0x7ba8('0x38'))){_0x4ef306[_0x7ba8('0x21')]=qs[_0x7ba8('0x21')](_0x4d8701[_0x7ba8('0x33')]['limit']);_0x4ef306[_0x7ba8('0x23')]=qs[_0x7ba8('0x23')](_0x4d8701[_0x7ba8('0x33')]['offset']);}return _0x33f1dc[_0x7ba8('0x51')](_0x4ef306);}})[_0x7ba8('0x27')](function(_0x3c1268){if(_0x3c1268){return _0x3c1268?{'count':_0x205d03,'rows':_0x3c1268}:null;}})[_0x7ba8('0x27')](respondWithResult(_0x4f3453,null))[_0x7ba8('0x49')](handleError(_0x4f3453,null));};exports[_0x7ba8('0x52')]=function(_0x38c295,_0x44b36d,_0x437708){var _0x906583={};var _0x5eea84={};var _0x3c9421;var _0x560936;return db[_0x7ba8('0x47')][_0x7ba8('0x4d')]({'where':{'id':_0x38c295[_0x7ba8('0x45')]['id']}})['then'](handleEntityNotFound(_0x44b36d,null))['then'](function(_0x1123f7){if(_0x1123f7){_0x3c9421=_0x1123f7;_0x5eea84[_0x7ba8('0x35')]=_['keys'](db[_0x7ba8('0x53')][_0x7ba8('0x46')]);_0x5eea84['query']=_[_0x7ba8('0x30')](_0x38c295['query']);_0x5eea84['filters']=_[_0x7ba8('0x32')](_0x5eea84[_0x7ba8('0x35')],_0x5eea84['query']);_0x906583[_0x7ba8('0x34')]=_['intersection'](_0x5eea84['model'],qs[_0x7ba8('0x36')](_0x38c295[_0x7ba8('0x33')]['fields']));_0x906583[_0x7ba8('0x34')]=_0x906583[_0x7ba8('0x34')]['length']?_0x906583[_0x7ba8('0x34')]:_0x5eea84[_0x7ba8('0x35')];_0x906583[_0x7ba8('0x39')]=qs[_0x7ba8('0x3a')](_0x38c295[_0x7ba8('0x33')][_0x7ba8('0x3a')]);_0x906583['where']=qs[_0x7ba8('0x31')](_[_0x7ba8('0x3c')](_0x38c295[_0x7ba8('0x33')],_0x5eea84['filters']));if(_0x38c295['query'][_0x7ba8('0x3d')]){_0x906583[_0x7ba8('0x3b')]=_[_0x7ba8('0x3e')](_0x906583[_0x7ba8('0x3b')],{'$or':_[_0x7ba8('0x2f')](_0x906583['attributes'],function(_0x33c195){var _0x1c63fd={};_0x1c63fd[_0x33c195]={'$like':'%'+_0x38c295[_0x7ba8('0x33')][_0x7ba8('0x3d')]+'%'};return _0x1c63fd;})});}_0x906583=_['merge']({},_0x906583,_0x38c295['options']);return _0x3c9421[_0x7ba8('0x52')](_0x906583);}})[_0x7ba8('0x27')](function(_0x4a1838){if(_0x4a1838){_0x560936=_0x4a1838[_0x7ba8('0x37')];if(!_0x38c295[_0x7ba8('0x33')][_0x7ba8('0x50')](_0x7ba8('0x38'))){_0x906583['limit']=qs['limit'](_0x38c295[_0x7ba8('0x33')][_0x7ba8('0x21')]);_0x906583[_0x7ba8('0x23')]=qs[_0x7ba8('0x23')](_0x38c295[_0x7ba8('0x33')][_0x7ba8('0x23')]);}return _0x3c9421[_0x7ba8('0x52')](_0x906583);}})['then'](function(_0x2688df){if(_0x2688df){return _0x2688df?{'count':_0x560936,'rows':_0x2688df}:null;}})['then'](respondWithResult(_0x44b36d,null))[_0x7ba8('0x49')](handleError(_0x44b36d,null));};exports['setTags']=function(_0x3fd105,_0x4b23ab,_0x2a238f){if(_0x3fd105['body']['id']){delete _0x3fd105[_0x7ba8('0x4a')]['id'];}return db[_0x7ba8('0x47')][_0x7ba8('0x4d')]({'where':{'id':_0x3fd105[_0x7ba8('0x45')]['id']}})[_0x7ba8('0x27')](handleEntityNotFound(_0x4b23ab,null))[_0x7ba8('0x27')](function(_0x4175cf){if(_0x4175cf){return _0x4175cf[_0x7ba8('0x54')](_0x3fd105['body'][_0x7ba8('0x55')]||[]);}return null;})['then'](respondWithResult(_0x4b23ab,null))[_0x7ba8('0x49')](handleError(_0x4b23ab,null));};