fb367068062c2d2a70158e75e3ca5157dd867b9d
[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 _0x7d5b=['options','includeAll','include','findAll','rows','catch','show','params','keys','create','body','find','getFields','DeskField','getSubjects','findOne','getDescriptions','Tag','getTags','setTags','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','update','destroy','then','error','stack','name','send','index','map','DeskConfiguration','rawAttributes','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL'];(function(_0x37914d,_0x4209c0){var _0x2b4118=function(_0x10de2){while(--_0x10de2){_0x37914d['push'](_0x37914d['shift']());}};_0x2b4118(++_0x4209c0);}(_0x7d5b,0x1c7));var _0xb7d5=function(_0x186376,_0x5d988a){_0x186376=_0x186376-0x0;var _0x2dbdd9=_0x7d5b[_0x186376];return _0x2dbdd9;};'use strict';var emlformat=require(_0xb7d5('0x0'));var rimraf=require(_0xb7d5('0x1'));var zipdir=require(_0xb7d5('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xb7d5('0x3'));var moment=require(_0xb7d5('0x4'));var BPromise=require(_0xb7d5('0x5'));var Mustache=require('mustache');var util=require(_0xb7d5('0x6'));var path=require('path');var sox=require(_0xb7d5('0x7'));var csv=require(_0xb7d5('0x8'));var ejs=require(_0xb7d5('0x9'));var fs=require('fs');var fs_extra=require(_0xb7d5('0xa'));var _=require(_0xb7d5('0xb'));var squel=require('squel');var crypto=require(_0xb7d5('0xc'));var jsforce=require(_0xb7d5('0xd'));var deskjs=require(_0xb7d5('0xe'));var toCsv=require(_0xb7d5('0x8'));var querystring=require('querystring');var Papa=require(_0xb7d5('0xf'));var Redis=require(_0xb7d5('0x10'));var authService=require(_0xb7d5('0x11'));var qs=require(_0xb7d5('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb7d5('0x13'));var logger=require(_0xb7d5('0x14'))(_0xb7d5('0x15'));var utils=require(_0xb7d5('0x16'));var config=require(_0xb7d5('0x17'));var licenseUtil=require(_0xb7d5('0x18'));var db=require(_0xb7d5('0x19'))['db'];function respondWithStatusCode(_0x2962fc,_0x1dcca3){_0x1dcca3=_0x1dcca3||0xcc;return function(_0x3c74a1){if(_0x3c74a1){return _0x2962fc[_0xb7d5('0x1a')](_0x1dcca3);}return _0x2962fc[_0xb7d5('0x1b')](_0x1dcca3)[_0xb7d5('0x1c')]();};}function respondWithResult(_0x3ab6c2,_0x3ca6af){_0x3ca6af=_0x3ca6af||0xc8;return function(_0x2473d6){if(_0x2473d6){return _0x3ab6c2[_0xb7d5('0x1b')](_0x3ca6af)[_0xb7d5('0x1d')](_0x2473d6);}};}function respondWithFilteredResult(_0x333894,_0xedfab){return function(_0x3c5010){if(_0x3c5010){var _0x94fb8=typeof _0xedfab[_0xb7d5('0x1e')]==='undefined'&&typeof _0xedfab['limit']===_0xb7d5('0x1f');var _0x4787d1=_0x3c5010[_0xb7d5('0x20')];var _0x519bf8=_0x94fb8?0x0:_0xedfab['offset'];var _0x95d200=_0x94fb8?_0x3c5010[_0xb7d5('0x20')]:_0xedfab[_0xb7d5('0x1e')]+_0xedfab[_0xb7d5('0x21')];var _0x14228f;if(_0x95d200>=_0x4787d1){_0x95d200=_0x4787d1;_0x14228f=0xc8;}else{_0x14228f=0xce;}_0x333894[_0xb7d5('0x1b')](_0x14228f);return _0x333894[_0xb7d5('0x22')](_0xb7d5('0x23'),_0x519bf8+'-'+_0x95d200+'/'+_0x4787d1)[_0xb7d5('0x1d')](_0x3c5010);}return null;};}function patchUpdates(_0x428535){return function(_0x3930ed){try{jsonpatch[_0xb7d5('0x24')](_0x3930ed,_0x428535,!![]);}catch(_0x59061c){return BPromise[_0xb7d5('0x25')](_0x59061c);}return _0x3930ed['save']();};}function saveUpdates(_0x4104d0,_0x2c6e84){return function(_0x4bc0f3){if(_0x4bc0f3){return _0x4bc0f3[_0xb7d5('0x26')](_0x4104d0)['then'](function(_0x3a227c){return _0x3a227c;});}return null;};}function removeEntity(_0x1c7d4d,_0x9f4bea){return function(_0x58c2cf){if(_0x58c2cf){return _0x58c2cf[_0xb7d5('0x27')]()[_0xb7d5('0x28')](function(){_0x1c7d4d['status'](0xcc)[_0xb7d5('0x1c')]();});}};}function handleEntityNotFound(_0x591ad5,_0x109ae1){return function(_0x10ee9e){if(!_0x10ee9e){_0x591ad5['sendStatus'](0x194);}return _0x10ee9e;};}function handleError(_0x2e3ba2,_0x24b8db){_0x24b8db=_0x24b8db||0x1f4;return function(_0xaeec0e){logger[_0xb7d5('0x29')](_0xaeec0e[_0xb7d5('0x2a')]);if(_0xaeec0e[_0xb7d5('0x2b')]){delete _0xaeec0e[_0xb7d5('0x2b')];}_0x2e3ba2[_0xb7d5('0x1b')](_0x24b8db)[_0xb7d5('0x2c')](_0xaeec0e);};}exports[_0xb7d5('0x2d')]=function(_0x4384a0,_0xed41a1){var _0x4e49f7={},_0x2efe75={},_0x8acae8={'count':0x0,'rows':[]};var _0x3d8830=_[_0xb7d5('0x2e')](db[_0xb7d5('0x2f')][_0xb7d5('0x30')],function(_0x5f1ac2){return{'name':_0x5f1ac2['fieldName'],'type':_0x5f1ac2[_0xb7d5('0x31')][_0xb7d5('0x32')]};});_0x2efe75[_0xb7d5('0x33')]=_[_0xb7d5('0x2e')](_0x3d8830,_0xb7d5('0x2b'));_0x2efe75[_0xb7d5('0x34')]=_['keys'](_0x4384a0[_0xb7d5('0x34')]);_0x2efe75[_0xb7d5('0x35')]=_[_0xb7d5('0x36')](_0x2efe75[_0xb7d5('0x33')],_0x2efe75['query']);_0x4e49f7[_0xb7d5('0x37')]=_['intersection'](_0x2efe75['model'],qs[_0xb7d5('0x38')](_0x4384a0['query'][_0xb7d5('0x38')]));_0x4e49f7['attributes']=_0x4e49f7[_0xb7d5('0x37')][_0xb7d5('0x39')]?_0x4e49f7['attributes']:_0x2efe75['model'];if(!_0x4384a0[_0xb7d5('0x34')][_0xb7d5('0x3a')](_0xb7d5('0x3b'))){_0x4e49f7[_0xb7d5('0x21')]=qs[_0xb7d5('0x21')](_0x4384a0['query'][_0xb7d5('0x21')]);_0x4e49f7[_0xb7d5('0x1e')]=qs[_0xb7d5('0x1e')](_0x4384a0['query'][_0xb7d5('0x1e')]);}_0x4e49f7[_0xb7d5('0x3c')]=qs[_0xb7d5('0x3d')](_0x4384a0['query'][_0xb7d5('0x3d')]);_0x4e49f7[_0xb7d5('0x3e')]=qs[_0xb7d5('0x35')](_[_0xb7d5('0x3f')](_0x4384a0[_0xb7d5('0x34')],_0x2efe75[_0xb7d5('0x35')]),_0x3d8830);if(_0x4384a0[_0xb7d5('0x34')][_0xb7d5('0x40')]){_0x4e49f7[_0xb7d5('0x3e')]=_[_0xb7d5('0x41')](_0x4e49f7['where'],{'$or':_[_0xb7d5('0x2e')](_0x3d8830,function(_0x3d0654){if(_0x3d0654[_0xb7d5('0x31')]!==_0xb7d5('0x42')){var _0x3f50ba={};_0x3f50ba[_0x3d0654[_0xb7d5('0x2b')]]={'$like':'%'+_0x4384a0[_0xb7d5('0x34')][_0xb7d5('0x40')]+'%'};return _0x3f50ba;}})});}_0x4e49f7=_[_0xb7d5('0x41')]({},_0x4e49f7,_0x4384a0[_0xb7d5('0x43')]);var _0x4db2db={'where':_0x4e49f7[_0xb7d5('0x3e')]};return db[_0xb7d5('0x2f')][_0xb7d5('0x20')](_0x4db2db)['then'](function(_0x42f423){_0x8acae8['count']=_0x42f423;if(_0x4384a0[_0xb7d5('0x34')][_0xb7d5('0x44')]){_0x4e49f7[_0xb7d5('0x45')]=[{'all':!![]}];}return db['DeskConfiguration'][_0xb7d5('0x46')](_0x4e49f7);})['then'](function(_0x35dbff){_0x8acae8[_0xb7d5('0x47')]=_0x35dbff;return _0x8acae8;})[_0xb7d5('0x28')](respondWithFilteredResult(_0xed41a1,_0x4e49f7))[_0xb7d5('0x48')](handleError(_0xed41a1,null));};exports[_0xb7d5('0x49')]=function(_0x451b9c,_0x46ca6c){var _0x3e088f={'raw':![],'where':{'id':_0x451b9c[_0xb7d5('0x4a')]['id']}},_0x279ef9={};_0x279ef9[_0xb7d5('0x33')]=_[_0xb7d5('0x4b')](db['DeskConfiguration'][_0xb7d5('0x30')]);_0x279ef9[_0xb7d5('0x34')]=_['keys'](_0x451b9c[_0xb7d5('0x34')]);_0x279ef9[_0xb7d5('0x35')]=_[_0xb7d5('0x36')](_0x279ef9[_0xb7d5('0x33')],_0x279ef9[_0xb7d5('0x34')]);_0x3e088f[_0xb7d5('0x37')]=_[_0xb7d5('0x36')](_0x279ef9[_0xb7d5('0x33')],qs[_0xb7d5('0x38')](_0x451b9c['query']['fields']));_0x3e088f[_0xb7d5('0x37')]=_0x3e088f['attributes'][_0xb7d5('0x39')]?_0x3e088f[_0xb7d5('0x37')]:_0x279ef9[_0xb7d5('0x33')];if(_0x451b9c[_0xb7d5('0x34')][_0xb7d5('0x44')]){_0x3e088f[_0xb7d5('0x45')]=[{'all':!![]}];}_0x3e088f=_[_0xb7d5('0x41')]({},_0x3e088f,_0x451b9c[_0xb7d5('0x43')]);return db[_0xb7d5('0x2f')]['find'](_0x3e088f)['then'](handleEntityNotFound(_0x46ca6c,null))['then'](respondWithResult(_0x46ca6c,null))[_0xb7d5('0x48')](handleError(_0x46ca6c,null));};exports[_0xb7d5('0x4c')]=function(_0x1bd42c,_0xb1517c){return db[_0xb7d5('0x2f')][_0xb7d5('0x4c')](_0x1bd42c[_0xb7d5('0x4d')],{})['then'](respondWithResult(_0xb1517c,0xc9))['catch'](handleError(_0xb1517c,null));};exports[_0xb7d5('0x26')]=function(_0x453d42,_0x29c7b1){if(_0x453d42[_0xb7d5('0x4d')]['id']){delete _0x453d42[_0xb7d5('0x4d')]['id'];}return db[_0xb7d5('0x2f')][_0xb7d5('0x4e')]({'where':{'id':_0x453d42[_0xb7d5('0x4a')]['id']}})[_0xb7d5('0x28')](handleEntityNotFound(_0x29c7b1,null))['then'](saveUpdates(_0x453d42[_0xb7d5('0x4d')],null))['then'](respondWithResult(_0x29c7b1,null))[_0xb7d5('0x48')](handleError(_0x29c7b1,null));};exports[_0xb7d5('0x27')]=function(_0x22d2b5,_0x16d171){return db['DeskConfiguration']['find']({'where':{'id':_0x22d2b5[_0xb7d5('0x4a')]['id']}})['then'](handleEntityNotFound(_0x16d171,null))[_0xb7d5('0x28')](removeEntity(_0x16d171,null))['catch'](handleError(_0x16d171,null));};exports[_0xb7d5('0x4f')]=function(_0x1b0b29,_0x35145b,_0x4e9497){var _0x24be8d={};var _0x4449ed={};var _0x272a9d;var _0x34947f;return db[_0xb7d5('0x2f')]['findOne']({'where':{'id':_0x1b0b29[_0xb7d5('0x4a')]['id']}})[_0xb7d5('0x28')](handleEntityNotFound(_0x35145b,null))[_0xb7d5('0x28')](function(_0x7aa3c2){if(_0x7aa3c2){_0x272a9d=_0x7aa3c2;_0x4449ed['model']=_['keys'](db[_0xb7d5('0x50')][_0xb7d5('0x30')]);_0x4449ed[_0xb7d5('0x34')]=_['keys'](_0x1b0b29[_0xb7d5('0x34')]);_0x4449ed['filters']=_['intersection'](_0x4449ed['model'],_0x4449ed['query']);_0x24be8d[_0xb7d5('0x37')]=_[_0xb7d5('0x36')](_0x4449ed[_0xb7d5('0x33')],qs[_0xb7d5('0x38')](_0x1b0b29['query'][_0xb7d5('0x38')]));_0x24be8d[_0xb7d5('0x37')]=_0x24be8d[_0xb7d5('0x37')][_0xb7d5('0x39')]?_0x24be8d[_0xb7d5('0x37')]:_0x4449ed[_0xb7d5('0x33')];_0x24be8d[_0xb7d5('0x3c')]=qs[_0xb7d5('0x3d')](_0x1b0b29[_0xb7d5('0x34')]['sort']);_0x24be8d[_0xb7d5('0x3e')]=qs[_0xb7d5('0x35')](_['pick'](_0x1b0b29[_0xb7d5('0x34')],_0x4449ed[_0xb7d5('0x35')]));if(_0x1b0b29['query']['filter']){_0x24be8d[_0xb7d5('0x3e')]=_[_0xb7d5('0x41')](_0x24be8d[_0xb7d5('0x3e')],{'$or':_[_0xb7d5('0x2e')](_0x24be8d['attributes'],function(_0x3a0562){var _0x1b53b2={};_0x1b53b2[_0x3a0562]={'$like':'%'+_0x1b0b29['query'][_0xb7d5('0x40')]+'%'};return _0x1b53b2;})});}_0x24be8d=_[_0xb7d5('0x41')]({},_0x24be8d,_0x1b0b29[_0xb7d5('0x43')]);return _0x272a9d['getFields'](_0x24be8d);}})[_0xb7d5('0x28')](function(_0x504f8c){if(_0x504f8c){_0x34947f=_0x504f8c[_0xb7d5('0x39')];if(!_0x1b0b29[_0xb7d5('0x34')][_0xb7d5('0x3a')](_0xb7d5('0x3b'))){_0x24be8d['limit']=qs[_0xb7d5('0x21')](_0x1b0b29[_0xb7d5('0x34')][_0xb7d5('0x21')]);_0x24be8d[_0xb7d5('0x1e')]=qs[_0xb7d5('0x1e')](_0x1b0b29[_0xb7d5('0x34')][_0xb7d5('0x1e')]);}return _0x272a9d[_0xb7d5('0x4f')](_0x24be8d);}})[_0xb7d5('0x28')](function(_0x40bd25){if(_0x40bd25){return _0x40bd25?{'count':_0x34947f,'rows':_0x40bd25}:null;}})['then'](respondWithResult(_0x35145b,null))[_0xb7d5('0x48')](handleError(_0x35145b,null));};exports[_0xb7d5('0x51')]=function(_0x3ab172,_0x27bc8f,_0x2d2f6d){var _0xc13a57={};var _0x350b72={};var _0xdbdecd;var _0x546848;return db[_0xb7d5('0x2f')][_0xb7d5('0x52')]({'where':{'id':_0x3ab172[_0xb7d5('0x4a')]['id']}})[_0xb7d5('0x28')](handleEntityNotFound(_0x27bc8f,null))[_0xb7d5('0x28')](function(_0x61e20b){if(_0x61e20b){_0xdbdecd=_0x61e20b;_0x350b72[_0xb7d5('0x33')]=_[_0xb7d5('0x4b')](db['DeskField'][_0xb7d5('0x30')]);_0x350b72[_0xb7d5('0x34')]=_[_0xb7d5('0x4b')](_0x3ab172['query']);_0x350b72[_0xb7d5('0x35')]=_[_0xb7d5('0x36')](_0x350b72[_0xb7d5('0x33')],_0x350b72[_0xb7d5('0x34')]);_0xc13a57[_0xb7d5('0x37')]=_['intersection'](_0x350b72[_0xb7d5('0x33')],qs[_0xb7d5('0x38')](_0x3ab172['query'][_0xb7d5('0x38')]));_0xc13a57['attributes']=_0xc13a57['attributes']['length']?_0xc13a57[_0xb7d5('0x37')]:_0x350b72[_0xb7d5('0x33')];_0xc13a57[_0xb7d5('0x3c')]=qs['sort'](_0x3ab172[_0xb7d5('0x34')]['sort']);_0xc13a57[_0xb7d5('0x3e')]=qs[_0xb7d5('0x35')](_[_0xb7d5('0x3f')](_0x3ab172[_0xb7d5('0x34')],_0x350b72['filters']));if(_0x3ab172[_0xb7d5('0x34')][_0xb7d5('0x40')]){_0xc13a57[_0xb7d5('0x3e')]=_[_0xb7d5('0x41')](_0xc13a57[_0xb7d5('0x3e')],{'$or':_[_0xb7d5('0x2e')](_0xc13a57[_0xb7d5('0x37')],function(_0x57ea2d){var _0x21cf35={};_0x21cf35[_0x57ea2d]={'$like':'%'+_0x3ab172['query']['filter']+'%'};return _0x21cf35;})});}_0xc13a57=_[_0xb7d5('0x41')]({},_0xc13a57,_0x3ab172[_0xb7d5('0x43')]);return _0xdbdecd[_0xb7d5('0x51')](_0xc13a57);}})[_0xb7d5('0x28')](function(_0x253a36){if(_0x253a36){_0x546848=_0x253a36[_0xb7d5('0x39')];if(!_0x3ab172[_0xb7d5('0x34')]['hasOwnProperty'](_0xb7d5('0x3b'))){_0xc13a57[_0xb7d5('0x21')]=qs['limit'](_0x3ab172[_0xb7d5('0x34')][_0xb7d5('0x21')]);_0xc13a57['offset']=qs[_0xb7d5('0x1e')](_0x3ab172[_0xb7d5('0x34')][_0xb7d5('0x1e')]);}return _0xdbdecd[_0xb7d5('0x51')](_0xc13a57);}})[_0xb7d5('0x28')](function(_0x4b94d6){if(_0x4b94d6){return _0x4b94d6?{'count':_0x546848,'rows':_0x4b94d6}:null;}})[_0xb7d5('0x28')](respondWithResult(_0x27bc8f,null))['catch'](handleError(_0x27bc8f,null));};exports[_0xb7d5('0x53')]=function(_0x1b5009,_0x4c94cf,_0x4a3987){var _0x4a7992={};var _0x502f43={};var _0x2c9860;var _0x4c837b;return db[_0xb7d5('0x2f')][_0xb7d5('0x52')]({'where':{'id':_0x1b5009[_0xb7d5('0x4a')]['id']}})['then'](handleEntityNotFound(_0x4c94cf,null))[_0xb7d5('0x28')](function(_0x481efc){if(_0x481efc){_0x2c9860=_0x481efc;_0x502f43[_0xb7d5('0x33')]=_[_0xb7d5('0x4b')](db[_0xb7d5('0x50')][_0xb7d5('0x30')]);_0x502f43[_0xb7d5('0x34')]=_['keys'](_0x1b5009[_0xb7d5('0x34')]);_0x502f43[_0xb7d5('0x35')]=_[_0xb7d5('0x36')](_0x502f43['model'],_0x502f43[_0xb7d5('0x34')]);_0x4a7992[_0xb7d5('0x37')]=_[_0xb7d5('0x36')](_0x502f43['model'],qs[_0xb7d5('0x38')](_0x1b5009[_0xb7d5('0x34')][_0xb7d5('0x38')]));_0x4a7992[_0xb7d5('0x37')]=_0x4a7992[_0xb7d5('0x37')]['length']?_0x4a7992[_0xb7d5('0x37')]:_0x502f43[_0xb7d5('0x33')];_0x4a7992[_0xb7d5('0x3c')]=qs[_0xb7d5('0x3d')](_0x1b5009[_0xb7d5('0x34')][_0xb7d5('0x3d')]);_0x4a7992['where']=qs['filters'](_[_0xb7d5('0x3f')](_0x1b5009[_0xb7d5('0x34')],_0x502f43[_0xb7d5('0x35')]));if(_0x1b5009[_0xb7d5('0x34')][_0xb7d5('0x40')]){_0x4a7992[_0xb7d5('0x3e')]=_['merge'](_0x4a7992['where'],{'$or':_['map'](_0x4a7992['attributes'],function(_0x48e0ce){var _0x27ea85={};_0x27ea85[_0x48e0ce]={'$like':'%'+_0x1b5009['query'][_0xb7d5('0x40')]+'%'};return _0x27ea85;})});}_0x4a7992=_[_0xb7d5('0x41')]({},_0x4a7992,_0x1b5009['options']);return _0x2c9860[_0xb7d5('0x53')](_0x4a7992);}})[_0xb7d5('0x28')](function(_0x777d13){if(_0x777d13){_0x4c837b=_0x777d13['length'];if(!_0x1b5009[_0xb7d5('0x34')][_0xb7d5('0x3a')](_0xb7d5('0x3b'))){_0x4a7992[_0xb7d5('0x21')]=qs[_0xb7d5('0x21')](_0x1b5009[_0xb7d5('0x34')][_0xb7d5('0x21')]);_0x4a7992[_0xb7d5('0x1e')]=qs[_0xb7d5('0x1e')](_0x1b5009[_0xb7d5('0x34')][_0xb7d5('0x1e')]);}return _0x2c9860[_0xb7d5('0x53')](_0x4a7992);}})['then'](function(_0x2aa5ca){if(_0x2aa5ca){return _0x2aa5ca?{'count':_0x4c837b,'rows':_0x2aa5ca}:null;}})['then'](respondWithResult(_0x4c94cf,null))['catch'](handleError(_0x4c94cf,null));};exports['getTags']=function(_0x5e29d2,_0x4d84e0,_0x2d2942){var _0x4c404d={};var _0x25bfde={};var _0x7798d3;var _0x43925b;return db[_0xb7d5('0x2f')][_0xb7d5('0x52')]({'where':{'id':_0x5e29d2[_0xb7d5('0x4a')]['id']}})[_0xb7d5('0x28')](handleEntityNotFound(_0x4d84e0,null))[_0xb7d5('0x28')](function(_0x284efb){if(_0x284efb){_0x7798d3=_0x284efb;_0x25bfde[_0xb7d5('0x33')]=_[_0xb7d5('0x4b')](db[_0xb7d5('0x54')]['rawAttributes']);_0x25bfde[_0xb7d5('0x34')]=_[_0xb7d5('0x4b')](_0x5e29d2[_0xb7d5('0x34')]);_0x25bfde[_0xb7d5('0x35')]=_['intersection'](_0x25bfde['model'],_0x25bfde['query']);_0x4c404d['attributes']=_[_0xb7d5('0x36')](_0x25bfde['model'],qs['fields'](_0x5e29d2[_0xb7d5('0x34')][_0xb7d5('0x38')]));_0x4c404d[_0xb7d5('0x37')]=_0x4c404d[_0xb7d5('0x37')][_0xb7d5('0x39')]?_0x4c404d[_0xb7d5('0x37')]:_0x25bfde['model'];_0x4c404d[_0xb7d5('0x3c')]=qs[_0xb7d5('0x3d')](_0x5e29d2[_0xb7d5('0x34')][_0xb7d5('0x3d')]);_0x4c404d['where']=qs[_0xb7d5('0x35')](_['pick'](_0x5e29d2[_0xb7d5('0x34')],_0x25bfde[_0xb7d5('0x35')]));if(_0x5e29d2[_0xb7d5('0x34')][_0xb7d5('0x40')]){_0x4c404d['where']=_[_0xb7d5('0x41')](_0x4c404d['where'],{'$or':_['map'](_0x4c404d[_0xb7d5('0x37')],function(_0x16f864){var _0xcef1fb={};_0xcef1fb[_0x16f864]={'$like':'%'+_0x5e29d2[_0xb7d5('0x34')][_0xb7d5('0x40')]+'%'};return _0xcef1fb;})});}_0x4c404d=_[_0xb7d5('0x41')]({},_0x4c404d,_0x5e29d2[_0xb7d5('0x43')]);return _0x7798d3[_0xb7d5('0x55')](_0x4c404d);}})['then'](function(_0x1796bf){if(_0x1796bf){_0x43925b=_0x1796bf[_0xb7d5('0x39')];if(!_0x5e29d2[_0xb7d5('0x34')][_0xb7d5('0x3a')](_0xb7d5('0x3b'))){_0x4c404d[_0xb7d5('0x21')]=qs[_0xb7d5('0x21')](_0x5e29d2['query']['limit']);_0x4c404d[_0xb7d5('0x1e')]=qs[_0xb7d5('0x1e')](_0x5e29d2[_0xb7d5('0x34')][_0xb7d5('0x1e')]);}return _0x7798d3[_0xb7d5('0x55')](_0x4c404d);}})['then'](function(_0x459680){if(_0x459680){return _0x459680?{'count':_0x43925b,'rows':_0x459680}:null;}})[_0xb7d5('0x28')](respondWithResult(_0x4d84e0,null))[_0xb7d5('0x48')](handleError(_0x4d84e0,null));};exports[_0xb7d5('0x56')]=function(_0x4a126a,_0x5eb535,_0xb82348){if(_0x4a126a['body']['id']){delete _0x4a126a[_0xb7d5('0x4d')]['id'];}return db['DeskConfiguration'][_0xb7d5('0x52')]({'where':{'id':_0x4a126a[_0xb7d5('0x4a')]['id']}})[_0xb7d5('0x28')](handleEntityNotFound(_0x5eb535,null))[_0xb7d5('0x28')](function(_0x5499b2){if(_0x5499b2){return _0x5499b2['setTags'](_0x4a126a[_0xb7d5('0x4d')]['ids']||[]);}return null;})['then'](respondWithResult(_0x5eb535,null))[_0xb7d5('0x48')](handleError(_0x5eb535,null));};