dcc9bb84e74fccc43088659f6153c14eafecf949
[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 _0xa276=['UserSetting','find','body','catch','ioredis','../../config/logger','../../config/environment','../../mysqldb','redis','./user-setting.socket','register','defaults','localhost','update','then','sendStatus','error','stack','name','send','user','role','Unauthorized','params','Invalid\x20user\x20setting\x20id'];(function(_0x1e172a,_0x52102b){var _0x96338b=function(_0x307313){while(--_0x307313){_0x1e172a['push'](_0x1e172a['shift']());}};_0x96338b(++_0x52102b);}(_0xa276,0x9a));var _0x6a27=function(_0x3c30de,_0x4a32ae){_0x3c30de=_0x3c30de-0x0;var _0x586d18=_0xa276[_0x3c30de];return _0x586d18;};'use strict';var _=require('lodash');var Redis=require(_0x6a27('0x0'));var logger=require(_0x6a27('0x1'))('api');var config=require(_0x6a27('0x2'));var db=require(_0x6a27('0x3'))['db'];var socket=require('socket.io-emitter')(new Redis(config[_0x6a27('0x4')]));require(_0x6a27('0x5'))[_0x6a27('0x6')](socket);config['redis']=_[_0x6a27('0x7')](config[_0x6a27('0x4')],{'host':_0x6a27('0x8'),'port':0x18eb});function respondWithResult(_0x57b4bd,_0x38d674){_0x38d674=_0x38d674||0xc8;return function(_0x55cd2c){if(_0x55cd2c){return _0x57b4bd['status'](_0x38d674)['json'](_0x55cd2c);}};}function saveUpdates(_0x5bfa6d){return function(_0x35e206){if(_0x35e206){return _0x35e206[_0x6a27('0x9')](_0x5bfa6d)[_0x6a27('0xa')](function(_0x48bda4){return _0x48bda4;});}return null;};}function handleEntityNotFound(_0x555609){return function(_0x1a1a32){if(!_0x1a1a32){_0x555609[_0x6a27('0xb')](0x194);}return _0x1a1a32;};}function handleError(_0x15f5bf,_0x19fa46){_0x19fa46=_0x19fa46||0x1f4;return function(_0xe29c5f){logger[_0x6a27('0xc')](_0xe29c5f[_0x6a27('0xd')]);if(_0xe29c5f[_0x6a27('0xe')]){delete _0xe29c5f[_0x6a27('0xe')];}_0x15f5bf['status'](_0x19fa46)[_0x6a27('0xf')](_0xe29c5f);};}exports['update']=function(_0x4f5ce4,_0x2c7339){if(_0x4f5ce4[_0x6a27('0x10')][_0x6a27('0x11')]!=='admin')throw new Error(_0x6a27('0x12'));if(isNaN(Number(_0x4f5ce4[_0x6a27('0x13')]['id'])))throw new Error(_0x6a27('0x14'));return db[_0x6a27('0x15')][_0x6a27('0x16')]({'where':{'id':_0x4f5ce4['params']['id']}})['then'](handleEntityNotFound(_0x2c7339,null))[_0x6a27('0xa')](saveUpdates(_0x4f5ce4[_0x6a27('0x17')],null))[_0x6a27('0xa')](respondWithResult(_0x2c7339,null))[_0x6a27('0x18')](handleError(_0x2c7339,null));};