From 048ccd7c4c259ec2292316120539c447497364c6 Mon Sep 17 00:00:00 2001 From: quentin Date: Tue, 29 Oct 2024 19:12:29 -0500 Subject: [PATCH] GrantManager getValues off by one --- API/Services/GrantManager.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/API/Services/GrantManager.cs b/API/Services/GrantManager.cs index 42e8e5c..ac0c32f 100644 --- a/API/Services/GrantManager.cs +++ b/API/Services/GrantManager.cs @@ -7,25 +7,20 @@ namespace API.Services { public class GrantManager : IGrantManager { + private readonly SASGContext _context; private ILogger _logger; - private SASGContext _context; - + public GrantManager(ILogger logger, SASGContext context) { _logger = logger; _context = context; } - private IEnumerable getGrant(Expression> whereClause) - { - return _context.Set().Where(whereClause); - } - public bool hasGrant(ulong permissionId, string grantName) { return getGrant(x => x.permissionId == permissionId && x.name.Equals(grantName)).Any(); } - + public List getValues(ulong permissionId, string grantName) { List grants = getGrant(x => x.permissionId == permissionId && x.name.StartsWith(grantName + ".")).ToList(); @@ -33,7 +28,7 @@ namespace API.Services List values = []; foreach (Grant grant in grants) { - string value = grant.name.Substring(grantName.Length); + string value = grant.name.Substring(grantName.Length + 1); if (value.Contains('.')) // Were not looking at a value and instead another grant continue; @@ -81,5 +76,10 @@ namespace API.Services return uLongValues; } + + private IEnumerable getGrant(Expression> whereClause) + { + return _context.Set().Where(whereClause); + } } }