Built motion from commit 6a09e18b.|2.6.11
[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 _0x6b61=['role','Unauthorized','lodash','../../config/logger','api','../../config/environment','../../mysqldb','socket.io-emitter','redis','./user-setting.socket','register','defaults','status','json','then','sendStatus','error','send','update','user'];(function(_0x7d2d51,_0x5578ae){var _0x4861b1=function(_0x5be0cb){while(--_0x5be0cb){_0x7d2d51['push'](_0x7d2d51['shift']());}};_0x4861b1(++_0x5578ae);}(_0x6b61,0x16a));var _0x16b6=function(_0x3cea78,_0x4a6751){_0x3cea78=_0x3cea78-0x0;var _0x33b66b=_0x6b61[_0x3cea78];return _0x33b66b;};'use strict';var _=require(_0x16b6('0x0'));var Redis=require('ioredis');var logger=require(_0x16b6('0x1'))(_0x16b6('0x2'));var config=require(_0x16b6('0x3'));var db=require(_0x16b6('0x4'))['db'];var socket=require(_0x16b6('0x5'))(new Redis(config[_0x16b6('0x6')]));require(_0x16b6('0x7'))[_0x16b6('0x8')](socket);config['redis']=_[_0x16b6('0x9')](config[_0x16b6('0x6')],{'host':'localhost','port':0x18eb});function respondWithResult(_0x3d06d6,_0x268d89){_0x268d89=_0x268d89||0xc8;return function(_0x59552d){if(_0x59552d){return _0x3d06d6[_0x16b6('0xa')](_0x268d89)[_0x16b6('0xb')](_0x59552d);}};}function saveUpdates(_0x5bb5f3){return function(_0x59dcad){if(_0x59dcad){return _0x59dcad['update'](_0x5bb5f3)[_0x16b6('0xc')](function(_0x4cdac4){return _0x4cdac4;});}return null;};}function handleEntityNotFound(_0x95f3c5){return function(_0x33f15f){if(!_0x33f15f){_0x95f3c5[_0x16b6('0xd')](0x194);}return _0x33f15f;};}function handleError(_0x2e0cae,_0x3c93a4){_0x3c93a4=_0x3c93a4||0x1f4;return function(_0x2114e4){logger[_0x16b6('0xe')](_0x2114e4['stack']);if(_0x2114e4['name']){delete _0x2114e4['name'];}_0x2e0cae[_0x16b6('0xa')](_0x3c93a4)[_0x16b6('0xf')](_0x2114e4);};}exports[_0x16b6('0x10')]=function(_0x250b7b,_0x132d71){if(_0x250b7b[_0x16b6('0x11')][_0x16b6('0x12')]!=='admin')throw new Error(_0x16b6('0x13'));if(isNaN(Number(_0x250b7b['params']['id'])))throw new Error('Invalid\x20user\x20setting\x20id');return db['UserSetting']['find']({'where':{'id':_0x250b7b['params']['id']}})['then'](handleEntityNotFound(_0x132d71,null))[_0x16b6('0xc')](saveUpdates(_0x250b7b['body'],null))['then'](respondWithResult(_0x132d71,null))['catch'](handleError(_0x132d71,null));};