{-# LANGUAGE OverloadedStrings #-} module Main ( main ) where import qualified Data.Text.IO as T import qualified RenderError import qualified Notification import Model.Config import Model.BirthdateParser (parseBirthdates) import qualified Model.Path as Path main :: IO () main = do eitherBirthdates <- parseBirthdates <$> T.readFile Path.birthdate eitherConfig <- getConfig Path.config case (eitherBirthdates, eitherConfig) of (Left err, _) -> RenderError.birthdate err (_, Left err) -> RenderError.config err (Right birthdates, Right config) -> do Notification.todayAndNextWeek birthdates config