module TeaCleaner.Types ( Activity(..) , User(..) ) where import TeaCleaner.Options (jsonOptions) import Data.Int (Int64) import Data.Text (Text) import qualified Data.Aeson.TH as Aeson import Data.Time (ZonedTime(..)) data User = User { id :: Int64 , login :: Text , loginName :: Text , fullName :: Text , email :: Text , avatarUrl :: Text , language :: Text , isAdmin :: Bool , lastLogin :: ZonedTime , created :: ZonedTime , restricted :: Bool , active :: Bool , prohibitLogin :: Bool , location :: Text , website :: Text , description :: Text , visibility :: Text , followersCount :: Int , followingCount :: Int , starredReposCount :: Int , username :: Text } deriving (Show) $(Aeson.deriveJSON jsonOptions ''User) data Activity = Activity { actUserId :: Int64 -- , comment Comment , commentId :: Int64 , content :: Text , created :: ZonedTime , id :: Int64 , isPrivate :: Bool , opType :: Text , refName :: Text -- repo Repository{...} , repoId :: Int64 , userId :: Int64 } deriving (Show) $(Aeson.deriveJSON jsonOptions ''Activity)