1dab8b978c27a7e25728c55afdea875dd76f69a7
[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 _0x8d9b=['../../config/environment','redis','register','json','update','then','sendStatus','error','stack','name','status','send','user','role','admin','params','Invalid\x20user\x20setting\x20id','UserSetting','find','catch','lodash','ioredis','../../config/logger','api'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x8d9b,0x104));var _0xb8d9=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x8d9b[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0xb8d9('0x0'));var Redis=require(_0xb8d9('0x1'));var logger=require(_0xb8d9('0x2'))(_0xb8d9('0x3'));var config=require(_0xb8d9('0x4'));var db=require('../../mysqldb')['db'];var socket=require('socket.io-emitter')(new Redis(config[_0xb8d9('0x5')]));require('./user-setting.socket')[_0xb8d9('0x6')](socket);config[_0xb8d9('0x5')]=_['defaults'](config['redis'],{'host':'localhost','port':0x18eb});function respondWithResult(_0x21c87d,_0x537b18){_0x537b18=_0x537b18||0xc8;return function(_0x53339b){if(_0x53339b){return _0x21c87d['status'](_0x537b18)[_0xb8d9('0x7')](_0x53339b);}};}function saveUpdates(_0x40e074){return function(_0x245d54){if(_0x245d54){return _0x245d54[_0xb8d9('0x8')](_0x40e074)[_0xb8d9('0x9')](function(_0x31d887){return _0x31d887;});}return null;};}function handleEntityNotFound(_0x211a49){return function(_0x48f36d){if(!_0x48f36d){_0x211a49[_0xb8d9('0xa')](0x194);}return _0x48f36d;};}function handleError(_0x59f638,_0x206075){_0x206075=_0x206075||0x1f4;return function(_0x2a60a4){logger[_0xb8d9('0xb')](_0x2a60a4[_0xb8d9('0xc')]);if(_0x2a60a4[_0xb8d9('0xd')]){delete _0x2a60a4[_0xb8d9('0xd')];}_0x59f638[_0xb8d9('0xe')](_0x206075)[_0xb8d9('0xf')](_0x2a60a4);};}exports[_0xb8d9('0x8')]=function(_0x11b664,_0x2b3223){if(_0x11b664[_0xb8d9('0x10')][_0xb8d9('0x11')]!==_0xb8d9('0x12'))throw new Error('Unauthorized');if(isNaN(Number(_0x11b664[_0xb8d9('0x13')]['id'])))throw new Error(_0xb8d9('0x14'));return db[_0xb8d9('0x15')][_0xb8d9('0x16')]({'where':{'id':_0x11b664[_0xb8d9('0x13')]['id']}})['then'](handleEntityNotFound(_0x2b3223,null))['then'](saveUpdates(_0x11b664['body'],null))[_0xb8d9('0x9')](respondWithResult(_0x2b3223,null))[_0xb8d9('0x17')](handleError(_0x2b3223,null));};