public SaasPermissionClaim()

in src/Saas.Lib/Saas.Identity/Authorization/Model/Claim/SaasPermissionClaim.cs [15:39]


    public SaasPermissionClaim(string permissionStr, string permissionSetName)
    {
        var permisionElements = permissionStr.Split('.');

        if (permisionElements[0] != permissionSetName)
        {
            IsValid = false;
            return;
        }

        if (permisionElements.Length != 3)
        {
            throw new ArgumentException($"Invalid permission string '{permissionStr}'. Should have precisely three elements, seperated by dots. This string has {permisionElements.Length} elements.");
        }

        Entity = Guid.TryParse(permisionElements[1], out Guid entityId)
            ? entityId
            : throw new ArgumentException($"Invalid permission string '{permissionStr}'. Middle element with value '{permisionElements[1]}' is not recognized as a Guid.");

        if (Enum.TryParse(permisionElements[2], out TPermission permission))
        {
            Permission = permission;
            IsValid = true;
        }
    }