Built motion from commit 8356fca3.|2.6.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 _0xd082=['query','keys','intersection','attributes','fields','length','nolimit','sort','where','filters','pick','filter','type','merge','options','includeAll','include','findAll','rows','catch','show','params','rawAttributes','find','create','body','update','getFields','DeskField','order','hasOwnProperty','getSubjects','findOne','getDescriptions','getTags','setTags','eml-format','rimraf','fast-json-patch','request-promise','moment','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','json','offset','undefined','limit','count','set','apply','reject','save','then','destroy','error','name','send','index','DeskConfiguration','key','model','map'];(function(_0x150240,_0x512309){var _0x3aa85b=function(_0x24a91f){while(--_0x24a91f){_0x150240['push'](_0x150240['shift']());}};_0x3aa85b(++_0x512309);}(_0xd082,0x11a));var _0x2d08=function(_0xddb31c,_0x9345e6){_0xddb31c=_0xddb31c-0x0;var _0x34f7a1=_0xd082[_0xddb31c];return _0x34f7a1;};'use strict';var emlformat=require(_0x2d08('0x0'));var rimraf=require(_0x2d08('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x2d08('0x2'));var rp=require(_0x2d08('0x3'));var moment=require(_0x2d08('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0x2d08('0x5'));var sox=require(_0x2d08('0x6'));var csv=require(_0x2d08('0x7'));var ejs=require(_0x2d08('0x8'));var fs=require('fs');var fs_extra=require(_0x2d08('0x9'));var _=require(_0x2d08('0xa'));var squel=require(_0x2d08('0xb'));var crypto=require('crypto');var jsforce=require(_0x2d08('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x2d08('0x7'));var querystring=require(_0x2d08('0xd'));var Papa=require(_0x2d08('0xe'));var Redis=require(_0x2d08('0xf'));var authService=require(_0x2d08('0x10'));var qs=require(_0x2d08('0x11'));var as=require(_0x2d08('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2d08('0x13'))(_0x2d08('0x14'));var utils=require(_0x2d08('0x15'));var config=require(_0x2d08('0x16'));var licenseUtil=require(_0x2d08('0x17'));var db=require(_0x2d08('0x18'))['db'];function respondWithStatusCode(_0x586abf,_0x40c8b6){_0x40c8b6=_0x40c8b6||0xcc;return function(_0xbe1ae6){if(_0xbe1ae6){return _0x586abf['sendStatus'](_0x40c8b6);}return _0x586abf['status'](_0x40c8b6)[_0x2d08('0x19')]();};}function respondWithResult(_0x2acaeb,_0x3cef14){_0x3cef14=_0x3cef14||0xc8;return function(_0x3f9724){if(_0x3f9724){return _0x2acaeb[_0x2d08('0x1a')](_0x3cef14)[_0x2d08('0x1b')](_0x3f9724);}};}function respondWithFilteredResult(_0x324380,_0x6c2213){return function(_0x540aed){if(_0x540aed){var _0x393f64=typeof _0x6c2213[_0x2d08('0x1c')]===_0x2d08('0x1d')&&typeof _0x6c2213[_0x2d08('0x1e')]===_0x2d08('0x1d');var _0x4abee5=_0x540aed[_0x2d08('0x1f')];var _0x23e772=_0x393f64?0x0:_0x6c2213['offset'];var _0x2e67ff=_0x393f64?_0x540aed[_0x2d08('0x1f')]:_0x6c2213[_0x2d08('0x1c')]+_0x6c2213[_0x2d08('0x1e')];var _0x938f4b;if(_0x2e67ff>=_0x4abee5){_0x2e67ff=_0x4abee5;_0x938f4b=0xc8;}else{_0x938f4b=0xce;}_0x324380['status'](_0x938f4b);return _0x324380[_0x2d08('0x20')]('Content-Range',_0x23e772+'-'+_0x2e67ff+'/'+_0x4abee5)[_0x2d08('0x1b')](_0x540aed);}return null;};}function patchUpdates(_0x43c693){return function(_0x329eb6){try{jsonpatch[_0x2d08('0x21')](_0x329eb6,_0x43c693,!![]);}catch(_0x4c1453){return BPromise[_0x2d08('0x22')](_0x4c1453);}return _0x329eb6[_0x2d08('0x23')]();};}function saveUpdates(_0x2e7ba0,_0x580f4f){return function(_0x2149de){if(_0x2149de){return _0x2149de['update'](_0x2e7ba0)[_0x2d08('0x24')](function(_0x27c2c4){return _0x27c2c4;});}return null;};}function removeEntity(_0x31fca4,_0x5bc887){return function(_0x16568b){if(_0x16568b){return _0x16568b[_0x2d08('0x25')]()[_0x2d08('0x24')](function(){_0x31fca4[_0x2d08('0x1a')](0xcc)[_0x2d08('0x19')]();});}};}function handleEntityNotFound(_0xac4e0a,_0x5b4db9){return function(_0x4c247f){if(!_0x4c247f){_0xac4e0a['sendStatus'](0x194);}return _0x4c247f;};}function handleError(_0x550244,_0x5aacf7){_0x5aacf7=_0x5aacf7||0x1f4;return function(_0xdc0c80){logger[_0x2d08('0x26')](_0xdc0c80['stack']);if(_0xdc0c80[_0x2d08('0x27')]){delete _0xdc0c80['name'];}_0x550244[_0x2d08('0x1a')](_0x5aacf7)[_0x2d08('0x28')](_0xdc0c80);};}exports[_0x2d08('0x29')]=function(_0x3ed5d6,_0xb57aa6){var _0x17cb94={},_0x211de2={},_0x4cb6c1={'count':0x0,'rows':[]};var _0x5ce5f1=_['map'](db[_0x2d08('0x2a')]['rawAttributes'],function(_0x345080){return{'name':_0x345080['fieldName'],'type':_0x345080['type'][_0x2d08('0x2b')]};});_0x211de2[_0x2d08('0x2c')]=_[_0x2d08('0x2d')](_0x5ce5f1,_0x2d08('0x27'));_0x211de2[_0x2d08('0x2e')]=_[_0x2d08('0x2f')](_0x3ed5d6[_0x2d08('0x2e')]);_0x211de2['filters']=_[_0x2d08('0x30')](_0x211de2[_0x2d08('0x2c')],_0x211de2['query']);_0x17cb94[_0x2d08('0x31')]=_['intersection'](_0x211de2[_0x2d08('0x2c')],qs[_0x2d08('0x32')](_0x3ed5d6[_0x2d08('0x2e')][_0x2d08('0x32')]));_0x17cb94[_0x2d08('0x31')]=_0x17cb94[_0x2d08('0x31')][_0x2d08('0x33')]?_0x17cb94['attributes']:_0x211de2[_0x2d08('0x2c')];if(!_0x3ed5d6[_0x2d08('0x2e')]['hasOwnProperty'](_0x2d08('0x34'))){_0x17cb94['limit']=qs[_0x2d08('0x1e')](_0x3ed5d6[_0x2d08('0x2e')][_0x2d08('0x1e')]);_0x17cb94[_0x2d08('0x1c')]=qs['offset'](_0x3ed5d6[_0x2d08('0x2e')][_0x2d08('0x1c')]);}_0x17cb94['order']=qs[_0x2d08('0x35')](_0x3ed5d6[_0x2d08('0x2e')][_0x2d08('0x35')]);_0x17cb94[_0x2d08('0x36')]=qs[_0x2d08('0x37')](_[_0x2d08('0x38')](_0x3ed5d6[_0x2d08('0x2e')],_0x211de2[_0x2d08('0x37')]),_0x5ce5f1);if(_0x3ed5d6[_0x2d08('0x2e')][_0x2d08('0x39')]){_0x17cb94[_0x2d08('0x36')]=_['merge'](_0x17cb94[_0x2d08('0x36')],{'$or':_['map'](_0x5ce5f1,function(_0x5b2a20){if(_0x5b2a20[_0x2d08('0x3a')]!=='VIRTUAL'){var _0x424c3c={};_0x424c3c[_0x5b2a20[_0x2d08('0x27')]]={'$like':'%'+_0x3ed5d6[_0x2d08('0x2e')][_0x2d08('0x39')]+'%'};return _0x424c3c;}})});}_0x17cb94=_[_0x2d08('0x3b')]({},_0x17cb94,_0x3ed5d6[_0x2d08('0x3c')]);var _0x509548={'where':_0x17cb94[_0x2d08('0x36')]};return db['DeskConfiguration'][_0x2d08('0x1f')](_0x509548)[_0x2d08('0x24')](function(_0xaeae1){_0x4cb6c1[_0x2d08('0x1f')]=_0xaeae1;if(_0x3ed5d6['query'][_0x2d08('0x3d')]){_0x17cb94[_0x2d08('0x3e')]=[{'all':!![]}];}return db[_0x2d08('0x2a')][_0x2d08('0x3f')](_0x17cb94);})[_0x2d08('0x24')](function(_0x299240){_0x4cb6c1[_0x2d08('0x40')]=_0x299240;return _0x4cb6c1;})[_0x2d08('0x24')](respondWithFilteredResult(_0xb57aa6,_0x17cb94))[_0x2d08('0x41')](handleError(_0xb57aa6,null));};exports[_0x2d08('0x42')]=function(_0x5cea6d,_0x424b81){var _0x5cf613={'raw':![],'where':{'id':_0x5cea6d[_0x2d08('0x43')]['id']}},_0x20ecca={};_0x20ecca[_0x2d08('0x2c')]=_[_0x2d08('0x2f')](db['DeskConfiguration'][_0x2d08('0x44')]);_0x20ecca[_0x2d08('0x2e')]=_[_0x2d08('0x2f')](_0x5cea6d['query']);_0x20ecca[_0x2d08('0x37')]=_[_0x2d08('0x30')](_0x20ecca[_0x2d08('0x2c')],_0x20ecca[_0x2d08('0x2e')]);_0x5cf613[_0x2d08('0x31')]=_['intersection'](_0x20ecca['model'],qs['fields'](_0x5cea6d[_0x2d08('0x2e')][_0x2d08('0x32')]));_0x5cf613[_0x2d08('0x31')]=_0x5cf613['attributes'][_0x2d08('0x33')]?_0x5cf613[_0x2d08('0x31')]:_0x20ecca['model'];if(_0x5cea6d[_0x2d08('0x2e')][_0x2d08('0x3d')]){_0x5cf613['include']=[{'all':!![]}];}_0x5cf613=_[_0x2d08('0x3b')]({},_0x5cf613,_0x5cea6d[_0x2d08('0x3c')]);return db['DeskConfiguration'][_0x2d08('0x45')](_0x5cf613)['then'](handleEntityNotFound(_0x424b81,null))[_0x2d08('0x24')](respondWithResult(_0x424b81,null))[_0x2d08('0x41')](handleError(_0x424b81,null));};exports['create']=function(_0x4388a2,_0x20a3fb){return db[_0x2d08('0x2a')][_0x2d08('0x46')](_0x4388a2[_0x2d08('0x47')],{})[_0x2d08('0x24')](respondWithResult(_0x20a3fb,0xc9))[_0x2d08('0x41')](handleError(_0x20a3fb,null));};exports[_0x2d08('0x48')]=function(_0x45e032,_0x19ab10){if(_0x45e032[_0x2d08('0x47')]['id']){delete _0x45e032['body']['id'];}return db[_0x2d08('0x2a')]['find']({'where':{'id':_0x45e032[_0x2d08('0x43')]['id']}})[_0x2d08('0x24')](handleEntityNotFound(_0x19ab10,null))['then'](saveUpdates(_0x45e032['body'],null))['then'](respondWithResult(_0x19ab10,null))[_0x2d08('0x41')](handleError(_0x19ab10,null));};exports[_0x2d08('0x25')]=function(_0xc6c614,_0xa1df84){return db[_0x2d08('0x2a')][_0x2d08('0x45')]({'where':{'id':_0xc6c614['params']['id']}})[_0x2d08('0x24')](handleEntityNotFound(_0xa1df84,null))[_0x2d08('0x24')](removeEntity(_0xa1df84,null))[_0x2d08('0x41')](handleError(_0xa1df84,null));};exports[_0x2d08('0x49')]=function(_0x4e2fc4,_0x5a31f4,_0xc51183){var _0x153f62={};var _0x168342={};var _0x50cc8b;var _0x200575;return db[_0x2d08('0x2a')]['findOne']({'where':{'id':_0x4e2fc4[_0x2d08('0x43')]['id']}})[_0x2d08('0x24')](handleEntityNotFound(_0x5a31f4,null))[_0x2d08('0x24')](function(_0x2613f2){if(_0x2613f2){_0x50cc8b=_0x2613f2;_0x168342[_0x2d08('0x2c')]=_[_0x2d08('0x2f')](db[_0x2d08('0x4a')]['rawAttributes']);_0x168342[_0x2d08('0x2e')]=_['keys'](_0x4e2fc4[_0x2d08('0x2e')]);_0x168342[_0x2d08('0x37')]=_[_0x2d08('0x30')](_0x168342[_0x2d08('0x2c')],_0x168342[_0x2d08('0x2e')]);_0x153f62['attributes']=_['intersection'](_0x168342['model'],qs[_0x2d08('0x32')](_0x4e2fc4['query'][_0x2d08('0x32')]));_0x153f62[_0x2d08('0x31')]=_0x153f62[_0x2d08('0x31')][_0x2d08('0x33')]?_0x153f62[_0x2d08('0x31')]:_0x168342[_0x2d08('0x2c')];_0x153f62[_0x2d08('0x4b')]=qs['sort'](_0x4e2fc4[_0x2d08('0x2e')][_0x2d08('0x35')]);_0x153f62[_0x2d08('0x36')]=qs[_0x2d08('0x37')](_[_0x2d08('0x38')](_0x4e2fc4[_0x2d08('0x2e')],_0x168342[_0x2d08('0x37')]));if(_0x4e2fc4[_0x2d08('0x2e')]['filter']){_0x153f62[_0x2d08('0x36')]=_[_0x2d08('0x3b')](_0x153f62['where'],{'$or':_[_0x2d08('0x2d')](_0x153f62['attributes'],function(_0x167dd2){var _0x49b487={};_0x49b487[_0x167dd2]={'$like':'%'+_0x4e2fc4['query'][_0x2d08('0x39')]+'%'};return _0x49b487;})});}_0x153f62=_['merge']({},_0x153f62,_0x4e2fc4[_0x2d08('0x3c')]);return _0x50cc8b[_0x2d08('0x49')](_0x153f62);}})['then'](function(_0x6352c9){if(_0x6352c9){_0x200575=_0x6352c9[_0x2d08('0x33')];if(!_0x4e2fc4[_0x2d08('0x2e')][_0x2d08('0x4c')](_0x2d08('0x34'))){_0x153f62['limit']=qs[_0x2d08('0x1e')](_0x4e2fc4[_0x2d08('0x2e')][_0x2d08('0x1e')]);_0x153f62['offset']=qs[_0x2d08('0x1c')](_0x4e2fc4['query'][_0x2d08('0x1c')]);}return _0x50cc8b[_0x2d08('0x49')](_0x153f62);}})[_0x2d08('0x24')](function(_0x196bb3){if(_0x196bb3){return _0x196bb3?{'count':_0x200575,'rows':_0x196bb3}:null;}})[_0x2d08('0x24')](respondWithResult(_0x5a31f4,null))[_0x2d08('0x41')](handleError(_0x5a31f4,null));};exports[_0x2d08('0x4d')]=function(_0x11184b,_0x131a45,_0x379b5c){var _0x2f5d61={};var _0x2823bd={};var _0x5efaee;var _0x251090;return db['DeskConfiguration'][_0x2d08('0x4e')]({'where':{'id':_0x11184b[_0x2d08('0x43')]['id']}})[_0x2d08('0x24')](handleEntityNotFound(_0x131a45,null))[_0x2d08('0x24')](function(_0x1f5dbc){if(_0x1f5dbc){_0x5efaee=_0x1f5dbc;_0x2823bd[_0x2d08('0x2c')]=_[_0x2d08('0x2f')](db[_0x2d08('0x4a')][_0x2d08('0x44')]);_0x2823bd[_0x2d08('0x2e')]=_[_0x2d08('0x2f')](_0x11184b['query']);_0x2823bd[_0x2d08('0x37')]=_[_0x2d08('0x30')](_0x2823bd['model'],_0x2823bd[_0x2d08('0x2e')]);_0x2f5d61[_0x2d08('0x31')]=_['intersection'](_0x2823bd[_0x2d08('0x2c')],qs[_0x2d08('0x32')](_0x11184b[_0x2d08('0x2e')]['fields']));_0x2f5d61[_0x2d08('0x31')]=_0x2f5d61[_0x2d08('0x31')][_0x2d08('0x33')]?_0x2f5d61['attributes']:_0x2823bd[_0x2d08('0x2c')];_0x2f5d61[_0x2d08('0x4b')]=qs[_0x2d08('0x35')](_0x11184b[_0x2d08('0x2e')][_0x2d08('0x35')]);_0x2f5d61[_0x2d08('0x36')]=qs[_0x2d08('0x37')](_[_0x2d08('0x38')](_0x11184b[_0x2d08('0x2e')],_0x2823bd[_0x2d08('0x37')]));if(_0x11184b[_0x2d08('0x2e')]['filter']){_0x2f5d61[_0x2d08('0x36')]=_[_0x2d08('0x3b')](_0x2f5d61[_0x2d08('0x36')],{'$or':_[_0x2d08('0x2d')](_0x2f5d61[_0x2d08('0x31')],function(_0x2c82de){var _0xc2fe26={};_0xc2fe26[_0x2c82de]={'$like':'%'+_0x11184b['query'][_0x2d08('0x39')]+'%'};return _0xc2fe26;})});}_0x2f5d61=_[_0x2d08('0x3b')]({},_0x2f5d61,_0x11184b[_0x2d08('0x3c')]);return _0x5efaee[_0x2d08('0x4d')](_0x2f5d61);}})[_0x2d08('0x24')](function(_0x6239ca){if(_0x6239ca){_0x251090=_0x6239ca['length'];if(!_0x11184b[_0x2d08('0x2e')]['hasOwnProperty']('nolimit')){_0x2f5d61[_0x2d08('0x1e')]=qs[_0x2d08('0x1e')](_0x11184b[_0x2d08('0x2e')][_0x2d08('0x1e')]);_0x2f5d61['offset']=qs[_0x2d08('0x1c')](_0x11184b[_0x2d08('0x2e')]['offset']);}return _0x5efaee[_0x2d08('0x4d')](_0x2f5d61);}})[_0x2d08('0x24')](function(_0x2a4563){if(_0x2a4563){return _0x2a4563?{'count':_0x251090,'rows':_0x2a4563}:null;}})[_0x2d08('0x24')](respondWithResult(_0x131a45,null))[_0x2d08('0x41')](handleError(_0x131a45,null));};exports[_0x2d08('0x4f')]=function(_0x40328c,_0x581962,_0x21ce5c){var _0x6ae012={};var _0x10aeea={};var _0x291b17;var _0x37f241;return db['DeskConfiguration'][_0x2d08('0x4e')]({'where':{'id':_0x40328c[_0x2d08('0x43')]['id']}})[_0x2d08('0x24')](handleEntityNotFound(_0x581962,null))[_0x2d08('0x24')](function(_0x496484){if(_0x496484){_0x291b17=_0x496484;_0x10aeea[_0x2d08('0x2c')]=_['keys'](db[_0x2d08('0x4a')][_0x2d08('0x44')]);_0x10aeea['query']=_[_0x2d08('0x2f')](_0x40328c[_0x2d08('0x2e')]);_0x10aeea[_0x2d08('0x37')]=_[_0x2d08('0x30')](_0x10aeea['model'],_0x10aeea[_0x2d08('0x2e')]);_0x6ae012[_0x2d08('0x31')]=_['intersection'](_0x10aeea['model'],qs[_0x2d08('0x32')](_0x40328c[_0x2d08('0x2e')][_0x2d08('0x32')]));_0x6ae012[_0x2d08('0x31')]=_0x6ae012[_0x2d08('0x31')][_0x2d08('0x33')]?_0x6ae012['attributes']:_0x10aeea[_0x2d08('0x2c')];_0x6ae012[_0x2d08('0x4b')]=qs['sort'](_0x40328c['query']['sort']);_0x6ae012[_0x2d08('0x36')]=qs[_0x2d08('0x37')](_[_0x2d08('0x38')](_0x40328c['query'],_0x10aeea['filters']));if(_0x40328c[_0x2d08('0x2e')][_0x2d08('0x39')]){_0x6ae012[_0x2d08('0x36')]=_['merge'](_0x6ae012[_0x2d08('0x36')],{'$or':_[_0x2d08('0x2d')](_0x6ae012[_0x2d08('0x31')],function(_0x4016d1){var _0x2d231c={};_0x2d231c[_0x4016d1]={'$like':'%'+_0x40328c[_0x2d08('0x2e')][_0x2d08('0x39')]+'%'};return _0x2d231c;})});}_0x6ae012=_['merge']({},_0x6ae012,_0x40328c['options']);return _0x291b17['getDescriptions'](_0x6ae012);}})['then'](function(_0x987921){if(_0x987921){_0x37f241=_0x987921[_0x2d08('0x33')];if(!_0x40328c[_0x2d08('0x2e')][_0x2d08('0x4c')](_0x2d08('0x34'))){_0x6ae012[_0x2d08('0x1e')]=qs[_0x2d08('0x1e')](_0x40328c[_0x2d08('0x2e')][_0x2d08('0x1e')]);_0x6ae012[_0x2d08('0x1c')]=qs[_0x2d08('0x1c')](_0x40328c[_0x2d08('0x2e')]['offset']);}return _0x291b17[_0x2d08('0x4f')](_0x6ae012);}})['then'](function(_0x2df608){if(_0x2df608){return _0x2df608?{'count':_0x37f241,'rows':_0x2df608}:null;}})[_0x2d08('0x24')](respondWithResult(_0x581962,null))[_0x2d08('0x41')](handleError(_0x581962,null));};exports['getTags']=function(_0x1531a1,_0x218cde,_0x5e7b38){var _0x33e2c7={};var _0x5780b0={};var _0xd05004;var _0x16f6de;return db[_0x2d08('0x2a')][_0x2d08('0x4e')]({'where':{'id':_0x1531a1[_0x2d08('0x43')]['id']}})[_0x2d08('0x24')](handleEntityNotFound(_0x218cde,null))[_0x2d08('0x24')](function(_0x28ea84){if(_0x28ea84){_0xd05004=_0x28ea84;_0x5780b0[_0x2d08('0x2c')]=_['keys'](db['Tag'][_0x2d08('0x44')]);_0x5780b0['query']=_[_0x2d08('0x2f')](_0x1531a1[_0x2d08('0x2e')]);_0x5780b0[_0x2d08('0x37')]=_[_0x2d08('0x30')](_0x5780b0[_0x2d08('0x2c')],_0x5780b0[_0x2d08('0x2e')]);_0x33e2c7[_0x2d08('0x31')]=_['intersection'](_0x5780b0['model'],qs['fields'](_0x1531a1[_0x2d08('0x2e')]['fields']));_0x33e2c7[_0x2d08('0x31')]=_0x33e2c7[_0x2d08('0x31')][_0x2d08('0x33')]?_0x33e2c7[_0x2d08('0x31')]:_0x5780b0[_0x2d08('0x2c')];_0x33e2c7[_0x2d08('0x4b')]=qs['sort'](_0x1531a1[_0x2d08('0x2e')]['sort']);_0x33e2c7['where']=qs[_0x2d08('0x37')](_[_0x2d08('0x38')](_0x1531a1['query'],_0x5780b0[_0x2d08('0x37')]));if(_0x1531a1[_0x2d08('0x2e')][_0x2d08('0x39')]){_0x33e2c7[_0x2d08('0x36')]=_[_0x2d08('0x3b')](_0x33e2c7['where'],{'$or':_['map'](_0x33e2c7['attributes'],function(_0x5395df){var _0x34ace0={};_0x34ace0[_0x5395df]={'$like':'%'+_0x1531a1[_0x2d08('0x2e')]['filter']+'%'};return _0x34ace0;})});}_0x33e2c7=_[_0x2d08('0x3b')]({},_0x33e2c7,_0x1531a1['options']);return _0xd05004[_0x2d08('0x50')](_0x33e2c7);}})['then'](function(_0x59171e){if(_0x59171e){_0x16f6de=_0x59171e[_0x2d08('0x33')];if(!_0x1531a1['query'][_0x2d08('0x4c')]('nolimit')){_0x33e2c7[_0x2d08('0x1e')]=qs[_0x2d08('0x1e')](_0x1531a1[_0x2d08('0x2e')][_0x2d08('0x1e')]);_0x33e2c7[_0x2d08('0x1c')]=qs['offset'](_0x1531a1['query'][_0x2d08('0x1c')]);}return _0xd05004[_0x2d08('0x50')](_0x33e2c7);}})[_0x2d08('0x24')](function(_0x6392d7){if(_0x6392d7){return _0x6392d7?{'count':_0x16f6de,'rows':_0x6392d7}:null;}})[_0x2d08('0x24')](respondWithResult(_0x218cde,null))['catch'](handleError(_0x218cde,null));};exports[_0x2d08('0x51')]=function(_0x398af0,_0x1e5fbd,_0x4c2bc7){if(_0x398af0['body']['id']){delete _0x398af0[_0x2d08('0x47')]['id'];}return db[_0x2d08('0x2a')]['findOne']({'where':{'id':_0x398af0[_0x2d08('0x43')]['id']}})[_0x2d08('0x24')](handleEntityNotFound(_0x1e5fbd,null))[_0x2d08('0x24')](function(_0x5df7e6){if(_0x5df7e6){return _0x5df7e6['setTags'](_0x398af0['body']['ids']||[]);}return null;})['then'](respondWithResult(_0x1e5fbd,null))[_0x2d08('0x41')](handleError(_0x1e5fbd,null));};