{-# LANGUAGE TemplateHaskell #-} module Hydra.TUI.Logging.Types where import Hydra.Prelude import Lens.Micro.TH (makeLensesFor) type Severity :: Type data Severity = Success | Info | Error deriving stock (Severity -> Severity -> Bool (Severity -> Severity -> Bool) -> (Severity -> Severity -> Bool) -> Eq Severity forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: Severity -> Severity -> Bool == :: Severity -> Severity -> Bool $c/= :: Severity -> Severity -> Bool /= :: Severity -> Severity -> Bool Eq, Int -> Severity -> ShowS [Severity] -> ShowS Severity -> String (Int -> Severity -> ShowS) -> (Severity -> String) -> ([Severity] -> ShowS) -> Show Severity forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> Severity -> ShowS showsPrec :: Int -> Severity -> ShowS $cshow :: Severity -> String show :: Severity -> String $cshowList :: [Severity] -> ShowS showList :: [Severity] -> ShowS Show, (forall x. Severity -> Rep Severity x) -> (forall x. Rep Severity x -> Severity) -> Generic Severity forall x. Rep Severity x -> Severity forall x. Severity -> Rep Severity x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. Severity -> Rep Severity x from :: forall x. Severity -> Rep Severity x $cto :: forall x. Rep Severity x -> Severity to :: forall x. Rep Severity x -> Severity Generic) type LogMessage :: Type data LogMessage = LogMessage { LogMessage -> Severity severity :: Severity , LogMessage -> Text message :: Text , LogMessage -> Text detail :: Text , LogMessage -> UTCTime time :: UTCTime , LogMessage -> Text rawJson :: Text } deriving stock (LogMessage -> LogMessage -> Bool (LogMessage -> LogMessage -> Bool) -> (LogMessage -> LogMessage -> Bool) -> Eq LogMessage forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: LogMessage -> LogMessage -> Bool == :: LogMessage -> LogMessage -> Bool $c/= :: LogMessage -> LogMessage -> Bool /= :: LogMessage -> LogMessage -> Bool Eq, Int -> LogMessage -> ShowS [LogMessage] -> ShowS LogMessage -> String (Int -> LogMessage -> ShowS) -> (LogMessage -> String) -> ([LogMessage] -> ShowS) -> Show LogMessage forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> LogMessage -> ShowS showsPrec :: Int -> LogMessage -> ShowS $cshow :: LogMessage -> String show :: LogMessage -> String $cshowList :: [LogMessage] -> ShowS showList :: [LogMessage] -> ShowS Show, (forall x. LogMessage -> Rep LogMessage x) -> (forall x. Rep LogMessage x -> LogMessage) -> Generic LogMessage forall x. Rep LogMessage x -> LogMessage forall x. LogMessage -> Rep LogMessage x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. LogMessage -> Rep LogMessage x from :: forall x. LogMessage -> Rep LogMessage x $cto :: forall x. Rep LogMessage x -> LogMessage to :: forall x. Rep LogMessage x -> LogMessage Generic) type EventHistoryFilter :: Type data EventHistoryFilter = ShowAll | ErrorsOnly deriving stock (EventHistoryFilter -> EventHistoryFilter -> Bool (EventHistoryFilter -> EventHistoryFilter -> Bool) -> (EventHistoryFilter -> EventHistoryFilter -> Bool) -> Eq EventHistoryFilter forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: EventHistoryFilter -> EventHistoryFilter -> Bool == :: EventHistoryFilter -> EventHistoryFilter -> Bool $c/= :: EventHistoryFilter -> EventHistoryFilter -> Bool /= :: EventHistoryFilter -> EventHistoryFilter -> Bool Eq, Int -> EventHistoryFilter -> ShowS [EventHistoryFilter] -> ShowS EventHistoryFilter -> String (Int -> EventHistoryFilter -> ShowS) -> (EventHistoryFilter -> String) -> ([EventHistoryFilter] -> ShowS) -> Show EventHistoryFilter forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> EventHistoryFilter -> ShowS showsPrec :: Int -> EventHistoryFilter -> ShowS $cshow :: EventHistoryFilter -> String show :: EventHistoryFilter -> String $cshowList :: [EventHistoryFilter] -> ShowS showList :: [EventHistoryFilter] -> ShowS Show, (forall x. EventHistoryFilter -> Rep EventHistoryFilter x) -> (forall x. Rep EventHistoryFilter x -> EventHistoryFilter) -> Generic EventHistoryFilter forall x. Rep EventHistoryFilter x -> EventHistoryFilter forall x. EventHistoryFilter -> Rep EventHistoryFilter x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. EventHistoryFilter -> Rep EventHistoryFilter x from :: forall x. EventHistoryFilter -> Rep EventHistoryFilter x $cto :: forall x. Rep EventHistoryFilter x -> EventHistoryFilter to :: forall x. Rep EventHistoryFilter x -> EventHistoryFilter Generic) type LogState :: Type newtype LogState = LogState { LogState -> [LogMessage] logMessages :: [LogMessage] } makeLensesFor [ ("logMessages", "logMessagesL") ] ''LogState