module Rob.Actions.Remove (main) where
import Rob.Logger (err)
import Rob.Config (get, errorNoTemplatesAvailable, deleteTemplate)
import Rob.Types (Config(..))
import Rob.Project (getTemplateName)
import Rob.UserMessages (
choseATemplateToDelete,
noTemplateSelected,
emptyString
)
import System.Exit (exitFailure, exitSuccess)
import FortyTwo (select)
main :: IO ()
main = do
config <- get
nukeTemplate config
nukeTemplate :: Config -> IO ()
nukeTemplate (Config []) = errorNoTemplatesAvailable
nukeTemplate (Config templates) = do
templateName <- select choseATemplateToDelete $ map getTemplateName templates
putStrLn emptyString
if (not . null) templateName then do
_ <- deleteTemplate (Config templates) templateName
exitSuccess
else do
err noTemplateSelected
exitFailure