From 3add980b73b1ac75d1ad1dde85f6c782439914be Mon Sep 17 00:00:00 2001
From: Alexander Foremny <aforemny@posteo.de>
Date: Thu, 6 Jun 2024 22:52:33 +0200
Subject: list collections

---
 backend/app/Main.hs | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

(limited to 'backend/app')

diff --git a/backend/app/Main.hs b/backend/app/Main.hs
index df5dee8..59eab03 100644
--- a/backend/app/Main.hs
+++ b/backend/app/Main.hs
@@ -221,6 +221,11 @@ main = do
             respond $
               W.responseLBS W.status200 [] $
                 J.encode (last repo.commits).schemaVersion
+          Right ListCollections -> do
+            repo <- atomically (readTMVar repoT)
+            respond $
+              W.responseLBS W.status200 [] $
+                J.encode (map (.path) (last repo.commits).collections)
           (traceShowId -> !_) ->
             respond $ W.responseLBS W.status200 [] "not implemented"
 
@@ -228,13 +233,15 @@ data Route
   = SchemaJson String
   | Query
   | SchemaVersion
+  | ListCollections
   deriving (Show)
 
 routeP :: P.Parser Route
 routeP =
   ( P.choice
-      [ SchemaJson <$> (P.string "/" *> P.manyTill P.anyChar (P.string ".schema.json")),
+      [ pure ListCollections <* P.string "/collections",
         pure SchemaVersion <* P.string "/schemaVersion",
+        SchemaJson <$> (P.string "/" *> P.manyTill P.anyChar (P.string ".schema.json")),
         pure Query <* P.string "/"
       ]
   )
-- 
cgit v1.2.3