packages feed

brok-1.0.0: src/Brok/IO/Document.hs

{-# LANGUAGE NoImplicitPrelude #-}

module Brok.IO.Document
    ( TFilePath
    , readContent
    ) where

import ClassyPrelude

import System.Directory (doesFileExist)

import Brok.Types.Brok    (Brok)
import Brok.Types.Result

readContent :: Result -> Brok Result
readContent result = do
    let path = getPath result
    let filepath = unpack path
    exists <- lift $ doesFileExist filepath
    if exists
        then setContent result . decodeUtf8 <$> readFile filepath
        else return $ notFound result