X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FTSN%2FTeam.hs;h=bb73efcf975cf11c949acd92e04db8296eecdae9;hb=f1ec53a41f9d1fc0761a92476e20f214b9b75d79;hp=97e36475e59c14ea93c64a819e5b275b121bdd87;hpb=adfab819cdeb2774e811f68f4c7dda7668b1fa77;p=dead%2Fhtsn-import.git diff --git a/src/TSN/Team.hs b/src/TSN/Team.hs index 97e3647..bb73efc 100644 --- a/src/TSN/Team.hs +++ b/src/TSN/Team.hs @@ -13,7 +13,9 @@ -- representation. -- module TSN.Team ( + HTeam(..), Team(..), + VTeam(..), -- * WARNING: these are private but exported to silence warnings TeamConstructor(..) ) where @@ -26,6 +28,8 @@ import Database.Groundhog.TH ( mkPersist ) +-- * Team + -- | The database representation of a team. The 'team_id' is a -- 'String' field because some teams do in fact have ids like -- \"B52\". The pointless \"team_\" prefix is left on the 'team_id' @@ -43,6 +47,24 @@ data Team = deriving (Eq, Show) +-- * VTeam / HTeam + +-- | A wrapper around 'Team' that lets us distinguish between home and +-- away teams. See also 'HTeam'. \"V\" (visiting) was chosen instead +-- of \"A\" (away) simply because \"vteam\" looks better than +-- \"ateam\". This is purely for type-safety. +-- +newtype VTeam = VTeam { vteam :: Team } deriving (Eq, Show) + + +-- | A wrapper around 'Team' that lets us distinguish between home and +-- away teams. See also 'VTeam'. This is purely for type-safety. +-- +newtype HTeam = HTeam { hteam :: Team } deriving (Eq, Show) + + +-- * Database stuff + -- Generate the Groundhog code for 'Team'. mkPersist defaultCodegenConfig [groundhog| - entity: Team