feat: game lobby service
This commit is contained in:
@@ -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)
|
||||
}
|
||||
Reference in New Issue
Block a user