diff options
Diffstat (limited to 'BackEnd/Timeline/Controllers/TokenController.cs')
-rw-r--r-- | BackEnd/Timeline/Controllers/TokenController.cs | 66 |
1 files changed, 14 insertions, 52 deletions
diff --git a/BackEnd/Timeline/Controllers/TokenController.cs b/BackEnd/Timeline/Controllers/TokenController.cs index e728ae6d..080a4dc4 100644 --- a/BackEnd/Timeline/Controllers/TokenController.cs +++ b/BackEnd/Timeline/Controllers/TokenController.cs @@ -1,17 +1,13 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.Logging;
using System;
-using System.Globalization;
using System.Threading.Tasks;
-using Timeline.Helpers;
using Timeline.Models.Http;
using Timeline.Services;
using Timeline.Services.Mapper;
using Timeline.Services.Token;
using Timeline.Services.User;
-using static Timeline.Resources.Controllers.TokenController;
namespace Timeline.Controllers
{
@@ -24,15 +20,12 @@ namespace Timeline.Controllers public class TokenController : Controller
{
private readonly IUserTokenManager _userTokenManager;
- private readonly ILogger<TokenController> _logger;
private readonly IGenericMapper _mapper;
private readonly IClock _clock;
- /// <summary></summary>
- public TokenController(IUserTokenManager userTokenManager, ILogger<TokenController> logger, IGenericMapper mapper, IClock clock)
+ public TokenController(IUserTokenManager userTokenManager, IGenericMapper mapper, IClock clock)
{
_userTokenManager = userTokenManager;
- _logger = logger;
_mapper = mapper;
_clock = clock;
}
@@ -47,43 +40,28 @@ namespace Timeline.Controllers [ProducesResponseType(StatusCodes.Status400BadRequest)]
public async Task<ActionResult<HttpCreateTokenResponse>> Create([FromBody] HttpCreateTokenRequest request)
{
- void LogFailure(string reason, Exception? e = null)
- {
- _logger.LogInformation(e, Log.Format(LogCreateFailure,
- ("Reason", reason),
- ("Username", request.Username),
- ("Password", request.Password),
- ("Expire (in days)", request.Expire)
- ));
- }
try
{
DateTime? expireTime = null;
- if (request.Expire != null)
+ if (request.Expire is not null)
expireTime = _clock.GetCurrentTime().AddDays(request.Expire.Value);
var result = await _userTokenManager.CreateTokenAsync(request.Username, request.Password, expireTime);
- _logger.LogInformation(Log.Format(LogCreateSuccess,
- ("Username", request.Username),
- ("Expire At", expireTime?.ToString(CultureInfo.CurrentCulture.DateTimeFormat) ?? "default")
- ));
return new HttpCreateTokenResponse
{
Token = result.Token,
User = await _mapper.MapAsync<HttpUser>(result.User, Url, User)
};
}
- catch (UserNotExistException e)
+ catch (EntityNotExistException)
{
- LogFailure(LogUserNotExist, e);
- return BadRequest(ErrorResponse.TokenController.Create_BadCredential());
+ return this.BadRequestWithCommonResponse(ErrorCodes.TokenController.CreateBadCredential, Resource.MessageTokenCreateBadCredential);
}
- catch (BadPasswordException e)
+ catch (BadPasswordException)
{
- LogFailure(LogBadPassword, e);
- return BadRequest(ErrorResponse.TokenController.Create_BadCredential());
+ return this.BadRequestWithCommonResponse(ErrorCodes.TokenController.CreateBadCredential, Resource.MessageTokenCreateBadCredential);
}
}
@@ -97,45 +75,29 @@ namespace Timeline.Controllers [ProducesResponseType(StatusCodes.Status400BadRequest)]
public async Task<ActionResult<HttpVerifyTokenResponse>> Verify([FromBody] HttpVerifyTokenRequest request)
{
- void LogFailure(string reason, Exception? e = null, params (string, object?)[] otherProperties)
- {
- var properties = new (string, object?)[2 + otherProperties.Length];
- properties[0] = ("Reason", reason);
- properties[1] = ("Token", request.Token);
- otherProperties.CopyTo(properties, 2);
- _logger.LogInformation(e, Log.Format(LogVerifyFailure, properties));
- }
-
try
{
var result = await _userTokenManager.VerifyTokenAsync(request.Token);
- _logger.LogInformation(Log.Format(LogVerifySuccess,
- ("Username", result.Username), ("Token", request.Token)));
return new HttpVerifyTokenResponse
{
User = await _mapper.MapAsync<HttpUser>(result, Url, User)
};
}
- catch (UserTokenTimeExpiredException e)
+ catch (UserTokenTimeExpiredException)
{
- LogFailure(LogVerifyExpire, e, ("Expire Time", e.ExpireTime), ("Verify Time", e.VerifyTime));
- return BadRequest(ErrorResponse.TokenController.Verify_TimeExpired());
+ return this.BadRequestWithCommonResponse(ErrorCodes.TokenController.VerifyTimeExpired, Resource.MessageTokenVerifyTimeExpired);
}
- catch (UserTokenVersionExpiredException e)
+ catch (UserTokenVersionExpiredException)
{
- LogFailure(LogVerifyOldVersion, e, ("Token Version", e.TokenVersion), ("Required Version", e.RequiredVersion));
- return BadRequest(ErrorResponse.TokenController.Verify_OldVersion());
-
+ return this.BadRequestWithCommonResponse(ErrorCodes.TokenController.VerifyOldVersion, Resource.MessageTokenVerifyOldVersion);
}
- catch (UserTokenBadFormatException e)
+ catch (UserTokenBadFormatException)
{
- LogFailure(LogVerifyBadFormat, e);
- return BadRequest(ErrorResponse.TokenController.Verify_BadFormat());
+ return this.BadRequestWithCommonResponse(ErrorCodes.TokenController.VerifyBadFormat, Resource.MessageTokenVerifyBadFormat);
}
- catch (UserTokenUserNotExistException e)
+ catch (UserTokenUserNotExistException)
{
- LogFailure(LogVerifyUserNotExist, e);
- return BadRequest(ErrorResponse.TokenController.Verify_UserNotExist());
+ return this.BadRequestWithCommonResponse(ErrorCodes.TokenController.VerifyUserNotExist, Resource.MessageTokenVerifyUserNotExist);
}
}
}
|