{-# LANGUAGE DeriveGeneric, GeneralizedNewtypeDeriving #-}
module BattlePlace.Token.Types
( InternalToken(..)
, Ticket(..)
) where
import qualified Data.Aeson as J
import qualified Data.Swagger as SW
import qualified Data.Text as T
import GHC.Generics(Generic)
import Servant.API
import BattlePlace.Util
newtype InternalToken a = InternalToken T.Text deriving (Generic, J.FromJSON, J.ToJSON, FromHttpApiData, ToHttpApiData)
instance SW.ToSchema (InternalToken a) where
declareNamedSchema = SW.genericDeclareNamedSchemaNewtype swaggerSchemaOptions SW.declareSchema
instance SW.ToParamSchema (InternalToken a)
newtype Ticket = Ticket T.Text deriving (Generic, J.FromJSON, J.ToJSON)
instance SW.ToSchema Ticket where
declareNamedSchema = SW.genericDeclareNamedSchemaNewtype swaggerSchemaOptions SW.declareSchema