module Yam.Server.Refresh where import Data.Text (Text, pack) import Salak import Servant import Yam.App import Yam.Logger import Yam.Prelude type RefreshEndpoint = "refresh" :> Post '[PlainText] Text refreshEndpoint :: (HasLogger cxt, MonadIO m) => IO ReloadResult -> Bool -> AppT cxt m Text refreshEndpoint io True = do ReloadResult{..} <- liftIO io if isError then throwS err400 $ showMsg msg else return $ showMsg msg refreshEndpoint _ _ = throwS err401 "Refresh not allowed" showMsg :: [String] -> Text showMsg = pack . unlines