0caa97e0a9968f628229ad0f11cd20c6a2915b7d
[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 _0xb4e6=['../../mysqldb','socket.io-emitter','redis','./user-setting.socket','defaults','status','update','then','sendStatus','stack','name','send','user','role','Unauthorized','Invalid\x20user\x20setting\x20id','UserSetting','find','params','catch','lodash','../../config/logger','api','../../config/environment'];(function(_0x27604f,_0x5ae336){var _0x40d189=function(_0xebacde){while(--_0xebacde){_0x27604f['push'](_0x27604f['shift']());}};_0x40d189(++_0x5ae336);}(_0xb4e6,0x1f4));var _0x6b4e=function(_0xdc37a1,_0x53ebb9){_0xdc37a1=_0xdc37a1-0x0;var _0x99b4fe=_0xb4e6[_0xdc37a1];return _0x99b4fe;};'use strict';var _=require(_0x6b4e('0x0'));var Redis=require('ioredis');var logger=require(_0x6b4e('0x1'))(_0x6b4e('0x2'));var config=require(_0x6b4e('0x3'));var db=require(_0x6b4e('0x4'))['db'];var socket=require(_0x6b4e('0x5'))(new Redis(config[_0x6b4e('0x6')]));require(_0x6b4e('0x7'))['register'](socket);config[_0x6b4e('0x6')]=_[_0x6b4e('0x8')](config[_0x6b4e('0x6')],{'host':'localhost','port':0x18eb});function respondWithResult(_0xd3138f,_0x570346){_0x570346=_0x570346||0xc8;return function(_0x4f00be){if(_0x4f00be){return _0xd3138f[_0x6b4e('0x9')](_0x570346)['json'](_0x4f00be);}};}function saveUpdates(_0x53a71f){return function(_0x3877c3){if(_0x3877c3){return _0x3877c3[_0x6b4e('0xa')](_0x53a71f)[_0x6b4e('0xb')](function(_0x39ed74){return _0x39ed74;});}return null;};}function handleEntityNotFound(_0x14cf84){return function(_0x46cbe1){if(!_0x46cbe1){_0x14cf84[_0x6b4e('0xc')](0x194);}return _0x46cbe1;};}function handleError(_0x49c734,_0x39b4ec){_0x39b4ec=_0x39b4ec||0x1f4;return function(_0x3bba86){logger['error'](_0x3bba86[_0x6b4e('0xd')]);if(_0x3bba86[_0x6b4e('0xe')]){delete _0x3bba86[_0x6b4e('0xe')];}_0x49c734[_0x6b4e('0x9')](_0x39b4ec)[_0x6b4e('0xf')](_0x3bba86);};}exports[_0x6b4e('0xa')]=function(_0x1db513,_0x531eec){if(_0x1db513[_0x6b4e('0x10')][_0x6b4e('0x11')]!=='admin')throw new Error(_0x6b4e('0x12'));if(isNaN(Number(_0x1db513['params']['id'])))throw new Error(_0x6b4e('0x13'));return db[_0x6b4e('0x14')][_0x6b4e('0x15')]({'where':{'id':_0x1db513[_0x6b4e('0x16')]['id']}})[_0x6b4e('0xb')](handleEntityNotFound(_0x531eec,null))[_0x6b4e('0xb')](saveUpdates(_0x1db513['body'],null))['then'](respondWithResult(_0x531eec,null))[_0x6b4e('0x17')](handleError(_0x531eec,null));};