Built motion from commit bab6f49e.|2.6.17
[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 _0x3f49=['find','lodash','ioredis','api','../../config/environment','../../mysqldb','redis','./user-setting.socket','defaults','localhost','status','json','update','then','error','stack','name','user','role','admin','Invalid\x20user\x20setting\x20id','UserSetting'];(function(_0x35a274,_0x98b399){var _0x40d905=function(_0x5c8455){while(--_0x5c8455){_0x35a274['push'](_0x35a274['shift']());}};_0x40d905(++_0x98b399);}(_0x3f49,0x11f));var _0x93f4=function(_0x30c155,_0x58f2cf){_0x30c155=_0x30c155-0x0;var _0x5b1da7=_0x3f49[_0x30c155];return _0x5b1da7;};'use strict';var _=require(_0x93f4('0x0'));var Redis=require(_0x93f4('0x1'));var logger=require('../../config/logger')(_0x93f4('0x2'));var config=require(_0x93f4('0x3'));var db=require(_0x93f4('0x4'))['db'];var socket=require('socket.io-emitter')(new Redis(config[_0x93f4('0x5')]));require(_0x93f4('0x6'))['register'](socket);config['redis']=_[_0x93f4('0x7')](config[_0x93f4('0x5')],{'host':_0x93f4('0x8'),'port':0x18eb});function respondWithResult(_0x5a86ad,_0x956b50){_0x956b50=_0x956b50||0xc8;return function(_0x5d22d9){if(_0x5d22d9){return _0x5a86ad[_0x93f4('0x9')](_0x956b50)[_0x93f4('0xa')](_0x5d22d9);}};}function saveUpdates(_0x17b4fd){return function(_0x1aabef){if(_0x1aabef){return _0x1aabef[_0x93f4('0xb')](_0x17b4fd)[_0x93f4('0xc')](function(_0x3c0833){return _0x3c0833;});}return null;};}function handleEntityNotFound(_0x996161){return function(_0x4a7b76){if(!_0x4a7b76){_0x996161['sendStatus'](0x194);}return _0x4a7b76;};}function handleError(_0x2c9257,_0xa61905){_0xa61905=_0xa61905||0x1f4;return function(_0x1da54d){logger[_0x93f4('0xd')](_0x1da54d[_0x93f4('0xe')]);if(_0x1da54d[_0x93f4('0xf')]){delete _0x1da54d[_0x93f4('0xf')];}_0x2c9257[_0x93f4('0x9')](_0xa61905)['send'](_0x1da54d);};}exports[_0x93f4('0xb')]=function(_0x59a9fc,_0x4eabcc){if(_0x59a9fc[_0x93f4('0x10')][_0x93f4('0x11')]!==_0x93f4('0x12'))throw new Error('Unauthorized');if(isNaN(Number(_0x59a9fc['params']['id'])))throw new Error(_0x93f4('0x13'));return db[_0x93f4('0x14')][_0x93f4('0x15')]({'where':{'id':_0x59a9fc['params']['id']}})[_0x93f4('0xc')](handleEntityNotFound(_0x4eabcc,null))[_0x93f4('0xc')](saveUpdates(_0x59a9fc['body'],null))[_0x93f4('0xc')](respondWithResult(_0x4eabcc,null))['catch'](handleError(_0x4eabcc,null));};