module Cachix.Types.NixCacheInfo where

import Data.Aeson (FromJSON, ToJSON)
import Data.Swagger (ToSchema)
import Protolude

data NixCacheInfo = NixCacheInfo
  { NixCacheInfo -> Text
storeDir :: Text,
    NixCacheInfo -> Integer
wantMassQuery :: Integer,
    NixCacheInfo -> Integer
priority :: Integer
  }
  deriving ((forall x. NixCacheInfo -> Rep NixCacheInfo x)
-> (forall x. Rep NixCacheInfo x -> NixCacheInfo)
-> Generic NixCacheInfo
forall x. Rep NixCacheInfo x -> NixCacheInfo
forall x. NixCacheInfo -> Rep NixCacheInfo x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. NixCacheInfo -> Rep NixCacheInfo x
from :: forall x. NixCacheInfo -> Rep NixCacheInfo x
$cto :: forall x. Rep NixCacheInfo x -> NixCacheInfo
to :: forall x. Rep NixCacheInfo x -> NixCacheInfo
Generic, Int -> NixCacheInfo -> ShowS
[NixCacheInfo] -> ShowS
NixCacheInfo -> String
(Int -> NixCacheInfo -> ShowS)
-> (NixCacheInfo -> String)
-> ([NixCacheInfo] -> ShowS)
-> Show NixCacheInfo
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> NixCacheInfo -> ShowS
showsPrec :: Int -> NixCacheInfo -> ShowS
$cshow :: NixCacheInfo -> String
show :: NixCacheInfo -> String
$cshowList :: [NixCacheInfo] -> ShowS
showList :: [NixCacheInfo] -> ShowS
Show, Value -> Parser [NixCacheInfo]
Value -> Parser NixCacheInfo
(Value -> Parser NixCacheInfo)
-> (Value -> Parser [NixCacheInfo]) -> FromJSON NixCacheInfo
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser NixCacheInfo
parseJSON :: Value -> Parser NixCacheInfo
$cparseJSONList :: Value -> Parser [NixCacheInfo]
parseJSONList :: Value -> Parser [NixCacheInfo]
FromJSON, [NixCacheInfo] -> Value
[NixCacheInfo] -> Encoding
NixCacheInfo -> Value
NixCacheInfo -> Encoding
(NixCacheInfo -> Value)
-> (NixCacheInfo -> Encoding)
-> ([NixCacheInfo] -> Value)
-> ([NixCacheInfo] -> Encoding)
-> ToJSON NixCacheInfo
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: NixCacheInfo -> Value
toJSON :: NixCacheInfo -> Value
$ctoEncoding :: NixCacheInfo -> Encoding
toEncoding :: NixCacheInfo -> Encoding
$ctoJSONList :: [NixCacheInfo] -> Value
toJSONList :: [NixCacheInfo] -> Value
$ctoEncodingList :: [NixCacheInfo] -> Encoding
toEncodingList :: [NixCacheInfo] -> Encoding
ToJSON, Proxy NixCacheInfo -> Declare (Definitions Schema) NamedSchema
(Proxy NixCacheInfo -> Declare (Definitions Schema) NamedSchema)
-> ToSchema NixCacheInfo
forall a.
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy NixCacheInfo -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy NixCacheInfo -> Declare (Definitions Schema) NamedSchema
ToSchema, NixCacheInfo -> ()
(NixCacheInfo -> ()) -> NFData NixCacheInfo
forall a. (a -> ()) -> NFData a
$crnf :: NixCacheInfo -> ()
rnf :: NixCacheInfo -> ()
NFData)