{-# LANGUAGE DeriveAnyClass #-}
module Hercules.API.TaskStatus where
import Data.Aeson
( FromJSON,
ToJSON,
)
import Data.Swagger (ToSchema)
import Data.Text (Text)
import GHC.Generics (Generic)
import Prelude
-- | Similar to a process exit code.
--
-- User feedback in case of an error must be communicated out of band
data TaskStatus
= -- | Everything was ok.
Successful ()
| -- | We did what we could but dependents can not continue.
Terminated ()
| -- | Some assumption in the software failed.
Exceptional Text
deriving (Generic, Show, Eq, ToJSON, FromJSON, ToSchema)