Built motion from commit da617fac.|2.6.6
[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 _0x0834=['api','redis','./user-setting.socket','defaults','localhost','status','json','update','then','sendStatus','name','send','role','admin','params','Invalid\x20user\x20setting\x20id','UserSetting','find','body','catch','../../config/logger'];(function(_0x36de10,_0xfe25e8){var _0x58100f=function(_0x1fee3f){while(--_0x1fee3f){_0x36de10['push'](_0x36de10['shift']());}};_0x58100f(++_0xfe25e8);}(_0x0834,0x18e));var _0x4083=function(_0x24e428,_0x43bfae){_0x24e428=_0x24e428-0x0;var _0xfe15d2=_0x0834[_0x24e428];return _0xfe15d2;};'use strict';var _=require('lodash');var Redis=require('ioredis');var logger=require(_0x4083('0x0'))(_0x4083('0x1'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];var socket=require('socket.io-emitter')(new Redis(config[_0x4083('0x2')]));require(_0x4083('0x3'))['register'](socket);config[_0x4083('0x2')]=_[_0x4083('0x4')](config['redis'],{'host':_0x4083('0x5'),'port':0x18eb});function respondWithResult(_0x5c5a54,_0x31c7ef){_0x31c7ef=_0x31c7ef||0xc8;return function(_0x26ed53){if(_0x26ed53){return _0x5c5a54[_0x4083('0x6')](_0x31c7ef)[_0x4083('0x7')](_0x26ed53);}};}function saveUpdates(_0x129337){return function(_0x26c623){if(_0x26c623){return _0x26c623[_0x4083('0x8')](_0x129337)[_0x4083('0x9')](function(_0x2a5093){return _0x2a5093;});}return null;};}function handleEntityNotFound(_0x2d739c){return function(_0x38a946){if(!_0x38a946){_0x2d739c[_0x4083('0xa')](0x194);}return _0x38a946;};}function handleError(_0x1da687,_0x5d6067){_0x5d6067=_0x5d6067||0x1f4;return function(_0x300a8f){logger['error'](_0x300a8f['stack']);if(_0x300a8f[_0x4083('0xb')]){delete _0x300a8f[_0x4083('0xb')];}_0x1da687['status'](_0x5d6067)[_0x4083('0xc')](_0x300a8f);};}exports[_0x4083('0x8')]=function(_0x236b04,_0x590a81){if(_0x236b04['user'][_0x4083('0xd')]!==_0x4083('0xe'))throw new Error('Unauthorized');if(isNaN(Number(_0x236b04[_0x4083('0xf')]['id'])))throw new Error(_0x4083('0x10'));return db[_0x4083('0x11')][_0x4083('0x12')]({'where':{'id':_0x236b04[_0x4083('0xf')]['id']}})['then'](handleEntityNotFound(_0x590a81,null))[_0x4083('0x9')](saveUpdates(_0x236b04[_0x4083('0x13')],null))[_0x4083('0x9')](respondWithResult(_0x590a81,null))[_0x4083('0x14')](handleError(_0x590a81,null));};