Built motion from commit d5e4af8c.|2.6.23
[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 _0x8d53=['status','json','then','sendStatus','stack','name','update','user','role','admin','params','UserSetting','catch','lodash','ioredis','api','../../config/environment','../../mysqldb','socket.io-emitter','redis','./user-setting.socket','register','localhost'];(function(_0x219cd3,_0x2bc436){var _0x1dd688=function(_0x53c132){while(--_0x53c132){_0x219cd3['push'](_0x219cd3['shift']());}};_0x1dd688(++_0x2bc436);}(_0x8d53,0x1c2));var _0x38d5=function(_0x17ca2b,_0x505718){_0x17ca2b=_0x17ca2b-0x0;var _0x410423=_0x8d53[_0x17ca2b];return _0x410423;};'use strict';var _=require(_0x38d5('0x0'));var Redis=require(_0x38d5('0x1'));var logger=require('../../config/logger')(_0x38d5('0x2'));var config=require(_0x38d5('0x3'));var db=require(_0x38d5('0x4'))['db'];var socket=require(_0x38d5('0x5'))(new Redis(config[_0x38d5('0x6')]));require(_0x38d5('0x7'))[_0x38d5('0x8')](socket);config[_0x38d5('0x6')]=_['defaults'](config[_0x38d5('0x6')],{'host':_0x38d5('0x9'),'port':0x18eb});function respondWithResult(_0xeb7913,_0x5aa1ca){_0x5aa1ca=_0x5aa1ca||0xc8;return function(_0x5ebf9a){if(_0x5ebf9a){return _0xeb7913[_0x38d5('0xa')](_0x5aa1ca)[_0x38d5('0xb')](_0x5ebf9a);}};}function saveUpdates(_0x2e8c98){return function(_0x2b1c73){if(_0x2b1c73){return _0x2b1c73['update'](_0x2e8c98)[_0x38d5('0xc')](function(_0x347b2f){return _0x347b2f;});}return null;};}function handleEntityNotFound(_0x49fa2b){return function(_0x22a846){if(!_0x22a846){_0x49fa2b[_0x38d5('0xd')](0x194);}return _0x22a846;};}function handleError(_0xb4b4b4,_0x3cc94f){_0x3cc94f=_0x3cc94f||0x1f4;return function(_0x505f9c){logger['error'](_0x505f9c[_0x38d5('0xe')]);if(_0x505f9c[_0x38d5('0xf')]){delete _0x505f9c['name'];}_0xb4b4b4[_0x38d5('0xa')](_0x3cc94f)['send'](_0x505f9c);};}exports[_0x38d5('0x10')]=function(_0x472134,_0x13e5b6){if(_0x472134[_0x38d5('0x11')][_0x38d5('0x12')]!==_0x38d5('0x13'))throw new Error('Unauthorized');if(isNaN(Number(_0x472134[_0x38d5('0x14')]['id'])))throw new Error('Invalid\x20user\x20setting\x20id');return db[_0x38d5('0x15')]['find']({'where':{'id':_0x472134[_0x38d5('0x14')]['id']}})[_0x38d5('0xc')](handleEntityNotFound(_0x13e5b6,null))[_0x38d5('0xc')](saveUpdates(_0x472134['body'],null))[_0x38d5('0xc')](respondWithResult(_0x13e5b6,null))[_0x38d5('0x16')](handleError(_0x13e5b6,null));};