{-# LANGUAGE DeriveAnyClass #-}

module Hercules.API.Projects.SimpleJob where

import Hercules.API.Prelude
import Hercules.API.Projects.Job (Job)
import Hercules.API.Projects.Project (Project)

data SimpleJob = SimpleJob
  { SimpleJob -> Id Job
id :: Id Job,
    SimpleJob -> Project
project :: Project,
    SimpleJob -> Int64
index :: Int64
  }
  deriving ((forall x. SimpleJob -> Rep SimpleJob x)
-> (forall x. Rep SimpleJob x -> SimpleJob) -> Generic SimpleJob
forall x. Rep SimpleJob x -> SimpleJob
forall x. SimpleJob -> Rep SimpleJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SimpleJob x -> SimpleJob
$cfrom :: forall x. SimpleJob -> Rep SimpleJob x
Generic, Int -> SimpleJob -> ShowS
[SimpleJob] -> ShowS
SimpleJob -> String
(Int -> SimpleJob -> ShowS)
-> (SimpleJob -> String)
-> ([SimpleJob] -> ShowS)
-> Show SimpleJob
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SimpleJob] -> ShowS
$cshowList :: [SimpleJob] -> ShowS
show :: SimpleJob -> String
$cshow :: SimpleJob -> String
showsPrec :: Int -> SimpleJob -> ShowS
$cshowsPrec :: Int -> SimpleJob -> ShowS
Show, SimpleJob -> SimpleJob -> Bool
(SimpleJob -> SimpleJob -> Bool)
-> (SimpleJob -> SimpleJob -> Bool) -> Eq SimpleJob
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SimpleJob -> SimpleJob -> Bool
$c/= :: SimpleJob -> SimpleJob -> Bool
== :: SimpleJob -> SimpleJob -> Bool
$c== :: SimpleJob -> SimpleJob -> Bool
Eq, SimpleJob -> ()
(SimpleJob -> ()) -> NFData SimpleJob
forall a. (a -> ()) -> NFData a
rnf :: SimpleJob -> ()
$crnf :: SimpleJob -> ()
NFData, [SimpleJob] -> Encoding
[SimpleJob] -> Value
SimpleJob -> Encoding
SimpleJob -> Value
(SimpleJob -> Value)
-> (SimpleJob -> Encoding)
-> ([SimpleJob] -> Value)
-> ([SimpleJob] -> Encoding)
-> ToJSON SimpleJob
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [SimpleJob] -> Encoding
$ctoEncodingList :: [SimpleJob] -> Encoding
toJSONList :: [SimpleJob] -> Value
$ctoJSONList :: [SimpleJob] -> Value
toEncoding :: SimpleJob -> Encoding
$ctoEncoding :: SimpleJob -> Encoding
toJSON :: SimpleJob -> Value
$ctoJSON :: SimpleJob -> Value
ToJSON, Value -> Parser [SimpleJob]
Value -> Parser SimpleJob
(Value -> Parser SimpleJob)
-> (Value -> Parser [SimpleJob]) -> FromJSON SimpleJob
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [SimpleJob]
$cparseJSONList :: Value -> Parser [SimpleJob]
parseJSON :: Value -> Parser SimpleJob
$cparseJSON :: Value -> Parser SimpleJob
FromJSON, Proxy SimpleJob -> Declare (Definitions Schema) NamedSchema
(Proxy SimpleJob -> Declare (Definitions Schema) NamedSchema)
-> ToSchema SimpleJob
forall a.
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
declareNamedSchema :: Proxy SimpleJob -> Declare (Definitions Schema) NamedSchema
$cdeclareNamedSchema :: Proxy SimpleJob -> Declare (Definitions Schema) NamedSchema
ToSchema)