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) }