Files
galaxy-game/user/internal/ports/id_generator.go
T
2026-04-25 23:20:55 +02:00

31 lines
1.0 KiB
Go

package ports
import (
"galaxy/user/internal/domain/common"
"galaxy/user/internal/domain/entitlement"
"galaxy/user/internal/domain/policy"
)
// IDGenerator creates new user identifiers and auto-generated user names.
type IDGenerator interface {
// NewUserID returns one newly generated stable user identifier.
NewUserID() (common.UserID, error)
// NewUserName returns one generated immutable user name in the
// `player-<suffix>` form. The suffix is eight characters drawn from a
// confusable-free alphanumeric alphabet.
NewUserName() (common.UserName, error)
// NewEntitlementRecordID returns one newly generated entitlement history
// record identifier.
NewEntitlementRecordID() (entitlement.EntitlementRecordID, error)
// NewSanctionRecordID returns one newly generated sanction history record
// identifier.
NewSanctionRecordID() (policy.SanctionRecordID, error)
// NewLimitRecordID returns one newly generated limit history record
// identifier.
NewLimitRecordID() (policy.LimitRecordID, error)
}