lucienne-0.0.1: Lucienne/Controller/Feed.hs
module Lucienne.Controller.Feed
(Message (..), feed, home)
where
import Data.List (find)
import Lucienne.Controller.Imports
import qualified Lucienne.Database as DB
import qualified Lucienne.View.Feed as View
import qualified Lucienne.Model.Feed as F
feed :: String -> User -> Controller Response
feed feedId user = do
feeds <- lift $ DB.feedsByUser user
items <- lift $ DB.feedItemsByFeedId user feedId
case (find (\f -> F.id f == readObjectId feedId) feeds) of
Nothing -> mzero
Just feed -> ok $ toResponse $ View.feed user feed items feeds
home :: User -> Controller Response
home user = do
msg <- getMessages
feeds <- lift $ DB.feedsByUser user
items <- lift $ DB.feedItems user
ok $ toResponse $ View.home user msg items feeds