From b4aaaf96f67fccae2dd284324215001384516a9b Mon Sep 17 00:00:00 2001 From: stuebinm Date: Wed, 20 Jul 2022 01:13:30 +0200 Subject: a little more control room work --- lib/Persist.hs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'lib/Persist.hs') diff --git a/lib/Persist.hs b/lib/Persist.hs index da23dae..f42c1cc 100644 --- a/lib/Persist.hs +++ b/lib/Persist.hs @@ -29,7 +29,8 @@ import Database.Persist.Sql (PersistFieldSql, import Database.Persist.TH import GTFS import PersistOrphans -import Servant (FromHttpApiData, ToHttpApiData) +import Servant (FromHttpApiData (..), + ToHttpApiData) import Conduit (ResourceT) import Control.Monad.IO.Class (MonadIO (liftIO)) @@ -45,6 +46,7 @@ import Data.Time.Calendar (Day, DayOfWeek (..)) import Data.Vector (Vector) import Database.Persist.Postgresql (SqlBackend) import GHC.Generics (Generic) +import Lucid.Forms (ToHtmlFormInput) import Web.PathPieces (PathPiece) newtype Token = Token UUID @@ -58,8 +60,12 @@ instance ToParamSchema Token where toParamSchema _ = toParamSchema (Proxy @String) data AmendmentStatus = Cancelled | Added - deriving (ToJSON, FromJSON, Generic, Show, Read, Eq) + deriving (ToJSON, FromJSON, Generic, Show, Read, Eq, ToHtmlFormInput) derivePersistField "AmendmentStatus" +instance FromHttpApiData AmendmentStatus where + parseUrlPiece "Cancelled" = Right Cancelled + parseUrlPiece "Added" = Right Added + parseUrlPiece other = Left ("unknown AmendmentStatus: "<>other) share [mkPersist sqlSettings, mkMigrate "migrateAll"] [persistLowerCase| -- | tokens which have been issued -- cgit v1.2.3