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
+29
View File
@@ -0,0 +1,29 @@
package ports
import "galaxy/lobby/internal/domain/common"
// IDGenerator creates new stable identifiers for Game Lobby records.
//
// introduced NewGameID. added NewApplicationID and
// NewMembershipID. extends the interface with NewInviteID.
type IDGenerator interface {
// NewGameID returns one newly generated opaque game identifier. The
// returned value carries the frozen `game-*` prefix and passes
// common.GameID.Validate.
NewGameID() (common.GameID, error)
// NewApplicationID returns one newly generated opaque application
// identifier. The returned value carries the frozen `application-*`
// prefix and passes common.ApplicationID.Validate.
NewApplicationID() (common.ApplicationID, error)
// NewInviteID returns one newly generated opaque invite identifier.
// The returned value carries the frozen `invite-*` prefix and passes
// common.InviteID.Validate.
NewInviteID() (common.InviteID, error)
// NewMembershipID returns one newly generated opaque membership
// identifier. The returned value carries the frozen `membership-*`
// prefix and passes common.MembershipID.Validate.
NewMembershipID() (common.MembershipID, error)
}