{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE TemplateHaskell #-}
module IO.HTTP.GitHub.Column
( Column
, columnToList
, cardsURL
) where
import ClassyPrelude
import Control.Lens (Lens', makeLenses, (^.))
import IO.HTTP.Aeson (deriveFromJSON)
import qualified Data.Taskell.List as L (List, create)
import qualified Data.Taskell.Task as T (Task)
data Column = Column
{ _name :: Text
, _cards_url :: Text
} deriving (Eq, Show)
$(deriveFromJSON ''Column)
$(makeLenses ''Column)
cardsURL :: Lens' Column Text
cardsURL = cards_url
columnToList :: Column -> [T.Task] -> L.List
columnToList ls tasks = L.create (ls ^. name) (fromList tasks)