kra-new/internal/modules/catalog.go

25 lines
871 B
Go

// Package modules owns the static declarations of built-in business modules.
// It is intentionally separate from app: modules describe what they provide,
// while app composes runtime objects that need constructed dependencies.
package modules
import (
integrationmodule "kra/internal/modules/integration"
paymentmodule "kra/internal/modules/payment"
systemmodule "kra/internal/modules/system"
taskmodule "kra/internal/modules/task"
"kra/pkg/module"
)
// Catalog returns the modules enabled in this binary in dependency order.
// Keep this as the single static registration point for migrations, admin
// metadata and dependency-free timed tasks.
func Catalog() module.Catalog {
return module.Catalog{Definitions: []module.Definition{
systemmodule.Definition(),
integrationmodule.Definition(),
taskmodule.Definition(),
paymentmodule.Definition(),
}}
}