7df0fc3e5d1b278b600ce34d9010cf036c527f82
[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 _0xd2ea=['catch','lodash','ioredis','../../config/logger','api','../../config/environment','socket.io-emitter','redis','./user-setting.socket','register','defaults','json','update','sendStatus','error','stack','name','send','Unauthorized','params','Invalid\x20user\x20setting\x20id','UserSetting','find','then','body'];(function(_0x3e4790,_0xd6a597){var _0x2bbb24=function(_0x36dc4e){while(--_0x36dc4e){_0x3e4790['push'](_0x3e4790['shift']());}};_0x2bbb24(++_0xd6a597);}(_0xd2ea,0x15f));var _0xad2e=function(_0x362761,_0x5694e2){_0x362761=_0x362761-0x0;var _0x168fca=_0xd2ea[_0x362761];return _0x168fca;};'use strict';var _=require(_0xad2e('0x0'));var Redis=require(_0xad2e('0x1'));var logger=require(_0xad2e('0x2'))(_0xad2e('0x3'));var config=require(_0xad2e('0x4'));var db=require('../../mysqldb')['db'];var socket=require(_0xad2e('0x5'))(new Redis(config[_0xad2e('0x6')]));require(_0xad2e('0x7'))[_0xad2e('0x8')](socket);config[_0xad2e('0x6')]=_[_0xad2e('0x9')](config[_0xad2e('0x6')],{'host':'localhost','port':0x18eb});function respondWithResult(_0x3b5170,_0x3e3d1f){_0x3e3d1f=_0x3e3d1f||0xc8;return function(_0x2ff7b2){if(_0x2ff7b2){return _0x3b5170['status'](_0x3e3d1f)[_0xad2e('0xa')](_0x2ff7b2);}};}function saveUpdates(_0x19bb0d){return function(_0x4b45f2){if(_0x4b45f2){return _0x4b45f2[_0xad2e('0xb')](_0x19bb0d)['then'](function(_0x430443){return _0x430443;});}return null;};}function handleEntityNotFound(_0x415a41){return function(_0x9879f2){if(!_0x9879f2){_0x415a41[_0xad2e('0xc')](0x194);}return _0x9879f2;};}function handleError(_0x489f25,_0x7df3c6){_0x7df3c6=_0x7df3c6||0x1f4;return function(_0x5707a5){logger[_0xad2e('0xd')](_0x5707a5[_0xad2e('0xe')]);if(_0x5707a5[_0xad2e('0xf')]){delete _0x5707a5[_0xad2e('0xf')];}_0x489f25['status'](_0x7df3c6)[_0xad2e('0x10')](_0x5707a5);};}exports['update']=function(_0x1a91ce,_0x5772f0){if(_0x1a91ce['user']['role']!=='admin')throw new Error(_0xad2e('0x11'));if(isNaN(Number(_0x1a91ce[_0xad2e('0x12')]['id'])))throw new Error(_0xad2e('0x13'));return db[_0xad2e('0x14')][_0xad2e('0x15')]({'where':{'id':_0x1a91ce[_0xad2e('0x12')]['id']}})[_0xad2e('0x16')](handleEntityNotFound(_0x5772f0,null))[_0xad2e('0x16')](saveUpdates(_0x1a91ce[_0xad2e('0x17')],null))[_0xad2e('0x16')](respondWithResult(_0x5772f0,null))[_0xad2e('0x18')](handleError(_0x5772f0,null));};