Fix Discord co-GM management
This commit is contained in:
@@ -28,6 +28,7 @@ public sealed record WebGameGroup(
|
||||
public sealed record WebGroupManager(
|
||||
long TelegramId,
|
||||
string? ExternalUserId,
|
||||
string? Platform,
|
||||
string DisplayName,
|
||||
string? TelegramUsername,
|
||||
string? ExternalUsername,
|
||||
@@ -35,7 +36,17 @@ public sealed record WebGroupManager(
|
||||
DateTime AddedAt)
|
||||
{
|
||||
public WebGroupManager(long telegramId, string displayName, string? telegramUsername, string role, DateTime addedAt)
|
||||
: this(telegramId, null, displayName, telegramUsername, null, role, addedAt) { }
|
||||
: this(telegramId, null, null, displayName, telegramUsername, null, role, addedAt) { }
|
||||
|
||||
public WebGroupManager(
|
||||
long telegramId,
|
||||
string? externalUserId,
|
||||
string displayName,
|
||||
string? telegramUsername,
|
||||
string? externalUsername,
|
||||
string role,
|
||||
DateTime addedAt)
|
||||
: this(telegramId, externalUserId, null, displayName, telegramUsername, externalUsername, role, addedAt) { }
|
||||
}
|
||||
|
||||
public sealed record WebGroupManagement(
|
||||
@@ -215,8 +226,13 @@ public sealed class SessionService(
|
||||
await using var conn = await dataSource.OpenConnectionAsync();
|
||||
return (await conn.QueryAsync<WebGroupManager>(
|
||||
"""
|
||||
SELECT COALESCE(p.external_user_id::BIGINT, 0) AS TelegramId,
|
||||
SELECT CASE
|
||||
WHEN p.platform = 'Telegram' AND p.external_user_id ~ '^[0-9]+$'
|
||||
THEN p.external_user_id::BIGINT
|
||||
ELSE 0
|
||||
END AS TelegramId,
|
||||
p.external_user_id AS ExternalUserId,
|
||||
p.platform AS Platform,
|
||||
p.display_name AS DisplayName,
|
||||
p.external_username AS TelegramUsername,
|
||||
p.external_username AS ExternalUsername,
|
||||
|
||||
Reference in New Issue
Block a user