Files
supply-intelligence/internal/probe/state_machine.go
2026-05-07 10:16:46 +08:00

24 lines
627 B
Go

package probe
import "supply-intelligence/internal/domain"
func NextAccountStatus(current domain.AccountStatus, classification domain.ProbeClassification) domain.AccountStatus {
switch classification {
case domain.ProbeClassificationSuccess:
return domain.AccountStatusActive
case domain.ProbeClassificationExplicitFailure:
switch current {
case domain.AccountStatusActive:
return domain.AccountStatusSuspended
case domain.AccountStatusSuspended:
return domain.AccountStatusDisabled
default:
return current
}
case domain.ProbeClassificationInconclusive:
fallthrough
default:
return current
}
}