Built motion from commit 092f8824.|2.5.49
[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 _0xf00e=['params','Invalid\x20user\x20setting\x20id','find','catch','lodash','ioredis','../../config/logger','api','../../config/environment','../../mysqldb','socket.io-emitter','redis','./user-setting.socket','register','defaults','localhost','status','then','name','send','user','role','admin'];(function(_0x5d76cc,_0x195736){var _0x4acce4=function(_0x3b889d){while(--_0x3b889d){_0x5d76cc['push'](_0x5d76cc['shift']());}};_0x4acce4(++_0x195736);}(_0xf00e,0x12f));var _0xef00=function(_0x3cc5f8,_0x44f0f6){_0x3cc5f8=_0x3cc5f8-0x0;var _0x557801=_0xf00e[_0x3cc5f8];return _0x557801;};'use strict';var _=require(_0xef00('0x0'));var Redis=require(_0xef00('0x1'));var logger=require(_0xef00('0x2'))(_0xef00('0x3'));var config=require(_0xef00('0x4'));var db=require(_0xef00('0x5'))['db'];var socket=require(_0xef00('0x6'))(new Redis(config[_0xef00('0x7')]));require(_0xef00('0x8'))[_0xef00('0x9')](socket);config[_0xef00('0x7')]=_[_0xef00('0xa')](config[_0xef00('0x7')],{'host':_0xef00('0xb'),'port':0x18eb});function respondWithResult(_0x254f2e,_0x17ec9e){_0x17ec9e=_0x17ec9e||0xc8;return function(_0x2245a3){if(_0x2245a3){return _0x254f2e[_0xef00('0xc')](_0x17ec9e)['json'](_0x2245a3);}};}function saveUpdates(_0x1d3b1c){return function(_0x493ea7){if(_0x493ea7){return _0x493ea7['update'](_0x1d3b1c)[_0xef00('0xd')](function(_0x4f8db3){return _0x4f8db3;});}return null;};}function handleEntityNotFound(_0x4f01bc){return function(_0xc380a6){if(!_0xc380a6){_0x4f01bc['sendStatus'](0x194);}return _0xc380a6;};}function handleError(_0x2c9c22,_0x3a7b21){_0x3a7b21=_0x3a7b21||0x1f4;return function(_0x5dba5b){logger['error'](_0x5dba5b['stack']);if(_0x5dba5b['name']){delete _0x5dba5b[_0xef00('0xe')];}_0x2c9c22['status'](_0x3a7b21)[_0xef00('0xf')](_0x5dba5b);};}exports['update']=function(_0x2e693f,_0x41cd9c){if(_0x2e693f[_0xef00('0x10')][_0xef00('0x11')]!==_0xef00('0x12'))throw new Error('Unauthorized');if(isNaN(Number(_0x2e693f[_0xef00('0x13')]['id'])))throw new Error(_0xef00('0x14'));return db['UserSetting'][_0xef00('0x15')]({'where':{'id':_0x2e693f[_0xef00('0x13')]['id']}})[_0xef00('0xd')](handleEntityNotFound(_0x41cd9c,null))[_0xef00('0xd')](saveUpdates(_0x2e693f['body'],null))[_0xef00('0xd')](respondWithResult(_0x41cd9c,null))[_0xef00('0x16')](handleError(_0x41cd9c,null));};