{-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DerivingStrategies #-} module Hercules.API.Organizations.BillingInfo where import Data.OpenApi qualified as O3 import Hercules.API.Accounts.Account (Account) import Hercules.API.Prelude data BillingInfo = BillingInfo { BillingInfo -> Maybe UTCTime nextPayment :: Maybe UTCTime, BillingInfo -> [Account] activeUsers :: [Account] } deriving ((forall x. BillingInfo -> Rep BillingInfo x) -> (forall x. Rep BillingInfo x -> BillingInfo) -> Generic BillingInfo forall x. Rep BillingInfo x -> BillingInfo forall x. BillingInfo -> Rep BillingInfo x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. BillingInfo -> Rep BillingInfo x from :: forall x. BillingInfo -> Rep BillingInfo x $cto :: forall x. Rep BillingInfo x -> BillingInfo to :: forall x. Rep BillingInfo x -> BillingInfo Generic, Int -> BillingInfo -> ShowS [BillingInfo] -> ShowS BillingInfo -> String (Int -> BillingInfo -> ShowS) -> (BillingInfo -> String) -> ([BillingInfo] -> ShowS) -> Show BillingInfo forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> BillingInfo -> ShowS showsPrec :: Int -> BillingInfo -> ShowS $cshow :: BillingInfo -> String show :: BillingInfo -> String $cshowList :: [BillingInfo] -> ShowS showList :: [BillingInfo] -> ShowS Show, BillingInfo -> BillingInfo -> Bool (BillingInfo -> BillingInfo -> Bool) -> (BillingInfo -> BillingInfo -> Bool) -> Eq BillingInfo forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: BillingInfo -> BillingInfo -> Bool == :: BillingInfo -> BillingInfo -> Bool $c/= :: BillingInfo -> BillingInfo -> Bool /= :: BillingInfo -> BillingInfo -> Bool Eq) deriving anyclass (BillingInfo -> () (BillingInfo -> ()) -> NFData BillingInfo forall a. (a -> ()) -> NFData a $crnf :: BillingInfo -> () rnf :: BillingInfo -> () NFData, [BillingInfo] -> Value [BillingInfo] -> Encoding BillingInfo -> Value BillingInfo -> Encoding (BillingInfo -> Value) -> (BillingInfo -> Encoding) -> ([BillingInfo] -> Value) -> ([BillingInfo] -> Encoding) -> ToJSON BillingInfo forall a. (a -> Value) -> (a -> Encoding) -> ([a] -> Value) -> ([a] -> Encoding) -> ToJSON a $ctoJSON :: BillingInfo -> Value toJSON :: BillingInfo -> Value $ctoEncoding :: BillingInfo -> Encoding toEncoding :: BillingInfo -> Encoding $ctoJSONList :: [BillingInfo] -> Value toJSONList :: [BillingInfo] -> Value $ctoEncodingList :: [BillingInfo] -> Encoding toEncodingList :: [BillingInfo] -> Encoding ToJSON, Value -> Parser [BillingInfo] Value -> Parser BillingInfo (Value -> Parser BillingInfo) -> (Value -> Parser [BillingInfo]) -> FromJSON BillingInfo forall a. (Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a $cparseJSON :: Value -> Parser BillingInfo parseJSON :: Value -> Parser BillingInfo $cparseJSONList :: Value -> Parser [BillingInfo] parseJSONList :: Value -> Parser [BillingInfo] FromJSON, Proxy BillingInfo -> Declare (Definitions Schema) NamedSchema (Proxy BillingInfo -> Declare (Definitions Schema) NamedSchema) -> ToSchema BillingInfo forall a. (Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a $cdeclareNamedSchema :: Proxy BillingInfo -> Declare (Definitions Schema) NamedSchema declareNamedSchema :: Proxy BillingInfo -> Declare (Definitions Schema) NamedSchema ToSchema, Typeable BillingInfo Typeable BillingInfo => (Proxy BillingInfo -> Declare (Definitions Schema) NamedSchema) -> ToSchema BillingInfo Proxy BillingInfo -> Declare (Definitions Schema) NamedSchema forall a. Typeable a => (Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a $cdeclareNamedSchema :: Proxy BillingInfo -> Declare (Definitions Schema) NamedSchema declareNamedSchema :: Proxy BillingInfo -> Declare (Definitions Schema) NamedSchema O3.ToSchema)