2fcd132523269336985dc3bf51ac5f03459ebe60
[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 _0x83bc=['catch','params','find','create','body','destroy','getFields','DeskField','nolimit','getSubjects','getDescriptions','findOne','Tag','getTags','setTags','ids','rimraf','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','reject','save','update','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','keys','query','filters','attributes','intersection','fields','length','hasOwnProperty','order','sort','pick','filter','merge','VIRTUAL','options','where','DeskConfiguration','then','includeAll','findAll','rows'];(function(_0x5390aa,_0x24f3c8){var _0x371f4a=function(_0x2115f3){while(--_0x2115f3){_0x5390aa['push'](_0x5390aa['shift']());}};_0x371f4a(++_0x24f3c8);}(_0x83bc,0x16c));var _0xc83b=function(_0xb23bc0,_0x301904){_0xb23bc0=_0xb23bc0-0x0;var _0x185db6=_0x83bc[_0xb23bc0];return _0x185db6;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xc83b('0x0'));var zipdir=require(_0xc83b('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xc83b('0x2'));var moment=require(_0xc83b('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xc83b('0x4'));var util=require(_0xc83b('0x5'));var path=require(_0xc83b('0x6'));var sox=require(_0xc83b('0x7'));var csv=require(_0xc83b('0x8'));var ejs=require(_0xc83b('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc83b('0xa'));var squel=require(_0xc83b('0xb'));var crypto=require(_0xc83b('0xc'));var jsforce=require(_0xc83b('0xd'));var deskjs=require(_0xc83b('0xe'));var toCsv=require(_0xc83b('0x8'));var querystring=require(_0xc83b('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xc83b('0x10'));var qs=require(_0xc83b('0x11'));var as=require(_0xc83b('0x12'));var hardwareService=require(_0xc83b('0x13'));var logger=require(_0xc83b('0x14'))(_0xc83b('0x15'));var utils=require(_0xc83b('0x16'));var config=require(_0xc83b('0x17'));var licenseUtil=require(_0xc83b('0x18'));var db=require(_0xc83b('0x19'))['db'];function respondWithStatusCode(_0xa8b766,_0x1f8a33){_0x1f8a33=_0x1f8a33||0xcc;return function(_0x206b44){if(_0x206b44){return _0xa8b766[_0xc83b('0x1a')](_0x1f8a33);}return _0xa8b766[_0xc83b('0x1b')](_0x1f8a33)[_0xc83b('0x1c')]();};}function respondWithResult(_0x21452b,_0x77cc61){_0x77cc61=_0x77cc61||0xc8;return function(_0x2adb35){if(_0x2adb35){return _0x21452b['status'](_0x77cc61)[_0xc83b('0x1d')](_0x2adb35);}};}function respondWithFilteredResult(_0x1aad91,_0x1092a7){return function(_0x17aa3d){if(_0x17aa3d){var _0x56be32=typeof _0x1092a7[_0xc83b('0x1e')]==='undefined'&&typeof _0x1092a7[_0xc83b('0x1f')]===_0xc83b('0x20');var _0x68c7b1=_0x17aa3d[_0xc83b('0x21')];var _0x26cb3d=_0x56be32?0x0:_0x1092a7[_0xc83b('0x1e')];var _0x1c03d6=_0x56be32?_0x17aa3d[_0xc83b('0x21')]:_0x1092a7['offset']+_0x1092a7[_0xc83b('0x1f')];var _0x3b2e13;if(_0x1c03d6>=_0x68c7b1){_0x1c03d6=_0x68c7b1;_0x3b2e13=0xc8;}else{_0x3b2e13=0xce;}_0x1aad91['status'](_0x3b2e13);return _0x1aad91[_0xc83b('0x22')](_0xc83b('0x23'),_0x26cb3d+'-'+_0x1c03d6+'/'+_0x68c7b1)['json'](_0x17aa3d);}return null;};}function patchUpdates(_0x346c11){return function(_0x280073){try{jsonpatch['apply'](_0x280073,_0x346c11,!![]);}catch(_0x5f12e6){return BPromise[_0xc83b('0x24')](_0x5f12e6);}return _0x280073[_0xc83b('0x25')]();};}function saveUpdates(_0x238c21,_0x571e19){return function(_0xaa6d6f){if(_0xaa6d6f){return _0xaa6d6f[_0xc83b('0x26')](_0x238c21)['then'](function(_0x310057){return _0x310057;});}return null;};}function removeEntity(_0x43caaf,_0x2413b6){return function(_0x4f011a){if(_0x4f011a){return _0x4f011a['destroy']()['then'](function(){_0x43caaf[_0xc83b('0x1b')](0xcc)[_0xc83b('0x1c')]();});}};}function handleEntityNotFound(_0x276c8e,_0xadcd03){return function(_0x228000){if(!_0x228000){_0x276c8e['sendStatus'](0x194);}return _0x228000;};}function handleError(_0x4d5ab2,_0x740220){_0x740220=_0x740220||0x1f4;return function(_0x25f7f5){logger[_0xc83b('0x27')](_0x25f7f5[_0xc83b('0x28')]);if(_0x25f7f5[_0xc83b('0x29')]){delete _0x25f7f5[_0xc83b('0x29')];}_0x4d5ab2[_0xc83b('0x1b')](_0x740220)[_0xc83b('0x2a')](_0x25f7f5);};}exports[_0xc83b('0x2b')]=function(_0x2a7d17,_0x34fb9c){var _0x24f1f8={},_0x3cbb5e={},_0x3ccac7={'count':0x0,'rows':[]};var _0x59e939=_[_0xc83b('0x2c')](db['DeskConfiguration'][_0xc83b('0x2d')],function(_0x4b5e12){return{'name':_0x4b5e12[_0xc83b('0x2e')],'type':_0x4b5e12[_0xc83b('0x2f')][_0xc83b('0x30')]};});_0x3cbb5e[_0xc83b('0x31')]=_[_0xc83b('0x2c')](_0x59e939,_0xc83b('0x29'));_0x3cbb5e['query']=_[_0xc83b('0x32')](_0x2a7d17[_0xc83b('0x33')]);_0x3cbb5e[_0xc83b('0x34')]=_['intersection'](_0x3cbb5e[_0xc83b('0x31')],_0x3cbb5e[_0xc83b('0x33')]);_0x24f1f8[_0xc83b('0x35')]=_[_0xc83b('0x36')](_0x3cbb5e['model'],qs[_0xc83b('0x37')](_0x2a7d17['query']['fields']));_0x24f1f8[_0xc83b('0x35')]=_0x24f1f8[_0xc83b('0x35')][_0xc83b('0x38')]?_0x24f1f8['attributes']:_0x3cbb5e[_0xc83b('0x31')];if(!_0x2a7d17[_0xc83b('0x33')][_0xc83b('0x39')]('nolimit')){_0x24f1f8[_0xc83b('0x1f')]=qs[_0xc83b('0x1f')](_0x2a7d17[_0xc83b('0x33')]['limit']);_0x24f1f8[_0xc83b('0x1e')]=qs[_0xc83b('0x1e')](_0x2a7d17[_0xc83b('0x33')][_0xc83b('0x1e')]);}_0x24f1f8[_0xc83b('0x3a')]=qs[_0xc83b('0x3b')](_0x2a7d17[_0xc83b('0x33')][_0xc83b('0x3b')]);_0x24f1f8['where']=qs[_0xc83b('0x34')](_[_0xc83b('0x3c')](_0x2a7d17[_0xc83b('0x33')],_0x3cbb5e[_0xc83b('0x34')]),_0x59e939);if(_0x2a7d17[_0xc83b('0x33')][_0xc83b('0x3d')]){_0x24f1f8['where']=_[_0xc83b('0x3e')](_0x24f1f8['where'],{'$or':_[_0xc83b('0x2c')](_0x59e939,function(_0xe50b09){if(_0xe50b09[_0xc83b('0x2f')]!==_0xc83b('0x3f')){var _0x46f509={};_0x46f509[_0xe50b09[_0xc83b('0x29')]]={'$like':'%'+_0x2a7d17[_0xc83b('0x33')]['filter']+'%'};return _0x46f509;}})});}_0x24f1f8=_['merge']({},_0x24f1f8,_0x2a7d17[_0xc83b('0x40')]);var _0xc0cc9f={'where':_0x24f1f8[_0xc83b('0x41')]};return db[_0xc83b('0x42')]['count'](_0xc0cc9f)[_0xc83b('0x43')](function(_0x46581d){_0x3ccac7[_0xc83b('0x21')]=_0x46581d;if(_0x2a7d17[_0xc83b('0x33')][_0xc83b('0x44')]){_0x24f1f8['include']=[{'all':!![]}];}return db[_0xc83b('0x42')][_0xc83b('0x45')](_0x24f1f8);})[_0xc83b('0x43')](function(_0x3e4852){_0x3ccac7[_0xc83b('0x46')]=_0x3e4852;return _0x3ccac7;})['then'](respondWithFilteredResult(_0x34fb9c,_0x24f1f8))[_0xc83b('0x47')](handleError(_0x34fb9c,null));};exports['show']=function(_0x154489,_0x59d8e1){var _0x2f55f8={'raw':![],'where':{'id':_0x154489[_0xc83b('0x48')]['id']}},_0x5c9e9c={};_0x5c9e9c['model']=_['keys'](db[_0xc83b('0x42')][_0xc83b('0x2d')]);_0x5c9e9c['query']=_['keys'](_0x154489[_0xc83b('0x33')]);_0x5c9e9c['filters']=_[_0xc83b('0x36')](_0x5c9e9c[_0xc83b('0x31')],_0x5c9e9c['query']);_0x2f55f8[_0xc83b('0x35')]=_[_0xc83b('0x36')](_0x5c9e9c[_0xc83b('0x31')],qs[_0xc83b('0x37')](_0x154489['query'][_0xc83b('0x37')]));_0x2f55f8[_0xc83b('0x35')]=_0x2f55f8[_0xc83b('0x35')]['length']?_0x2f55f8['attributes']:_0x5c9e9c[_0xc83b('0x31')];if(_0x154489[_0xc83b('0x33')][_0xc83b('0x44')]){_0x2f55f8['include']=[{'all':!![]}];}_0x2f55f8=_[_0xc83b('0x3e')]({},_0x2f55f8,_0x154489[_0xc83b('0x40')]);return db[_0xc83b('0x42')][_0xc83b('0x49')](_0x2f55f8)['then'](handleEntityNotFound(_0x59d8e1,null))['then'](respondWithResult(_0x59d8e1,null))[_0xc83b('0x47')](handleError(_0x59d8e1,null));};exports['create']=function(_0x8bb43a,_0x57eaa5){return db[_0xc83b('0x42')][_0xc83b('0x4a')](_0x8bb43a['body'],{})['then'](respondWithResult(_0x57eaa5,0xc9))['catch'](handleError(_0x57eaa5,null));};exports[_0xc83b('0x26')]=function(_0x4cb2c7,_0x1a3604){if(_0x4cb2c7[_0xc83b('0x4b')]['id']){delete _0x4cb2c7['body']['id'];}return db[_0xc83b('0x42')][_0xc83b('0x49')]({'where':{'id':_0x4cb2c7[_0xc83b('0x48')]['id']}})[_0xc83b('0x43')](handleEntityNotFound(_0x1a3604,null))[_0xc83b('0x43')](saveUpdates(_0x4cb2c7[_0xc83b('0x4b')],null))[_0xc83b('0x43')](respondWithResult(_0x1a3604,null))['catch'](handleError(_0x1a3604,null));};exports[_0xc83b('0x4c')]=function(_0x3e566d,_0x11033a){return db['DeskConfiguration'][_0xc83b('0x49')]({'where':{'id':_0x3e566d[_0xc83b('0x48')]['id']}})[_0xc83b('0x43')](handleEntityNotFound(_0x11033a,null))[_0xc83b('0x43')](removeEntity(_0x11033a,null))[_0xc83b('0x47')](handleError(_0x11033a,null));};exports[_0xc83b('0x4d')]=function(_0x2ef3ef,_0x503386,_0x104335){var _0x53ff71={};var _0x11c9c4={};var _0x59a562;var _0x48ba1d;return db[_0xc83b('0x42')]['findOne']({'where':{'id':_0x2ef3ef['params']['id']}})[_0xc83b('0x43')](handleEntityNotFound(_0x503386,null))['then'](function(_0x5a09d7){if(_0x5a09d7){_0x59a562=_0x5a09d7;_0x11c9c4[_0xc83b('0x31')]=_['keys'](db[_0xc83b('0x4e')][_0xc83b('0x2d')]);_0x11c9c4['query']=_[_0xc83b('0x32')](_0x2ef3ef['query']);_0x11c9c4[_0xc83b('0x34')]=_[_0xc83b('0x36')](_0x11c9c4[_0xc83b('0x31')],_0x11c9c4[_0xc83b('0x33')]);_0x53ff71[_0xc83b('0x35')]=_[_0xc83b('0x36')](_0x11c9c4[_0xc83b('0x31')],qs['fields'](_0x2ef3ef['query'][_0xc83b('0x37')]));_0x53ff71[_0xc83b('0x35')]=_0x53ff71[_0xc83b('0x35')]['length']?_0x53ff71['attributes']:_0x11c9c4[_0xc83b('0x31')];_0x53ff71['order']=qs[_0xc83b('0x3b')](_0x2ef3ef[_0xc83b('0x33')][_0xc83b('0x3b')]);_0x53ff71[_0xc83b('0x41')]=qs[_0xc83b('0x34')](_['pick'](_0x2ef3ef[_0xc83b('0x33')],_0x11c9c4[_0xc83b('0x34')]));if(_0x2ef3ef[_0xc83b('0x33')][_0xc83b('0x3d')]){_0x53ff71[_0xc83b('0x41')]=_['merge'](_0x53ff71[_0xc83b('0x41')],{'$or':_['map'](_0x53ff71[_0xc83b('0x35')],function(_0x305c28){var _0x4cfc34={};_0x4cfc34[_0x305c28]={'$like':'%'+_0x2ef3ef[_0xc83b('0x33')][_0xc83b('0x3d')]+'%'};return _0x4cfc34;})});}_0x53ff71=_[_0xc83b('0x3e')]({},_0x53ff71,_0x2ef3ef[_0xc83b('0x40')]);return _0x59a562[_0xc83b('0x4d')](_0x53ff71);}})[_0xc83b('0x43')](function(_0x5881c2){if(_0x5881c2){_0x48ba1d=_0x5881c2[_0xc83b('0x38')];if(!_0x2ef3ef[_0xc83b('0x33')][_0xc83b('0x39')](_0xc83b('0x4f'))){_0x53ff71[_0xc83b('0x1f')]=qs[_0xc83b('0x1f')](_0x2ef3ef[_0xc83b('0x33')][_0xc83b('0x1f')]);_0x53ff71[_0xc83b('0x1e')]=qs[_0xc83b('0x1e')](_0x2ef3ef[_0xc83b('0x33')][_0xc83b('0x1e')]);}return _0x59a562['getFields'](_0x53ff71);}})[_0xc83b('0x43')](function(_0x5671b0){if(_0x5671b0){return _0x5671b0?{'count':_0x48ba1d,'rows':_0x5671b0}:null;}})['then'](respondWithResult(_0x503386,null))['catch'](handleError(_0x503386,null));};exports[_0xc83b('0x50')]=function(_0x29fc40,_0x2019e5,_0xc0ec2c){var _0x3544f7={};var _0x52a5e2={};var _0x243128;var _0xc4ed8;return db[_0xc83b('0x42')]['findOne']({'where':{'id':_0x29fc40['params']['id']}})[_0xc83b('0x43')](handleEntityNotFound(_0x2019e5,null))[_0xc83b('0x43')](function(_0x5d5df3){if(_0x5d5df3){_0x243128=_0x5d5df3;_0x52a5e2[_0xc83b('0x31')]=_[_0xc83b('0x32')](db['DeskField'][_0xc83b('0x2d')]);_0x52a5e2[_0xc83b('0x33')]=_[_0xc83b('0x32')](_0x29fc40[_0xc83b('0x33')]);_0x52a5e2['filters']=_[_0xc83b('0x36')](_0x52a5e2[_0xc83b('0x31')],_0x52a5e2[_0xc83b('0x33')]);_0x3544f7[_0xc83b('0x35')]=_[_0xc83b('0x36')](_0x52a5e2[_0xc83b('0x31')],qs[_0xc83b('0x37')](_0x29fc40[_0xc83b('0x33')][_0xc83b('0x37')]));_0x3544f7['attributes']=_0x3544f7[_0xc83b('0x35')][_0xc83b('0x38')]?_0x3544f7[_0xc83b('0x35')]:_0x52a5e2[_0xc83b('0x31')];_0x3544f7['order']=qs['sort'](_0x29fc40[_0xc83b('0x33')]['sort']);_0x3544f7['where']=qs[_0xc83b('0x34')](_[_0xc83b('0x3c')](_0x29fc40[_0xc83b('0x33')],_0x52a5e2['filters']));if(_0x29fc40[_0xc83b('0x33')][_0xc83b('0x3d')]){_0x3544f7[_0xc83b('0x41')]=_['merge'](_0x3544f7[_0xc83b('0x41')],{'$or':_[_0xc83b('0x2c')](_0x3544f7[_0xc83b('0x35')],function(_0x3620e3){var _0x491eb6={};_0x491eb6[_0x3620e3]={'$like':'%'+_0x29fc40['query']['filter']+'%'};return _0x491eb6;})});}_0x3544f7=_[_0xc83b('0x3e')]({},_0x3544f7,_0x29fc40[_0xc83b('0x40')]);return _0x243128[_0xc83b('0x50')](_0x3544f7);}})[_0xc83b('0x43')](function(_0xae367f){if(_0xae367f){_0xc4ed8=_0xae367f['length'];if(!_0x29fc40['query'][_0xc83b('0x39')]('nolimit')){_0x3544f7['limit']=qs[_0xc83b('0x1f')](_0x29fc40[_0xc83b('0x33')][_0xc83b('0x1f')]);_0x3544f7['offset']=qs[_0xc83b('0x1e')](_0x29fc40['query'][_0xc83b('0x1e')]);}return _0x243128[_0xc83b('0x50')](_0x3544f7);}})[_0xc83b('0x43')](function(_0x28823d){if(_0x28823d){return _0x28823d?{'count':_0xc4ed8,'rows':_0x28823d}:null;}})['then'](respondWithResult(_0x2019e5,null))[_0xc83b('0x47')](handleError(_0x2019e5,null));};exports[_0xc83b('0x51')]=function(_0x55b5be,_0x4124e1,_0xe9e47f){var _0x15aaf0={};var _0x590ef0={};var _0x411e82;var _0xb289d;return db[_0xc83b('0x42')]['findOne']({'where':{'id':_0x55b5be[_0xc83b('0x48')]['id']}})[_0xc83b('0x43')](handleEntityNotFound(_0x4124e1,null))['then'](function(_0x5e6c2f){if(_0x5e6c2f){_0x411e82=_0x5e6c2f;_0x590ef0['model']=_[_0xc83b('0x32')](db[_0xc83b('0x4e')][_0xc83b('0x2d')]);_0x590ef0[_0xc83b('0x33')]=_[_0xc83b('0x32')](_0x55b5be[_0xc83b('0x33')]);_0x590ef0[_0xc83b('0x34')]=_[_0xc83b('0x36')](_0x590ef0['model'],_0x590ef0[_0xc83b('0x33')]);_0x15aaf0[_0xc83b('0x35')]=_[_0xc83b('0x36')](_0x590ef0[_0xc83b('0x31')],qs[_0xc83b('0x37')](_0x55b5be[_0xc83b('0x33')][_0xc83b('0x37')]));_0x15aaf0[_0xc83b('0x35')]=_0x15aaf0[_0xc83b('0x35')][_0xc83b('0x38')]?_0x15aaf0[_0xc83b('0x35')]:_0x590ef0[_0xc83b('0x31')];_0x15aaf0[_0xc83b('0x3a')]=qs['sort'](_0x55b5be[_0xc83b('0x33')][_0xc83b('0x3b')]);_0x15aaf0['where']=qs['filters'](_['pick'](_0x55b5be[_0xc83b('0x33')],_0x590ef0[_0xc83b('0x34')]));if(_0x55b5be[_0xc83b('0x33')][_0xc83b('0x3d')]){_0x15aaf0[_0xc83b('0x41')]=_[_0xc83b('0x3e')](_0x15aaf0[_0xc83b('0x41')],{'$or':_[_0xc83b('0x2c')](_0x15aaf0[_0xc83b('0x35')],function(_0x4a7c7c){var _0xeb4d82={};_0xeb4d82[_0x4a7c7c]={'$like':'%'+_0x55b5be[_0xc83b('0x33')][_0xc83b('0x3d')]+'%'};return _0xeb4d82;})});}_0x15aaf0=_[_0xc83b('0x3e')]({},_0x15aaf0,_0x55b5be[_0xc83b('0x40')]);return _0x411e82[_0xc83b('0x51')](_0x15aaf0);}})['then'](function(_0x462b4a){if(_0x462b4a){_0xb289d=_0x462b4a[_0xc83b('0x38')];if(!_0x55b5be[_0xc83b('0x33')][_0xc83b('0x39')](_0xc83b('0x4f'))){_0x15aaf0[_0xc83b('0x1f')]=qs[_0xc83b('0x1f')](_0x55b5be[_0xc83b('0x33')][_0xc83b('0x1f')]);_0x15aaf0[_0xc83b('0x1e')]=qs[_0xc83b('0x1e')](_0x55b5be[_0xc83b('0x33')][_0xc83b('0x1e')]);}return _0x411e82[_0xc83b('0x51')](_0x15aaf0);}})[_0xc83b('0x43')](function(_0x1e2869){if(_0x1e2869){return _0x1e2869?{'count':_0xb289d,'rows':_0x1e2869}:null;}})['then'](respondWithResult(_0x4124e1,null))['catch'](handleError(_0x4124e1,null));};exports['getTags']=function(_0x39558b,_0x2f18c8,_0x4626ce){var _0x3222ab={};var _0x1b5dfd={};var _0xbf7da7;var _0x1bb617;return db['DeskConfiguration'][_0xc83b('0x52')]({'where':{'id':_0x39558b['params']['id']}})[_0xc83b('0x43')](handleEntityNotFound(_0x2f18c8,null))[_0xc83b('0x43')](function(_0x4a0e6a){if(_0x4a0e6a){_0xbf7da7=_0x4a0e6a;_0x1b5dfd[_0xc83b('0x31')]=_[_0xc83b('0x32')](db[_0xc83b('0x53')]['rawAttributes']);_0x1b5dfd[_0xc83b('0x33')]=_[_0xc83b('0x32')](_0x39558b['query']);_0x1b5dfd['filters']=_[_0xc83b('0x36')](_0x1b5dfd[_0xc83b('0x31')],_0x1b5dfd[_0xc83b('0x33')]);_0x3222ab['attributes']=_[_0xc83b('0x36')](_0x1b5dfd['model'],qs[_0xc83b('0x37')](_0x39558b[_0xc83b('0x33')][_0xc83b('0x37')]));_0x3222ab[_0xc83b('0x35')]=_0x3222ab[_0xc83b('0x35')][_0xc83b('0x38')]?_0x3222ab[_0xc83b('0x35')]:_0x1b5dfd[_0xc83b('0x31')];_0x3222ab['order']=qs[_0xc83b('0x3b')](_0x39558b[_0xc83b('0x33')]['sort']);_0x3222ab[_0xc83b('0x41')]=qs['filters'](_[_0xc83b('0x3c')](_0x39558b['query'],_0x1b5dfd['filters']));if(_0x39558b[_0xc83b('0x33')][_0xc83b('0x3d')]){_0x3222ab[_0xc83b('0x41')]=_[_0xc83b('0x3e')](_0x3222ab['where'],{'$or':_[_0xc83b('0x2c')](_0x3222ab[_0xc83b('0x35')],function(_0x4394f){var _0x5207d0={};_0x5207d0[_0x4394f]={'$like':'%'+_0x39558b['query']['filter']+'%'};return _0x5207d0;})});}_0x3222ab=_[_0xc83b('0x3e')]({},_0x3222ab,_0x39558b['options']);return _0xbf7da7[_0xc83b('0x54')](_0x3222ab);}})[_0xc83b('0x43')](function(_0x4cbf41){if(_0x4cbf41){_0x1bb617=_0x4cbf41[_0xc83b('0x38')];if(!_0x39558b[_0xc83b('0x33')]['hasOwnProperty']('nolimit')){_0x3222ab[_0xc83b('0x1f')]=qs[_0xc83b('0x1f')](_0x39558b['query'][_0xc83b('0x1f')]);_0x3222ab[_0xc83b('0x1e')]=qs[_0xc83b('0x1e')](_0x39558b[_0xc83b('0x33')][_0xc83b('0x1e')]);}return _0xbf7da7[_0xc83b('0x54')](_0x3222ab);}})['then'](function(_0x1e9d5a){if(_0x1e9d5a){return _0x1e9d5a?{'count':_0x1bb617,'rows':_0x1e9d5a}:null;}})['then'](respondWithResult(_0x2f18c8,null))[_0xc83b('0x47')](handleError(_0x2f18c8,null));};exports[_0xc83b('0x55')]=function(_0x37f472,_0x135aee,_0x37c073){if(_0x37f472['body']['id']){delete _0x37f472[_0xc83b('0x4b')]['id'];}return db[_0xc83b('0x42')][_0xc83b('0x52')]({'where':{'id':_0x37f472[_0xc83b('0x48')]['id']}})[_0xc83b('0x43')](handleEntityNotFound(_0x135aee,null))['then'](function(_0x9c389c){if(_0x9c389c){return _0x9c389c['setTags'](_0x37f472[_0xc83b('0x4b')][_0xc83b('0x56')]||[]);}return null;})['then'](respondWithResult(_0x135aee,null))[_0xc83b('0x47')](handleError(_0x135aee,null));};