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
|
public class GrantManager : IGrantManager
|
||||||
{
|
{
|
||||||
|
private readonly SASGContext _context;
|
||||||
private ILogger<GrantManager> _logger;
|
private ILogger<GrantManager> _logger;
|
||||||
private SASGContext _context;
|
|
||||||
|
|
||||||
public GrantManager(ILogger<GrantManager> logger, SASGContext context)
|
public GrantManager(ILogger<GrantManager> logger, SASGContext context)
|
||||||
{
|
{
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_context = context;
|
_context = context;
|
||||||
}
|
}
|
||||||
|
|
||||||
private IEnumerable<Grant> getGrant(Expression<Func<Grant, bool>> whereClause)
|
|
||||||
{
|
|
||||||
return _context.Set<Grant>().Where(whereClause);
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool hasGrant(ulong permissionId, string grantName)
|
public bool hasGrant(ulong permissionId, string grantName)
|
||||||
{
|
{
|
||||||
return getGrant(x => x.permissionId == permissionId && x.name.Equals(grantName)).Any();
|
return getGrant(x => x.permissionId == permissionId && x.name.Equals(grantName)).Any();
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<string> getValues(ulong permissionId, string grantName)
|
public List<string> getValues(ulong permissionId, string grantName)
|
||||||
{
|
{
|
||||||
List<Grant> grants = getGrant(x => x.permissionId == permissionId && x.name.StartsWith(grantName + ".")).ToList();
|
List<Grant> grants = getGrant(x => x.permissionId == permissionId && x.name.StartsWith(grantName + ".")).ToList();
|
||||||
@ -33,7 +28,7 @@ namespace API.Services
|
|||||||
List<string> values = [];
|
List<string> values = [];
|
||||||
foreach (Grant grant in grants)
|
foreach (Grant grant in grants)
|
||||||
{
|
{
|
||||||
string value = grant.name.Substring(grantName.Length);
|
string value = grant.name.Substring(grantName.Length + 1);
|
||||||
if (value.Contains('.'))
|
if (value.Contains('.'))
|
||||||
// Were not looking at a value and instead another grant
|
// Were not looking at a value and instead another grant
|
||||||
continue;
|
continue;
|
||||||
@ -81,5 +76,10 @@ namespace API.Services
|
|||||||
|
|
||||||
return uLongValues;
|
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