Built motion from commit e6806ed6.|2.6.0
[motion2.git] / server / api / intFreshdeskConfiguration / intFreshdeskConfiguration.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 _0xbdb1=['find','create','body','findOne','rawAttributes','order','getFields','FreshdeskField','getSubjects','nolimit','getDescriptions','Tag','getTags','setTags','ids','eml-format','rimraf','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../mysqldb','status','end','offset','undefined','limit','set','Content-Range','json','reject','save','update','destroy','then','sendStatus','error','name','send','index','map','FreshdeskConfiguration','fieldName','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','sort','where','pick','filter','merge','type','options','count','includeAll','findAll','rows','catch','show','params','include'];(function(_0x303eb4,_0x56a34e){var _0xfd734a=function(_0x36af35){while(--_0x36af35){_0x303eb4['push'](_0x303eb4['shift']());}};_0xfd734a(++_0x56a34e);}(_0xbdb1,0xb3));var _0x1bdb=function(_0x305bbf,_0x5647b3){_0x305bbf=_0x305bbf-0x0;var _0x4ed772=_0xbdb1[_0x305bbf];return _0x4ed772;};'use strict';var emlformat=require(_0x1bdb('0x0'));var rimraf=require(_0x1bdb('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x1bdb('0x2'));var moment=require(_0x1bdb('0x3'));var BPromise=require(_0x1bdb('0x4'));var Mustache=require(_0x1bdb('0x5'));var util=require(_0x1bdb('0x6'));var path=require('path');var sox=require(_0x1bdb('0x7'));var csv=require(_0x1bdb('0x8'));var ejs=require(_0x1bdb('0x9'));var fs=require('fs');var fs_extra=require(_0x1bdb('0xa'));var _=require('lodash');var squel=require(_0x1bdb('0xb'));var crypto=require(_0x1bdb('0xc'));var jsforce=require(_0x1bdb('0xd'));var deskjs=require(_0x1bdb('0xe'));var toCsv=require(_0x1bdb('0x8'));var querystring=require('querystring');var Papa=require(_0x1bdb('0xf'));var Redis=require('ioredis');var authService=require(_0x1bdb('0x10'));var qs=require(_0x1bdb('0x11'));var as=require(_0x1bdb('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x1bdb('0x13'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x1bdb('0x14'))['db'];function respondWithStatusCode(_0x342ef1,_0x5501e6){_0x5501e6=_0x5501e6||0xcc;return function(_0xabf233){if(_0xabf233){return _0x342ef1['sendStatus'](_0x5501e6);}return _0x342ef1[_0x1bdb('0x15')](_0x5501e6)[_0x1bdb('0x16')]();};}function respondWithResult(_0x595a0f,_0x2ef137){_0x2ef137=_0x2ef137||0xc8;return function(_0x11dc41){if(_0x11dc41){return _0x595a0f[_0x1bdb('0x15')](_0x2ef137)['json'](_0x11dc41);}};}function respondWithFilteredResult(_0x4a3425,_0x1e009d){return function(_0x5d4f55){if(_0x5d4f55){var _0x48e6d3=typeof _0x1e009d[_0x1bdb('0x17')]===_0x1bdb('0x18')&&typeof _0x1e009d[_0x1bdb('0x19')]===_0x1bdb('0x18');var _0x5850ec=_0x5d4f55['count'];var _0x21d9fa=_0x48e6d3?0x0:_0x1e009d[_0x1bdb('0x17')];var _0x3b31ea=_0x48e6d3?_0x5d4f55['count']:_0x1e009d[_0x1bdb('0x17')]+_0x1e009d[_0x1bdb('0x19')];var _0x12563b;if(_0x3b31ea>=_0x5850ec){_0x3b31ea=_0x5850ec;_0x12563b=0xc8;}else{_0x12563b=0xce;}_0x4a3425[_0x1bdb('0x15')](_0x12563b);return _0x4a3425[_0x1bdb('0x1a')](_0x1bdb('0x1b'),_0x21d9fa+'-'+_0x3b31ea+'/'+_0x5850ec)[_0x1bdb('0x1c')](_0x5d4f55);}return null;};}function patchUpdates(_0x3b2607){return function(_0x39bb37){try{jsonpatch['apply'](_0x39bb37,_0x3b2607,!![]);}catch(_0x375c9a){return BPromise[_0x1bdb('0x1d')](_0x375c9a);}return _0x39bb37[_0x1bdb('0x1e')]();};}function saveUpdates(_0x590ef3,_0xfa26e){return function(_0x5d5164){if(_0x5d5164){return _0x5d5164[_0x1bdb('0x1f')](_0x590ef3)['then'](function(_0x58f1ce){return _0x58f1ce;});}return null;};}function removeEntity(_0x26cbb6,_0x4976c4){return function(_0x58bcfc){if(_0x58bcfc){return _0x58bcfc[_0x1bdb('0x20')]()[_0x1bdb('0x21')](function(){_0x26cbb6[_0x1bdb('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x246385,_0x364bc0){return function(_0x5e1cb0){if(!_0x5e1cb0){_0x246385[_0x1bdb('0x22')](0x194);}return _0x5e1cb0;};}function handleError(_0x56cf40,_0x4d03b9){_0x4d03b9=_0x4d03b9||0x1f4;return function(_0x2489a8){logger[_0x1bdb('0x23')](_0x2489a8['stack']);if(_0x2489a8[_0x1bdb('0x24')]){delete _0x2489a8[_0x1bdb('0x24')];}_0x56cf40[_0x1bdb('0x15')](_0x4d03b9)[_0x1bdb('0x25')](_0x2489a8);};}exports[_0x1bdb('0x26')]=function(_0x9cc74d,_0x4e9aba){var _0x36d3ca={},_0x293c36={},_0x10032c={'count':0x0,'rows':[]};var _0x47a00c=_[_0x1bdb('0x27')](db[_0x1bdb('0x28')]['rawAttributes'],function(_0x3e4636){return{'name':_0x3e4636[_0x1bdb('0x29')],'type':_0x3e4636['type'][_0x1bdb('0x2a')]};});_0x293c36[_0x1bdb('0x2b')]=_['map'](_0x47a00c,_0x1bdb('0x24'));_0x293c36[_0x1bdb('0x2c')]=_[_0x1bdb('0x2d')](_0x9cc74d[_0x1bdb('0x2c')]);_0x293c36[_0x1bdb('0x2e')]=_[_0x1bdb('0x2f')](_0x293c36[_0x1bdb('0x2b')],_0x293c36[_0x1bdb('0x2c')]);_0x36d3ca['attributes']=_[_0x1bdb('0x2f')](_0x293c36[_0x1bdb('0x2b')],qs[_0x1bdb('0x30')](_0x9cc74d[_0x1bdb('0x2c')][_0x1bdb('0x30')]));_0x36d3ca['attributes']=_0x36d3ca[_0x1bdb('0x31')][_0x1bdb('0x32')]?_0x36d3ca[_0x1bdb('0x31')]:_0x293c36['model'];if(!_0x9cc74d['query'][_0x1bdb('0x33')]('nolimit')){_0x36d3ca[_0x1bdb('0x19')]=qs[_0x1bdb('0x19')](_0x9cc74d[_0x1bdb('0x2c')]['limit']);_0x36d3ca[_0x1bdb('0x17')]=qs[_0x1bdb('0x17')](_0x9cc74d[_0x1bdb('0x2c')][_0x1bdb('0x17')]);}_0x36d3ca['order']=qs[_0x1bdb('0x34')](_0x9cc74d[_0x1bdb('0x2c')][_0x1bdb('0x34')]);_0x36d3ca[_0x1bdb('0x35')]=qs['filters'](_[_0x1bdb('0x36')](_0x9cc74d['query'],_0x293c36[_0x1bdb('0x2e')]),_0x47a00c);if(_0x9cc74d[_0x1bdb('0x2c')][_0x1bdb('0x37')]){_0x36d3ca[_0x1bdb('0x35')]=_[_0x1bdb('0x38')](_0x36d3ca[_0x1bdb('0x35')],{'$or':_['map'](_0x47a00c,function(_0x59637e){if(_0x59637e[_0x1bdb('0x39')]!=='VIRTUAL'){var _0x50ff75={};_0x50ff75[_0x59637e[_0x1bdb('0x24')]]={'$like':'%'+_0x9cc74d[_0x1bdb('0x2c')]['filter']+'%'};return _0x50ff75;}})});}_0x36d3ca=_[_0x1bdb('0x38')]({},_0x36d3ca,_0x9cc74d[_0x1bdb('0x3a')]);var _0x4da1e2={'where':_0x36d3ca[_0x1bdb('0x35')]};return db[_0x1bdb('0x28')][_0x1bdb('0x3b')](_0x4da1e2)['then'](function(_0x1b90e9){_0x10032c[_0x1bdb('0x3b')]=_0x1b90e9;if(_0x9cc74d['query'][_0x1bdb('0x3c')]){_0x36d3ca['include']=[{'all':!![]}];}return db['FreshdeskConfiguration'][_0x1bdb('0x3d')](_0x36d3ca);})['then'](function(_0x48dd5c){_0x10032c[_0x1bdb('0x3e')]=_0x48dd5c;return _0x10032c;})[_0x1bdb('0x21')](respondWithFilteredResult(_0x4e9aba,_0x36d3ca))[_0x1bdb('0x3f')](handleError(_0x4e9aba,null));};exports[_0x1bdb('0x40')]=function(_0xf0de96,_0x5c010c){var _0x2db481={'raw':![],'where':{'id':_0xf0de96[_0x1bdb('0x41')]['id']}},_0x4cf5d8={};_0x4cf5d8[_0x1bdb('0x2b')]=_['keys'](db[_0x1bdb('0x28')]['rawAttributes']);_0x4cf5d8[_0x1bdb('0x2c')]=_[_0x1bdb('0x2d')](_0xf0de96['query']);_0x4cf5d8['filters']=_[_0x1bdb('0x2f')](_0x4cf5d8[_0x1bdb('0x2b')],_0x4cf5d8[_0x1bdb('0x2c')]);_0x2db481[_0x1bdb('0x31')]=_[_0x1bdb('0x2f')](_0x4cf5d8[_0x1bdb('0x2b')],qs[_0x1bdb('0x30')](_0xf0de96[_0x1bdb('0x2c')][_0x1bdb('0x30')]));_0x2db481[_0x1bdb('0x31')]=_0x2db481[_0x1bdb('0x31')][_0x1bdb('0x32')]?_0x2db481['attributes']:_0x4cf5d8[_0x1bdb('0x2b')];if(_0xf0de96['query'][_0x1bdb('0x3c')]){_0x2db481[_0x1bdb('0x42')]=[{'all':!![]}];}_0x2db481=_['merge']({},_0x2db481,_0xf0de96[_0x1bdb('0x3a')]);return db[_0x1bdb('0x28')][_0x1bdb('0x43')](_0x2db481)[_0x1bdb('0x21')](handleEntityNotFound(_0x5c010c,null))[_0x1bdb('0x21')](respondWithResult(_0x5c010c,null))[_0x1bdb('0x3f')](handleError(_0x5c010c,null));};exports[_0x1bdb('0x44')]=function(_0x2de6dd,_0x4bd668){return db[_0x1bdb('0x28')]['create'](_0x2de6dd[_0x1bdb('0x45')],{})[_0x1bdb('0x21')](respondWithResult(_0x4bd668,0xc9))[_0x1bdb('0x3f')](handleError(_0x4bd668,null));};exports[_0x1bdb('0x1f')]=function(_0x477b39,_0x3ab557){if(_0x477b39[_0x1bdb('0x45')]['id']){delete _0x477b39[_0x1bdb('0x45')]['id'];}return db[_0x1bdb('0x28')][_0x1bdb('0x43')]({'where':{'id':_0x477b39[_0x1bdb('0x41')]['id']}})[_0x1bdb('0x21')](handleEntityNotFound(_0x3ab557,null))[_0x1bdb('0x21')](saveUpdates(_0x477b39[_0x1bdb('0x45')],null))['then'](respondWithResult(_0x3ab557,null))['catch'](handleError(_0x3ab557,null));};exports[_0x1bdb('0x20')]=function(_0x436300,_0x5920a6){return db[_0x1bdb('0x28')][_0x1bdb('0x43')]({'where':{'id':_0x436300[_0x1bdb('0x41')]['id']}})[_0x1bdb('0x21')](handleEntityNotFound(_0x5920a6,null))[_0x1bdb('0x21')](removeEntity(_0x5920a6,null))[_0x1bdb('0x3f')](handleError(_0x5920a6,null));};exports['getFields']=function(_0x2edb63,_0x4fe985,_0x261cb7){var _0x5c72f0={};var _0x488940={};var _0x16d1d1;var _0x1f8852;return db[_0x1bdb('0x28')][_0x1bdb('0x46')]({'where':{'id':_0x2edb63[_0x1bdb('0x41')]['id']}})['then'](handleEntityNotFound(_0x4fe985,null))[_0x1bdb('0x21')](function(_0x2d4a0c){if(_0x2d4a0c){_0x16d1d1=_0x2d4a0c;_0x488940[_0x1bdb('0x2b')]=_[_0x1bdb('0x2d')](db['FreshdeskField'][_0x1bdb('0x47')]);_0x488940['query']=_[_0x1bdb('0x2d')](_0x2edb63['query']);_0x488940[_0x1bdb('0x2e')]=_[_0x1bdb('0x2f')](_0x488940['model'],_0x488940[_0x1bdb('0x2c')]);_0x5c72f0[_0x1bdb('0x31')]=_[_0x1bdb('0x2f')](_0x488940[_0x1bdb('0x2b')],qs[_0x1bdb('0x30')](_0x2edb63[_0x1bdb('0x2c')][_0x1bdb('0x30')]));_0x5c72f0['attributes']=_0x5c72f0[_0x1bdb('0x31')][_0x1bdb('0x32')]?_0x5c72f0[_0x1bdb('0x31')]:_0x488940[_0x1bdb('0x2b')];_0x5c72f0[_0x1bdb('0x48')]=qs[_0x1bdb('0x34')](_0x2edb63[_0x1bdb('0x2c')][_0x1bdb('0x34')]);_0x5c72f0[_0x1bdb('0x35')]=qs[_0x1bdb('0x2e')](_[_0x1bdb('0x36')](_0x2edb63[_0x1bdb('0x2c')],_0x488940[_0x1bdb('0x2e')]));if(_0x2edb63['query'][_0x1bdb('0x37')]){_0x5c72f0[_0x1bdb('0x35')]=_[_0x1bdb('0x38')](_0x5c72f0[_0x1bdb('0x35')],{'$or':_[_0x1bdb('0x27')](_0x5c72f0[_0x1bdb('0x31')],function(_0x444d53){var _0x55a9fa={};_0x55a9fa[_0x444d53]={'$like':'%'+_0x2edb63['query'][_0x1bdb('0x37')]+'%'};return _0x55a9fa;})});}_0x5c72f0=_[_0x1bdb('0x38')]({},_0x5c72f0,_0x2edb63['options']);return _0x16d1d1['getFields'](_0x5c72f0);}})['then'](function(_0x2678aa){if(_0x2678aa){_0x1f8852=_0x2678aa[_0x1bdb('0x32')];if(!_0x2edb63[_0x1bdb('0x2c')][_0x1bdb('0x33')]('nolimit')){_0x5c72f0[_0x1bdb('0x19')]=qs['limit'](_0x2edb63['query'][_0x1bdb('0x19')]);_0x5c72f0[_0x1bdb('0x17')]=qs['offset'](_0x2edb63[_0x1bdb('0x2c')][_0x1bdb('0x17')]);}return _0x16d1d1[_0x1bdb('0x49')](_0x5c72f0);}})[_0x1bdb('0x21')](function(_0x5b9dd0){if(_0x5b9dd0){return _0x5b9dd0?{'count':_0x1f8852,'rows':_0x5b9dd0}:null;}})[_0x1bdb('0x21')](respondWithResult(_0x4fe985,null))[_0x1bdb('0x3f')](handleError(_0x4fe985,null));};exports['getSubjects']=function(_0x37d657,_0x354443,_0x48f7b3){var _0x3b31e5={};var _0xba5d66={};var _0xd30021;var _0x21fff0;return db[_0x1bdb('0x28')][_0x1bdb('0x46')]({'where':{'id':_0x37d657['params']['id']}})[_0x1bdb('0x21')](handleEntityNotFound(_0x354443,null))[_0x1bdb('0x21')](function(_0x40744a){if(_0x40744a){_0xd30021=_0x40744a;_0xba5d66['model']=_['keys'](db[_0x1bdb('0x4a')][_0x1bdb('0x47')]);_0xba5d66['query']=_[_0x1bdb('0x2d')](_0x37d657[_0x1bdb('0x2c')]);_0xba5d66['filters']=_[_0x1bdb('0x2f')](_0xba5d66[_0x1bdb('0x2b')],_0xba5d66[_0x1bdb('0x2c')]);_0x3b31e5[_0x1bdb('0x31')]=_[_0x1bdb('0x2f')](_0xba5d66['model'],qs[_0x1bdb('0x30')](_0x37d657[_0x1bdb('0x2c')][_0x1bdb('0x30')]));_0x3b31e5[_0x1bdb('0x31')]=_0x3b31e5[_0x1bdb('0x31')][_0x1bdb('0x32')]?_0x3b31e5[_0x1bdb('0x31')]:_0xba5d66[_0x1bdb('0x2b')];_0x3b31e5['order']=qs['sort'](_0x37d657[_0x1bdb('0x2c')][_0x1bdb('0x34')]);_0x3b31e5['where']=qs[_0x1bdb('0x2e')](_[_0x1bdb('0x36')](_0x37d657['query'],_0xba5d66[_0x1bdb('0x2e')]));if(_0x37d657[_0x1bdb('0x2c')][_0x1bdb('0x37')]){_0x3b31e5[_0x1bdb('0x35')]=_[_0x1bdb('0x38')](_0x3b31e5[_0x1bdb('0x35')],{'$or':_[_0x1bdb('0x27')](_0x3b31e5[_0x1bdb('0x31')],function(_0x228845){var _0xcb5d18={};_0xcb5d18[_0x228845]={'$like':'%'+_0x37d657[_0x1bdb('0x2c')][_0x1bdb('0x37')]+'%'};return _0xcb5d18;})});}_0x3b31e5=_[_0x1bdb('0x38')]({},_0x3b31e5,_0x37d657[_0x1bdb('0x3a')]);return _0xd30021[_0x1bdb('0x4b')](_0x3b31e5);}})[_0x1bdb('0x21')](function(_0x34d273){if(_0x34d273){_0x21fff0=_0x34d273['length'];if(!_0x37d657['query'][_0x1bdb('0x33')](_0x1bdb('0x4c'))){_0x3b31e5['limit']=qs[_0x1bdb('0x19')](_0x37d657[_0x1bdb('0x2c')][_0x1bdb('0x19')]);_0x3b31e5[_0x1bdb('0x17')]=qs[_0x1bdb('0x17')](_0x37d657['query'][_0x1bdb('0x17')]);}return _0xd30021['getSubjects'](_0x3b31e5);}})[_0x1bdb('0x21')](function(_0x3f3568){if(_0x3f3568){return _0x3f3568?{'count':_0x21fff0,'rows':_0x3f3568}:null;}})[_0x1bdb('0x21')](respondWithResult(_0x354443,null))[_0x1bdb('0x3f')](handleError(_0x354443,null));};exports['getDescriptions']=function(_0x1da902,_0x2509c0,_0xd36d1f){var _0x3151a7={};var _0x3983f0={};var _0x531cc8;var _0x4b3dca;return db[_0x1bdb('0x28')][_0x1bdb('0x46')]({'where':{'id':_0x1da902['params']['id']}})[_0x1bdb('0x21')](handleEntityNotFound(_0x2509c0,null))[_0x1bdb('0x21')](function(_0x89ecc6){if(_0x89ecc6){_0x531cc8=_0x89ecc6;_0x3983f0[_0x1bdb('0x2b')]=_[_0x1bdb('0x2d')](db['FreshdeskField'][_0x1bdb('0x47')]);_0x3983f0['query']=_['keys'](_0x1da902['query']);_0x3983f0[_0x1bdb('0x2e')]=_[_0x1bdb('0x2f')](_0x3983f0['model'],_0x3983f0[_0x1bdb('0x2c')]);_0x3151a7[_0x1bdb('0x31')]=_[_0x1bdb('0x2f')](_0x3983f0['model'],qs[_0x1bdb('0x30')](_0x1da902[_0x1bdb('0x2c')][_0x1bdb('0x30')]));_0x3151a7[_0x1bdb('0x31')]=_0x3151a7['attributes'][_0x1bdb('0x32')]?_0x3151a7[_0x1bdb('0x31')]:_0x3983f0['model'];_0x3151a7[_0x1bdb('0x48')]=qs[_0x1bdb('0x34')](_0x1da902['query'][_0x1bdb('0x34')]);_0x3151a7[_0x1bdb('0x35')]=qs[_0x1bdb('0x2e')](_[_0x1bdb('0x36')](_0x1da902[_0x1bdb('0x2c')],_0x3983f0[_0x1bdb('0x2e')]));if(_0x1da902[_0x1bdb('0x2c')][_0x1bdb('0x37')]){_0x3151a7[_0x1bdb('0x35')]=_['merge'](_0x3151a7['where'],{'$or':_[_0x1bdb('0x27')](_0x3151a7[_0x1bdb('0x31')],function(_0x16d79f){var _0x46c413={};_0x46c413[_0x16d79f]={'$like':'%'+_0x1da902['query']['filter']+'%'};return _0x46c413;})});}_0x3151a7=_['merge']({},_0x3151a7,_0x1da902[_0x1bdb('0x3a')]);return _0x531cc8['getDescriptions'](_0x3151a7);}})[_0x1bdb('0x21')](function(_0x275550){if(_0x275550){_0x4b3dca=_0x275550['length'];if(!_0x1da902['query']['hasOwnProperty'](_0x1bdb('0x4c'))){_0x3151a7['limit']=qs[_0x1bdb('0x19')](_0x1da902[_0x1bdb('0x2c')][_0x1bdb('0x19')]);_0x3151a7[_0x1bdb('0x17')]=qs['offset'](_0x1da902[_0x1bdb('0x2c')][_0x1bdb('0x17')]);}return _0x531cc8[_0x1bdb('0x4d')](_0x3151a7);}})[_0x1bdb('0x21')](function(_0x47267b){if(_0x47267b){return _0x47267b?{'count':_0x4b3dca,'rows':_0x47267b}:null;}})[_0x1bdb('0x21')](respondWithResult(_0x2509c0,null))[_0x1bdb('0x3f')](handleError(_0x2509c0,null));};exports['getTags']=function(_0x26b98a,_0x5018b0,_0x290c4e){var _0x9aa830={};var _0x1bb635={};var _0xf53561;var _0x11240d;return db[_0x1bdb('0x28')][_0x1bdb('0x46')]({'where':{'id':_0x26b98a[_0x1bdb('0x41')]['id']}})[_0x1bdb('0x21')](handleEntityNotFound(_0x5018b0,null))[_0x1bdb('0x21')](function(_0x35a997){if(_0x35a997){_0xf53561=_0x35a997;_0x1bb635[_0x1bdb('0x2b')]=_['keys'](db[_0x1bdb('0x4e')][_0x1bdb('0x47')]);_0x1bb635[_0x1bdb('0x2c')]=_[_0x1bdb('0x2d')](_0x26b98a[_0x1bdb('0x2c')]);_0x1bb635[_0x1bdb('0x2e')]=_[_0x1bdb('0x2f')](_0x1bb635['model'],_0x1bb635[_0x1bdb('0x2c')]);_0x9aa830['attributes']=_[_0x1bdb('0x2f')](_0x1bb635[_0x1bdb('0x2b')],qs[_0x1bdb('0x30')](_0x26b98a[_0x1bdb('0x2c')]['fields']));_0x9aa830['attributes']=_0x9aa830['attributes']['length']?_0x9aa830[_0x1bdb('0x31')]:_0x1bb635[_0x1bdb('0x2b')];_0x9aa830[_0x1bdb('0x48')]=qs['sort'](_0x26b98a[_0x1bdb('0x2c')][_0x1bdb('0x34')]);_0x9aa830['where']=qs['filters'](_[_0x1bdb('0x36')](_0x26b98a[_0x1bdb('0x2c')],_0x1bb635[_0x1bdb('0x2e')]));if(_0x26b98a[_0x1bdb('0x2c')][_0x1bdb('0x37')]){_0x9aa830['where']=_[_0x1bdb('0x38')](_0x9aa830['where'],{'$or':_[_0x1bdb('0x27')](_0x9aa830[_0x1bdb('0x31')],function(_0x57b7b2){var _0x248c11={};_0x248c11[_0x57b7b2]={'$like':'%'+_0x26b98a[_0x1bdb('0x2c')]['filter']+'%'};return _0x248c11;})});}_0x9aa830=_[_0x1bdb('0x38')]({},_0x9aa830,_0x26b98a[_0x1bdb('0x3a')]);return _0xf53561[_0x1bdb('0x4f')](_0x9aa830);}})['then'](function(_0x38fc1c){if(_0x38fc1c){_0x11240d=_0x38fc1c[_0x1bdb('0x32')];if(!_0x26b98a[_0x1bdb('0x2c')]['hasOwnProperty']('nolimit')){_0x9aa830['limit']=qs[_0x1bdb('0x19')](_0x26b98a[_0x1bdb('0x2c')][_0x1bdb('0x19')]);_0x9aa830['offset']=qs[_0x1bdb('0x17')](_0x26b98a[_0x1bdb('0x2c')][_0x1bdb('0x17')]);}return _0xf53561[_0x1bdb('0x4f')](_0x9aa830);}})['then'](function(_0x1b9cd1){if(_0x1b9cd1){return _0x1b9cd1?{'count':_0x11240d,'rows':_0x1b9cd1}:null;}})[_0x1bdb('0x21')](respondWithResult(_0x5018b0,null))['catch'](handleError(_0x5018b0,null));};exports['setTags']=function(_0x3b859f,_0x5bab3e,_0x2b5b03){if(_0x3b859f['body']['id']){delete _0x3b859f[_0x1bdb('0x45')]['id'];}return db[_0x1bdb('0x28')][_0x1bdb('0x46')]({'where':{'id':_0x3b859f[_0x1bdb('0x41')]['id']}})['then'](handleEntityNotFound(_0x5bab3e,null))[_0x1bdb('0x21')](function(_0x1469fc){if(_0x1469fc){return _0x1469fc[_0x1bdb('0x50')](_0x3b859f[_0x1bdb('0x45')][_0x1bdb('0x51')]||[]);}return null;})['then'](respondWithResult(_0x5bab3e,null))[_0x1bdb('0x3f')](handleError(_0x5bab3e,null));};