Built motion from commit d1eab355.|2.6.28
[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 _0xacfe=['send','user','role','admin','Invalid\x20user\x20setting\x20id','UserSetting','params','then','body','catch','../../config/logger','api','../../config/environment','../../mysqldb','socket.io-emitter','redis','./user-setting.socket','register','defaults','localhost','status','json','update','sendStatus','error','stack','name'];(function(_0x433a86,_0x175b5c){var _0x23000c=function(_0x4b1fa0){while(--_0x4b1fa0){_0x433a86['push'](_0x433a86['shift']());}};_0x23000c(++_0x175b5c);}(_0xacfe,0xfd));var _0xeacf=function(_0x5f1391,_0x19c132){_0x5f1391=_0x5f1391-0x0;var _0x50ebe3=_0xacfe[_0x5f1391];return _0x50ebe3;};'use strict';var _=require('lodash');var Redis=require('ioredis');var logger=require(_0xeacf('0x0'))(_0xeacf('0x1'));var config=require(_0xeacf('0x2'));var db=require(_0xeacf('0x3'))['db'];var socket=require(_0xeacf('0x4'))(new Redis(config[_0xeacf('0x5')]));require(_0xeacf('0x6'))[_0xeacf('0x7')](socket);config[_0xeacf('0x5')]=_[_0xeacf('0x8')](config[_0xeacf('0x5')],{'host':_0xeacf('0x9'),'port':0x18eb});function respondWithResult(_0x13cba2,_0x5eb516){_0x5eb516=_0x5eb516||0xc8;return function(_0x411634){if(_0x411634){return _0x13cba2[_0xeacf('0xa')](_0x5eb516)[_0xeacf('0xb')](_0x411634);}};}function saveUpdates(_0xf5c2e4){return function(_0x48acc3){if(_0x48acc3){return _0x48acc3[_0xeacf('0xc')](_0xf5c2e4)['then'](function(_0x41f6ed){return _0x41f6ed;});}return null;};}function handleEntityNotFound(_0x20e7d7){return function(_0x355070){if(!_0x355070){_0x20e7d7[_0xeacf('0xd')](0x194);}return _0x355070;};}function handleError(_0x3935a4,_0x3a0dd9){_0x3a0dd9=_0x3a0dd9||0x1f4;return function(_0x107c58){logger[_0xeacf('0xe')](_0x107c58[_0xeacf('0xf')]);if(_0x107c58[_0xeacf('0x10')]){delete _0x107c58['name'];}_0x3935a4[_0xeacf('0xa')](_0x3a0dd9)[_0xeacf('0x11')](_0x107c58);};}exports[_0xeacf('0xc')]=function(_0x2466d7,_0x56ec79){if(_0x2466d7[_0xeacf('0x12')][_0xeacf('0x13')]!==_0xeacf('0x14'))throw new Error('Unauthorized');if(isNaN(Number(_0x2466d7['params']['id'])))throw new Error(_0xeacf('0x15'));return db[_0xeacf('0x16')]['find']({'where':{'id':_0x2466d7[_0xeacf('0x17')]['id']}})['then'](handleEntityNotFound(_0x56ec79,null))[_0xeacf('0x18')](saveUpdates(_0x2466d7[_0xeacf('0x19')],null))['then'](respondWithResult(_0x56ec79,null))[_0xeacf('0x1a')](handleError(_0x56ec79,null));};