147 lines
3.9 KiB
Go
147 lines
3.9 KiB
Go
package constants
|
|||
|
|
|
||
|
|
// EnakGame values (docs/rfc-enakgame.md §5). Each set matches a CHECK in the
|
||
|
|
// migrations.
|
||
|
|
|
||
|
|
// games.status.
|
||
|
|
const (
|
||
|
|
GameStatusDraft = "DRAFT"
|
||
|
|
GameStatusActive = "ACTIVE"
|
||
|
|
GameStatusInactive = "INACTIVE"
|
||
|
|
// The old games, and games taken out of EnakGame for good. Never changed again.
|
||
|
|
GameStatusArchived = "ARCHIVED"
|
||
|
|
)
|
||
|
|
|
||
|
|
// game_reward_configs.reward_type (§8).
|
||
|
|
const (
|
||
|
|
GameRewardTypeFixed = "FIXED"
|
||
|
|
GameRewardTypeScoreBased = "SCORE_BASED"
|
||
|
|
GameRewardTypeOutcomeBased = "OUTCOME_BASED"
|
||
|
|
GameRewardTypeProbability = "PROBABILITY"
|
||
|
|
)
|
||
|
|
|
||
|
|
// game_reward_configs.status. Only status ever changes on a config (D7).
|
||
|
|
const (
|
||
|
|
GameRewardConfigStatusDraft = "DRAFT"
|
||
|
|
GameRewardConfigStatusActive = "ACTIVE"
|
||
|
|
GameRewardConfigStatusRetired = "RETIRED"
|
||
|
|
)
|
||
|
|
|
||
|
|
// game_sessions.status: STARTED → COMPLETED | REFUNDED | EXPIRED (D4).
|
||
|
|
const (
|
||
|
|
GameSessionStatusStarted = "STARTED"
|
||
|
|
GameSessionStatusCompleted = "COMPLETED"
|
||
|
|
GameSessionStatusRefunded = "REFUNDED"
|
||
|
|
GameSessionStatusExpired = "EXPIRED"
|
||
|
|
)
|
||
|
|
|
||
|
|
// game_sessions.refund_reason (§7.3).
|
||
|
|
const (
|
||
|
|
GameSessionRefundSystemError = "SYSTEM_ERROR"
|
||
|
|
GameSessionRefundGameDeactivated = "GAME_DEACTIVATED"
|
||
|
|
)
|
||
|
|
|
||
|
|
// game_budgets.scope (§5.6).
|
||
|
|
const (
|
||
|
|
GameBudgetScopeGlobal = "GLOBAL"
|
||
|
|
GameBudgetScopeEvent = "EVENT"
|
||
|
|
)
|
||
|
|
|
||
|
|
// audit_logs.actor_type (§5.9).
|
||
|
|
const (
|
||
|
|
AuditActorUser = "USER"
|
||
|
|
AuditActorSystem = "SYSTEM"
|
||
|
|
)
|
||
|
|
|
||
|
|
// audit_logs.source: where a change came from.
|
||
|
|
const (
|
||
|
|
AuditSourceAdminAPI = "admin_api"
|
||
|
|
AuditSourceBudgetController = "budget_controller"
|
||
|
|
AuditSourceSessionJob = "session_job"
|
||
|
|
AuditSourceBudgetPeriodJob = "budget_period_job"
|
||
|
|
AuditSourceCustomerAPI = "customer_api"
|
||
|
|
)
|
||
|
|
|
||
|
|
// audit_logs.entity_type: what an audit row is about (§13).
|
||
|
|
const (
|
||
|
|
AuditEntityGame = "GAME"
|
||
|
|
AuditEntityGameRewardConfig = "GAME_REWARD_CONFIG"
|
||
|
|
AuditEntityGameBudget = "GAME_BUDGET"
|
||
|
|
AuditEntityGameEvent = "GAME_EVENT"
|
||
|
|
AuditEntityGameSession = "GAME_SESSION"
|
||
|
|
AuditEntityVoucher = "VOUCHER"
|
||
|
|
)
|
||
|
|
|
||
|
|
// game_reward_counters.scope_type: what an Economy Guard counter counts for (§5.8).
|
||
|
|
const (
|
||
|
|
GameRewardScopeUser = "USER"
|
||
|
|
GameRewardScopeGame = "GAME"
|
||
|
|
GameRewardScopeEvent = "EVENT"
|
||
|
|
GameRewardScopeGlobal = "GLOBAL"
|
||
|
|
)
|
||
|
|
|
||
|
|
// vouchers.voucher_type (§5.7).
|
||
|
|
const (
|
||
|
|
VoucherTypeFixedValue = "FIXED_VALUE"
|
||
|
|
VoucherTypePercentage = "PERCENTAGE"
|
||
|
|
VoucherTypeFreeItem = "FREE_ITEM"
|
||
|
|
VoucherTypeMerchantBenefit = "MERCHANT_BENEFIT"
|
||
|
|
)
|
||
|
|
|
||
|
|
// vouchers.stock_mode: where a redemption's voucher comes from.
|
||
|
|
const (
|
||
|
|
// A counted stock with nothing to hand out but the redemption itself.
|
||
|
|
VoucherStockStatic = "STATIC"
|
||
|
|
// One imported code per redemption.
|
||
|
|
VoucherStockCodePool = "CODE_POOL"
|
||
|
|
// Issued by a provider (§7.5), not before EG-801.
|
||
|
|
VoucherStockExternal = "EXTERNAL"
|
||
|
|
)
|
||
|
|
|
||
|
|
// vouchers.status.
|
||
|
|
const (
|
||
|
|
VoucherStatusDraft = "DRAFT"
|
||
|
|
VoucherStatusActive = "ACTIVE"
|
||
|
|
VoucherStatusInactive = "INACTIVE"
|
||
|
|
VoucherStatusArchived = "ARCHIVED"
|
||
|
|
)
|
||
|
|
|
||
|
|
// voucher_codes.status.
|
||
|
|
const (
|
||
|
|
VoucherCodeAvailable = "AVAILABLE"
|
||
|
|
VoucherCodeReserved = "RESERVED"
|
||
|
|
VoucherCodeRedeemed = "REDEEMED"
|
||
|
|
VoucherCodeExpired = "EXPIRED"
|
||
|
|
VoucherCodeCancelled = "CANCELLED"
|
||
|
|
)
|
||
|
|
|
||
|
|
// voucher_redemptions.status.
|
||
|
|
const (
|
||
|
|
VoucherRedemptionPending = "PENDING"
|
||
|
|
VoucherRedemptionCompleted = "COMPLETED"
|
||
|
|
VoucherRedemptionFailed = "FAILED"
|
||
|
|
)
|
||
|
|
|
||
|
|
// Budget statuses (PRD §32), from its utilization and forecast against its thresholds.
|
||
|
|
const (
|
||
|
|
GameBudgetHealthy = "HEALTHY"
|
||
|
|
GameBudgetWarning = "WARNING"
|
||
|
|
GameBudgetCritical = "CRITICAL"
|
||
|
|
GameBudgetExhausted = "EXHAUSTED"
|
||
|
|
)
|
||
|
|
|
||
|
|
// Thresholds of a budget that sets none, in percent (PRD §8). Pending RFC §19.2 #4.
|
||
|
|
const (
|
||
|
|
GameBudgetWarningDefault = int64(70)
|
||
|
|
GameBudgetCriticalDefault = int64(90)
|
||
|
|
)
|
||
|
|
|
||
|
|
// game_events.status. An ACTIVE event changes rewards only between its start_at and
|
||
|
|
// end_at.
|
||
|
|
const (
|
||
|
|
GameEventStatusDraft = "DRAFT"
|
||
|
|
GameEventStatusActive = "ACTIVE"
|
||
|
|
GameEventStatusEnded = "ENDED"
|
||
|
|
GameEventStatusCancelled = "CANCELLED"
|
||
|
|
)
|