b17c3ad4fac8d7bf630ff39e17b49798ff7c8568
[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 _0x0cd6=['redis','defaults','status','json','update','then','sendStatus','stack','name','send','user','admin','params','Invalid\x20user\x20setting\x20id','catch','lodash','ioredis','api','../../config/environment','socket.io-emitter'];(function(_0x49b14d,_0x578d07){var _0x3d2488=function(_0x5a8668){while(--_0x5a8668){_0x49b14d['push'](_0x49b14d['shift']());}};_0x3d2488(++_0x578d07);}(_0x0cd6,0x113));var _0x60cd=function(_0x8cb2f9,_0x2b8706){_0x8cb2f9=_0x8cb2f9-0x0;var _0x164887=_0x0cd6[_0x8cb2f9];return _0x164887;};'use strict';var _=require(_0x60cd('0x0'));var Redis=require(_0x60cd('0x1'));var logger=require('../../config/logger')(_0x60cd('0x2'));var config=require(_0x60cd('0x3'));var db=require('../../mysqldb')['db'];var socket=require(_0x60cd('0x4'))(new Redis(config[_0x60cd('0x5')]));require('./user-setting.socket')['register'](socket);config[_0x60cd('0x5')]=_[_0x60cd('0x6')](config[_0x60cd('0x5')],{'host':'localhost','port':0x18eb});function respondWithResult(_0x381044,_0x4b66cd){_0x4b66cd=_0x4b66cd||0xc8;return function(_0x1249cb){if(_0x1249cb){return _0x381044[_0x60cd('0x7')](_0x4b66cd)[_0x60cd('0x8')](_0x1249cb);}};}function saveUpdates(_0xad38c6){return function(_0x260260){if(_0x260260){return _0x260260[_0x60cd('0x9')](_0xad38c6)[_0x60cd('0xa')](function(_0x316912){return _0x316912;});}return null;};}function handleEntityNotFound(_0x374baa){return function(_0x5d82b7){if(!_0x5d82b7){_0x374baa[_0x60cd('0xb')](0x194);}return _0x5d82b7;};}function handleError(_0x214e75,_0x516c6a){_0x516c6a=_0x516c6a||0x1f4;return function(_0xc240d8){logger['error'](_0xc240d8[_0x60cd('0xc')]);if(_0xc240d8[_0x60cd('0xd')]){delete _0xc240d8['name'];}_0x214e75[_0x60cd('0x7')](_0x516c6a)[_0x60cd('0xe')](_0xc240d8);};}exports[_0x60cd('0x9')]=function(_0x59810e,_0x14076c){if(_0x59810e[_0x60cd('0xf')]['role']!==_0x60cd('0x10'))throw new Error('Unauthorized');if(isNaN(Number(_0x59810e[_0x60cd('0x11')]['id'])))throw new Error(_0x60cd('0x12'));return db['UserSetting']['find']({'where':{'id':_0x59810e[_0x60cd('0x11')]['id']}})[_0x60cd('0xa')](handleEntityNotFound(_0x14076c,null))[_0x60cd('0xa')](saveUpdates(_0x59810e['body'],null))[_0x60cd('0xa')](respondWithResult(_0x14076c,null))[_0x60cd('0x13')](handleError(_0x14076c,null));};