< Summary - Syki

Information
Class: Syki.Back.Features.Cross.LoginMfa.LoginMfaController
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/Cross/LoginMfa/LoginMfaController.cs
Tag: 36_19195353031
Line coverage
100%
Covered lines: 7
Uncovered lines: 0
Coverable lines: 7
Total lines: 34
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
LoginMfa()100%22100%

File(s)

/home/runner/work/syki/syki/Back/Features/Cross/LoginMfa/LoginMfaController.cs

#LineLine coverage
 1namespace Syki.Back.Features.Cross.LoginMfa;
 2
 3[ApiController]
 4[EnableRateLimiting("Small")]
 65public class LoginMfaController(LoginMfaService service, AuthSettings settings) : ControllerBase
 6{
 7    /// <summary>
 8    /// Login MFA 🔓
 9    /// </summary>
 10    /// <remarks>
 11    /// Realiza login utilizando o token MFA.
 12    /// </remarks>
 13    [HttpPost("login/mfa")]
 14    [SwaggerResponseExample(200, typeof(ResponseExamples))]
 15    [SwaggerResponseExample(400, typeof(ErrorsExamples))]
 16    public async Task<IActionResult> LoginMfa([FromBody] LoginMfaIn data)
 17    {
 618        var result = await service.LoginMfa(data);
 19
 620        if (result.IsSuccess)
 21        {
 222            Response.AppendSykiJwtCookie(result.Success.AccessToken, settings);
 223            result.Success.AccessToken = "";
 24        }
 25
 626        return result.Match<IActionResult>(Ok, BadRequest);
 627    }
 28}
 29
 30internal class RequestExamples : ExamplesProvider<LoginMfaIn>;
 31internal class ResponseExamples : ExamplesProvider<LoginMfaOut>;
 32internal class ErrorsExamples : ErrorExamplesProvider<
 33    LoginRequiresTwoFactor,
 34    LoginWrongEmailOrPassword>;