agent: errorT to errorC handling in eject disks

This commit is contained in:
Aaron Greenspan
2021-01-12 15:33:03 -07:00
committed by Aiden McClelland
parent c25295500b
commit 23077c6c6b
2 changed files with 11 additions and 4 deletions

View File

@@ -99,12 +99,12 @@ getDisksR :: Handler (JSONResponse [AppMgr.DiskInfo])
getDisksR = fmap JSONResponse . runM . handleS9ErrC $ listDisksLogic
deleteDisksR :: Handler ()
deleteDisksR = handleS9ErrT $ do
deleteDisksR = runM . handleS9ErrC $ do
logicalName <- lookupGetParam "logicalName" >>= orThrow400
runM . handleS9ErrC $ ejectDiskLogic logicalName
ejectDiskLogic logicalName
where
orThrow400 = \case
Nothing -> throwE $ ParamsE "logicalName"
Nothing -> throwError $ ParamsE "logicalName"
Just p -> pure p

View File

@@ -69,12 +69,12 @@ instance MonadResource m => MonadResource (FE.ReaderC r m) where
instance MonadResource m => MonadResource (FE.ErrorC e m) where
liftResourceT = lift . liftResourceT
instance MonadThrow (sub m) => MonadThrow (FE.Labelled label sub m) where
throwM = FE.Labelled . throwM
instance MonadThrow m => MonadThrow (FE.LiftC m) where
throwM = FE.LiftC . throwM
instance MonadLogger m => MonadLogger (FE.ErrorC e m) where
instance MonadLogger m => MonadLogger (FE.LiftC m) where
instance MonadLogger (sub m) => MonadLogger (FE.Labelled label sub m) where
monadLoggerLog a b c d = FE.Labelled $ monadLoggerLog a b c d
@@ -91,6 +91,13 @@ instance MonadHandler (sub m) => MonadHandler (FE.Labelled label sub m) where
liftHandler = FE.Labelled . liftHandler
liftSubHandler = FE.Labelled . liftSubHandler
instance MonadHandler m => MonadHandler (FE.ErrorC e m) where
type HandlerSite (FE.ErrorC e m) = HandlerSite m
type SubHandlerSite (FE.ErrorC e m) = SubHandlerSite m
liftHandler = lift . liftHandler
liftSubHandler = lift . liftSubHandler
instance MonadTransControl t => MonadTransControl (FE.Labelled k t) where
type StT (FE.Labelled k t) a = StT t a
liftWith f = FE.Labelled $ liftWith $ \run -> f (run . FE.runLabelled)