All checks were successful
Build & Deploy Leave Service / build (push) Successful in 1m49s
30 lines
1.6 KiB
C#
30 lines
1.6 KiB
C#
using BMA.EHR.Domain.Common;
|
|
using System.Security.Claims;
|
|
|
|
namespace BMA.EHR.Domain.Extensions
|
|
{
|
|
public static class ClaimsPrincipalExtensions
|
|
{
|
|
public static string? GetClaimValue(this ClaimsPrincipal user, string claimType)
|
|
{
|
|
return user?.FindFirst(claimType)?.Value;
|
|
}
|
|
|
|
public static Guid? GetGuidClaim(this ClaimsPrincipal user, string claimType)
|
|
{
|
|
var value = user?.GetClaimValue(claimType);
|
|
return Guid.TryParse(value, out var guid) ? guid : null;
|
|
}
|
|
|
|
// Convenience methods for common claims
|
|
public static string? GetEmpType(this ClaimsPrincipal user) => user.GetClaimValue(BmaClaimTypes.EmpType);
|
|
public static Guid? GetOrgChild1DnaId(this ClaimsPrincipal user) => user.GetGuidClaim(BmaClaimTypes.OrgChild1DnaId);
|
|
public static Guid? GetOrgChild2DnaId(this ClaimsPrincipal user) => user.GetGuidClaim(BmaClaimTypes.OrgChild2DnaId);
|
|
public static Guid? GetOrgChild3DnaId(this ClaimsPrincipal user) => user.GetGuidClaim(BmaClaimTypes.OrgChild3DnaId);
|
|
public static Guid? GetOrgChild4DnaId(this ClaimsPrincipal user) => user.GetGuidClaim(BmaClaimTypes.OrgChild4DnaId);
|
|
public static Guid? GetOrgRootDnaId(this ClaimsPrincipal user) => user.GetGuidClaim(BmaClaimTypes.OrgRootDnaId);
|
|
public static Guid? GetProfileId(this ClaimsPrincipal user) => user.GetGuidClaim(BmaClaimTypes.ProfileId);
|
|
public static string? GetPrefix(this ClaimsPrincipal user) => user.GetClaimValue(BmaClaimTypes.Prefix);
|
|
public static string? GetName(this ClaimsPrincipal user) => user.GetClaimValue(BmaClaimTypes.Name);
|
|
}
|
|
}
|