f64f19ce7a638a13529b38b32e8a32101a955d45
[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 _0xf120=['../../config/logger','api','../../mysqldb','socket.io-emitter','redis','register','defaults','localhost','json','update','then','sendStatus','error','stack','name','status','send','user','role','admin','Unauthorized','params','Invalid\x20user\x20setting\x20id','UserSetting','find','catch','ioredis'];(function(_0x4ea17a,_0x4b9c83){var _0x58e65f=function(_0x46ad6d){while(--_0x46ad6d){_0x4ea17a['push'](_0x4ea17a['shift']());}};_0x58e65f(++_0x4b9c83);}(_0xf120,0x179));var _0x0f12=function(_0x49e9c4,_0x707ed4){_0x49e9c4=_0x49e9c4-0x0;var _0x354219=_0xf120[_0x49e9c4];return _0x354219;};'use strict';var _=require('lodash');var Redis=require(_0x0f12('0x0'));var logger=require(_0x0f12('0x1'))(_0x0f12('0x2'));var config=require('../../config/environment');var db=require(_0x0f12('0x3'))['db'];var socket=require(_0x0f12('0x4'))(new Redis(config[_0x0f12('0x5')]));require('./user-setting.socket')[_0x0f12('0x6')](socket);config[_0x0f12('0x5')]=_[_0x0f12('0x7')](config[_0x0f12('0x5')],{'host':_0x0f12('0x8'),'port':0x18eb});function respondWithResult(_0x341516,_0x1f32b7){_0x1f32b7=_0x1f32b7||0xc8;return function(_0x457122){if(_0x457122){return _0x341516['status'](_0x1f32b7)[_0x0f12('0x9')](_0x457122);}};}function saveUpdates(_0x4bbb62){return function(_0x3b909b){if(_0x3b909b){return _0x3b909b[_0x0f12('0xa')](_0x4bbb62)[_0x0f12('0xb')](function(_0x48ebce){return _0x48ebce;});}return null;};}function handleEntityNotFound(_0x5f158a){return function(_0x23f708){if(!_0x23f708){_0x5f158a[_0x0f12('0xc')](0x194);}return _0x23f708;};}function handleError(_0x728460,_0xd85187){_0xd85187=_0xd85187||0x1f4;return function(_0x42eec3){logger[_0x0f12('0xd')](_0x42eec3[_0x0f12('0xe')]);if(_0x42eec3['name']){delete _0x42eec3[_0x0f12('0xf')];}_0x728460[_0x0f12('0x10')](_0xd85187)[_0x0f12('0x11')](_0x42eec3);};}exports[_0x0f12('0xa')]=function(_0x22f390,_0xc019be){if(_0x22f390[_0x0f12('0x12')][_0x0f12('0x13')]!==_0x0f12('0x14'))throw new Error(_0x0f12('0x15'));if(isNaN(Number(_0x22f390[_0x0f12('0x16')]['id'])))throw new Error(_0x0f12('0x17'));return db[_0x0f12('0x18')][_0x0f12('0x19')]({'where':{'id':_0x22f390[_0x0f12('0x16')]['id']}})['then'](handleEntityNotFound(_0xc019be,null))[_0x0f12('0xb')](saveUpdates(_0x22f390['body'],null))[_0x0f12('0xb')](respondWithResult(_0xc019be,null))[_0x0f12('0x1a')](handleError(_0xc019be,null));};