Built motion from commit 0900f080.|2.5.45
[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 _0x9b9b=['ioredis','../../config/environment','../../mysqldb','socket.io-emitter','redis','./user-setting.socket','register','defaults','localhost','status','json','then','sendStatus','error','stack','name','send','role','Unauthorized','params','Invalid\x20user\x20setting\x20id','UserSetting','find'];(function(_0x454251,_0x147347){var _0x26f1eb=function(_0x57bc54){while(--_0x57bc54){_0x454251['push'](_0x454251['shift']());}};_0x26f1eb(++_0x147347);}(_0x9b9b,0x114));var _0xb9b9=function(_0x1fec86,_0x422ed7){_0x1fec86=_0x1fec86-0x0;var _0x55e897=_0x9b9b[_0x1fec86];return _0x55e897;};'use strict';var _=require('lodash');var Redis=require(_0xb9b9('0x0'));var logger=require('../../config/logger')('api');var config=require(_0xb9b9('0x1'));var db=require(_0xb9b9('0x2'))['db'];var socket=require(_0xb9b9('0x3'))(new Redis(config[_0xb9b9('0x4')]));require(_0xb9b9('0x5'))[_0xb9b9('0x6')](socket);config[_0xb9b9('0x4')]=_[_0xb9b9('0x7')](config[_0xb9b9('0x4')],{'host':_0xb9b9('0x8'),'port':0x18eb});function respondWithResult(_0x85eec,_0x3ef9c1){_0x3ef9c1=_0x3ef9c1||0xc8;return function(_0x5be5bc){if(_0x5be5bc){return _0x85eec[_0xb9b9('0x9')](_0x3ef9c1)[_0xb9b9('0xa')](_0x5be5bc);}};}function saveUpdates(_0x319bb8){return function(_0x485810){if(_0x485810){return _0x485810['update'](_0x319bb8)[_0xb9b9('0xb')](function(_0x139301){return _0x139301;});}return null;};}function handleEntityNotFound(_0x127d29){return function(_0x47fe6d){if(!_0x47fe6d){_0x127d29[_0xb9b9('0xc')](0x194);}return _0x47fe6d;};}function handleError(_0x3b6bb9,_0x1122bb){_0x1122bb=_0x1122bb||0x1f4;return function(_0x4d8856){logger[_0xb9b9('0xd')](_0x4d8856[_0xb9b9('0xe')]);if(_0x4d8856[_0xb9b9('0xf')]){delete _0x4d8856[_0xb9b9('0xf')];}_0x3b6bb9[_0xb9b9('0x9')](_0x1122bb)[_0xb9b9('0x10')](_0x4d8856);};}exports['update']=function(_0x539449,_0x37c0e9){if(_0x539449['user'][_0xb9b9('0x11')]!=='admin')throw new Error(_0xb9b9('0x12'));if(isNaN(Number(_0x539449[_0xb9b9('0x13')]['id'])))throw new Error(_0xb9b9('0x14'));return db[_0xb9b9('0x15')][_0xb9b9('0x16')]({'where':{'id':_0x539449[_0xb9b9('0x13')]['id']}})[_0xb9b9('0xb')](handleEntityNotFound(_0x37c0e9,null))[_0xb9b9('0xb')](saveUpdates(_0x539449['body'],null))[_0xb9b9('0xb')](respondWithResult(_0x37c0e9,null))['catch'](handleError(_0x37c0e9,null));};