* Refactor and fix machine self-registration into db
+ Added change language API + Added Role to user info
This commit is contained in:
@@ -5,6 +5,9 @@ using System;
|
||||
using Step.Model.DatabaseModels;
|
||||
using System.Security.Claims;
|
||||
using System.Linq;
|
||||
using static Step.Utils.LanguageController;
|
||||
using Step.Model.DTOModels;
|
||||
using System.Globalization;
|
||||
|
||||
namespace Step.Controllers.WebApi
|
||||
{
|
||||
@@ -29,9 +32,42 @@ namespace Step.Controllers.WebApi
|
||||
if (userId == null)
|
||||
return Unauthorized();
|
||||
|
||||
using (UsersController user = new UsersController())
|
||||
using (UsersController userController = new UsersController())
|
||||
{
|
||||
return Ok(user.GetUserInfo(Convert.ToInt32(userId.Value)));
|
||||
return Ok(userController.GetUserInfo(Convert.ToInt32(userId.Value)));
|
||||
}
|
||||
}
|
||||
|
||||
[Route("language"), HttpPut]
|
||||
[WebApiAuthorize(FunctionAccess = "userData", Action = ACTIONS.READ)]
|
||||
public IHttpActionResult PutUserLanguage([FromBody] dynamic user)
|
||||
{
|
||||
// If no body return 400
|
||||
if (user == null)
|
||||
return BadRequest();
|
||||
|
||||
// Validate user id
|
||||
var identity = User.Identity as ClaimsIdentity;
|
||||
var userId = identity.Claims.Where(c => c.Type == USER_ID_KEY).SingleOrDefault();
|
||||
|
||||
if (userId == null)
|
||||
return Unauthorized();
|
||||
|
||||
// Parse body data and validate language
|
||||
var newLanguage = (string)user.language;
|
||||
|
||||
if (newLanguage == null || !IsValidLanguage(newLanguage))
|
||||
return BadRequest();
|
||||
|
||||
if (!LanguageIsAvailable(newLanguage))
|
||||
return NotFound();
|
||||
|
||||
|
||||
using (UsersController userController = new UsersController())
|
||||
{
|
||||
userController.ChangeUserLanguage(Convert.ToInt32(userId.Value), CultureInfo.CreateSpecificCulture(newLanguage));
|
||||
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user