module Web.Tweet.Types where
import GHC.Generics
import Control.Lens
import Data.Default
import Web.Authenticate.OAuth
data Tweet = Tweet
{ _status :: String
, _handles :: [String]
, _replyID :: Maybe Int
} deriving (Generic, Default)
data TweetEntity = TweetEntity
{ _text :: String
, _name :: String
, _screenName :: String
, _tweetId :: Int
, _quoted :: Maybe TweetEntity
, _retweets :: Int
, _favorites :: Int
} deriving (Generic, Default, Eq, Show)
type Timeline = [TweetEntity]
type Config = (OAuth, Credential)
makeLenses ''Tweet
makeLenses ''TweetEntity