{-# LANGUAGE TemplateHaskell, QuasiQuotes, TypeFamilies #-}

module Web.Informative.Data where

import Data.Text
import Yesod

data Informative = Informative { getSegment :: Text, getPrefix :: Text }

mkYesodSubData "Informative" [parseRoutes|
 /article/#Text ArticleR GET
 /articleid/#Int ArticleIdR GET
 /edit/#Text/#Int EditR GET
|]

data TextFormat = Markdown | MediaWiki | ReStructuredText | LaTeX | Plain deriving (Eq,Ord,Show,Read, Enum, Bounded)
derivePersistField "TextFormat"

data TextKind = Article | Table | Mapping | Hint | Error deriving (Eq, Ord, Show, Read, Enum, Bounded)
derivePersistField "TextKind"