80bb5f1830bbadbf0a42a2bfdc8134dd27f18365
[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 _0xa991=['error','name','send','role','admin','Unauthorized','params','Invalid\x20user\x20setting\x20id','find','body','catch','lodash','../../config/logger','api','../../config/environment','../../mysqldb','socket.io-emitter','./user-setting.socket','register','redis','defaults','localhost','json','update','then','sendStatus'];(function(_0x5bcf68,_0x1f65ba){var _0x10da1e=function(_0x36f71e){while(--_0x36f71e){_0x5bcf68['push'](_0x5bcf68['shift']());}};_0x10da1e(++_0x1f65ba);}(_0xa991,0x143));var _0x1a99=function(_0x5d2803,_0xf375bd){_0x5d2803=_0x5d2803-0x0;var _0xdcad2c=_0xa991[_0x5d2803];return _0xdcad2c;};'use strict';var _=require(_0x1a99('0x0'));var Redis=require('ioredis');var logger=require(_0x1a99('0x1'))(_0x1a99('0x2'));var config=require(_0x1a99('0x3'));var db=require(_0x1a99('0x4'))['db'];var socket=require(_0x1a99('0x5'))(new Redis(config['redis']));require(_0x1a99('0x6'))[_0x1a99('0x7')](socket);config[_0x1a99('0x8')]=_[_0x1a99('0x9')](config[_0x1a99('0x8')],{'host':_0x1a99('0xa'),'port':0x18eb});function respondWithResult(_0xbaf427,_0x50e382){_0x50e382=_0x50e382||0xc8;return function(_0x8e29c6){if(_0x8e29c6){return _0xbaf427['status'](_0x50e382)[_0x1a99('0xb')](_0x8e29c6);}};}function saveUpdates(_0x43fb13){return function(_0x36f9b2){if(_0x36f9b2){return _0x36f9b2[_0x1a99('0xc')](_0x43fb13)[_0x1a99('0xd')](function(_0x1ba9b2){return _0x1ba9b2;});}return null;};}function handleEntityNotFound(_0x48f59b){return function(_0x22016d){if(!_0x22016d){_0x48f59b[_0x1a99('0xe')](0x194);}return _0x22016d;};}function handleError(_0x2c83e2,_0x50220b){_0x50220b=_0x50220b||0x1f4;return function(_0x33260c){logger[_0x1a99('0xf')](_0x33260c['stack']);if(_0x33260c[_0x1a99('0x10')]){delete _0x33260c['name'];}_0x2c83e2['status'](_0x50220b)[_0x1a99('0x11')](_0x33260c);};}exports[_0x1a99('0xc')]=function(_0x9840cb,_0x53349a){if(_0x9840cb['user'][_0x1a99('0x12')]!==_0x1a99('0x13'))throw new Error(_0x1a99('0x14'));if(isNaN(Number(_0x9840cb[_0x1a99('0x15')]['id'])))throw new Error(_0x1a99('0x16'));return db['UserSetting'][_0x1a99('0x17')]({'where':{'id':_0x9840cb['params']['id']}})[_0x1a99('0xd')](handleEntityNotFound(_0x53349a,null))[_0x1a99('0xd')](saveUpdates(_0x9840cb[_0x1a99('0x18')],null))[_0x1a99('0xd')](respondWithResult(_0x53349a,null))[_0x1a99('0x19')](handleError(_0x53349a,null));};