< Summary - Syki

Information
Class: Syki.Back.Features.Cross.Login.LoginController
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/Cross/Login/LoginController.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%
Login()100%22100%

File(s)

/home/runner/work/syki/syki/Back/Features/Cross/Login/LoginController.cs

#LineLine coverage
 1namespace Syki.Back.Features.Cross.Login;
 2
 3[ApiController]
 4[EnableRateLimiting("Small")]
 9565public class LoginController(LoginService service, AuthSettings settings) : ControllerBase
 6{
 7    /// <summary>
 8    /// Login 🔓
 9    /// </summary>
 10    /// <remarks>
 11    /// Realiza login no sistema.
 12    /// </remarks>
 13    [HttpPost("login")]
 14    [SwaggerResponseExample(200, typeof(ResponseExamples))]
 15    [SwaggerResponseExample(400, typeof(ErrorsExamples))]
 16    public async Task<IActionResult> Login([FromBody] LoginIn data)
 17    {
 95618        var result = await service.Login(data);
 19
 95620        if (result.IsSuccess)
 21        {
 94222            Response.AppendSykiJwtCookie(result.Success.AccessToken, settings);
 94223            result.Success.AccessToken = "";
 24        }
 25
 95626        return result.Match<IActionResult>(Ok, BadRequest);
 95627    }
 28}
 29
 30internal class RequestExamples : ExamplesProvider<LoginIn>;
 31internal class ResponseExamples : ExamplesProvider<LoginOut>;
 32internal class ErrorsExamples : ErrorExamplesProvider<
 33    LoginRequiresTwoFactor,
 34    LoginWrongEmailOrPassword>;