refactor: Projektdateien migriert. Cloud-NuGet-Pakete durch lokale NuGet-Projekte ersetzt.
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
using DAL;
|
||||
using DAL._Shared.SharedModels;
|
||||
using DAL._Shared.SharedRepositories;
|
||||
using HRD.LDAPService.JWT;
|
||||
using HRD.WebApi.Controllers;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Net.Http.Headers;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StaffDBServer.SharedControllers
|
||||
{
|
||||
[JWTAuthorizeAttribute]
|
||||
public class WebAppUserController : BaseMiniController
|
||||
{
|
||||
public WebAppUserController() : base(new WebApiContext())
|
||||
{
|
||||
}
|
||||
|
||||
[HttpPost("Culture")]
|
||||
public async Task<IActionResult> UpdateCultureAsync([FromBody] WebAppUser userFromClient)
|
||||
{
|
||||
try
|
||||
{
|
||||
//User Should by in the DB
|
||||
WebAppUserRepository webAppUserRepository = new WebAppUserRepository();
|
||||
WebAppUser userFromDB = await webAppUserRepository.GetByAsync(u => u.LoginName == userFromClient.LoginName, false);
|
||||
|
||||
if (userFromDB != default) //first login, get User from WebAppEmployeeInfo
|
||||
{
|
||||
userFromDB.Language = userFromClient.Language;
|
||||
userFromDB.Culture = userFromClient.Culture;
|
||||
if (!await webAppUserRepository.UpdateAsync(userFromDB))
|
||||
{
|
||||
return StatusCode(StatusCodes.Status400BadRequest, $"Cannot set User's language/culture");
|
||||
}
|
||||
}
|
||||
return new OkObjectResult(userFromClient);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
WriteLogException(ex, ex.Message);
|
||||
return StatusCode(StatusCodes.Status400BadRequest, $"Cannot set User's language/culture");
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost("LoginWithJWT")]
|
||||
public async Task<IActionResult> LoginWithAuthorizationAsync([FromBody] WebAppUser userFromClient)
|
||||
{
|
||||
try
|
||||
{
|
||||
var accessToken = Request.Headers[HeaderNames.Authorization];
|
||||
WebAppUserHelper webAppUserHelper = new WebAppUserHelper();
|
||||
WebAppUser result = await webAppUserHelper.CheckLoginWithJWTAsync(accessToken, userFromClient.ClientVersion);
|
||||
return new OkObjectResult(result);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
WriteLogException(ex, ex.Message);
|
||||
return Unauthorized(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost("LoginWithNameAndPassword/{webApiId}"),]
|
||||
[Microsoft.AspNetCore.Authorization.AllowAnonymous]
|
||||
public async Task<IActionResult> LoginWithNameAndPasswordAsync([FromBody] WebAppUser userFromClient, int webApiId)
|
||||
{
|
||||
try
|
||||
{
|
||||
WebAppUserHelper webAppUserHelper = new WebAppUserHelper();
|
||||
var result = await webAppUserHelper.CheckLoginWithNameAndPasswordAsync(userFromClient, webApiId);
|
||||
return new OkObjectResult(result);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
WriteLogException(ex, ex.Message);
|
||||
return NotFound(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost("LoginWithNameAndPassword")]
|
||||
[Microsoft.AspNetCore.Authorization.AllowAnonymous]
|
||||
public async Task<IActionResult> LoginWithNameAndPasswordAsync([FromBody] WebAppUser userFromClient)
|
||||
{
|
||||
try
|
||||
{
|
||||
WebAppUserHelper webAppUserHelper = new WebAppUserHelper();
|
||||
var result = await webAppUserHelper.CheckLoginWithNameAndPasswordAsync(userFromClient);
|
||||
return new OkObjectResult(result);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
WriteLogException(ex, ex.Message);
|
||||
return NotFound(ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user