89371c6c36c569fd9ed97f1037a4f811651863f4
[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 _0xc1b9=['save','update','then','end','stack','name','index','DeskConfiguration','fieldName','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','pick','filter','where','merge','map','type','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','rawAttributes','keys','create','body','find','destroy','getFields','DeskField','sort','options','getSubjects','getDescriptions','findOne','Tag','getTags','setTags','ids','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','undefined','limit','count','offset','set','Content-Range','json','apply','reject'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xc1b9,0xdf));var _0x9c1b=function(_0xb875ee,_0x583042){_0xb875ee=_0xb875ee-0x0;var _0x4c7f3a=_0xc1b9[_0xb875ee];return _0x4c7f3a;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x9c1b('0x0'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9c1b('0x1'));var moment=require(_0x9c1b('0x2'));var BPromise=require(_0x9c1b('0x3'));var Mustache=require(_0x9c1b('0x4'));var util=require(_0x9c1b('0x5'));var path=require(_0x9c1b('0x6'));var sox=require('sox');var csv=require(_0x9c1b('0x7'));var ejs=require(_0x9c1b('0x8'));var fs=require('fs');var fs_extra=require(_0x9c1b('0x9'));var _=require('lodash');var squel=require(_0x9c1b('0xa'));var crypto=require(_0x9c1b('0xb'));var jsforce=require(_0x9c1b('0xc'));var deskjs=require(_0x9c1b('0xd'));var toCsv=require('to-csv');var querystring=require(_0x9c1b('0xe'));var Papa=require(_0x9c1b('0xf'));var Redis=require(_0x9c1b('0x10'));var authService=require(_0x9c1b('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x9c1b('0x12'));var hardwareService=require(_0x9c1b('0x13'));var logger=require(_0x9c1b('0x14'))(_0x9c1b('0x15'));var utils=require(_0x9c1b('0x16'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x9c1b('0x17'))['db'];function respondWithStatusCode(_0x12a8dc,_0x1e61ce){_0x1e61ce=_0x1e61ce||0xcc;return function(_0x5aadf2){if(_0x5aadf2){return _0x12a8dc[_0x9c1b('0x18')](_0x1e61ce);}return _0x12a8dc[_0x9c1b('0x19')](_0x1e61ce)['end']();};}function respondWithResult(_0x3d2b25,_0x14d75c){_0x14d75c=_0x14d75c||0xc8;return function(_0x5f1b9b){if(_0x5f1b9b){return _0x3d2b25[_0x9c1b('0x19')](_0x14d75c)['json'](_0x5f1b9b);}};}function respondWithFilteredResult(_0x5d33bd,_0x92a390){return function(_0x441b3b){if(_0x441b3b){var _0x34afb9=typeof _0x92a390['offset']===_0x9c1b('0x1a')&&typeof _0x92a390[_0x9c1b('0x1b')]==='undefined';var _0x40fec2=_0x441b3b[_0x9c1b('0x1c')];var _0x2fbf16=_0x34afb9?0x0:_0x92a390[_0x9c1b('0x1d')];var _0x304288=_0x34afb9?_0x441b3b[_0x9c1b('0x1c')]:_0x92a390[_0x9c1b('0x1d')]+_0x92a390[_0x9c1b('0x1b')];var _0x3e0859;if(_0x304288>=_0x40fec2){_0x304288=_0x40fec2;_0x3e0859=0xc8;}else{_0x3e0859=0xce;}_0x5d33bd[_0x9c1b('0x19')](_0x3e0859);return _0x5d33bd[_0x9c1b('0x1e')](_0x9c1b('0x1f'),_0x2fbf16+'-'+_0x304288+'/'+_0x40fec2)[_0x9c1b('0x20')](_0x441b3b);}return null;};}function patchUpdates(_0x36545e){return function(_0x302924){try{jsonpatch[_0x9c1b('0x21')](_0x302924,_0x36545e,!![]);}catch(_0x37174c){return BPromise[_0x9c1b('0x22')](_0x37174c);}return _0x302924[_0x9c1b('0x23')]();};}function saveUpdates(_0x213a10,_0x1ad3df){return function(_0x4ed05f){if(_0x4ed05f){return _0x4ed05f[_0x9c1b('0x24')](_0x213a10)['then'](function(_0x3a3f4a){return _0x3a3f4a;});}return null;};}function removeEntity(_0x1dee58,_0x506c0d){return function(_0x4ae489){if(_0x4ae489){return _0x4ae489['destroy']()[_0x9c1b('0x25')](function(){_0x1dee58[_0x9c1b('0x19')](0xcc)[_0x9c1b('0x26')]();});}};}function handleEntityNotFound(_0x47fc93,_0x4fe172){return function(_0x162d6c){if(!_0x162d6c){_0x47fc93[_0x9c1b('0x18')](0x194);}return _0x162d6c;};}function handleError(_0x20759c,_0x200064){_0x200064=_0x200064||0x1f4;return function(_0x142b69){logger['error'](_0x142b69[_0x9c1b('0x27')]);if(_0x142b69['name']){delete _0x142b69[_0x9c1b('0x28')];}_0x20759c['status'](_0x200064)['send'](_0x142b69);};}exports[_0x9c1b('0x29')]=function(_0x386d74,_0x308aa4){var _0x452574={},_0x1b28e2={},_0x200974={'count':0x0,'rows':[]};var _0x2df830=_['map'](db[_0x9c1b('0x2a')]['rawAttributes'],function(_0x1d1628){return{'name':_0x1d1628[_0x9c1b('0x2b')],'type':_0x1d1628['type'][_0x9c1b('0x2c')]};});_0x1b28e2[_0x9c1b('0x2d')]=_['map'](_0x2df830,_0x9c1b('0x28'));_0x1b28e2[_0x9c1b('0x2e')]=_['keys'](_0x386d74['query']);_0x1b28e2[_0x9c1b('0x2f')]=_[_0x9c1b('0x30')](_0x1b28e2[_0x9c1b('0x2d')],_0x1b28e2[_0x9c1b('0x2e')]);_0x452574[_0x9c1b('0x31')]=_[_0x9c1b('0x30')](_0x1b28e2[_0x9c1b('0x2d')],qs['fields'](_0x386d74[_0x9c1b('0x2e')][_0x9c1b('0x32')]));_0x452574[_0x9c1b('0x31')]=_0x452574[_0x9c1b('0x31')][_0x9c1b('0x33')]?_0x452574[_0x9c1b('0x31')]:_0x1b28e2[_0x9c1b('0x2d')];if(!_0x386d74[_0x9c1b('0x2e')][_0x9c1b('0x34')](_0x9c1b('0x35'))){_0x452574[_0x9c1b('0x1b')]=qs['limit'](_0x386d74[_0x9c1b('0x2e')][_0x9c1b('0x1b')]);_0x452574['offset']=qs[_0x9c1b('0x1d')](_0x386d74[_0x9c1b('0x2e')][_0x9c1b('0x1d')]);}_0x452574[_0x9c1b('0x36')]=qs['sort'](_0x386d74[_0x9c1b('0x2e')]['sort']);_0x452574['where']=qs[_0x9c1b('0x2f')](_[_0x9c1b('0x37')](_0x386d74[_0x9c1b('0x2e')],_0x1b28e2[_0x9c1b('0x2f')]),_0x2df830);if(_0x386d74[_0x9c1b('0x2e')][_0x9c1b('0x38')]){_0x452574[_0x9c1b('0x39')]=_[_0x9c1b('0x3a')](_0x452574[_0x9c1b('0x39')],{'$or':_[_0x9c1b('0x3b')](_0x2df830,function(_0x19853f){if(_0x19853f[_0x9c1b('0x3c')]!==_0x9c1b('0x3d')){var _0x21a5e7={};_0x21a5e7[_0x19853f[_0x9c1b('0x28')]]={'$like':'%'+_0x386d74[_0x9c1b('0x2e')][_0x9c1b('0x38')]+'%'};return _0x21a5e7;}})});}_0x452574=_[_0x9c1b('0x3a')]({},_0x452574,_0x386d74['options']);var _0x1cee32={'where':_0x452574[_0x9c1b('0x39')]};return db[_0x9c1b('0x2a')]['count'](_0x1cee32)[_0x9c1b('0x25')](function(_0x115124){_0x200974[_0x9c1b('0x1c')]=_0x115124;if(_0x386d74[_0x9c1b('0x2e')][_0x9c1b('0x3e')]){_0x452574[_0x9c1b('0x3f')]=[{'all':!![]}];}return db[_0x9c1b('0x2a')][_0x9c1b('0x40')](_0x452574);})[_0x9c1b('0x25')](function(_0x2eca45){_0x200974[_0x9c1b('0x41')]=_0x2eca45;return _0x200974;})[_0x9c1b('0x25')](respondWithFilteredResult(_0x308aa4,_0x452574))[_0x9c1b('0x42')](handleError(_0x308aa4,null));};exports[_0x9c1b('0x43')]=function(_0x4ce7f9,_0x1f8522){var _0x1f96c3={'raw':![],'where':{'id':_0x4ce7f9[_0x9c1b('0x44')]['id']}},_0x5f228c={};_0x5f228c[_0x9c1b('0x2d')]=_['keys'](db[_0x9c1b('0x2a')][_0x9c1b('0x45')]);_0x5f228c[_0x9c1b('0x2e')]=_[_0x9c1b('0x46')](_0x4ce7f9[_0x9c1b('0x2e')]);_0x5f228c[_0x9c1b('0x2f')]=_[_0x9c1b('0x30')](_0x5f228c['model'],_0x5f228c[_0x9c1b('0x2e')]);_0x1f96c3[_0x9c1b('0x31')]=_['intersection'](_0x5f228c[_0x9c1b('0x2d')],qs[_0x9c1b('0x32')](_0x4ce7f9[_0x9c1b('0x2e')][_0x9c1b('0x32')]));_0x1f96c3[_0x9c1b('0x31')]=_0x1f96c3['attributes'][_0x9c1b('0x33')]?_0x1f96c3[_0x9c1b('0x31')]:_0x5f228c['model'];if(_0x4ce7f9[_0x9c1b('0x2e')][_0x9c1b('0x3e')]){_0x1f96c3['include']=[{'all':!![]}];}_0x1f96c3=_[_0x9c1b('0x3a')]({},_0x1f96c3,_0x4ce7f9['options']);return db[_0x9c1b('0x2a')]['find'](_0x1f96c3)['then'](handleEntityNotFound(_0x1f8522,null))[_0x9c1b('0x25')](respondWithResult(_0x1f8522,null))[_0x9c1b('0x42')](handleError(_0x1f8522,null));};exports[_0x9c1b('0x47')]=function(_0x4e74ff,_0x59d9c0){return db[_0x9c1b('0x2a')][_0x9c1b('0x47')](_0x4e74ff[_0x9c1b('0x48')],{})[_0x9c1b('0x25')](respondWithResult(_0x59d9c0,0xc9))[_0x9c1b('0x42')](handleError(_0x59d9c0,null));};exports[_0x9c1b('0x24')]=function(_0x3b471f,_0xae4cd3){if(_0x3b471f[_0x9c1b('0x48')]['id']){delete _0x3b471f['body']['id'];}return db[_0x9c1b('0x2a')][_0x9c1b('0x49')]({'where':{'id':_0x3b471f[_0x9c1b('0x44')]['id']}})[_0x9c1b('0x25')](handleEntityNotFound(_0xae4cd3,null))['then'](saveUpdates(_0x3b471f[_0x9c1b('0x48')],null))[_0x9c1b('0x25')](respondWithResult(_0xae4cd3,null))[_0x9c1b('0x42')](handleError(_0xae4cd3,null));};exports[_0x9c1b('0x4a')]=function(_0x452794,_0x54624b){return db['DeskConfiguration']['find']({'where':{'id':_0x452794[_0x9c1b('0x44')]['id']}})[_0x9c1b('0x25')](handleEntityNotFound(_0x54624b,null))[_0x9c1b('0x25')](removeEntity(_0x54624b,null))[_0x9c1b('0x42')](handleError(_0x54624b,null));};exports[_0x9c1b('0x4b')]=function(_0x297632,_0x201ff8,_0x309e68){var _0x5327a3={};var _0x81dac0={};var _0x4b8b1e;var _0x1319fa;return db[_0x9c1b('0x2a')]['findOne']({'where':{'id':_0x297632[_0x9c1b('0x44')]['id']}})['then'](handleEntityNotFound(_0x201ff8,null))[_0x9c1b('0x25')](function(_0x236a15){if(_0x236a15){_0x4b8b1e=_0x236a15;_0x81dac0[_0x9c1b('0x2d')]=_[_0x9c1b('0x46')](db[_0x9c1b('0x4c')][_0x9c1b('0x45')]);_0x81dac0[_0x9c1b('0x2e')]=_[_0x9c1b('0x46')](_0x297632[_0x9c1b('0x2e')]);_0x81dac0['filters']=_[_0x9c1b('0x30')](_0x81dac0[_0x9c1b('0x2d')],_0x81dac0[_0x9c1b('0x2e')]);_0x5327a3[_0x9c1b('0x31')]=_[_0x9c1b('0x30')](_0x81dac0['model'],qs['fields'](_0x297632[_0x9c1b('0x2e')][_0x9c1b('0x32')]));_0x5327a3[_0x9c1b('0x31')]=_0x5327a3[_0x9c1b('0x31')][_0x9c1b('0x33')]?_0x5327a3[_0x9c1b('0x31')]:_0x81dac0[_0x9c1b('0x2d')];_0x5327a3[_0x9c1b('0x36')]=qs[_0x9c1b('0x4d')](_0x297632['query'][_0x9c1b('0x4d')]);_0x5327a3[_0x9c1b('0x39')]=qs['filters'](_[_0x9c1b('0x37')](_0x297632[_0x9c1b('0x2e')],_0x81dac0[_0x9c1b('0x2f')]));if(_0x297632['query']['filter']){_0x5327a3[_0x9c1b('0x39')]=_[_0x9c1b('0x3a')](_0x5327a3[_0x9c1b('0x39')],{'$or':_[_0x9c1b('0x3b')](_0x5327a3[_0x9c1b('0x31')],function(_0x1a56b6){var _0x358c46={};_0x358c46[_0x1a56b6]={'$like':'%'+_0x297632[_0x9c1b('0x2e')]['filter']+'%'};return _0x358c46;})});}_0x5327a3=_['merge']({},_0x5327a3,_0x297632['options']);return _0x4b8b1e[_0x9c1b('0x4b')](_0x5327a3);}})[_0x9c1b('0x25')](function(_0x23386f){if(_0x23386f){_0x1319fa=_0x23386f[_0x9c1b('0x33')];if(!_0x297632[_0x9c1b('0x2e')][_0x9c1b('0x34')](_0x9c1b('0x35'))){_0x5327a3['limit']=qs['limit'](_0x297632['query']['limit']);_0x5327a3[_0x9c1b('0x1d')]=qs[_0x9c1b('0x1d')](_0x297632['query'][_0x9c1b('0x1d')]);}return _0x4b8b1e['getFields'](_0x5327a3);}})[_0x9c1b('0x25')](function(_0x29bf15){if(_0x29bf15){return _0x29bf15?{'count':_0x1319fa,'rows':_0x29bf15}:null;}})[_0x9c1b('0x25')](respondWithResult(_0x201ff8,null))['catch'](handleError(_0x201ff8,null));};exports['getSubjects']=function(_0x3232dd,_0x2aac22,_0x4ef3ea){var _0x5681ce={};var _0x1c690a={};var _0x389574;var _0x46541f;return db[_0x9c1b('0x2a')]['findOne']({'where':{'id':_0x3232dd[_0x9c1b('0x44')]['id']}})['then'](handleEntityNotFound(_0x2aac22,null))[_0x9c1b('0x25')](function(_0x59fa62){if(_0x59fa62){_0x389574=_0x59fa62;_0x1c690a[_0x9c1b('0x2d')]=_[_0x9c1b('0x46')](db['DeskField']['rawAttributes']);_0x1c690a[_0x9c1b('0x2e')]=_[_0x9c1b('0x46')](_0x3232dd[_0x9c1b('0x2e')]);_0x1c690a['filters']=_[_0x9c1b('0x30')](_0x1c690a[_0x9c1b('0x2d')],_0x1c690a[_0x9c1b('0x2e')]);_0x5681ce['attributes']=_[_0x9c1b('0x30')](_0x1c690a[_0x9c1b('0x2d')],qs[_0x9c1b('0x32')](_0x3232dd['query'][_0x9c1b('0x32')]));_0x5681ce[_0x9c1b('0x31')]=_0x5681ce[_0x9c1b('0x31')][_0x9c1b('0x33')]?_0x5681ce[_0x9c1b('0x31')]:_0x1c690a[_0x9c1b('0x2d')];_0x5681ce['order']=qs[_0x9c1b('0x4d')](_0x3232dd[_0x9c1b('0x2e')][_0x9c1b('0x4d')]);_0x5681ce[_0x9c1b('0x39')]=qs['filters'](_[_0x9c1b('0x37')](_0x3232dd[_0x9c1b('0x2e')],_0x1c690a[_0x9c1b('0x2f')]));if(_0x3232dd[_0x9c1b('0x2e')][_0x9c1b('0x38')]){_0x5681ce[_0x9c1b('0x39')]=_[_0x9c1b('0x3a')](_0x5681ce[_0x9c1b('0x39')],{'$or':_[_0x9c1b('0x3b')](_0x5681ce['attributes'],function(_0x46377b){var _0x10ce78={};_0x10ce78[_0x46377b]={'$like':'%'+_0x3232dd[_0x9c1b('0x2e')]['filter']+'%'};return _0x10ce78;})});}_0x5681ce=_['merge']({},_0x5681ce,_0x3232dd[_0x9c1b('0x4e')]);return _0x389574[_0x9c1b('0x4f')](_0x5681ce);}})[_0x9c1b('0x25')](function(_0x5367c8){if(_0x5367c8){_0x46541f=_0x5367c8[_0x9c1b('0x33')];if(!_0x3232dd[_0x9c1b('0x2e')]['hasOwnProperty'](_0x9c1b('0x35'))){_0x5681ce[_0x9c1b('0x1b')]=qs['limit'](_0x3232dd[_0x9c1b('0x2e')][_0x9c1b('0x1b')]);_0x5681ce[_0x9c1b('0x1d')]=qs[_0x9c1b('0x1d')](_0x3232dd[_0x9c1b('0x2e')][_0x9c1b('0x1d')]);}return _0x389574[_0x9c1b('0x4f')](_0x5681ce);}})[_0x9c1b('0x25')](function(_0x56e100){if(_0x56e100){return _0x56e100?{'count':_0x46541f,'rows':_0x56e100}:null;}})['then'](respondWithResult(_0x2aac22,null))[_0x9c1b('0x42')](handleError(_0x2aac22,null));};exports[_0x9c1b('0x50')]=function(_0x4f17c7,_0x345725,_0xfc991e){var _0x426efd={};var _0x189016={};var _0x276903;var _0x30bf42;return db[_0x9c1b('0x2a')][_0x9c1b('0x51')]({'where':{'id':_0x4f17c7[_0x9c1b('0x44')]['id']}})[_0x9c1b('0x25')](handleEntityNotFound(_0x345725,null))[_0x9c1b('0x25')](function(_0x14b7cf){if(_0x14b7cf){_0x276903=_0x14b7cf;_0x189016['model']=_[_0x9c1b('0x46')](db[_0x9c1b('0x4c')]['rawAttributes']);_0x189016[_0x9c1b('0x2e')]=_['keys'](_0x4f17c7['query']);_0x189016[_0x9c1b('0x2f')]=_[_0x9c1b('0x30')](_0x189016[_0x9c1b('0x2d')],_0x189016['query']);_0x426efd[_0x9c1b('0x31')]=_['intersection'](_0x189016[_0x9c1b('0x2d')],qs[_0x9c1b('0x32')](_0x4f17c7[_0x9c1b('0x2e')][_0x9c1b('0x32')]));_0x426efd[_0x9c1b('0x31')]=_0x426efd[_0x9c1b('0x31')][_0x9c1b('0x33')]?_0x426efd[_0x9c1b('0x31')]:_0x189016[_0x9c1b('0x2d')];_0x426efd[_0x9c1b('0x36')]=qs[_0x9c1b('0x4d')](_0x4f17c7[_0x9c1b('0x2e')][_0x9c1b('0x4d')]);_0x426efd[_0x9c1b('0x39')]=qs['filters'](_[_0x9c1b('0x37')](_0x4f17c7[_0x9c1b('0x2e')],_0x189016[_0x9c1b('0x2f')]));if(_0x4f17c7[_0x9c1b('0x2e')][_0x9c1b('0x38')]){_0x426efd['where']=_['merge'](_0x426efd[_0x9c1b('0x39')],{'$or':_[_0x9c1b('0x3b')](_0x426efd['attributes'],function(_0x3a0ab4){var _0x2c4cac={};_0x2c4cac[_0x3a0ab4]={'$like':'%'+_0x4f17c7['query'][_0x9c1b('0x38')]+'%'};return _0x2c4cac;})});}_0x426efd=_[_0x9c1b('0x3a')]({},_0x426efd,_0x4f17c7[_0x9c1b('0x4e')]);return _0x276903[_0x9c1b('0x50')](_0x426efd);}})[_0x9c1b('0x25')](function(_0x52537b){if(_0x52537b){_0x30bf42=_0x52537b[_0x9c1b('0x33')];if(!_0x4f17c7[_0x9c1b('0x2e')][_0x9c1b('0x34')](_0x9c1b('0x35'))){_0x426efd['limit']=qs[_0x9c1b('0x1b')](_0x4f17c7[_0x9c1b('0x2e')][_0x9c1b('0x1b')]);_0x426efd['offset']=qs[_0x9c1b('0x1d')](_0x4f17c7[_0x9c1b('0x2e')][_0x9c1b('0x1d')]);}return _0x276903[_0x9c1b('0x50')](_0x426efd);}})[_0x9c1b('0x25')](function(_0x3df736){if(_0x3df736){return _0x3df736?{'count':_0x30bf42,'rows':_0x3df736}:null;}})[_0x9c1b('0x25')](respondWithResult(_0x345725,null))[_0x9c1b('0x42')](handleError(_0x345725,null));};exports['getTags']=function(_0x3f2eac,_0x394efd,_0x35c3e7){var _0x196977={};var _0x4cd175={};var _0x3797f8;var _0x137e47;return db[_0x9c1b('0x2a')][_0x9c1b('0x51')]({'where':{'id':_0x3f2eac[_0x9c1b('0x44')]['id']}})[_0x9c1b('0x25')](handleEntityNotFound(_0x394efd,null))[_0x9c1b('0x25')](function(_0x1f1316){if(_0x1f1316){_0x3797f8=_0x1f1316;_0x4cd175[_0x9c1b('0x2d')]=_[_0x9c1b('0x46')](db[_0x9c1b('0x52')][_0x9c1b('0x45')]);_0x4cd175[_0x9c1b('0x2e')]=_[_0x9c1b('0x46')](_0x3f2eac[_0x9c1b('0x2e')]);_0x4cd175[_0x9c1b('0x2f')]=_[_0x9c1b('0x30')](_0x4cd175[_0x9c1b('0x2d')],_0x4cd175[_0x9c1b('0x2e')]);_0x196977[_0x9c1b('0x31')]=_[_0x9c1b('0x30')](_0x4cd175['model'],qs['fields'](_0x3f2eac['query'][_0x9c1b('0x32')]));_0x196977[_0x9c1b('0x31')]=_0x196977[_0x9c1b('0x31')]['length']?_0x196977['attributes']:_0x4cd175[_0x9c1b('0x2d')];_0x196977[_0x9c1b('0x36')]=qs[_0x9c1b('0x4d')](_0x3f2eac[_0x9c1b('0x2e')]['sort']);_0x196977[_0x9c1b('0x39')]=qs['filters'](_[_0x9c1b('0x37')](_0x3f2eac[_0x9c1b('0x2e')],_0x4cd175[_0x9c1b('0x2f')]));if(_0x3f2eac[_0x9c1b('0x2e')][_0x9c1b('0x38')]){_0x196977[_0x9c1b('0x39')]=_[_0x9c1b('0x3a')](_0x196977[_0x9c1b('0x39')],{'$or':_['map'](_0x196977[_0x9c1b('0x31')],function(_0x531204){var _0x15f121={};_0x15f121[_0x531204]={'$like':'%'+_0x3f2eac['query'][_0x9c1b('0x38')]+'%'};return _0x15f121;})});}_0x196977=_['merge']({},_0x196977,_0x3f2eac['options']);return _0x3797f8[_0x9c1b('0x53')](_0x196977);}})[_0x9c1b('0x25')](function(_0x475383){if(_0x475383){_0x137e47=_0x475383[_0x9c1b('0x33')];if(!_0x3f2eac[_0x9c1b('0x2e')][_0x9c1b('0x34')](_0x9c1b('0x35'))){_0x196977[_0x9c1b('0x1b')]=qs[_0x9c1b('0x1b')](_0x3f2eac[_0x9c1b('0x2e')][_0x9c1b('0x1b')]);_0x196977['offset']=qs[_0x9c1b('0x1d')](_0x3f2eac[_0x9c1b('0x2e')]['offset']);}return _0x3797f8[_0x9c1b('0x53')](_0x196977);}})[_0x9c1b('0x25')](function(_0x46a652){if(_0x46a652){return _0x46a652?{'count':_0x137e47,'rows':_0x46a652}:null;}})[_0x9c1b('0x25')](respondWithResult(_0x394efd,null))[_0x9c1b('0x42')](handleError(_0x394efd,null));};exports[_0x9c1b('0x54')]=function(_0x583188,_0x1e19b1,_0x5cd0ee){if(_0x583188['body']['id']){delete _0x583188[_0x9c1b('0x48')]['id'];}return db[_0x9c1b('0x2a')][_0x9c1b('0x51')]({'where':{'id':_0x583188['params']['id']}})[_0x9c1b('0x25')](handleEntityNotFound(_0x1e19b1,null))['then'](function(_0xf75f0e){if(_0xf75f0e){return _0xf75f0e[_0x9c1b('0x54')](_0x583188[_0x9c1b('0x48')][_0x9c1b('0x55')]||[]);}return null;})[_0x9c1b('0x25')](respondWithResult(_0x1e19b1,null))[_0x9c1b('0x42')](handleError(_0x1e19b1,null));};