Built motion from commit 3c2ce842.|2.6.31
[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 _0xa9e0=['json','update','then','sendStatus','stack','name','status','send','user','role','admin','Unauthorized','params','UserSetting','body','catch','lodash','ioredis','../../config/logger','../../mysqldb','redis','./user-setting.socket','register','defaults','localhost'];(function(_0x5e3887,_0xba1976){var _0x4e4da9=function(_0x4c10f0){while(--_0x4c10f0){_0x5e3887['push'](_0x5e3887['shift']());}};_0x4e4da9(++_0xba1976);}(_0xa9e0,0x123));var _0x0a9e=function(_0x491a7f,_0x28bb80){_0x491a7f=_0x491a7f-0x0;var _0x3d8f44=_0xa9e0[_0x491a7f];return _0x3d8f44;};'use strict';var _=require(_0x0a9e('0x0'));var Redis=require(_0x0a9e('0x1'));var logger=require(_0x0a9e('0x2'))('api');var config=require('../../config/environment');var db=require(_0x0a9e('0x3'))['db'];var socket=require('socket.io-emitter')(new Redis(config[_0x0a9e('0x4')]));require(_0x0a9e('0x5'))[_0x0a9e('0x6')](socket);config[_0x0a9e('0x4')]=_[_0x0a9e('0x7')](config['redis'],{'host':_0x0a9e('0x8'),'port':0x18eb});function respondWithResult(_0x441e3a,_0x2cc193){_0x2cc193=_0x2cc193||0xc8;return function(_0x5f41ea){if(_0x5f41ea){return _0x441e3a['status'](_0x2cc193)[_0x0a9e('0x9')](_0x5f41ea);}};}function saveUpdates(_0x56465b){return function(_0x52cace){if(_0x52cace){return _0x52cace[_0x0a9e('0xa')](_0x56465b)[_0x0a9e('0xb')](function(_0x307b3e){return _0x307b3e;});}return null;};}function handleEntityNotFound(_0x3ab53f){return function(_0xfeb75b){if(!_0xfeb75b){_0x3ab53f[_0x0a9e('0xc')](0x194);}return _0xfeb75b;};}function handleError(_0x4a4c56,_0x50dfb2){_0x50dfb2=_0x50dfb2||0x1f4;return function(_0x527cdd){logger['error'](_0x527cdd[_0x0a9e('0xd')]);if(_0x527cdd[_0x0a9e('0xe')]){delete _0x527cdd[_0x0a9e('0xe')];}_0x4a4c56[_0x0a9e('0xf')](_0x50dfb2)[_0x0a9e('0x10')](_0x527cdd);};}exports[_0x0a9e('0xa')]=function(_0x5db4b0,_0x4283ce){if(_0x5db4b0[_0x0a9e('0x11')][_0x0a9e('0x12')]!==_0x0a9e('0x13'))throw new Error(_0x0a9e('0x14'));if(isNaN(Number(_0x5db4b0[_0x0a9e('0x15')]['id'])))throw new Error('Invalid\x20user\x20setting\x20id');return db[_0x0a9e('0x16')]['find']({'where':{'id':_0x5db4b0[_0x0a9e('0x15')]['id']}})['then'](handleEntityNotFound(_0x4283ce,null))[_0x0a9e('0xb')](saveUpdates(_0x5db4b0[_0x0a9e('0x17')],null))['then'](respondWithResult(_0x4283ce,null))[_0x0a9e('0x18')](handleError(_0x4283ce,null));};