mediator

package
v1.1.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 24, 2026 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IncludesItemBurnRate

func IncludesItemBurnRate(includes []string) bool

IncludesItemBurnRate reports whether API includes request item.burn_rate.

func MaybeRecalculateAfterConsumption

func MaybeRecalculateAfterConsumption(
	ctx context.Context,
	meds domain.Mediators,
	accountID, itemID string,
	delta decimal.Decimal,
	actionType string,
)

MaybeRecalculateAfterConsumption recalculates burn rate when a consumption change log was recorded. Errors are traced but do not fail the caller's primary operation.

func NewBurnRateMed

func NewBurnRateMed(config *BurnRateMedConfig) domain.BurnRateMed

func NewEditAccessMed

func NewEditAccessMed(config *EditAccessMedConfig) domain.EditAccessMed

func NewIdempotencyMed

func NewIdempotencyMed(config *IdempotencyMedConfig) domain.IdempotencyMed

func NewMediatorFactory

func NewMediatorFactory() domain.MediatorFactory

func NewProductionFlowMed

func NewProductionFlowMed(repos domain.RepoFactory) domain.ProductionFlowMed

func NewReadAccessMed

func NewReadAccessMed(config *ReadAccessMedConfig) domain.ReadAccessMed

func NewSandboxMed

func NewSandboxMed(config *SandboxMedConfig) domain.SandboxMed

func RecordInventoryAuditTrail

func RecordInventoryAuditTrail(
	ctx context.Context,
	repos domain.RepoFactory,
	accountID, itemID string,
	delta decimal.Decimal,
	unitID, actionType string,
	scanningStationID *string,
	responsibleUserID *string,
) *apierror.APIError

RecordInventoryAuditTrail writes inventory_log and inventory_change_log after a mutation and recalculates burn rate when the change represents consumption.

func RecordInventoryAuditTrailOrLog

func RecordInventoryAuditTrailOrLog(
	ctx context.Context,
	repos domain.RepoFactory,
	accountID, itemID string,
	delta decimal.Decimal,
	unitID, actionType string,
	scanningStationID *string,
	responsibleUserID *string,
)

RecordInventoryAuditTrailOrLog traces errors from RecordInventoryAuditTrail without failing the caller.

func RefreshItemBurnRateAfterGet

func RefreshItemBurnRateAfterGet(
	ctx context.Context,
	repos domain.RepoFactory,
	meds domain.Mediators,
	accountID string,
	item *domain.Item,
	includes []string,
)

RefreshItemBurnRateAfterGet recalculates burn rate when item.burn_rate was included, then reloads item.BurnRate.

Types

type BurnRateMedConfig

type BurnRateMedConfig struct {
	// Repos (required) is the repository factory for burn-rate calculations.
	Repos domain.RepoFactory
}

type EditAccessMedConfig

type EditAccessMedConfig struct {
	// Repos (required) is the repository factory for access checks.
	Repos domain.RepoFactory
}

type IdempotencyMedConfig

type IdempotencyMedConfig struct {
	// Repos (required) is the repository factory for idempotency persistence.
	Repos domain.RepoFactory
}

type ReadAccessMedConfig

type ReadAccessMedConfig struct {
	// Repos (required) is the repository factory for access checks.
	Repos domain.RepoFactory
}

type SandboxMedConfig

type SandboxMedConfig struct {
	// Repos (required) is the repository factory for sandbox operations.
	Repos domain.RepoFactory
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL