packages feed

lucienne-0.0.1: Lucienne/Controller/DeleteFeed.hs

module Lucienne.Controller.DeleteFeed 
       (deleteFeed, doDeleteFeed)
where
  
import           Lucienne.Controller.Imports
import qualified Lucienne.View.DeleteFeed as View
import qualified Lucienne.Database as DB
import qualified Lucienne.Model.Feed as F

deleteFeed :: String -> User -> Controller Response
deleteFeed feedId user = do
  mFeed <- lift $ DB.feedById user feedId
  case mFeed of
    Nothing   -> mzero
    Just feed -> ok $ toResponse $ View.deleteFeed feed
    
doDeleteFeed :: String -> User -> Controller Response
doDeleteFeed feedId user = do
  mFeed <- lift $ DB.feedById user feedId
  case mFeed of
    Nothing   -> mzero
    Just feed -> do 
      lift $ do DB.deleteFeedItemsByFeedId $ F.id feed
                DB.deleteFeedById user $ F.id feed
      seeHome