GrantManager getValues off by one
This commit is contained in:
parent
eac9c784fb
commit
048ccd7c4c
@ -7,25 +7,20 @@ namespace API.Services
|
||||
{
|
||||
public class GrantManager : IGrantManager
|
||||
{
|
||||
private readonly SASGContext _context;
|
||||
private ILogger<GrantManager> _logger;
|
||||
private SASGContext _context;
|
||||
|
||||
|
||||
public GrantManager(ILogger<GrantManager> logger, SASGContext context)
|
||||
{
|
||||
_logger = logger;
|
||||
_context = context;
|
||||
}
|
||||
|
||||
private IEnumerable<Grant> getGrant(Expression<Func<Grant, bool>> whereClause)
|
||||
{
|
||||
return _context.Set<Grant>().Where(whereClause);
|
||||
}
|
||||
|
||||
public bool hasGrant(ulong permissionId, string grantName)
|
||||
{
|
||||
return getGrant(x => x.permissionId == permissionId && x.name.Equals(grantName)).Any();
|
||||
}
|
||||
|
||||
|
||||
public List<string> getValues(ulong permissionId, string grantName)
|
||||
{
|
||||
List<Grant> grants = getGrant(x => x.permissionId == permissionId && x.name.StartsWith(grantName + ".")).ToList();
|
||||
@ -33,7 +28,7 @@ namespace API.Services
|
||||
List<string> 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<Grant> getGrant(Expression<Func<Grant, bool>> whereClause)
|
||||
{
|
||||
return _context.Set<Grant>().Where(whereClause);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user