31 lines
1.0 KiB
Go
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)
|
|
}
|