98918a8abad49ddd549ca1daa2b9f4788e925e4b
[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 _0x5ff3=['Unauthorized','params','Invalid\x20user\x20setting\x20id','UserSetting','find','body','catch','ioredis','api','../../mysqldb','socket.io-emitter','redis','./user-setting.socket','defaults','localhost','json','then','name','status','send','user','admin'];(function(_0x147daa,_0x567d78){var _0x5d1832=function(_0x564f30){while(--_0x564f30){_0x147daa['push'](_0x147daa['shift']());}};_0x5d1832(++_0x567d78);}(_0x5ff3,0x17d));var _0x35ff=function(_0x46f176,_0x1feba9){_0x46f176=_0x46f176-0x0;var _0x4bd660=_0x5ff3[_0x46f176];return _0x4bd660;};'use strict';var _=require('lodash');var Redis=require(_0x35ff('0x0'));var logger=require('../../config/logger')(_0x35ff('0x1'));var config=require('../../config/environment');var db=require(_0x35ff('0x2'))['db'];var socket=require(_0x35ff('0x3'))(new Redis(config[_0x35ff('0x4')]));require(_0x35ff('0x5'))['register'](socket);config[_0x35ff('0x4')]=_[_0x35ff('0x6')](config[_0x35ff('0x4')],{'host':_0x35ff('0x7'),'port':0x18eb});function respondWithResult(_0x30c3ff,_0x495c31){_0x495c31=_0x495c31||0xc8;return function(_0x92b403){if(_0x92b403){return _0x30c3ff['status'](_0x495c31)[_0x35ff('0x8')](_0x92b403);}};}function saveUpdates(_0xfcec34){return function(_0x224ce5){if(_0x224ce5){return _0x224ce5['update'](_0xfcec34)[_0x35ff('0x9')](function(_0x59ec4f){return _0x59ec4f;});}return null;};}function handleEntityNotFound(_0x1cd2c6){return function(_0x228fea){if(!_0x228fea){_0x1cd2c6['sendStatus'](0x194);}return _0x228fea;};}function handleError(_0x5c3131,_0x3aba51){_0x3aba51=_0x3aba51||0x1f4;return function(_0x574c81){logger['error'](_0x574c81['stack']);if(_0x574c81[_0x35ff('0xa')]){delete _0x574c81[_0x35ff('0xa')];}_0x5c3131[_0x35ff('0xb')](_0x3aba51)[_0x35ff('0xc')](_0x574c81);};}exports['update']=function(_0x33154f,_0xab42e6){if(_0x33154f[_0x35ff('0xd')]['role']!==_0x35ff('0xe'))throw new Error(_0x35ff('0xf'));if(isNaN(Number(_0x33154f[_0x35ff('0x10')]['id'])))throw new Error(_0x35ff('0x11'));return db[_0x35ff('0x12')][_0x35ff('0x13')]({'where':{'id':_0x33154f[_0x35ff('0x10')]['id']}})[_0x35ff('0x9')](handleEntityNotFound(_0xab42e6,null))[_0x35ff('0x9')](saveUpdates(_0x33154f[_0x35ff('0x14')],null))[_0x35ff('0x9')](respondWithResult(_0xab42e6,null))[_0x35ff('0x15')](handleError(_0xab42e6,null));};