{-# LANGUAGE DeriveAnyClass #-} {-# OPTIONS_GHC -Wno-orphans #-} module Hercules.Agent.WorkerProtocol.Event where import Data.Binary (Binary) import Data.UUID (UUID) import Hercules.API.Agent.Evaluate.EvaluateEvent.OnPushHandlerEvent (OnPushHandlerEvent) import Hercules.API.Agent.Evaluate.EvaluateEvent.OnScheduleHandlerEvent (OnScheduleHandlerEvent) import Hercules.Agent.WorkerProtocol.Event.Attribute (Attribute) import Hercules.Agent.WorkerProtocol.Event.AttributeError (AttributeError) import Hercules.Agent.WorkerProtocol.Event.AttributeIFD (AttributeIFD) import Hercules.Agent.WorkerProtocol.Event.BuildResult (BuildResult) import Hercules.Agent.WorkerProtocol.ViaJSON (ViaJSON) import Protolude data Event = Attribute Attribute | AttributeError AttributeError | AttributeIFD AttributeIFD | EvaluationDone | Error Text | Build ByteString Text (Maybe UUID) Bool | BuildResult BuildResult | EffectResult Int | JobConfig | OnPushHandler (ViaJSON OnPushHandlerEvent) | OnScheduleHandler (ViaJSON OnScheduleHandlerEvent) | Exception Text deriving (forall x. Rep Event x -> Event forall x. Event -> Rep Event x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep Event x -> Event $cfrom :: forall x. Event -> Rep Event x Generic, Get Event [Event] -> Put Event -> Put forall t. (t -> Put) -> Get t -> ([t] -> Put) -> Binary t putList :: [Event] -> Put $cputList :: [Event] -> Put get :: Get Event $cget :: Get Event put :: Event -> Put $cput :: Event -> Put Binary, Int -> Event -> ShowS [Event] -> ShowS Event -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Event] -> ShowS $cshowList :: [Event] -> ShowS show :: Event -> String $cshow :: Event -> String showsPrec :: Int -> Event -> ShowS $cshowsPrec :: Int -> Event -> ShowS Show, Event -> Event -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Event -> Event -> Bool $c/= :: Event -> Event -> Bool == :: Event -> Event -> Bool $c== :: Event -> Event -> Bool Eq)