{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DerivingStrategies #-}

module Hercules.API.Build.DerivationEvent.BuiltOutput where

import Data.OpenApi qualified as O3
import Hercules.API.Prelude

data BuiltOutput = BuiltOutput
  { BuiltOutput -> Text
outputName :: Text,
    BuiltOutput -> Text
outputPath :: Text,
    BuiltOutput -> Text
hash :: Text,
    BuiltOutput -> Int64
size :: Int64
  }
  deriving ((forall x. BuiltOutput -> Rep BuiltOutput x)
-> (forall x. Rep BuiltOutput x -> BuiltOutput)
-> Generic BuiltOutput
forall x. Rep BuiltOutput x -> BuiltOutput
forall x. BuiltOutput -> Rep BuiltOutput x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. BuiltOutput -> Rep BuiltOutput x
from :: forall x. BuiltOutput -> Rep BuiltOutput x
$cto :: forall x. Rep BuiltOutput x -> BuiltOutput
to :: forall x. Rep BuiltOutput x -> BuiltOutput
Generic, Int -> BuiltOutput -> ShowS
[BuiltOutput] -> ShowS
BuiltOutput -> String
(Int -> BuiltOutput -> ShowS)
-> (BuiltOutput -> String)
-> ([BuiltOutput] -> ShowS)
-> Show BuiltOutput
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BuiltOutput -> ShowS
showsPrec :: Int -> BuiltOutput -> ShowS
$cshow :: BuiltOutput -> String
show :: BuiltOutput -> String
$cshowList :: [BuiltOutput] -> ShowS
showList :: [BuiltOutput] -> ShowS
Show, BuiltOutput -> BuiltOutput -> Bool
(BuiltOutput -> BuiltOutput -> Bool)
-> (BuiltOutput -> BuiltOutput -> Bool) -> Eq BuiltOutput
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BuiltOutput -> BuiltOutput -> Bool
== :: BuiltOutput -> BuiltOutput -> Bool
$c/= :: BuiltOutput -> BuiltOutput -> Bool
/= :: BuiltOutput -> BuiltOutput -> Bool
Eq)
  deriving anyclass (BuiltOutput -> ()
(BuiltOutput -> ()) -> NFData BuiltOutput
forall a. (a -> ()) -> NFData a
$crnf :: BuiltOutput -> ()
rnf :: BuiltOutput -> ()
NFData, [BuiltOutput] -> Value
[BuiltOutput] -> Encoding
BuiltOutput -> Value
BuiltOutput -> Encoding
(BuiltOutput -> Value)
-> (BuiltOutput -> Encoding)
-> ([BuiltOutput] -> Value)
-> ([BuiltOutput] -> Encoding)
-> ToJSON BuiltOutput
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: BuiltOutput -> Value
toJSON :: BuiltOutput -> Value
$ctoEncoding :: BuiltOutput -> Encoding
toEncoding :: BuiltOutput -> Encoding
$ctoJSONList :: [BuiltOutput] -> Value
toJSONList :: [BuiltOutput] -> Value
$ctoEncodingList :: [BuiltOutput] -> Encoding
toEncodingList :: [BuiltOutput] -> Encoding
ToJSON, Value -> Parser [BuiltOutput]
Value -> Parser BuiltOutput
(Value -> Parser BuiltOutput)
-> (Value -> Parser [BuiltOutput]) -> FromJSON BuiltOutput
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser BuiltOutput
parseJSON :: Value -> Parser BuiltOutput
$cparseJSONList :: Value -> Parser [BuiltOutput]
parseJSONList :: Value -> Parser [BuiltOutput]
FromJSON, Proxy BuiltOutput -> Declare (Definitions Schema) NamedSchema
(Proxy BuiltOutput -> Declare (Definitions Schema) NamedSchema)
-> ToSchema BuiltOutput
forall a.
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy BuiltOutput -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy BuiltOutput -> Declare (Definitions Schema) NamedSchema
ToSchema, Typeable BuiltOutput
Typeable BuiltOutput
-> (Proxy BuiltOutput -> Declare (Definitions Schema) NamedSchema)
-> ToSchema BuiltOutput
Proxy BuiltOutput -> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a
-> (Proxy a -> Declare (Definitions Schema) NamedSchema)
-> ToSchema a
$cdeclareNamedSchema :: Proxy BuiltOutput -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy BuiltOutput -> Declare (Definitions Schema) NamedSchema
O3.ToSchema)