Built motion from commit 85328c08.|2.5.50
[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 _0x2060=['status','send','user','role','admin','params','UserSetting','find','body','lodash','../../config/logger','api','../../config/environment','../../mysqldb','redis','./user-setting.socket','localhost','json','update','then','sendStatus','stack','name'];(function(_0x36aa86,_0xd8faa6){var _0x3a4e7d=function(_0x2adf31){while(--_0x2adf31){_0x36aa86['push'](_0x36aa86['shift']());}};_0x3a4e7d(++_0xd8faa6);}(_0x2060,0x1be));var _0x0206=function(_0x2551cb,_0x47c37e){_0x2551cb=_0x2551cb-0x0;var _0xfe41b4=_0x2060[_0x2551cb];return _0xfe41b4;};'use strict';var _=require(_0x0206('0x0'));var Redis=require('ioredis');var logger=require(_0x0206('0x1'))(_0x0206('0x2'));var config=require(_0x0206('0x3'));var db=require(_0x0206('0x4'))['db'];var socket=require('socket.io-emitter')(new Redis(config[_0x0206('0x5')]));require(_0x0206('0x6'))['register'](socket);config[_0x0206('0x5')]=_['defaults'](config[_0x0206('0x5')],{'host':_0x0206('0x7'),'port':0x18eb});function respondWithResult(_0x529d59,_0x2eda0e){_0x2eda0e=_0x2eda0e||0xc8;return function(_0x5c8dbb){if(_0x5c8dbb){return _0x529d59['status'](_0x2eda0e)[_0x0206('0x8')](_0x5c8dbb);}};}function saveUpdates(_0x3b9cd7){return function(_0x3bc420){if(_0x3bc420){return _0x3bc420[_0x0206('0x9')](_0x3b9cd7)[_0x0206('0xa')](function(_0x3e20d1){return _0x3e20d1;});}return null;};}function handleEntityNotFound(_0x2cdca9){return function(_0x138f07){if(!_0x138f07){_0x2cdca9[_0x0206('0xb')](0x194);}return _0x138f07;};}function handleError(_0x4223da,_0x3cc292){_0x3cc292=_0x3cc292||0x1f4;return function(_0x521d23){logger['error'](_0x521d23[_0x0206('0xc')]);if(_0x521d23[_0x0206('0xd')]){delete _0x521d23['name'];}_0x4223da[_0x0206('0xe')](_0x3cc292)[_0x0206('0xf')](_0x521d23);};}exports[_0x0206('0x9')]=function(_0x4a7bac,_0x2217e8){if(_0x4a7bac[_0x0206('0x10')][_0x0206('0x11')]!==_0x0206('0x12'))throw new Error('Unauthorized');if(isNaN(Number(_0x4a7bac[_0x0206('0x13')]['id'])))throw new Error('Invalid\x20user\x20setting\x20id');return db[_0x0206('0x14')][_0x0206('0x15')]({'where':{'id':_0x4a7bac[_0x0206('0x13')]['id']}})[_0x0206('0xa')](handleEntityNotFound(_0x2217e8,null))[_0x0206('0xa')](saveUpdates(_0x4a7bac[_0x0206('0x16')],null))['then'](respondWithResult(_0x2217e8,null))['catch'](handleError(_0x2217e8,null));};