ENH print exceptions and exit with failure

This commit is contained in:
Nathan Dwarshuis 2023-01-29 11:35:46 -05:00
parent 38c766e025
commit dc484c6557
1 changed files with 6 additions and 2 deletions

View File

@ -1,8 +1,8 @@
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
module Main (main) where
import qualified Data.Text.IO as TI
import Internal.Config
import Internal.Database.Ops
import Internal.Insert
@ -157,12 +157,16 @@ runDumpAccountKeys c = do
runSync :: MonadUnliftIO m => FilePath -> m ()
runSync c = do
config <- readConfig c
migrate_ (sqlConfig config) $ do
handle err $ migrate_ (sqlConfig config) $ do
s <- getDBState config
flip runReaderT (s $ takeDirectory c) $ do
es1 <- insertBudget $ budget config
es2 <- insertStatements config
let es = es1 ++ es2
unless (null es) $ throwIO $ InsertException es
where
err (InsertException es) = do
liftIO $ mapM_ TI.putStrLn $ concatMap showError es
exitFailure
-- showBalances