feat: implement RadiusService for guest user management and authentication configurations
Build and Push Docker Image to Gitea Container Registry / build-and-push (push) Successful in 1m10s

This commit is contained in:
Tygozwolle
2026-07-24 20:18:41 +02:00
parent 6371826f5e
commit d88e03ea09
2 changed files with 7 additions and 5 deletions
+5 -5
View File
@@ -164,13 +164,13 @@ public class RadiusService : IRadiusService
public async Task<List<UserUsageDto>> GetAllUsersWithUsageAsync()
{
var profiles = await _db.GuestProfiles.OrderByDescending(p => p.CreatedAt).ToListAsync();
var passwords = await _db.RadCheck
var profiles = await _db.GuestProfiles.AsNoTracking().OrderByDescending(p => p.CreatedAt).ToListAsync();
var passwords = await _db.RadCheck.AsNoTracking()
.Where(rc => rc.Attribute == "Cleartext-Password")
.ToDictionaryAsync(rc => rc.Username, rc => rc.Value);
// Group accounting data by username (for session time and connection status)
var acctStats = await _db.RadAcct
var acctStats = await _db.RadAcct.AsNoTracking()
.GroupBy(ra => ra.Username)
.Select(g => new
{
@@ -181,7 +181,7 @@ public class RadiusService : IRadiusService
.ToDictionaryAsync(g => g.Username);
// Fetch data usage from the new dedicated table
var dataUsage = await _db.GuestDataUsage.ToDictionaryAsync(du => du.Username);
var dataUsage = await _db.GuestDataUsage.AsNoTracking().ToDictionaryAsync(du => du.Username);
var result = new List<UserUsageDto>();
@@ -213,7 +213,7 @@ public class RadiusService : IRadiusService
public async Task<List<RadAcct>> GetActiveSessionsAsync()
{
return await _db.RadAcct
return await _db.RadAcct.AsNoTracking()
.Where(ra => ra.AcctStopTime == null)
.OrderByDescending(ra => ra.AcctStartTime)
.ToListAsync();