feat: game lobby service

This commit is contained in:
Ilia Denisov
2026-04-25 23:20:55 +02:00
committed by GitHub
parent 32dc29359a
commit 48b0056b49
336 changed files with 57074 additions and 1418 deletions
+20 -8
View File
@@ -12,6 +12,7 @@ import (
"sync"
"time"
"galaxy/user/internal/service/accountdeletion"
"galaxy/user/internal/service/adminusers"
"galaxy/user/internal/service/authdirectory"
"galaxy/user/internal/service/entitlementsvc"
@@ -98,12 +99,12 @@ type GetUserByEmailUseCase interface {
Execute(ctx context.Context, input adminusers.GetUserByEmailInput) (adminusers.LookupResult, error)
}
// GetUserByRaceNameUseCase describes the trusted admin exact-read by exact
// stored race name consumed by the HTTP transport layer.
type GetUserByRaceNameUseCase interface {
// Execute returns the full current account aggregate for one exact race
// GetUserByUserNameUseCase describes the trusted admin exact-read by stored
// user name consumed by the HTTP transport layer.
type GetUserByUserNameUseCase interface {
// Execute returns the full current account aggregate for one stored user
// name.
Execute(ctx context.Context, input adminusers.GetUserByRaceNameInput) (adminusers.LookupResult, error)
Execute(ctx context.Context, input adminusers.GetUserByUserNameInput) (adminusers.LookupResult, error)
}
// ListUsersUseCase describes the trusted admin paginated listing use case
@@ -178,6 +179,14 @@ type RemoveLimitUseCase interface {
Execute(ctx context.Context, input policysvc.RemoveLimitInput) (policysvc.LimitCommandResult, error)
}
// DeleteUserUseCase describes the trusted `DeleteUser` soft-delete use case
// consumed by the HTTP transport layer.
type DeleteUserUseCase interface {
// Execute soft-deletes one regular-user account and emits a
// `user.lifecycle.deleted` event on success.
Execute(ctx context.Context, input accountdeletion.Input) (accountdeletion.Result, error)
}
// Config describes the trusted internal HTTP listener owned by the user
// service.
type Config struct {
@@ -252,9 +261,9 @@ type Dependencies struct {
// e-mail.
GetUserByEmail GetUserByEmailUseCase
// GetUserByRaceName executes the trusted admin exact-read by exact stored
// race name.
GetUserByRaceName GetUserByRaceNameUseCase
// GetUserByUserName executes the trusted admin exact-read by stored user
// name.
GetUserByUserName GetUserByUserNameUseCase
// ListUsers executes the trusted admin paginated filtered listing use case.
ListUsers ListUsersUseCase
@@ -288,6 +297,9 @@ type Dependencies struct {
// RemoveLimit executes the trusted limit-remove use case.
RemoveLimit RemoveLimitUseCase
// DeleteUser executes the trusted `DeleteUser` soft-delete use case.
DeleteUser DeleteUserUseCase
// Logger writes structured transport logs. When nil, the default logger is
// used.
Logger *slog.Logger