feat(web): refactor SessionStore and AuthorizedSessionService to platform-agnostic identity
- ISessionStore: all methods use (platform, external_user_id) - SessionService: updated SQL queries and added UpsertDiscordUserAsync - AuthorizedSessionService: resolves identity from HttpContext, no longer accepts telegram_id params - SessionAccessDeniedException now accepts string externalUserId - Added ExternalUserId/ExternalUsername to WebGroupManager and WebParticipant Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
namespace GmRelay.Web.Services;
|
||||
|
||||
public sealed class SessionAccessDeniedException(Guid sessionId, long gmId)
|
||||
: InvalidOperationException($"Session '{sessionId}' is not accessible for GM '{gmId}'.");
|
||||
public sealed class SessionAccessDeniedException(Guid sessionId, string externalUserId)
|
||||
: InvalidOperationException($"Session '{sessionId}' is not accessible for user '{externalUserId}'.");
|
||||
|
||||
Reference in New Issue
Block a user