39 lines
738 B
Haskell
39 lines
738 B
Haskell
{-# LANGUAGE TypeFamilies #-}
|
|
{-# LANGUAGE DeriveGeneric #-}
|
|
module Types.Settings where
|
|
|
|
import Data.Aeson
|
|
|
|
import qualified Data.Text as T
|
|
import Data.OpenApi (ToSchema)
|
|
|
|
import GHC.Generics
|
|
|
|
-- internal imports
|
|
|
|
import Classes
|
|
|
|
data Settings = Settings
|
|
{ settingsBlockRegistration :: Bool
|
|
, settingsImprintText :: Maybe T.Text
|
|
}
|
|
deriving (Show, Generic)
|
|
|
|
instance DatabaseRepresentation Settings where
|
|
|
|
type Representation Settings = (Bool, Maybe T.Text)
|
|
|
|
instance ToDatabase Settings where
|
|
|
|
toDatabase (Settings reg imprint) = (reg, imprint)
|
|
|
|
instance FromDatabase Settings where
|
|
|
|
fromDatabase (reg, imprint) = Settings reg imprint
|
|
|
|
instance FromJSON Settings
|
|
|
|
instance ToJSON Settings
|
|
|
|
instance ToSchema Settings
|