Built motion from commit e02f907f.|2.6.14
[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 _0xbbfa=['find','body','catch','lodash','../../config/logger','../../config/environment','../../mysqldb','socket.io-emitter','redis','./user-setting.socket','register','defaults','localhost','json','then','sendStatus','error','stack','name','status','send','update','user','admin','params','Invalid\x20user\x20setting\x20id','UserSetting'];(function(_0x5e63df,_0x5ba1de){var _0x593155=function(_0x270489){while(--_0x270489){_0x5e63df['push'](_0x5e63df['shift']());}};_0x593155(++_0x5ba1de);}(_0xbbfa,0x1e9));var _0xabbf=function(_0x2b76dc,_0x3ddb93){_0x2b76dc=_0x2b76dc-0x0;var _0x4ee7eb=_0xbbfa[_0x2b76dc];return _0x4ee7eb;};'use strict';var _=require(_0xabbf('0x0'));var Redis=require('ioredis');var logger=require(_0xabbf('0x1'))('api');var config=require(_0xabbf('0x2'));var db=require(_0xabbf('0x3'))['db'];var socket=require(_0xabbf('0x4'))(new Redis(config[_0xabbf('0x5')]));require(_0xabbf('0x6'))[_0xabbf('0x7')](socket);config[_0xabbf('0x5')]=_[_0xabbf('0x8')](config[_0xabbf('0x5')],{'host':_0xabbf('0x9'),'port':0x18eb});function respondWithResult(_0x45b7d6,_0x58f0a8){_0x58f0a8=_0x58f0a8||0xc8;return function(_0x5b471b){if(_0x5b471b){return _0x45b7d6['status'](_0x58f0a8)[_0xabbf('0xa')](_0x5b471b);}};}function saveUpdates(_0x260181){return function(_0x564e4b){if(_0x564e4b){return _0x564e4b['update'](_0x260181)[_0xabbf('0xb')](function(_0x5a6955){return _0x5a6955;});}return null;};}function handleEntityNotFound(_0x170fe2){return function(_0x4f5cf1){if(!_0x4f5cf1){_0x170fe2[_0xabbf('0xc')](0x194);}return _0x4f5cf1;};}function handleError(_0x5b6df6,_0x5df6a8){_0x5df6a8=_0x5df6a8||0x1f4;return function(_0xb8c3d9){logger[_0xabbf('0xd')](_0xb8c3d9[_0xabbf('0xe')]);if(_0xb8c3d9[_0xabbf('0xf')]){delete _0xb8c3d9[_0xabbf('0xf')];}_0x5b6df6[_0xabbf('0x10')](_0x5df6a8)[_0xabbf('0x11')](_0xb8c3d9);};}exports[_0xabbf('0x12')]=function(_0x2423c6,_0x4dc039){if(_0x2423c6[_0xabbf('0x13')]['role']!==_0xabbf('0x14'))throw new Error('Unauthorized');if(isNaN(Number(_0x2423c6[_0xabbf('0x15')]['id'])))throw new Error(_0xabbf('0x16'));return db[_0xabbf('0x17')][_0xabbf('0x18')]({'where':{'id':_0x2423c6['params']['id']}})[_0xabbf('0xb')](handleEntityNotFound(_0x4dc039,null))[_0xabbf('0xb')](saveUpdates(_0x2423c6[_0xabbf('0x19')],null))[_0xabbf('0xb')](respondWithResult(_0x4dc039,null))[_0xabbf('0x1a')](handleError(_0x4dc039,null));};