bf4161faf83a6e910f04f38ba281ceb4ac43e790
[motion2.git] / server / api / user-setting / user-setting.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 _0x5a01=['ioredis','../../config/logger','../../mysqldb','socket.io-emitter','./user-setting.socket','register','redis','localhost','status','json','update','sendStatus','error','stack','name','send','user','role','admin','Unauthorized','params','Invalid\x20user\x20setting\x20id','UserSetting','find','then','catch','lodash'];(function(_0x57486e,_0x32283b){var _0x5f110b=function(_0xa18fc3){while(--_0xa18fc3){_0x57486e['push'](_0x57486e['shift']());}};_0x5f110b(++_0x32283b);}(_0x5a01,0x1af));var _0x15a0=function(_0x536068,_0x3de52c){_0x536068=_0x536068-0x0;var _0x4a5db2=_0x5a01[_0x536068];return _0x4a5db2;};'use strict';var _=require(_0x15a0('0x0'));var Redis=require(_0x15a0('0x1'));var logger=require(_0x15a0('0x2'))('api');var config=require('../../config/environment');var db=require(_0x15a0('0x3'))['db'];var socket=require(_0x15a0('0x4'))(new Redis(config['redis']));require(_0x15a0('0x5'))[_0x15a0('0x6')](socket);config[_0x15a0('0x7')]=_['defaults'](config['redis'],{'host':_0x15a0('0x8'),'port':0x18eb});function respondWithResult(_0x52ab0,_0x40fd51){_0x40fd51=_0x40fd51||0xc8;return function(_0x502248){if(_0x502248){return _0x52ab0[_0x15a0('0x9')](_0x40fd51)[_0x15a0('0xa')](_0x502248);}};}function saveUpdates(_0x251c9c){return function(_0x374049){if(_0x374049){return _0x374049[_0x15a0('0xb')](_0x251c9c)['then'](function(_0x4be840){return _0x4be840;});}return null;};}function handleEntityNotFound(_0x339f74){return function(_0x4541a0){if(!_0x4541a0){_0x339f74[_0x15a0('0xc')](0x194);}return _0x4541a0;};}function handleError(_0x24497a,_0x2bd954){_0x2bd954=_0x2bd954||0x1f4;return function(_0x19cad2){logger[_0x15a0('0xd')](_0x19cad2[_0x15a0('0xe')]);if(_0x19cad2[_0x15a0('0xf')]){delete _0x19cad2[_0x15a0('0xf')];}_0x24497a[_0x15a0('0x9')](_0x2bd954)[_0x15a0('0x10')](_0x19cad2);};}exports['update']=function(_0x520a82,_0x3d80e9){if(_0x520a82[_0x15a0('0x11')][_0x15a0('0x12')]!==_0x15a0('0x13'))throw new Error(_0x15a0('0x14'));if(isNaN(Number(_0x520a82[_0x15a0('0x15')]['id'])))throw new Error(_0x15a0('0x16'));return db[_0x15a0('0x17')][_0x15a0('0x18')]({'where':{'id':_0x520a82['params']['id']}})[_0x15a0('0x19')](handleEntityNotFound(_0x3d80e9,null))['then'](saveUpdates(_0x520a82['body'],null))[_0x15a0('0x19')](respondWithResult(_0x3d80e9,null))[_0x15a0('0x1a')](handleError(_0x3d80e9,null));};