Built motion from commit 97153652.|2.6.26
[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 _0xd52a=['UserSetting','find','then','body','ioredis','api','../../config/environment','../../mysqldb','redis','./user-setting.socket','register','json','update','sendStatus','name','status','send','user','role','Unauthorized','params','Invalid\x20user\x20setting\x20id'];(function(_0x115bdf,_0x4de32c){var _0x4c608e=function(_0x3b6da1){while(--_0x3b6da1){_0x115bdf['push'](_0x115bdf['shift']());}};_0x4c608e(++_0x4de32c);}(_0xd52a,0xca));var _0xad52=function(_0x299641,_0xf48107){_0x299641=_0x299641-0x0;var _0x2bd64c=_0xd52a[_0x299641];return _0x2bd64c;};'use strict';var _=require('lodash');var Redis=require(_0xad52('0x0'));var logger=require('../../config/logger')(_0xad52('0x1'));var config=require(_0xad52('0x2'));var db=require(_0xad52('0x3'))['db'];var socket=require('socket.io-emitter')(new Redis(config[_0xad52('0x4')]));require(_0xad52('0x5'))[_0xad52('0x6')](socket);config[_0xad52('0x4')]=_['defaults'](config['redis'],{'host':'localhost','port':0x18eb});function respondWithResult(_0x1ad70b,_0x55f7a7){_0x55f7a7=_0x55f7a7||0xc8;return function(_0x23fc23){if(_0x23fc23){return _0x1ad70b['status'](_0x55f7a7)[_0xad52('0x7')](_0x23fc23);}};}function saveUpdates(_0x4244f3){return function(_0x48b175){if(_0x48b175){return _0x48b175[_0xad52('0x8')](_0x4244f3)['then'](function(_0x46fbc5){return _0x46fbc5;});}return null;};}function handleEntityNotFound(_0x5ab3d2){return function(_0x125d8a){if(!_0x125d8a){_0x5ab3d2[_0xad52('0x9')](0x194);}return _0x125d8a;};}function handleError(_0x2037fe,_0x119cdc){_0x119cdc=_0x119cdc||0x1f4;return function(_0x59e9e8){logger['error'](_0x59e9e8['stack']);if(_0x59e9e8[_0xad52('0xa')]){delete _0x59e9e8[_0xad52('0xa')];}_0x2037fe[_0xad52('0xb')](_0x119cdc)[_0xad52('0xc')](_0x59e9e8);};}exports[_0xad52('0x8')]=function(_0x230eaa,_0x16e0f7){if(_0x230eaa[_0xad52('0xd')][_0xad52('0xe')]!=='admin')throw new Error(_0xad52('0xf'));if(isNaN(Number(_0x230eaa[_0xad52('0x10')]['id'])))throw new Error(_0xad52('0x11'));return db[_0xad52('0x12')][_0xad52('0x13')]({'where':{'id':_0x230eaa[_0xad52('0x10')]['id']}})[_0xad52('0x14')](handleEntityNotFound(_0x16e0f7,null))[_0xad52('0x14')](saveUpdates(_0x230eaa[_0xad52('0x15')],null))['then'](respondWithResult(_0x16e0f7,null))['catch'](handleError(_0x16e0f7,null));};