0dd876f7a7311da4130be3ca9417be87d3fcfc6b
[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 _0x303a=['user','role','admin','Unauthorized','params','Invalid\x20user\x20setting\x20id','find','body','lodash','../../config/logger','api','../../config/environment','../../mysqldb','redis','./user-setting.socket','register','defaults','localhost','then','sendStatus','stack','name','status','send'];(function(_0x2112d4,_0x3c863c){var _0x434972=function(_0x477020){while(--_0x477020){_0x2112d4['push'](_0x2112d4['shift']());}};_0x434972(++_0x3c863c);}(_0x303a,0x1a0));var _0xa303=function(_0xac8e9c,_0x2570bd){_0xac8e9c=_0xac8e9c-0x0;var _0x4eab81=_0x303a[_0xac8e9c];return _0x4eab81;};'use strict';var _=require(_0xa303('0x0'));var Redis=require('ioredis');var logger=require(_0xa303('0x1'))(_0xa303('0x2'));var config=require(_0xa303('0x3'));var db=require(_0xa303('0x4'))['db'];var socket=require('socket.io-emitter')(new Redis(config[_0xa303('0x5')]));require(_0xa303('0x6'))[_0xa303('0x7')](socket);config[_0xa303('0x5')]=_[_0xa303('0x8')](config[_0xa303('0x5')],{'host':_0xa303('0x9'),'port':0x18eb});function respondWithResult(_0x3f61f1,_0x69b173){_0x69b173=_0x69b173||0xc8;return function(_0x5d95fd){if(_0x5d95fd){return _0x3f61f1['status'](_0x69b173)['json'](_0x5d95fd);}};}function saveUpdates(_0x9142e7){return function(_0x153544){if(_0x153544){return _0x153544['update'](_0x9142e7)[_0xa303('0xa')](function(_0x51acca){return _0x51acca;});}return null;};}function handleEntityNotFound(_0x1e7281){return function(_0x59f18a){if(!_0x59f18a){_0x1e7281[_0xa303('0xb')](0x194);}return _0x59f18a;};}function handleError(_0x17dfcd,_0x382cfd){_0x382cfd=_0x382cfd||0x1f4;return function(_0x3a8467){logger['error'](_0x3a8467[_0xa303('0xc')]);if(_0x3a8467['name']){delete _0x3a8467[_0xa303('0xd')];}_0x17dfcd[_0xa303('0xe')](_0x382cfd)[_0xa303('0xf')](_0x3a8467);};}exports['update']=function(_0xe87c60,_0x17d39b){if(_0xe87c60[_0xa303('0x10')][_0xa303('0x11')]!==_0xa303('0x12'))throw new Error(_0xa303('0x13'));if(isNaN(Number(_0xe87c60[_0xa303('0x14')]['id'])))throw new Error(_0xa303('0x15'));return db['UserSetting'][_0xa303('0x16')]({'where':{'id':_0xe87c60[_0xa303('0x14')]['id']}})[_0xa303('0xa')](handleEntityNotFound(_0x17d39b,null))[_0xa303('0xa')](saveUpdates(_0xe87c60[_0xa303('0x17')],null))[_0xa303('0xa')](respondWithResult(_0x17d39b,null))['catch'](handleError(_0x17d39b,null));};