< Summary

Information
Class: ArturRios.Util.WebApi.Security.Mappers.DefaultAuthenticatedUserMapper
Assembly: ArturRios.Util.WebApi
File(s): /home/runner/work/dotnet-webapi-util/dotnet-webapi-util/src/Security/Mappers/DefaultAuthenticatedUserMapper.cs
Line coverage
100%
Covered lines: 10
Uncovered lines: 0
Coverable lines: 10
Total lines: 37
Line coverage: 100%
Branch coverage
100%
Covered branches: 8
Total branches: 8
Branch coverage: 100%
Method coverage
100%
Covered methods: 2
Fully covered methods: 2
Total methods: 2
Method coverage: 100%
Full method coverage: 100%

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
ToClaims(...)100%11100%
FromClaims(...)100%88100%

File(s)

/home/runner/work/dotnet-webapi-util/dotnet-webapi-util/src/Security/Mappers/DefaultAuthenticatedUserMapper.cs

#LineLine coverage
 1using ArturRios.Util.WebApi.Security.Constants;
 2using ArturRios.Util.WebApi.Security.Interfaces;
 3using ArturRios.Util.WebApi.Security.Records;
 4
 5namespace ArturRios.Util.WebApi.Security.Mappers;
 6
 7/// <summary>
 8/// The mapper used when an app registers none of its own: it maps <see cref="IAuthenticatedUser.Id"/> and
 9/// <see cref="IAuthenticatedUser.RoleId"/> through <see cref="TokenClaimKeys"/> and produces an
 10/// <see cref="AuthenticatedUser"/>. Also the reference implementation for writing your own.
 11/// </summary>
 12public class DefaultAuthenticatedUserMapper : IAuthenticatedUserMapper
 13{
 14    /// <inheritdoc />
 15    public Dictionary<string, string> ToClaims(IAuthenticatedUser user) =>
 1916        new()
 1917        {
 1918            { TokenClaimKeys.Id, user.Id.ToString() },
 1919            { TokenClaimKeys.RoleId, user.RoleId.ToString() }
 1920        };
 21
 22    /// <inheritdoc />
 23    public IAuthenticatedUser? FromClaims(IReadOnlyDictionary<string, string> claims)
 24    {
 1925        if (!claims.TryGetValue(TokenClaimKeys.Id, out var idClaim) || !Guid.TryParse(idClaim, out var id))
 26        {
 427            return null;
 28        }
 29
 1530        if (!claims.TryGetValue(TokenClaimKeys.RoleId, out var roleClaim) || !int.TryParse(roleClaim, out var roleId))
 31        {
 232            return null;
 33        }
 34
 1335        return new AuthenticatedUser(id, roleId);
 36    }
 37}