diff options
author | stuebinm | 2022-07-20 01:13:30 +0200 |
---|---|---|
committer | stuebinm | 2022-07-20 01:13:30 +0200 |
commit | b4aaaf96f67fccae2dd284324215001384516a9b (patch) | |
tree | 9e4dfdf6e9e565165ea1da31a76a4ef22195f061 /lib/Persist.hs | |
parent | 04f3304e7f8db44a21e4f9da0d481facddc41a26 (diff) |
a little more control room work
Diffstat (limited to 'lib/Persist.hs')
-rw-r--r-- | lib/Persist.hs | 10 |
1 files changed, 8 insertions, 2 deletions
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 |