hix-0.7.0: lib/Hix/Managed/Data/StageResult.hs
module Hix.Managed.Data.StageResult where
import Hix.Managed.Data.MutableId (MutableId)
import Hix.Managed.Data.Mutation (FailedMutation)
import Hix.Managed.Data.MutationState (MutationState)
data StageFailure =
FailedPrecondition (NonEmpty Text)
|
FailedMutations Text (NonEmpty FailedMutation)
deriving stock (Eq, Show, Generic)
data StageSummary =
StageFailure StageFailure
|
StageSuccess Text
|
StageNoAction (Maybe Text)
|
StageReport Text (NonEmpty MutableId)
deriving stock (Eq, Show, Generic)
data StageResult =
StageResult {
summary :: StageSummary,
state :: Maybe MutationState
}
deriving stock (Eq, Show, Generic)
stageFailures :: StageSummary -> [FailedMutation]
stageFailures = \case
StageFailure (FailedMutations _ mutations) -> toList mutations
_ -> []