package main import ( "log/slog" "git.k6n.net/mats/go-cart-actor/pkg/flow" "git.k6n.net/mats/go-cart-actor/pkg/order" ) func buildFlowRegistry( applier *orderedApplier, provider order.PaymentProvider, inventoryReservations order.InventoryReservationService, emitPub order.Publisher, emailSender order.EmailSender, emailTemplates order.EmailTemplateStore, prefChecker order.EmailPreferenceChecker, logger *slog.Logger, ) *flow.Registry { freg := flow.NewRegistry() flow.RegisterBuiltinHooks(freg) order.RegisterFlowActions(freg, applier, provider, prefChecker) order.RegisterInventoryReservationActions(freg, applier, inventoryReservations) order.RegisterEmitHook(freg, emitPub) order.RegisterEmailHook(freg, applier, emailSender, emailTemplates, prefChecker) order.RegisterFulfillmentWebhookHook(freg, applier, nil) order.RegisterOrderCreatedEmit(freg, applier, emitPub, "order", "order") registerProjectFlowHooks(freg, applier, logger) return freg }