Skip to content

Commit cc11289

Browse files
committed
Improve SessionService SessionLister
1 parent 6775c2d commit cc11289

3 files changed

Lines changed: 6 additions & 8 deletions

File tree

API/Controller/Sessions/ListSessions.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,9 @@ namespace OpenShock.API.Controller.Sessions;
66
public sealed partial class SessionsController
77
{
88
[HttpGet]
9-
public async Task<IEnumerable<LoginSessionResponse>> ListSessions()
9+
public IAsyncEnumerable<LoginSessionResponse> ListSessions()
1010
{
11-
var sessions = await _sessionService.ListSessionsByUserIdAsync(CurrentUser.Id);
12-
13-
return sessions.Select(LoginSessionResponse.MapFrom);
11+
return _sessionService.ListSessionsByUserIdAsync(CurrentUser.Id)
12+
.Select(LoginSessionResponse.MapFrom);
1413
}
1514
}

Common/Services/Session/ISessionService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ public interface ISessionService
66
{
77
public Task<CreateSessionResult> CreateSessionAsync(Guid userId, string userAgent, string ipAddress);
88

9-
public Task<IReadOnlyList<LoginSession>> ListSessionsByUserIdAsync(Guid userId);
9+
public IAsyncEnumerable<LoginSession> ListSessionsByUserIdAsync(Guid userId);
1010

1111
public Task<LoginSession?> GetSessionByTokenAsync(string sessionToken);
1212

Common/Services/Session/SessionService.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,9 @@ await _loginSessions.InsertAsync(new LoginSession
4343
return new CreateSessionResult(id, token);
4444
}
4545

46-
public async Task<IReadOnlyList<LoginSession>> ListSessionsByUserIdAsync(Guid userId)
46+
public IAsyncEnumerable<LoginSession> ListSessionsByUserIdAsync(Guid userId)
4747
{
48-
var list = await _loginSessions.Where(x => x.UserId == userId).ToListAsync();
49-
return list.AsReadOnly();
48+
return _loginSessions.Where(x => x.UserId == userId);
5049
}
5150

5251
public async Task<LoginSession?> GetSessionByTokenAsync(string sessionToken)

0 commit comments

Comments
 (0)