Files
acms/backend/app/Route.hs
Alexander Foremny 8a34cc822c add collections
2024-06-07 17:06:17 +02:00

22 lines
495 B
Haskell

module Route (Route (..), parser) where
import Data.Attoparsec.Char8 qualified as P
data Route
= SchemaJson String
| Query
| SchemaVersion
| Collections
deriving (Show)
parser :: P.Parser Route
parser =
( P.choice
[ pure Collections <* P.string "/collections",
pure SchemaVersion <* P.string "/schemaVersion",
SchemaJson <$> (P.string "/" *> P.manyTill P.anyChar (P.string ".schema.json")),
pure Query <* P.string "/"
]
)
<* P.endOfInput