a739c3b494d11d8d0cd04252c968523fd329b342
[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 _0x2cc1=['find','body','catch','lodash','ioredis','../../config/logger','api','../../config/environment','../../mysqldb','socket.io-emitter','redis','defaults','status','json','update','then','sendStatus','error','stack','name','send','role','Unauthorized','params','Invalid\x20user\x20setting\x20id','UserSetting'];(function(_0x166212,_0x2e9aec){var _0x4632b7=function(_0x277967){while(--_0x277967){_0x166212['push'](_0x166212['shift']());}};_0x4632b7(++_0x2e9aec);}(_0x2cc1,0x1bd));var _0x12cc=function(_0x2c1101,_0x1909d9){_0x2c1101=_0x2c1101-0x0;var _0x56f52f=_0x2cc1[_0x2c1101];return _0x56f52f;};'use strict';var _=require(_0x12cc('0x0'));var Redis=require(_0x12cc('0x1'));var logger=require(_0x12cc('0x2'))(_0x12cc('0x3'));var config=require(_0x12cc('0x4'));var db=require(_0x12cc('0x5'))['db'];var socket=require(_0x12cc('0x6'))(new Redis(config[_0x12cc('0x7')]));require('./user-setting.socket')['register'](socket);config[_0x12cc('0x7')]=_[_0x12cc('0x8')](config['redis'],{'host':'localhost','port':0x18eb});function respondWithResult(_0x3dee73,_0x132370){_0x132370=_0x132370||0xc8;return function(_0x21d042){if(_0x21d042){return _0x3dee73[_0x12cc('0x9')](_0x132370)[_0x12cc('0xa')](_0x21d042);}};}function saveUpdates(_0x1597c0){return function(_0x2dc401){if(_0x2dc401){return _0x2dc401[_0x12cc('0xb')](_0x1597c0)[_0x12cc('0xc')](function(_0x353689){return _0x353689;});}return null;};}function handleEntityNotFound(_0x1a4192){return function(_0x27adee){if(!_0x27adee){_0x1a4192[_0x12cc('0xd')](0x194);}return _0x27adee;};}function handleError(_0x4fcf41,_0x865d59){_0x865d59=_0x865d59||0x1f4;return function(_0x4cdc4c){logger[_0x12cc('0xe')](_0x4cdc4c[_0x12cc('0xf')]);if(_0x4cdc4c[_0x12cc('0x10')]){delete _0x4cdc4c[_0x12cc('0x10')];}_0x4fcf41[_0x12cc('0x9')](_0x865d59)[_0x12cc('0x11')](_0x4cdc4c);};}exports['update']=function(_0x5909d3,_0x45e5aa){if(_0x5909d3['user'][_0x12cc('0x12')]!=='admin')throw new Error(_0x12cc('0x13'));if(isNaN(Number(_0x5909d3[_0x12cc('0x14')]['id'])))throw new Error(_0x12cc('0x15'));return db[_0x12cc('0x16')][_0x12cc('0x17')]({'where':{'id':_0x5909d3[_0x12cc('0x14')]['id']}})['then'](handleEntityNotFound(_0x45e5aa,null))[_0x12cc('0xc')](saveUpdates(_0x5909d3[_0x12cc('0x18')],null))['then'](respondWithResult(_0x45e5aa,null))[_0x12cc('0x19')](handleError(_0x45e5aa,null));};