{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
module IO.HTTP.GitHub.Card
( MaybeCard(MaybeCard)
, maybeCardToTask
, content_url
) where
import ClassyPrelude
import Control.Lens (makeLenses, (^.))
import qualified Data.Taskell.Task as T (Task, new)
import IO.HTTP.Aeson (deriveFromJSON)
import IO.HTTP.GitHub.Utility (cleanUp)
data MaybeCard = MaybeCard
{ _note :: Maybe Text
, _content_url :: Maybe Text
} deriving (Eq, Show)
$(deriveFromJSON ''MaybeCard)
$(makeLenses ''MaybeCard)
maybeCardToTask :: MaybeCard -> Maybe T.Task
maybeCardToTask card = T.new . cleanUp <$> card ^. note