mateamt/src/Types/Settings.hs

40 lines
818 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
, settingsIdleTime :: Int
}
deriving (Show, Generic)
instance DatabaseRepresentation Settings where
type Representation Settings = (Bool, Maybe T.Text, Int)
instance ToDatabase Settings where
toDatabase (Settings reg imprint idleTime) = (reg, imprint, idleTime)
instance FromDatabase Settings where
fromDatabase (reg, imprint, idleTime) = Settings reg imprint idleTime
instance FromJSON Settings
instance ToJSON Settings
instance ToSchema Settings