This repository has been archived on 2024-10-24. You can view files and clone it, but cannot push or open issues or pull requests.
fradrive-old/src/Handler/Utils/Minio.hs
2021-03-17 21:15:00 +01:00

26 lines
676 B
Haskell

module Handler.Utils.Minio
( runAppMinio
, minioIsDoesNotExist
) where
import Import.NoFoundation
import Foundation.Type
import Network.Minio (Minio)
import qualified Network.Minio as Minio
runAppMinio :: ( MonadHandler m, HandlerSite m ~ UniWorX
, MonadThrow m
, MonadPlus m
)
=> Minio a -> m a
runAppMinio act = do
conn <- hoistMaybe =<< getsYesod appUploadCache
throwLeft <=< liftIO $ Minio.runMinioWith conn act
minioIsDoesNotExist :: HttpException -> Bool
minioIsDoesNotExist (HttpExceptionRequest _ (StatusCodeException resp _))
= responseStatus resp == notFound404
minioIsDoesNotExist _ = False