Built motion from commit 449495f6.|2.6.27
[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 _0x7bae=['localhost','status','json','then','sendStatus','error','name','send','update','user','Unauthorized','params','Invalid\x20user\x20setting\x20id','find','body','catch','../../config/logger','api','../../mysqldb','redis','./user-setting.socket','register','defaults'];(function(_0x46e363,_0x45d7e2){var _0x3fb059=function(_0x5e6274){while(--_0x5e6274){_0x46e363['push'](_0x46e363['shift']());}};_0x3fb059(++_0x45d7e2);}(_0x7bae,0x13b));var _0xe7ba=function(_0x5317b5,_0x4dfd6e){_0x5317b5=_0x5317b5-0x0;var _0x3b7ce2=_0x7bae[_0x5317b5];return _0x3b7ce2;};'use strict';var _=require('lodash');var Redis=require('ioredis');var logger=require(_0xe7ba('0x0'))(_0xe7ba('0x1'));var config=require('../../config/environment');var db=require(_0xe7ba('0x2'))['db'];var socket=require('socket.io-emitter')(new Redis(config[_0xe7ba('0x3')]));require(_0xe7ba('0x4'))[_0xe7ba('0x5')](socket);config[_0xe7ba('0x3')]=_[_0xe7ba('0x6')](config[_0xe7ba('0x3')],{'host':_0xe7ba('0x7'),'port':0x18eb});function respondWithResult(_0x3c5e59,_0x10b307){_0x10b307=_0x10b307||0xc8;return function(_0x34fb18){if(_0x34fb18){return _0x3c5e59[_0xe7ba('0x8')](_0x10b307)[_0xe7ba('0x9')](_0x34fb18);}};}function saveUpdates(_0x41c39d){return function(_0x1b2693){if(_0x1b2693){return _0x1b2693['update'](_0x41c39d)[_0xe7ba('0xa')](function(_0xe57e33){return _0xe57e33;});}return null;};}function handleEntityNotFound(_0x375ebb){return function(_0x276bc3){if(!_0x276bc3){_0x375ebb[_0xe7ba('0xb')](0x194);}return _0x276bc3;};}function handleError(_0x1672f0,_0x99a86f){_0x99a86f=_0x99a86f||0x1f4;return function(_0x448bcc){logger[_0xe7ba('0xc')](_0x448bcc['stack']);if(_0x448bcc[_0xe7ba('0xd')]){delete _0x448bcc['name'];}_0x1672f0[_0xe7ba('0x8')](_0x99a86f)[_0xe7ba('0xe')](_0x448bcc);};}exports[_0xe7ba('0xf')]=function(_0x17e4e6,_0x15d018){if(_0x17e4e6[_0xe7ba('0x10')]['role']!=='admin')throw new Error(_0xe7ba('0x11'));if(isNaN(Number(_0x17e4e6[_0xe7ba('0x12')]['id'])))throw new Error(_0xe7ba('0x13'));return db['UserSetting'][_0xe7ba('0x14')]({'where':{'id':_0x17e4e6['params']['id']}})['then'](handleEntityNotFound(_0x15d018,null))['then'](saveUpdates(_0x17e4e6[_0xe7ba('0x15')],null))['then'](respondWithResult(_0x15d018,null))[_0xe7ba('0x16')](handleError(_0x15d018,null));};