{-# 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