< Summary

Information
Class: LGDXRobotCloud.API.Areas.Identity.Controllers.AuthController
Assembly: LGDXRobotCloud.API
File(s): /builds/yukaitung/lgdxrobot2-cloud/LGDXRobotCloud.API/Areas/Identity/Controllers/AuthController.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 18
Coverable lines: 18
Total lines: 53
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 2
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)0%620%
Login()100%210%
ForgotPassword()100%210%
ResetPassword()100%210%
Refresh()100%210%

File(s)

/builds/yukaitung/lgdxrobot2-cloud/LGDXRobotCloud.API/Areas/Identity/Controllers/AuthController.cs

#LineLine coverage
 1using LGDXRobotCloud.API.Services.Identity;
 2using LGDXRobotCloud.Data.Models.Business.Identity;
 3using LGDXRobotCloud.Data.Models.DTOs.V1.Requests;
 4using LGDXRobotCloud.Data.Models.DTOs.V1.Responses;
 5using LGDXRobotCloud.Utilities.Constants;
 6using Microsoft.AspNetCore.Authorization;
 7using Microsoft.AspNetCore.Mvc;
 8
 9namespace LGDXRobotCloud.API.Areas.Identity.Controllers;
 10
 11[ApiController]
 12[Area("Identity")]
 13[Route("[area]/[controller]")]
 14[Authorize(AuthenticationSchemes = LgdxRobotCloudAuthenticationSchemes.ApiKeyOrCertificationScheme)]
 015public sealed class AuthController(IAuthService authService) : ControllerBase
 16{
 017  private readonly IAuthService _authService = authService ?? throw new ArgumentNullException(nameof(authService));
 18
 19  [HttpPost("Login")]
 20  [ProducesResponseType(typeof(LoginResponseDto), StatusCodes.Status200OK)]
 21  [ProducesResponseType(typeof(ValidationProblemDetails), StatusCodes.Status400BadRequest)]
 22  public async Task<ActionResult<LoginResponseDto>>Login(LoginRequestDto loginRequestDto)
 023  {
 024    var result = await _authService.LoginAsync(loginRequestDto.ToBusinessModel());
 025    return Ok(result.ToDto());
 026  }
 27
 28  [HttpPost("ForgotPassword")]
 29  [ProducesResponseType(StatusCodes.Status200OK)]
 30  public async Task<ActionResult> ForgotPassword(ForgotPasswordRequestDto forgotPasswordRequestDto)
 031  {
 032    await _authService.ForgotPasswordAsync(forgotPasswordRequestDto.ToBusinessModel());
 033    return Ok();
 034  }
 35
 36  [HttpPost("ResetPassword")]
 37  [ProducesResponseType(StatusCodes.Status200OK)]
 38  [ProducesResponseType(typeof(ValidationProblemDetails), StatusCodes.Status400BadRequest)]
 39  public async Task<ActionResult> ResetPassword(ResetPasswordRequestDto resetPasswordRequestDto)
 040  {
 041    await _authService.ResetPasswordAsync(resetPasswordRequestDto.ToBusinessModel());
 042    return Ok();
 043  }
 44
 45  [HttpPost("Refresh")]
 46  [ProducesResponseType(typeof(RefreshTokenResponseDto), StatusCodes.Status200OK)]
 47  [ProducesResponseType(typeof(ValidationProblemDetails), StatusCodes.Status400BadRequest)]
 48  public async Task<ActionResult> Refresh(RefreshTokenRequestDto refreshTokenRequestDto)
 049  {
 050    var result = await _authService.RefreshTokenAsync(refreshTokenRequestDto.ToBusinessModel());
 051    return Ok(result.ToDto());
 052  }
 53}