From 0f77c17e5cb8ec79d060aa9b16a049f374cd14ea Mon Sep 17 00:00:00 2001 From: towards-a-new-leftypol Date: Fri, 6 Oct 2023 14:53:39 -0400 Subject: [PATCH] Getting list of threads now --- src/Backfill.hs | 19 +++++++++++++++---- src/DataClient.hs | 6 +++--- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/Backfill.hs b/src/Backfill.hs index 3fd0a98..89b5f5b 100644 --- a/src/Backfill.hs +++ b/src/Backfill.hs @@ -48,15 +48,19 @@ ensureSiteExists settings = do putStrLn $ site_name settings ++ " already exists!" return $ Client.site_id site Nothing -> do - putStrLn "leftychan.net does not exist. Creating..." + putStrLn $ site_name settings ++ " does not exist. Creating..." postResult <- Client.postSite settings case postResult of - Right site -> do + Right (site:_) -> do putStrLn $ "Successfully created " ++ site_name settings ++ ". " ++ show site return $ Client.site_id site + Right [] -> do + putStrLn $ "Did not get new site id back from postgrest" + exitFailure Left err -> do - putStrLn $ "Failed to create leftychan.net. Error: " ++ show err + putStrLn $ "Failed to create " ++ site_name settings + ++ " Error: " ++ show err exitFailure Left err -> do @@ -70,8 +74,15 @@ processBackupDirectory settings = do print settings -- print the decoded JSON settings site_id_ <- ensureSiteExists settings dirs <- listCatalogDirectories settings - _ <- Client.getSiteBoards settings site_id_ + boards_result <- Client.getSiteBoards settings site_id_ putStrLn "Boards fetched!" + case boards_result of + Left err -> do + putStrLn $ "Error fetching boards: " ++ show err + exitFailure + Right archived_boards -> do + print archived_boards + mapM_ putStrLn dirs mapM_ processDir dirs where diff --git a/src/DataClient.hs b/src/DataClient.hs index a892410..3e78edf 100644 --- a/src/DataClient.hs +++ b/src/DataClient.hs @@ -90,10 +90,10 @@ handleHttp action = do getSiteBoards :: T.JSONSettings -> Int -> IO (Either HttpError [ String ]) getSiteBoards settings site_id_ = get settings path >>= return . eitherDecodeResponse where - path = "/boards?select=name&boards.site_id=eq." ++ show site_id_ + path = "/boards?select=name&site_id=eq." ++ show site_id_ -postSite :: T.JSONSettings -> IO (Either HttpError SiteResponse) +postSite :: T.JSONSettings -> IO (Either HttpError [SiteResponse]) postSite settings = post settings "/sites" payload True >>= return . eitherDecodeResponse @@ -112,4 +112,4 @@ eitherDecodeResponse (Left err) = Left err eitherDecodeResponse (Right bs) = case eitherDecode bs of Right val -> Right val - Left err -> Left $ StatusCodeError 500 $ LC8.pack $ "Failed to decode JSON: " ++ err + Left err -> Left $ StatusCodeError 500 $ LC8.pack $ "Failed to decode JSON: " ++ err ++ " " ++ (show bs)