🐛 Fix get device API

This commit is contained in:
2025-12-03 23:29:31 +08:00
parent 33abf12e41
commit ee5c7cb7ce

View File

@@ -571,12 +571,12 @@ public class AccountCurrentController(
.Where(device => device.AccountId == currentUser.Id) .Where(device => device.AccountId == currentUser.Id)
.ToListAsync(); .ToListAsync();
var sessionDevices = devices.Select(SnAuthClientWithSessions.FromClient).ToList(); var sessionDevices = devices.ConvertAll(SnAuthClientWithSessions.FromClient).ToList();
var clientIds = sessionDevices.Select(x => x.Id).ToList(); var clientIds = sessionDevices.Select(x => x.Id).ToList();
var authSessions = await db.AuthSessions var authSessions = await db.AuthSessions
.Where(c => clientIds.Contains(c.Id)) .Where(c => c.ClientId != null && clientIds.Contains(c.ClientId.Value))
.GroupBy(c => c.Id) .GroupBy(c => c.ClientId!.Value)
.ToDictionaryAsync(c => c.Key, c => c.ToList()); .ToDictionaryAsync(c => c.Key, c => c.ToList());
foreach (var dev in sessionDevices) foreach (var dev in sessionDevices)
if (authSessions.TryGetValue(dev.Id, out var challenge)) if (authSessions.TryGetValue(dev.Id, out var challenge))