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

module Hercules.API.Accounts.CLIToken where

import Data.OpenApi qualified as O3
import Hercules.API.Accounts.Account (Account)
import Hercules.API.Prelude

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