< Summary

Information
Class: Despesas.Backend.Controllers.Abstractions.UnitControllerBase
Assembly: Despesas.Backend
File(s): /src/Despesas.Backend/Controllers/Abstractions/UnitControllerBase.cs
Line coverage
75%
Covered lines: 9
Uncovered lines: 3
Coverable lines: 12
Total lines: 28
Line coverage: 75%
Branch coverage
50%
Covered branches: 3
Total branches: 6
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor()100%11100%
get_UserIdentity()50%7672.72%

File(s)

/src/Despesas.Backend/Controllers/Abstractions/UnitControllerBase.cs

#LineLine coverage
 1using Microsoft.AspNetCore.Mvc;
 2using System.IdentityModel.Tokens.Jwt;
 3
 4namespace Despesas.Backend.Controllers.Abstractions;
 5
 6[ApiController]
 7public abstract class UnitControllerBase : ControllerBase
 8{
 3159    protected UnitControllerBase() { }
 10    protected Guid UserIdentity
 11    {
 12        get
 9513        {
 14            try
 9515            {
 9516                var tokenHandler = new JwtSecurityTokenHandler();
 9517                var token = HttpContext.Request.Headers.Authorization.ToString();
 9518                var jwtToken = tokenHandler.ReadToken(token.Replace("Bearer ", "")) as JwtSecurityToken;
 19019                var userId = jwtToken?.Claims?.FirstOrDefault(c => c.Type == "sub")?.Value;
 9520                return new Guid(userId);
 21            }
 022            catch
 023            {
 024                return Guid.Empty;
 25            }
 9526        }
 27    }
 28}

Methods/Properties

.ctor()
get_UserIdentity()