{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
module Gerrit.Data.Event (
EventType (..),
Event (..),
User (..),
PatchSet (..),
Change (..),
Ref (..),
AssigneeChanged (..),
ChangeAbandoned (..),
ChangeDeleted (..),
ChangeMerged (..),
ChangeRestored (..),
CommentAdded (..),
HashtagsChanged (..),
ProjectCreated (..),
PatchsetCreated (..),
RefUpdated (..),
ReviewerAdded (..),
ReviewerDeleted (..),
TopicChanged (..),
WorkInProgressStateChanged (..),
PrivateStateChanged (..),
VoteDeleted (..),
getChange,
getPatchSet,
getUser,
getCreatedOn,
getEventType,
eventName,
)
where
import Control.Monad (mzero)
import Data.Aeson (
FromJSON (..),
Options (fieldLabelModifier),
Value (Object, String),
defaultOptions,
genericParseJSON,
(.:),
)
import Data.Char (toLower)
import Data.Text (Text)
import qualified Data.Text as Text
import GHC.Generics (Generic)
import GHC.Int (Int64)
aesonOption :: Text -> Options
aesonOption :: Text -> Options
aesonOption Text
prefix = Options
defaultOptions{fieldLabelModifier = recordToJson}
where
recordToJson :: [Char] -> [Char]
recordToJson = [Char] -> [Char]
updateCase ([Char] -> [Char]) -> ([Char] -> [Char]) -> [Char] -> [Char]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> [Char] -> [Char]
forall a. Int -> [a] -> [a]
drop (Text -> Int
Text.length Text
prefix)
updateCase :: [Char] -> [Char]
updateCase [] = []
updateCase (Char
x : [Char]
xs) = Char -> Char
toLower Char
x Char -> [Char] -> [Char]
forall a. a -> [a] -> [a]
: [Char]
xs
data User = User
{ User -> Maybe Text
userName :: Maybe Text
, User -> Maybe Text
userEmail :: Maybe Text
, User -> Maybe Text
userUsername :: Maybe Text
}
deriving (Int -> User -> [Char] -> [Char]
[User] -> [Char] -> [Char]
User -> [Char]
(Int -> User -> [Char] -> [Char])
-> (User -> [Char]) -> ([User] -> [Char] -> [Char]) -> Show User
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> User -> [Char] -> [Char]
showsPrec :: Int -> User -> [Char] -> [Char]
$cshow :: User -> [Char]
show :: User -> [Char]
$cshowList :: [User] -> [Char] -> [Char]
showList :: [User] -> [Char] -> [Char]
Show, User -> User -> Bool
(User -> User -> Bool) -> (User -> User -> Bool) -> Eq User
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: User -> User -> Bool
== :: User -> User -> Bool
$c/= :: User -> User -> Bool
/= :: User -> User -> Bool
Eq, (forall x. User -> Rep User x)
-> (forall x. Rep User x -> User) -> Generic User
forall x. Rep User x -> User
forall x. User -> Rep User x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. User -> Rep User x
from :: forall x. User -> Rep User x
$cto :: forall x. Rep User x -> User
to :: forall x. Rep User x -> User
Generic)
instance FromJSON User where
parseJSON :: Value -> Parser User
parseJSON = Options -> Value -> Parser User
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser User)
-> Options -> Value -> Parser User
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"user"
data PatchSet = PatchSet
{ PatchSet -> Int
patchSetNumber :: Int
, PatchSet -> Text
patchSetRef :: Text
, PatchSet -> User
patchSetUploader :: User
, PatchSet -> User
patchsetAuthor :: User
}
deriving (Int -> PatchSet -> [Char] -> [Char]
[PatchSet] -> [Char] -> [Char]
PatchSet -> [Char]
(Int -> PatchSet -> [Char] -> [Char])
-> (PatchSet -> [Char])
-> ([PatchSet] -> [Char] -> [Char])
-> Show PatchSet
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> PatchSet -> [Char] -> [Char]
showsPrec :: Int -> PatchSet -> [Char] -> [Char]
$cshow :: PatchSet -> [Char]
show :: PatchSet -> [Char]
$cshowList :: [PatchSet] -> [Char] -> [Char]
showList :: [PatchSet] -> [Char] -> [Char]
Show, PatchSet -> PatchSet -> Bool
(PatchSet -> PatchSet -> Bool)
-> (PatchSet -> PatchSet -> Bool) -> Eq PatchSet
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PatchSet -> PatchSet -> Bool
== :: PatchSet -> PatchSet -> Bool
$c/= :: PatchSet -> PatchSet -> Bool
/= :: PatchSet -> PatchSet -> Bool
Eq, (forall x. PatchSet -> Rep PatchSet x)
-> (forall x. Rep PatchSet x -> PatchSet) -> Generic PatchSet
forall x. Rep PatchSet x -> PatchSet
forall x. PatchSet -> Rep PatchSet x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. PatchSet -> Rep PatchSet x
from :: forall x. PatchSet -> Rep PatchSet x
$cto :: forall x. Rep PatchSet x -> PatchSet
to :: forall x. Rep PatchSet x -> PatchSet
Generic)
instance FromJSON PatchSet where
parseJSON :: Value -> Parser PatchSet
parseJSON = Options -> Value -> Parser PatchSet
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser PatchSet)
-> Options -> Value -> Parser PatchSet
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"patchSet"
data Change = Change
{ Change -> Text
changeProject :: Text
, Change -> Text
changeBranch :: Text
, Change -> Text
changeSubject :: Text
, Change -> Int
changeNumber :: Int
, Change -> Text
changeUrl :: Text
, Change -> User
changeOwner :: User
, Change -> Maybe Bool
changeWip :: Maybe Bool
, Change -> Maybe Text
changeTopic :: Maybe Text
, Change -> Int64
changeCreatedOn :: Int64
}
deriving (Int -> Change -> [Char] -> [Char]
[Change] -> [Char] -> [Char]
Change -> [Char]
(Int -> Change -> [Char] -> [Char])
-> (Change -> [Char])
-> ([Change] -> [Char] -> [Char])
-> Show Change
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> Change -> [Char] -> [Char]
showsPrec :: Int -> Change -> [Char] -> [Char]
$cshow :: Change -> [Char]
show :: Change -> [Char]
$cshowList :: [Change] -> [Char] -> [Char]
showList :: [Change] -> [Char] -> [Char]
Show, Change -> Change -> Bool
(Change -> Change -> Bool)
-> (Change -> Change -> Bool) -> Eq Change
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Change -> Change -> Bool
== :: Change -> Change -> Bool
$c/= :: Change -> Change -> Bool
/= :: Change -> Change -> Bool
Eq, (forall x. Change -> Rep Change x)
-> (forall x. Rep Change x -> Change) -> Generic Change
forall x. Rep Change x -> Change
forall x. Change -> Rep Change x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. Change -> Rep Change x
from :: forall x. Change -> Rep Change x
$cto :: forall x. Rep Change x -> Change
to :: forall x. Rep Change x -> Change
Generic)
instance FromJSON Change where
parseJSON :: Value -> Parser Change
parseJSON = Options -> Value -> Parser Change
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser Change)
-> Options -> Value -> Parser Change
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"change"
data Ref = Ref
{ Ref -> Text
refOldRev :: Text
, Ref -> Text
refNewRev :: Text
, Ref -> Text
refRefName :: Text
, Ref -> Text
refProject :: Text
}
deriving (Int -> Ref -> [Char] -> [Char]
[Ref] -> [Char] -> [Char]
Ref -> [Char]
(Int -> Ref -> [Char] -> [Char])
-> (Ref -> [Char]) -> ([Ref] -> [Char] -> [Char]) -> Show Ref
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> Ref -> [Char] -> [Char]
showsPrec :: Int -> Ref -> [Char] -> [Char]
$cshow :: Ref -> [Char]
show :: Ref -> [Char]
$cshowList :: [Ref] -> [Char] -> [Char]
showList :: [Ref] -> [Char] -> [Char]
Show, Ref -> Ref -> Bool
(Ref -> Ref -> Bool) -> (Ref -> Ref -> Bool) -> Eq Ref
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Ref -> Ref -> Bool
== :: Ref -> Ref -> Bool
$c/= :: Ref -> Ref -> Bool
/= :: Ref -> Ref -> Bool
Eq, (forall x. Ref -> Rep Ref x)
-> (forall x. Rep Ref x -> Ref) -> Generic Ref
forall x. Rep Ref x -> Ref
forall x. Ref -> Rep Ref x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. Ref -> Rep Ref x
from :: forall x. Ref -> Rep Ref x
$cto :: forall x. Rep Ref x -> Ref
to :: forall x. Rep Ref x -> Ref
Generic)
instance FromJSON Ref where
parseJSON :: Value -> Parser Ref
parseJSON = Options -> Value -> Parser Ref
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser Ref) -> Options -> Value -> Parser Ref
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"ref"
data AssigneeChanged = AssigneeChanged
{ AssigneeChanged -> Change
assigneeChangedChange :: Change
, AssigneeChanged -> User
assigneeChangedChanger :: User
, AssigneeChanged -> Int64
assigneeChangedEventCreatedOn :: Int64
}
deriving (Int -> AssigneeChanged -> [Char] -> [Char]
[AssigneeChanged] -> [Char] -> [Char]
AssigneeChanged -> [Char]
(Int -> AssigneeChanged -> [Char] -> [Char])
-> (AssigneeChanged -> [Char])
-> ([AssigneeChanged] -> [Char] -> [Char])
-> Show AssigneeChanged
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> AssigneeChanged -> [Char] -> [Char]
showsPrec :: Int -> AssigneeChanged -> [Char] -> [Char]
$cshow :: AssigneeChanged -> [Char]
show :: AssigneeChanged -> [Char]
$cshowList :: [AssigneeChanged] -> [Char] -> [Char]
showList :: [AssigneeChanged] -> [Char] -> [Char]
Show, AssigneeChanged -> AssigneeChanged -> Bool
(AssigneeChanged -> AssigneeChanged -> Bool)
-> (AssigneeChanged -> AssigneeChanged -> Bool)
-> Eq AssigneeChanged
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AssigneeChanged -> AssigneeChanged -> Bool
== :: AssigneeChanged -> AssigneeChanged -> Bool
$c/= :: AssigneeChanged -> AssigneeChanged -> Bool
/= :: AssigneeChanged -> AssigneeChanged -> Bool
Eq, (forall x. AssigneeChanged -> Rep AssigneeChanged x)
-> (forall x. Rep AssigneeChanged x -> AssigneeChanged)
-> Generic AssigneeChanged
forall x. Rep AssigneeChanged x -> AssigneeChanged
forall x. AssigneeChanged -> Rep AssigneeChanged x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. AssigneeChanged -> Rep AssigneeChanged x
from :: forall x. AssigneeChanged -> Rep AssigneeChanged x
$cto :: forall x. Rep AssigneeChanged x -> AssigneeChanged
to :: forall x. Rep AssigneeChanged x -> AssigneeChanged
Generic)
data ChangeAbandoned = ChangeAbandoned
{ ChangeAbandoned -> Text
changeAbandonedProject :: Text
, ChangeAbandoned -> User
changeAbandonedAbandoner :: User
, ChangeAbandoned -> Change
changeAbandonedChange :: Change
, ChangeAbandoned -> PatchSet
changeAbandonedPatchSet :: PatchSet
, ChangeAbandoned -> Maybe Text
changeAbandonedReason :: Maybe Text
, ChangeAbandoned -> Int64
changeAbandonedEventCreatedOn :: Int64
}
deriving (Int -> ChangeAbandoned -> [Char] -> [Char]
[ChangeAbandoned] -> [Char] -> [Char]
ChangeAbandoned -> [Char]
(Int -> ChangeAbandoned -> [Char] -> [Char])
-> (ChangeAbandoned -> [Char])
-> ([ChangeAbandoned] -> [Char] -> [Char])
-> Show ChangeAbandoned
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> ChangeAbandoned -> [Char] -> [Char]
showsPrec :: Int -> ChangeAbandoned -> [Char] -> [Char]
$cshow :: ChangeAbandoned -> [Char]
show :: ChangeAbandoned -> [Char]
$cshowList :: [ChangeAbandoned] -> [Char] -> [Char]
showList :: [ChangeAbandoned] -> [Char] -> [Char]
Show, ChangeAbandoned -> ChangeAbandoned -> Bool
(ChangeAbandoned -> ChangeAbandoned -> Bool)
-> (ChangeAbandoned -> ChangeAbandoned -> Bool)
-> Eq ChangeAbandoned
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ChangeAbandoned -> ChangeAbandoned -> Bool
== :: ChangeAbandoned -> ChangeAbandoned -> Bool
$c/= :: ChangeAbandoned -> ChangeAbandoned -> Bool
/= :: ChangeAbandoned -> ChangeAbandoned -> Bool
Eq, (forall x. ChangeAbandoned -> Rep ChangeAbandoned x)
-> (forall x. Rep ChangeAbandoned x -> ChangeAbandoned)
-> Generic ChangeAbandoned
forall x. Rep ChangeAbandoned x -> ChangeAbandoned
forall x. ChangeAbandoned -> Rep ChangeAbandoned x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. ChangeAbandoned -> Rep ChangeAbandoned x
from :: forall x. ChangeAbandoned -> Rep ChangeAbandoned x
$cto :: forall x. Rep ChangeAbandoned x -> ChangeAbandoned
to :: forall x. Rep ChangeAbandoned x -> ChangeAbandoned
Generic)
data ChangeDeleted = ChangeDeleted
{ ChangeDeleted -> Change
changeDeletedChange :: Change
, ChangeDeleted -> User
changeDeletedDeleter :: User
}
deriving (Int -> ChangeDeleted -> [Char] -> [Char]
[ChangeDeleted] -> [Char] -> [Char]
ChangeDeleted -> [Char]
(Int -> ChangeDeleted -> [Char] -> [Char])
-> (ChangeDeleted -> [Char])
-> ([ChangeDeleted] -> [Char] -> [Char])
-> Show ChangeDeleted
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> ChangeDeleted -> [Char] -> [Char]
showsPrec :: Int -> ChangeDeleted -> [Char] -> [Char]
$cshow :: ChangeDeleted -> [Char]
show :: ChangeDeleted -> [Char]
$cshowList :: [ChangeDeleted] -> [Char] -> [Char]
showList :: [ChangeDeleted] -> [Char] -> [Char]
Show, ChangeDeleted -> ChangeDeleted -> Bool
(ChangeDeleted -> ChangeDeleted -> Bool)
-> (ChangeDeleted -> ChangeDeleted -> Bool) -> Eq ChangeDeleted
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ChangeDeleted -> ChangeDeleted -> Bool
== :: ChangeDeleted -> ChangeDeleted -> Bool
$c/= :: ChangeDeleted -> ChangeDeleted -> Bool
/= :: ChangeDeleted -> ChangeDeleted -> Bool
Eq, (forall x. ChangeDeleted -> Rep ChangeDeleted x)
-> (forall x. Rep ChangeDeleted x -> ChangeDeleted)
-> Generic ChangeDeleted
forall x. Rep ChangeDeleted x -> ChangeDeleted
forall x. ChangeDeleted -> Rep ChangeDeleted x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. ChangeDeleted -> Rep ChangeDeleted x
from :: forall x. ChangeDeleted -> Rep ChangeDeleted x
$cto :: forall x. Rep ChangeDeleted x -> ChangeDeleted
to :: forall x. Rep ChangeDeleted x -> ChangeDeleted
Generic)
data ChangeMerged = ChangeMerged
{ ChangeMerged -> Text
changeMergedProject :: Text
, ChangeMerged -> User
changeMergedSubmitter :: User
, ChangeMerged -> Change
changeMergedChange :: Change
, ChangeMerged -> PatchSet
changeMergedPatchSet :: PatchSet
, ChangeMerged -> Int64
changeMergedEventCreatedOn :: Int64
}
deriving (Int -> ChangeMerged -> [Char] -> [Char]
[ChangeMerged] -> [Char] -> [Char]
ChangeMerged -> [Char]
(Int -> ChangeMerged -> [Char] -> [Char])
-> (ChangeMerged -> [Char])
-> ([ChangeMerged] -> [Char] -> [Char])
-> Show ChangeMerged
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> ChangeMerged -> [Char] -> [Char]
showsPrec :: Int -> ChangeMerged -> [Char] -> [Char]
$cshow :: ChangeMerged -> [Char]
show :: ChangeMerged -> [Char]
$cshowList :: [ChangeMerged] -> [Char] -> [Char]
showList :: [ChangeMerged] -> [Char] -> [Char]
Show, ChangeMerged -> ChangeMerged -> Bool
(ChangeMerged -> ChangeMerged -> Bool)
-> (ChangeMerged -> ChangeMerged -> Bool) -> Eq ChangeMerged
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ChangeMerged -> ChangeMerged -> Bool
== :: ChangeMerged -> ChangeMerged -> Bool
$c/= :: ChangeMerged -> ChangeMerged -> Bool
/= :: ChangeMerged -> ChangeMerged -> Bool
Eq, (forall x. ChangeMerged -> Rep ChangeMerged x)
-> (forall x. Rep ChangeMerged x -> ChangeMerged)
-> Generic ChangeMerged
forall x. Rep ChangeMerged x -> ChangeMerged
forall x. ChangeMerged -> Rep ChangeMerged x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. ChangeMerged -> Rep ChangeMerged x
from :: forall x. ChangeMerged -> Rep ChangeMerged x
$cto :: forall x. Rep ChangeMerged x -> ChangeMerged
to :: forall x. Rep ChangeMerged x -> ChangeMerged
Generic)
data ChangeRestored = ChangeRestored
{ ChangeRestored -> Change
changeRestoredChange :: Change
, ChangeRestored -> PatchSet
changeRestoredPatchSet :: PatchSet
, ChangeRestored -> User
changeRestoredRestorer :: User
, ChangeRestored -> Maybe Text
changeRestoredReason :: Maybe Text
, ChangeRestored -> Int64
changeRestoredEventCreatedOn :: Int64
}
deriving (Int -> ChangeRestored -> [Char] -> [Char]
[ChangeRestored] -> [Char] -> [Char]
ChangeRestored -> [Char]
(Int -> ChangeRestored -> [Char] -> [Char])
-> (ChangeRestored -> [Char])
-> ([ChangeRestored] -> [Char] -> [Char])
-> Show ChangeRestored
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> ChangeRestored -> [Char] -> [Char]
showsPrec :: Int -> ChangeRestored -> [Char] -> [Char]
$cshow :: ChangeRestored -> [Char]
show :: ChangeRestored -> [Char]
$cshowList :: [ChangeRestored] -> [Char] -> [Char]
showList :: [ChangeRestored] -> [Char] -> [Char]
Show, ChangeRestored -> ChangeRestored -> Bool
(ChangeRestored -> ChangeRestored -> Bool)
-> (ChangeRestored -> ChangeRestored -> Bool) -> Eq ChangeRestored
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ChangeRestored -> ChangeRestored -> Bool
== :: ChangeRestored -> ChangeRestored -> Bool
$c/= :: ChangeRestored -> ChangeRestored -> Bool
/= :: ChangeRestored -> ChangeRestored -> Bool
Eq, (forall x. ChangeRestored -> Rep ChangeRestored x)
-> (forall x. Rep ChangeRestored x -> ChangeRestored)
-> Generic ChangeRestored
forall x. Rep ChangeRestored x -> ChangeRestored
forall x. ChangeRestored -> Rep ChangeRestored x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. ChangeRestored -> Rep ChangeRestored x
from :: forall x. ChangeRestored -> Rep ChangeRestored x
$cto :: forall x. Rep ChangeRestored x -> ChangeRestored
to :: forall x. Rep ChangeRestored x -> ChangeRestored
Generic)
data =
{ :: Change
, :: PatchSet
, :: User
, :: Int64
}
deriving (Int -> CommentAdded -> [Char] -> [Char]
[CommentAdded] -> [Char] -> [Char]
CommentAdded -> [Char]
(Int -> CommentAdded -> [Char] -> [Char])
-> (CommentAdded -> [Char])
-> ([CommentAdded] -> [Char] -> [Char])
-> Show CommentAdded
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> CommentAdded -> [Char] -> [Char]
showsPrec :: Int -> CommentAdded -> [Char] -> [Char]
$cshow :: CommentAdded -> [Char]
show :: CommentAdded -> [Char]
$cshowList :: [CommentAdded] -> [Char] -> [Char]
showList :: [CommentAdded] -> [Char] -> [Char]
Show, CommentAdded -> CommentAdded -> Bool
(CommentAdded -> CommentAdded -> Bool)
-> (CommentAdded -> CommentAdded -> Bool) -> Eq CommentAdded
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CommentAdded -> CommentAdded -> Bool
== :: CommentAdded -> CommentAdded -> Bool
$c/= :: CommentAdded -> CommentAdded -> Bool
/= :: CommentAdded -> CommentAdded -> Bool
Eq, (forall x. CommentAdded -> Rep CommentAdded x)
-> (forall x. Rep CommentAdded x -> CommentAdded)
-> Generic CommentAdded
forall x. Rep CommentAdded x -> CommentAdded
forall x. CommentAdded -> Rep CommentAdded x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. CommentAdded -> Rep CommentAdded x
from :: forall x. CommentAdded -> Rep CommentAdded x
$cto :: forall x. Rep CommentAdded x -> CommentAdded
to :: forall x. Rep CommentAdded x -> CommentAdded
Generic)
data HashtagsChanged = HashtagsChanged
{ HashtagsChanged -> Change
hashtagsChangedChange :: Change
, HashtagsChanged -> User
hashtagsChangedEditor :: User
, HashtagsChanged -> Int64
hashtagsChangedEventCreatedOn :: Int64
}
deriving (Int -> HashtagsChanged -> [Char] -> [Char]
[HashtagsChanged] -> [Char] -> [Char]
HashtagsChanged -> [Char]
(Int -> HashtagsChanged -> [Char] -> [Char])
-> (HashtagsChanged -> [Char])
-> ([HashtagsChanged] -> [Char] -> [Char])
-> Show HashtagsChanged
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> HashtagsChanged -> [Char] -> [Char]
showsPrec :: Int -> HashtagsChanged -> [Char] -> [Char]
$cshow :: HashtagsChanged -> [Char]
show :: HashtagsChanged -> [Char]
$cshowList :: [HashtagsChanged] -> [Char] -> [Char]
showList :: [HashtagsChanged] -> [Char] -> [Char]
Show, HashtagsChanged -> HashtagsChanged -> Bool
(HashtagsChanged -> HashtagsChanged -> Bool)
-> (HashtagsChanged -> HashtagsChanged -> Bool)
-> Eq HashtagsChanged
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: HashtagsChanged -> HashtagsChanged -> Bool
== :: HashtagsChanged -> HashtagsChanged -> Bool
$c/= :: HashtagsChanged -> HashtagsChanged -> Bool
/= :: HashtagsChanged -> HashtagsChanged -> Bool
Eq, (forall x. HashtagsChanged -> Rep HashtagsChanged x)
-> (forall x. Rep HashtagsChanged x -> HashtagsChanged)
-> Generic HashtagsChanged
forall x. Rep HashtagsChanged x -> HashtagsChanged
forall x. HashtagsChanged -> Rep HashtagsChanged x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. HashtagsChanged -> Rep HashtagsChanged x
from :: forall x. HashtagsChanged -> Rep HashtagsChanged x
$cto :: forall x. Rep HashtagsChanged x -> HashtagsChanged
to :: forall x. Rep HashtagsChanged x -> HashtagsChanged
Generic)
data ProjectCreated = ProjectCreated
{ ProjectCreated -> Text
projectCreatedProjectName :: Text
, ProjectCreated -> Text
projectCreatedHeadName :: Text
, ProjectCreated -> Int64
projectCreatedEventCreatedOn :: Int64
}
deriving (Int -> ProjectCreated -> [Char] -> [Char]
[ProjectCreated] -> [Char] -> [Char]
ProjectCreated -> [Char]
(Int -> ProjectCreated -> [Char] -> [Char])
-> (ProjectCreated -> [Char])
-> ([ProjectCreated] -> [Char] -> [Char])
-> Show ProjectCreated
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> ProjectCreated -> [Char] -> [Char]
showsPrec :: Int -> ProjectCreated -> [Char] -> [Char]
$cshow :: ProjectCreated -> [Char]
show :: ProjectCreated -> [Char]
$cshowList :: [ProjectCreated] -> [Char] -> [Char]
showList :: [ProjectCreated] -> [Char] -> [Char]
Show, ProjectCreated -> ProjectCreated -> Bool
(ProjectCreated -> ProjectCreated -> Bool)
-> (ProjectCreated -> ProjectCreated -> Bool) -> Eq ProjectCreated
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ProjectCreated -> ProjectCreated -> Bool
== :: ProjectCreated -> ProjectCreated -> Bool
$c/= :: ProjectCreated -> ProjectCreated -> Bool
/= :: ProjectCreated -> ProjectCreated -> Bool
Eq, (forall x. ProjectCreated -> Rep ProjectCreated x)
-> (forall x. Rep ProjectCreated x -> ProjectCreated)
-> Generic ProjectCreated
forall x. Rep ProjectCreated x -> ProjectCreated
forall x. ProjectCreated -> Rep ProjectCreated x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. ProjectCreated -> Rep ProjectCreated x
from :: forall x. ProjectCreated -> Rep ProjectCreated x
$cto :: forall x. Rep ProjectCreated x -> ProjectCreated
to :: forall x. Rep ProjectCreated x -> ProjectCreated
Generic)
data PatchsetCreated = PatchsetCreated
{ PatchsetCreated -> User
patchsetCreatedUploader :: User
, PatchsetCreated -> Change
patchsetCreatedChange :: Change
, PatchsetCreated -> PatchSet
patchsetCreatedPatchSet :: PatchSet
, PatchsetCreated -> Int64
patchsetCreatedEventCreatedOn :: Int64
}
deriving (Int -> PatchsetCreated -> [Char] -> [Char]
[PatchsetCreated] -> [Char] -> [Char]
PatchsetCreated -> [Char]
(Int -> PatchsetCreated -> [Char] -> [Char])
-> (PatchsetCreated -> [Char])
-> ([PatchsetCreated] -> [Char] -> [Char])
-> Show PatchsetCreated
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> PatchsetCreated -> [Char] -> [Char]
showsPrec :: Int -> PatchsetCreated -> [Char] -> [Char]
$cshow :: PatchsetCreated -> [Char]
show :: PatchsetCreated -> [Char]
$cshowList :: [PatchsetCreated] -> [Char] -> [Char]
showList :: [PatchsetCreated] -> [Char] -> [Char]
Show, PatchsetCreated -> PatchsetCreated -> Bool
(PatchsetCreated -> PatchsetCreated -> Bool)
-> (PatchsetCreated -> PatchsetCreated -> Bool)
-> Eq PatchsetCreated
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PatchsetCreated -> PatchsetCreated -> Bool
== :: PatchsetCreated -> PatchsetCreated -> Bool
$c/= :: PatchsetCreated -> PatchsetCreated -> Bool
/= :: PatchsetCreated -> PatchsetCreated -> Bool
Eq, (forall x. PatchsetCreated -> Rep PatchsetCreated x)
-> (forall x. Rep PatchsetCreated x -> PatchsetCreated)
-> Generic PatchsetCreated
forall x. Rep PatchsetCreated x -> PatchsetCreated
forall x. PatchsetCreated -> Rep PatchsetCreated x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. PatchsetCreated -> Rep PatchsetCreated x
from :: forall x. PatchsetCreated -> Rep PatchsetCreated x
$cto :: forall x. Rep PatchsetCreated x -> PatchsetCreated
to :: forall x. Rep PatchsetCreated x -> PatchsetCreated
Generic)
data RefUpdated = RefUpdated
{ RefUpdated -> User
refUpdatedSubmitter :: User
, RefUpdated -> Ref
refUpdatedRefUpdate :: Ref
, RefUpdated -> Int64
refUpdatedEventCreatedOn :: Int64
}
deriving (Int -> RefUpdated -> [Char] -> [Char]
[RefUpdated] -> [Char] -> [Char]
RefUpdated -> [Char]
(Int -> RefUpdated -> [Char] -> [Char])
-> (RefUpdated -> [Char])
-> ([RefUpdated] -> [Char] -> [Char])
-> Show RefUpdated
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> RefUpdated -> [Char] -> [Char]
showsPrec :: Int -> RefUpdated -> [Char] -> [Char]
$cshow :: RefUpdated -> [Char]
show :: RefUpdated -> [Char]
$cshowList :: [RefUpdated] -> [Char] -> [Char]
showList :: [RefUpdated] -> [Char] -> [Char]
Show, RefUpdated -> RefUpdated -> Bool
(RefUpdated -> RefUpdated -> Bool)
-> (RefUpdated -> RefUpdated -> Bool) -> Eq RefUpdated
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RefUpdated -> RefUpdated -> Bool
== :: RefUpdated -> RefUpdated -> Bool
$c/= :: RefUpdated -> RefUpdated -> Bool
/= :: RefUpdated -> RefUpdated -> Bool
Eq, (forall x. RefUpdated -> Rep RefUpdated x)
-> (forall x. Rep RefUpdated x -> RefUpdated) -> Generic RefUpdated
forall x. Rep RefUpdated x -> RefUpdated
forall x. RefUpdated -> Rep RefUpdated x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. RefUpdated -> Rep RefUpdated x
from :: forall x. RefUpdated -> Rep RefUpdated x
$cto :: forall x. Rep RefUpdated x -> RefUpdated
to :: forall x. Rep RefUpdated x -> RefUpdated
Generic)
data ReviewerAdded = ReviewerAdded
{ ReviewerAdded -> Change
reviewerAddedChange :: Change
, ReviewerAdded -> PatchSet
reviewerAddedPatchSet :: PatchSet
, ReviewerAdded -> User
reviewerAddedAdder :: User
, ReviewerAdded -> Int64
reviewerAddedEventCreatedOn :: Int64
}
deriving (Int -> ReviewerAdded -> [Char] -> [Char]
[ReviewerAdded] -> [Char] -> [Char]
ReviewerAdded -> [Char]
(Int -> ReviewerAdded -> [Char] -> [Char])
-> (ReviewerAdded -> [Char])
-> ([ReviewerAdded] -> [Char] -> [Char])
-> Show ReviewerAdded
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> ReviewerAdded -> [Char] -> [Char]
showsPrec :: Int -> ReviewerAdded -> [Char] -> [Char]
$cshow :: ReviewerAdded -> [Char]
show :: ReviewerAdded -> [Char]
$cshowList :: [ReviewerAdded] -> [Char] -> [Char]
showList :: [ReviewerAdded] -> [Char] -> [Char]
Show, ReviewerAdded -> ReviewerAdded -> Bool
(ReviewerAdded -> ReviewerAdded -> Bool)
-> (ReviewerAdded -> ReviewerAdded -> Bool) -> Eq ReviewerAdded
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ReviewerAdded -> ReviewerAdded -> Bool
== :: ReviewerAdded -> ReviewerAdded -> Bool
$c/= :: ReviewerAdded -> ReviewerAdded -> Bool
/= :: ReviewerAdded -> ReviewerAdded -> Bool
Eq, (forall x. ReviewerAdded -> Rep ReviewerAdded x)
-> (forall x. Rep ReviewerAdded x -> ReviewerAdded)
-> Generic ReviewerAdded
forall x. Rep ReviewerAdded x -> ReviewerAdded
forall x. ReviewerAdded -> Rep ReviewerAdded x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. ReviewerAdded -> Rep ReviewerAdded x
from :: forall x. ReviewerAdded -> Rep ReviewerAdded x
$cto :: forall x. Rep ReviewerAdded x -> ReviewerAdded
to :: forall x. Rep ReviewerAdded x -> ReviewerAdded
Generic)
data ReviewerDeleted = ReviewerDeleted
{ ReviewerDeleted -> Change
reviewerDeletedChange :: Change
, ReviewerDeleted -> PatchSet
reviewerDeletedPatchSet :: PatchSet
, ReviewerDeleted -> User
reviewerDeletedRemover :: User
, ReviewerDeleted -> Int64
reviewerDeletedEventCreatedOn :: Int64
}
deriving (Int -> ReviewerDeleted -> [Char] -> [Char]
[ReviewerDeleted] -> [Char] -> [Char]
ReviewerDeleted -> [Char]
(Int -> ReviewerDeleted -> [Char] -> [Char])
-> (ReviewerDeleted -> [Char])
-> ([ReviewerDeleted] -> [Char] -> [Char])
-> Show ReviewerDeleted
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> ReviewerDeleted -> [Char] -> [Char]
showsPrec :: Int -> ReviewerDeleted -> [Char] -> [Char]
$cshow :: ReviewerDeleted -> [Char]
show :: ReviewerDeleted -> [Char]
$cshowList :: [ReviewerDeleted] -> [Char] -> [Char]
showList :: [ReviewerDeleted] -> [Char] -> [Char]
Show, ReviewerDeleted -> ReviewerDeleted -> Bool
(ReviewerDeleted -> ReviewerDeleted -> Bool)
-> (ReviewerDeleted -> ReviewerDeleted -> Bool)
-> Eq ReviewerDeleted
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ReviewerDeleted -> ReviewerDeleted -> Bool
== :: ReviewerDeleted -> ReviewerDeleted -> Bool
$c/= :: ReviewerDeleted -> ReviewerDeleted -> Bool
/= :: ReviewerDeleted -> ReviewerDeleted -> Bool
Eq, (forall x. ReviewerDeleted -> Rep ReviewerDeleted x)
-> (forall x. Rep ReviewerDeleted x -> ReviewerDeleted)
-> Generic ReviewerDeleted
forall x. Rep ReviewerDeleted x -> ReviewerDeleted
forall x. ReviewerDeleted -> Rep ReviewerDeleted x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. ReviewerDeleted -> Rep ReviewerDeleted x
from :: forall x. ReviewerDeleted -> Rep ReviewerDeleted x
$cto :: forall x. Rep ReviewerDeleted x -> ReviewerDeleted
to :: forall x. Rep ReviewerDeleted x -> ReviewerDeleted
Generic)
data TopicChanged = TopicChanged
{ TopicChanged -> Change
topicChangedChange :: Change
, TopicChanged -> User
topicChangedChanger :: User
, TopicChanged -> Text
topicChangedOldTopic :: Text
, TopicChanged -> Int64
topicChangedEventCreatedOn :: Int64
}
deriving (Int -> TopicChanged -> [Char] -> [Char]
[TopicChanged] -> [Char] -> [Char]
TopicChanged -> [Char]
(Int -> TopicChanged -> [Char] -> [Char])
-> (TopicChanged -> [Char])
-> ([TopicChanged] -> [Char] -> [Char])
-> Show TopicChanged
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> TopicChanged -> [Char] -> [Char]
showsPrec :: Int -> TopicChanged -> [Char] -> [Char]
$cshow :: TopicChanged -> [Char]
show :: TopicChanged -> [Char]
$cshowList :: [TopicChanged] -> [Char] -> [Char]
showList :: [TopicChanged] -> [Char] -> [Char]
Show, TopicChanged -> TopicChanged -> Bool
(TopicChanged -> TopicChanged -> Bool)
-> (TopicChanged -> TopicChanged -> Bool) -> Eq TopicChanged
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TopicChanged -> TopicChanged -> Bool
== :: TopicChanged -> TopicChanged -> Bool
$c/= :: TopicChanged -> TopicChanged -> Bool
/= :: TopicChanged -> TopicChanged -> Bool
Eq, (forall x. TopicChanged -> Rep TopicChanged x)
-> (forall x. Rep TopicChanged x -> TopicChanged)
-> Generic TopicChanged
forall x. Rep TopicChanged x -> TopicChanged
forall x. TopicChanged -> Rep TopicChanged x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. TopicChanged -> Rep TopicChanged x
from :: forall x. TopicChanged -> Rep TopicChanged x
$cto :: forall x. Rep TopicChanged x -> TopicChanged
to :: forall x. Rep TopicChanged x -> TopicChanged
Generic)
data WorkInProgressStateChanged = WorkInProgressStateChanged
{ WorkInProgressStateChanged -> Change
workInProgressStateChangedChange :: Change
, WorkInProgressStateChanged -> PatchSet
workInProgressStateChangedPatchSet :: PatchSet
, WorkInProgressStateChanged -> User
workInProgressStateChangedChanger :: User
, WorkInProgressStateChanged -> Int64
workInProgressStateChangedEventCreatedOn :: Int64
}
deriving (Int -> WorkInProgressStateChanged -> [Char] -> [Char]
[WorkInProgressStateChanged] -> [Char] -> [Char]
WorkInProgressStateChanged -> [Char]
(Int -> WorkInProgressStateChanged -> [Char] -> [Char])
-> (WorkInProgressStateChanged -> [Char])
-> ([WorkInProgressStateChanged] -> [Char] -> [Char])
-> Show WorkInProgressStateChanged
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> WorkInProgressStateChanged -> [Char] -> [Char]
showsPrec :: Int -> WorkInProgressStateChanged -> [Char] -> [Char]
$cshow :: WorkInProgressStateChanged -> [Char]
show :: WorkInProgressStateChanged -> [Char]
$cshowList :: [WorkInProgressStateChanged] -> [Char] -> [Char]
showList :: [WorkInProgressStateChanged] -> [Char] -> [Char]
Show, WorkInProgressStateChanged -> WorkInProgressStateChanged -> Bool
(WorkInProgressStateChanged -> WorkInProgressStateChanged -> Bool)
-> (WorkInProgressStateChanged
-> WorkInProgressStateChanged -> Bool)
-> Eq WorkInProgressStateChanged
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: WorkInProgressStateChanged -> WorkInProgressStateChanged -> Bool
== :: WorkInProgressStateChanged -> WorkInProgressStateChanged -> Bool
$c/= :: WorkInProgressStateChanged -> WorkInProgressStateChanged -> Bool
/= :: WorkInProgressStateChanged -> WorkInProgressStateChanged -> Bool
Eq, (forall x.
WorkInProgressStateChanged -> Rep WorkInProgressStateChanged x)
-> (forall x.
Rep WorkInProgressStateChanged x -> WorkInProgressStateChanged)
-> Generic WorkInProgressStateChanged
forall x.
Rep WorkInProgressStateChanged x -> WorkInProgressStateChanged
forall x.
WorkInProgressStateChanged -> Rep WorkInProgressStateChanged x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
WorkInProgressStateChanged -> Rep WorkInProgressStateChanged x
from :: forall x.
WorkInProgressStateChanged -> Rep WorkInProgressStateChanged x
$cto :: forall x.
Rep WorkInProgressStateChanged x -> WorkInProgressStateChanged
to :: forall x.
Rep WorkInProgressStateChanged x -> WorkInProgressStateChanged
Generic)
data PrivateStateChanged = PrivateStateChanged
{ PrivateStateChanged -> Change
privateStateChangedChange :: Change
, PrivateStateChanged -> PatchSet
privateStateChangedPatchSet :: PatchSet
, PrivateStateChanged -> User
privateStateChangedChanger :: User
, PrivateStateChanged -> Int64
privateStateChangedChangedEventCreatedOn :: Int64
}
deriving (Int -> PrivateStateChanged -> [Char] -> [Char]
[PrivateStateChanged] -> [Char] -> [Char]
PrivateStateChanged -> [Char]
(Int -> PrivateStateChanged -> [Char] -> [Char])
-> (PrivateStateChanged -> [Char])
-> ([PrivateStateChanged] -> [Char] -> [Char])
-> Show PrivateStateChanged
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> PrivateStateChanged -> [Char] -> [Char]
showsPrec :: Int -> PrivateStateChanged -> [Char] -> [Char]
$cshow :: PrivateStateChanged -> [Char]
show :: PrivateStateChanged -> [Char]
$cshowList :: [PrivateStateChanged] -> [Char] -> [Char]
showList :: [PrivateStateChanged] -> [Char] -> [Char]
Show, PrivateStateChanged -> PrivateStateChanged -> Bool
(PrivateStateChanged -> PrivateStateChanged -> Bool)
-> (PrivateStateChanged -> PrivateStateChanged -> Bool)
-> Eq PrivateStateChanged
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PrivateStateChanged -> PrivateStateChanged -> Bool
== :: PrivateStateChanged -> PrivateStateChanged -> Bool
$c/= :: PrivateStateChanged -> PrivateStateChanged -> Bool
/= :: PrivateStateChanged -> PrivateStateChanged -> Bool
Eq, (forall x. PrivateStateChanged -> Rep PrivateStateChanged x)
-> (forall x. Rep PrivateStateChanged x -> PrivateStateChanged)
-> Generic PrivateStateChanged
forall x. Rep PrivateStateChanged x -> PrivateStateChanged
forall x. PrivateStateChanged -> Rep PrivateStateChanged x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. PrivateStateChanged -> Rep PrivateStateChanged x
from :: forall x. PrivateStateChanged -> Rep PrivateStateChanged x
$cto :: forall x. Rep PrivateStateChanged x -> PrivateStateChanged
to :: forall x. Rep PrivateStateChanged x -> PrivateStateChanged
Generic)
data VoteDeleted = VoteDeleted
{ VoteDeleted -> Change
voteDeletedChange :: Change
, VoteDeleted -> PatchSet
voteDeletedPatchSet :: PatchSet
, VoteDeleted -> User
voteDeletedRemover :: User
}
deriving (Int -> VoteDeleted -> [Char] -> [Char]
[VoteDeleted] -> [Char] -> [Char]
VoteDeleted -> [Char]
(Int -> VoteDeleted -> [Char] -> [Char])
-> (VoteDeleted -> [Char])
-> ([VoteDeleted] -> [Char] -> [Char])
-> Show VoteDeleted
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> VoteDeleted -> [Char] -> [Char]
showsPrec :: Int -> VoteDeleted -> [Char] -> [Char]
$cshow :: VoteDeleted -> [Char]
show :: VoteDeleted -> [Char]
$cshowList :: [VoteDeleted] -> [Char] -> [Char]
showList :: [VoteDeleted] -> [Char] -> [Char]
Show, VoteDeleted -> VoteDeleted -> Bool
(VoteDeleted -> VoteDeleted -> Bool)
-> (VoteDeleted -> VoteDeleted -> Bool) -> Eq VoteDeleted
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: VoteDeleted -> VoteDeleted -> Bool
== :: VoteDeleted -> VoteDeleted -> Bool
$c/= :: VoteDeleted -> VoteDeleted -> Bool
/= :: VoteDeleted -> VoteDeleted -> Bool
Eq, (forall x. VoteDeleted -> Rep VoteDeleted x)
-> (forall x. Rep VoteDeleted x -> VoteDeleted)
-> Generic VoteDeleted
forall x. Rep VoteDeleted x -> VoteDeleted
forall x. VoteDeleted -> Rep VoteDeleted x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. VoteDeleted -> Rep VoteDeleted x
from :: forall x. VoteDeleted -> Rep VoteDeleted x
$cto :: forall x. Rep VoteDeleted x -> VoteDeleted
to :: forall x. Rep VoteDeleted x -> VoteDeleted
Generic)
instance FromJSON AssigneeChanged where
parseJSON :: Value -> Parser AssigneeChanged
parseJSON = Options -> Value -> Parser AssigneeChanged
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser AssigneeChanged)
-> Options -> Value -> Parser AssigneeChanged
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"assigneeChanged"
instance FromJSON ChangeAbandoned where
parseJSON :: Value -> Parser ChangeAbandoned
parseJSON = Options -> Value -> Parser ChangeAbandoned
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser ChangeAbandoned)
-> Options -> Value -> Parser ChangeAbandoned
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"changeAbandoned"
instance FromJSON ChangeDeleted where
parseJSON :: Value -> Parser ChangeDeleted
parseJSON = Options -> Value -> Parser ChangeDeleted
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser ChangeDeleted)
-> Options -> Value -> Parser ChangeDeleted
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"changeDeleted"
instance FromJSON ChangeMerged where
parseJSON :: Value -> Parser ChangeMerged
parseJSON = Options -> Value -> Parser ChangeMerged
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser ChangeMerged)
-> Options -> Value -> Parser ChangeMerged
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"changeMerged"
instance FromJSON ChangeRestored where
parseJSON :: Value -> Parser ChangeRestored
parseJSON = Options -> Value -> Parser ChangeRestored
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser ChangeRestored)
-> Options -> Value -> Parser ChangeRestored
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"changeRestored"
instance FromJSON CommentAdded where
parseJSON :: Value -> Parser CommentAdded
parseJSON = Options -> Value -> Parser CommentAdded
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser CommentAdded)
-> Options -> Value -> Parser CommentAdded
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"commentAdded"
instance FromJSON HashtagsChanged where
parseJSON :: Value -> Parser HashtagsChanged
parseJSON = Options -> Value -> Parser HashtagsChanged
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser HashtagsChanged)
-> Options -> Value -> Parser HashtagsChanged
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"hashtagsChanged"
instance FromJSON ProjectCreated where
parseJSON :: Value -> Parser ProjectCreated
parseJSON = Options -> Value -> Parser ProjectCreated
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser ProjectCreated)
-> Options -> Value -> Parser ProjectCreated
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"projectCreated"
instance FromJSON PatchsetCreated where
parseJSON :: Value -> Parser PatchsetCreated
parseJSON = Options -> Value -> Parser PatchsetCreated
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser PatchsetCreated)
-> Options -> Value -> Parser PatchsetCreated
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"patchsetCreated"
instance FromJSON RefUpdated where
parseJSON :: Value -> Parser RefUpdated
parseJSON = Options -> Value -> Parser RefUpdated
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser RefUpdated)
-> Options -> Value -> Parser RefUpdated
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"refUpdated"
instance FromJSON ReviewerAdded where
parseJSON :: Value -> Parser ReviewerAdded
parseJSON = Options -> Value -> Parser ReviewerAdded
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser ReviewerAdded)
-> Options -> Value -> Parser ReviewerAdded
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"reviewerAdded"
instance FromJSON ReviewerDeleted where
parseJSON :: Value -> Parser ReviewerDeleted
parseJSON = Options -> Value -> Parser ReviewerDeleted
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser ReviewerDeleted)
-> Options -> Value -> Parser ReviewerDeleted
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"reviewerDeleted"
instance FromJSON TopicChanged where
parseJSON :: Value -> Parser TopicChanged
parseJSON = Options -> Value -> Parser TopicChanged
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser TopicChanged)
-> Options -> Value -> Parser TopicChanged
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"topicChanged"
instance FromJSON WorkInProgressStateChanged where
parseJSON :: Value -> Parser WorkInProgressStateChanged
parseJSON = Options -> Value -> Parser WorkInProgressStateChanged
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser WorkInProgressStateChanged)
-> Options -> Value -> Parser WorkInProgressStateChanged
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"workInProgressStateChanged"
instance FromJSON PrivateStateChanged where
parseJSON :: Value -> Parser PrivateStateChanged
parseJSON = Options -> Value -> Parser PrivateStateChanged
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser PrivateStateChanged)
-> Options -> Value -> Parser PrivateStateChanged
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"privateStateChanged"
instance FromJSON VoteDeleted where
parseJSON :: Value -> Parser VoteDeleted
parseJSON = Options -> Value -> Parser VoteDeleted
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON (Options -> Value -> Parser VoteDeleted)
-> Options -> Value -> Parser VoteDeleted
forall a b. (a -> b) -> a -> b
$ Text -> Options
aesonOption Text
"voteDeleted"
data EventType
= AssigneeChangedEvent
| ChangeAbandonedEvent
| ChangeDeletedEvent
| ChangeMergedEvent
| ChangeRestoredEvent
|
| DroppedOutputEvent
| HashtagsChangedEvent
| ProjectCreatedEvent
| PatchsetCreatedEvent
| RefUpdatedEvent
| ReviewerAddedEvent
| ReviewerDeletedEvent
| TopicChangedEvent
| WorkInProgressStateChangedEvent
| PrivateStateChangedEvent
| VoteDeletedEvent
deriving (Int -> EventType -> [Char] -> [Char]
[EventType] -> [Char] -> [Char]
EventType -> [Char]
(Int -> EventType -> [Char] -> [Char])
-> (EventType -> [Char])
-> ([EventType] -> [Char] -> [Char])
-> Show EventType
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> EventType -> [Char] -> [Char]
showsPrec :: Int -> EventType -> [Char] -> [Char]
$cshow :: EventType -> [Char]
show :: EventType -> [Char]
$cshowList :: [EventType] -> [Char] -> [Char]
showList :: [EventType] -> [Char] -> [Char]
Show, EventType -> EventType -> Bool
(EventType -> EventType -> Bool)
-> (EventType -> EventType -> Bool) -> Eq EventType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: EventType -> EventType -> Bool
== :: EventType -> EventType -> Bool
$c/= :: EventType -> EventType -> Bool
/= :: EventType -> EventType -> Bool
Eq)
instance FromJSON EventType where
parseJSON :: Value -> Parser EventType
parseJSON (String Text
v) = case Text
v of
Text
"assignee-changed" -> EventType -> Parser EventType
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure EventType
AssigneeChangedEvent
Text
"change-abandoned" -> EventType -> Parser EventType
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure EventType
ChangeAbandonedEvent
Text
"change-deleted" -> EventType -> Parser EventType
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure EventType
ChangeDeletedEvent
Text
"change-merged" -> EventType -> Parser EventType
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure EventType
ChangeMergedEvent
Text
"change-restored" -> EventType -> Parser EventType
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure EventType
ChangeRestoredEvent
Text
"comment-added" -> EventType -> Parser EventType
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure EventType
CommentAddedEvent
Text
"dropped-output" -> EventType -> Parser EventType
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure EventType
DroppedOutputEvent
Text
"hashtags-changed" -> EventType -> Parser EventType
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure EventType
HashtagsChangedEvent
Text
"project-created" -> EventType -> Parser EventType
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure EventType
ProjectCreatedEvent
Text
"patchset-created" -> EventType -> Parser EventType
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure EventType
PatchsetCreatedEvent
Text
"ref-updated" -> EventType -> Parser EventType
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure EventType
RefUpdatedEvent
Text
"reviewer-added" -> EventType -> Parser EventType
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure EventType
ReviewerAddedEvent
Text
"reviewer-deleted" -> EventType -> Parser EventType
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure EventType
ReviewerDeletedEvent
Text
"topic-changed" -> EventType -> Parser EventType
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure EventType
TopicChangedEvent
Text
"wip-state-changed" -> EventType -> Parser EventType
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure EventType
WorkInProgressStateChangedEvent
Text
"private-state-changed" -> EventType -> Parser EventType
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure EventType
PrivateStateChangedEvent
Text
"vote-deleted" -> EventType -> Parser EventType
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure EventType
VoteDeletedEvent
Text
_ -> Parser EventType
forall a. Parser a
forall (m :: * -> *) a. MonadPlus m => m a
mzero
parseJSON Value
_ = Parser EventType
forall a. Parser a
forall (m :: * -> *) a. MonadPlus m => m a
mzero
data Event
= EventAssigneeChanged AssigneeChanged
| EventChangeAbandoned ChangeAbandoned
| EventChangeDeleted ChangeDeleted
| EventChangeMerged ChangeMerged
| EventChangeRestored ChangeRestored
| CommentAdded
| EventDroppedOutput
| EventHashtagsChanged HashtagsChanged
| EventProjectCreated ProjectCreated
| EventPatchsetCreated PatchsetCreated
| EventRefUpdated RefUpdated
| EventReviewerAdded ReviewerAdded
| EventReviewerDeleted ReviewerDeleted
| EventTopicChanged TopicChanged
| EventWorkInProgressStateChanged WorkInProgressStateChanged
| EventPrivateStateChanged PrivateStateChanged
| EventVoteDeleted VoteDeleted
deriving (Int -> Event -> [Char] -> [Char]
[Event] -> [Char] -> [Char]
Event -> [Char]
(Int -> Event -> [Char] -> [Char])
-> (Event -> [Char]) -> ([Event] -> [Char] -> [Char]) -> Show Event
forall a.
(Int -> a -> [Char] -> [Char])
-> (a -> [Char]) -> ([a] -> [Char] -> [Char]) -> Show a
$cshowsPrec :: Int -> Event -> [Char] -> [Char]
showsPrec :: Int -> Event -> [Char] -> [Char]
$cshow :: Event -> [Char]
show :: Event -> [Char]
$cshowList :: [Event] -> [Char] -> [Char]
showList :: [Event] -> [Char] -> [Char]
Show, Event -> Event -> Bool
(Event -> Event -> Bool) -> (Event -> Event -> Bool) -> Eq Event
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Event -> Event -> Bool
== :: Event -> Event -> Bool
$c/= :: Event -> Event -> Bool
/= :: Event -> Event -> Bool
Eq)
instance FromJSON Event where
parseJSON :: Value -> Parser Event
parseJSON o :: Value
o@(Object Object
v) = do
EventType
eType <- Object
v Object -> Key -> Parser EventType
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"type"
case EventType
eType of
EventType
AssigneeChangedEvent -> AssigneeChanged -> Event
EventAssigneeChanged (AssigneeChanged -> Event)
-> Parser AssigneeChanged -> Parser Event
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser AssigneeChanged
forall a. FromJSON a => Value -> Parser a
parseJSON Value
o
EventType
ChangeAbandonedEvent -> ChangeAbandoned -> Event
EventChangeAbandoned (ChangeAbandoned -> Event)
-> Parser ChangeAbandoned -> Parser Event
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser ChangeAbandoned
forall a. FromJSON a => Value -> Parser a
parseJSON Value
o
EventType
ChangeDeletedEvent -> ChangeDeleted -> Event
EventChangeDeleted (ChangeDeleted -> Event) -> Parser ChangeDeleted -> Parser Event
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser ChangeDeleted
forall a. FromJSON a => Value -> Parser a
parseJSON Value
o
EventType
ChangeMergedEvent -> ChangeMerged -> Event
EventChangeMerged (ChangeMerged -> Event) -> Parser ChangeMerged -> Parser Event
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser ChangeMerged
forall a. FromJSON a => Value -> Parser a
parseJSON Value
o
EventType
ChangeRestoredEvent -> ChangeRestored -> Event
EventChangeRestored (ChangeRestored -> Event) -> Parser ChangeRestored -> Parser Event
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser ChangeRestored
forall a. FromJSON a => Value -> Parser a
parseJSON Value
o
EventType
CommentAddedEvent -> CommentAdded -> Event
EventCommentAdded (CommentAdded -> Event) -> Parser CommentAdded -> Parser Event
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser CommentAdded
forall a. FromJSON a => Value -> Parser a
parseJSON Value
o
EventType
DroppedOutputEvent -> Event -> Parser Event
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure Event
EventDroppedOutput
EventType
HashtagsChangedEvent -> HashtagsChanged -> Event
EventHashtagsChanged (HashtagsChanged -> Event)
-> Parser HashtagsChanged -> Parser Event
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser HashtagsChanged
forall a. FromJSON a => Value -> Parser a
parseJSON Value
o
EventType
ProjectCreatedEvent -> ProjectCreated -> Event
EventProjectCreated (ProjectCreated -> Event) -> Parser ProjectCreated -> Parser Event
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser ProjectCreated
forall a. FromJSON a => Value -> Parser a
parseJSON Value
o
EventType
PatchsetCreatedEvent -> PatchsetCreated -> Event
EventPatchsetCreated (PatchsetCreated -> Event)
-> Parser PatchsetCreated -> Parser Event
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser PatchsetCreated
forall a. FromJSON a => Value -> Parser a
parseJSON Value
o
EventType
RefUpdatedEvent -> RefUpdated -> Event
EventRefUpdated (RefUpdated -> Event) -> Parser RefUpdated -> Parser Event
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser RefUpdated
forall a. FromJSON a => Value -> Parser a
parseJSON Value
o
EventType
ReviewerAddedEvent -> ReviewerAdded -> Event
EventReviewerAdded (ReviewerAdded -> Event) -> Parser ReviewerAdded -> Parser Event
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser ReviewerAdded
forall a. FromJSON a => Value -> Parser a
parseJSON Value
o
EventType
ReviewerDeletedEvent -> ReviewerDeleted -> Event
EventReviewerDeleted (ReviewerDeleted -> Event)
-> Parser ReviewerDeleted -> Parser Event
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser ReviewerDeleted
forall a. FromJSON a => Value -> Parser a
parseJSON Value
o
EventType
TopicChangedEvent -> TopicChanged -> Event
EventTopicChanged (TopicChanged -> Event) -> Parser TopicChanged -> Parser Event
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser TopicChanged
forall a. FromJSON a => Value -> Parser a
parseJSON Value
o
EventType
WorkInProgressStateChangedEvent -> WorkInProgressStateChanged -> Event
EventWorkInProgressStateChanged (WorkInProgressStateChanged -> Event)
-> Parser WorkInProgressStateChanged -> Parser Event
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser WorkInProgressStateChanged
forall a. FromJSON a => Value -> Parser a
parseJSON Value
o
EventType
PrivateStateChangedEvent -> PrivateStateChanged -> Event
EventPrivateStateChanged (PrivateStateChanged -> Event)
-> Parser PrivateStateChanged -> Parser Event
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser PrivateStateChanged
forall a. FromJSON a => Value -> Parser a
parseJSON Value
o
EventType
VoteDeletedEvent -> VoteDeleted -> Event
EventVoteDeleted (VoteDeleted -> Event) -> Parser VoteDeleted -> Parser Event
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser VoteDeleted
forall a. FromJSON a => Value -> Parser a
parseJSON Value
o
parseJSON Value
_ = Parser Event
forall a. Parser a
forall (m :: * -> *) a. MonadPlus m => m a
mzero
getChange :: Event -> Maybe Change
getChange :: Event -> Maybe Change
getChange Event
event = case Event
event of
EventAssigneeChanged AssigneeChanged{Int64
Change
User
assigneeChangedChange :: AssigneeChanged -> Change
assigneeChangedChanger :: AssigneeChanged -> User
assigneeChangedEventCreatedOn :: AssigneeChanged -> Int64
assigneeChangedChange :: Change
assigneeChangedChanger :: User
assigneeChangedEventCreatedOn :: Int64
..} -> Change -> Maybe Change
forall a. a -> Maybe a
Just Change
assigneeChangedChange
EventChangeAbandoned ChangeAbandoned{Int64
Maybe Text
Text
Change
PatchSet
User
changeAbandonedProject :: ChangeAbandoned -> Text
changeAbandonedAbandoner :: ChangeAbandoned -> User
changeAbandonedChange :: ChangeAbandoned -> Change
changeAbandonedPatchSet :: ChangeAbandoned -> PatchSet
changeAbandonedReason :: ChangeAbandoned -> Maybe Text
changeAbandonedEventCreatedOn :: ChangeAbandoned -> Int64
changeAbandonedProject :: Text
changeAbandonedAbandoner :: User
changeAbandonedChange :: Change
changeAbandonedPatchSet :: PatchSet
changeAbandonedReason :: Maybe Text
changeAbandonedEventCreatedOn :: Int64
..} -> Change -> Maybe Change
forall a. a -> Maybe a
Just Change
changeAbandonedChange
EventChangeDeleted ChangeDeleted{Change
User
changeDeletedChange :: ChangeDeleted -> Change
changeDeletedDeleter :: ChangeDeleted -> User
changeDeletedChange :: Change
changeDeletedDeleter :: User
..} -> Change -> Maybe Change
forall a. a -> Maybe a
Just Change
changeDeletedChange
EventChangeMerged ChangeMerged{Int64
Text
Change
PatchSet
User
changeMergedProject :: ChangeMerged -> Text
changeMergedSubmitter :: ChangeMerged -> User
changeMergedChange :: ChangeMerged -> Change
changeMergedPatchSet :: ChangeMerged -> PatchSet
changeMergedEventCreatedOn :: ChangeMerged -> Int64
changeMergedProject :: Text
changeMergedSubmitter :: User
changeMergedChange :: Change
changeMergedPatchSet :: PatchSet
changeMergedEventCreatedOn :: Int64
..} -> Change -> Maybe Change
forall a. a -> Maybe a
Just Change
changeMergedChange
EventChangeRestored ChangeRestored{Int64
Maybe Text
Change
PatchSet
User
changeRestoredChange :: ChangeRestored -> Change
changeRestoredPatchSet :: ChangeRestored -> PatchSet
changeRestoredRestorer :: ChangeRestored -> User
changeRestoredReason :: ChangeRestored -> Maybe Text
changeRestoredEventCreatedOn :: ChangeRestored -> Int64
changeRestoredChange :: Change
changeRestoredPatchSet :: PatchSet
changeRestoredRestorer :: User
changeRestoredReason :: Maybe Text
changeRestoredEventCreatedOn :: Int64
..} -> Change -> Maybe Change
forall a. a -> Maybe a
Just Change
changeRestoredChange
EventCommentAdded CommentAdded{Int64
Change
PatchSet
User
commentAddedChange :: CommentAdded -> Change
commentAddedPatchSet :: CommentAdded -> PatchSet
commentAddedAuthor :: CommentAdded -> User
commentAddedEventCreatedOn :: CommentAdded -> Int64
commentAddedChange :: Change
commentAddedPatchSet :: PatchSet
commentAddedAuthor :: User
commentAddedEventCreatedOn :: Int64
..} -> Change -> Maybe Change
forall a. a -> Maybe a
Just Change
commentAddedChange
Event
EventDroppedOutput -> Maybe Change
forall a. Maybe a
Nothing
EventHashtagsChanged HashtagsChanged{Int64
Change
User
hashtagsChangedChange :: HashtagsChanged -> Change
hashtagsChangedEditor :: HashtagsChanged -> User
hashtagsChangedEventCreatedOn :: HashtagsChanged -> Int64
hashtagsChangedChange :: Change
hashtagsChangedEditor :: User
hashtagsChangedEventCreatedOn :: Int64
..} -> Change -> Maybe Change
forall a. a -> Maybe a
Just Change
hashtagsChangedChange
EventProjectCreated ProjectCreated
_ -> Maybe Change
forall a. Maybe a
Nothing
EventPatchsetCreated PatchsetCreated{Int64
Change
PatchSet
User
patchsetCreatedUploader :: PatchsetCreated -> User
patchsetCreatedChange :: PatchsetCreated -> Change
patchsetCreatedPatchSet :: PatchsetCreated -> PatchSet
patchsetCreatedEventCreatedOn :: PatchsetCreated -> Int64
patchsetCreatedUploader :: User
patchsetCreatedChange :: Change
patchsetCreatedPatchSet :: PatchSet
patchsetCreatedEventCreatedOn :: Int64
..} -> Change -> Maybe Change
forall a. a -> Maybe a
Just Change
patchsetCreatedChange
EventRefUpdated RefUpdated
_ -> Maybe Change
forall a. Maybe a
Nothing
EventReviewerAdded ReviewerAdded{Int64
Change
PatchSet
User
reviewerAddedChange :: ReviewerAdded -> Change
reviewerAddedPatchSet :: ReviewerAdded -> PatchSet
reviewerAddedAdder :: ReviewerAdded -> User
reviewerAddedEventCreatedOn :: ReviewerAdded -> Int64
reviewerAddedChange :: Change
reviewerAddedPatchSet :: PatchSet
reviewerAddedAdder :: User
reviewerAddedEventCreatedOn :: Int64
..} -> Change -> Maybe Change
forall a. a -> Maybe a
Just Change
reviewerAddedChange
EventReviewerDeleted ReviewerDeleted{Int64
Change
PatchSet
User
reviewerDeletedChange :: ReviewerDeleted -> Change
reviewerDeletedPatchSet :: ReviewerDeleted -> PatchSet
reviewerDeletedRemover :: ReviewerDeleted -> User
reviewerDeletedEventCreatedOn :: ReviewerDeleted -> Int64
reviewerDeletedChange :: Change
reviewerDeletedPatchSet :: PatchSet
reviewerDeletedRemover :: User
reviewerDeletedEventCreatedOn :: Int64
..} -> Change -> Maybe Change
forall a. a -> Maybe a
Just Change
reviewerDeletedChange
EventTopicChanged TopicChanged{Int64
Text
Change
User
topicChangedChange :: TopicChanged -> Change
topicChangedChanger :: TopicChanged -> User
topicChangedOldTopic :: TopicChanged -> Text
topicChangedEventCreatedOn :: TopicChanged -> Int64
topicChangedChange :: Change
topicChangedChanger :: User
topicChangedOldTopic :: Text
topicChangedEventCreatedOn :: Int64
..} -> Change -> Maybe Change
forall a. a -> Maybe a
Just Change
topicChangedChange
EventWorkInProgressStateChanged WorkInProgressStateChanged{Int64
Change
PatchSet
User
workInProgressStateChangedChange :: WorkInProgressStateChanged -> Change
workInProgressStateChangedPatchSet :: WorkInProgressStateChanged -> PatchSet
workInProgressStateChangedChanger :: WorkInProgressStateChanged -> User
workInProgressStateChangedEventCreatedOn :: WorkInProgressStateChanged -> Int64
workInProgressStateChangedChange :: Change
workInProgressStateChangedPatchSet :: PatchSet
workInProgressStateChangedChanger :: User
workInProgressStateChangedEventCreatedOn :: Int64
..} -> Change -> Maybe Change
forall a. a -> Maybe a
Just Change
workInProgressStateChangedChange
EventPrivateStateChanged PrivateStateChanged{Int64
Change
PatchSet
User
privateStateChangedChange :: PrivateStateChanged -> Change
privateStateChangedPatchSet :: PrivateStateChanged -> PatchSet
privateStateChangedChanger :: PrivateStateChanged -> User
privateStateChangedChangedEventCreatedOn :: PrivateStateChanged -> Int64
privateStateChangedChange :: Change
privateStateChangedPatchSet :: PatchSet
privateStateChangedChanger :: User
privateStateChangedChangedEventCreatedOn :: Int64
..} -> Change -> Maybe Change
forall a. a -> Maybe a
Just Change
privateStateChangedChange
EventVoteDeleted VoteDeleted{Change
PatchSet
User
voteDeletedChange :: VoteDeleted -> Change
voteDeletedPatchSet :: VoteDeleted -> PatchSet
voteDeletedRemover :: VoteDeleted -> User
voteDeletedChange :: Change
voteDeletedPatchSet :: PatchSet
voteDeletedRemover :: User
..} -> Change -> Maybe Change
forall a. a -> Maybe a
Just Change
voteDeletedChange
getPatchSet :: Event -> Maybe PatchSet
getPatchSet :: Event -> Maybe PatchSet
getPatchSet Event
event = case Event
event of
EventAssigneeChanged AssigneeChanged
_ -> Maybe PatchSet
forall a. Maybe a
Nothing
EventChangeAbandoned ChangeAbandoned{Int64
Maybe Text
Text
Change
PatchSet
User
changeAbandonedProject :: ChangeAbandoned -> Text
changeAbandonedAbandoner :: ChangeAbandoned -> User
changeAbandonedChange :: ChangeAbandoned -> Change
changeAbandonedPatchSet :: ChangeAbandoned -> PatchSet
changeAbandonedReason :: ChangeAbandoned -> Maybe Text
changeAbandonedEventCreatedOn :: ChangeAbandoned -> Int64
changeAbandonedProject :: Text
changeAbandonedAbandoner :: User
changeAbandonedChange :: Change
changeAbandonedPatchSet :: PatchSet
changeAbandonedReason :: Maybe Text
changeAbandonedEventCreatedOn :: Int64
..} -> PatchSet -> Maybe PatchSet
forall a. a -> Maybe a
Just PatchSet
changeAbandonedPatchSet
EventChangeDeleted ChangeDeleted
_ -> Maybe PatchSet
forall a. Maybe a
Nothing
EventChangeMerged ChangeMerged{Int64
Text
Change
PatchSet
User
changeMergedProject :: ChangeMerged -> Text
changeMergedSubmitter :: ChangeMerged -> User
changeMergedChange :: ChangeMerged -> Change
changeMergedPatchSet :: ChangeMerged -> PatchSet
changeMergedEventCreatedOn :: ChangeMerged -> Int64
changeMergedProject :: Text
changeMergedSubmitter :: User
changeMergedChange :: Change
changeMergedPatchSet :: PatchSet
changeMergedEventCreatedOn :: Int64
..} -> PatchSet -> Maybe PatchSet
forall a. a -> Maybe a
Just PatchSet
changeMergedPatchSet
EventChangeRestored ChangeRestored{Int64
Maybe Text
Change
PatchSet
User
changeRestoredChange :: ChangeRestored -> Change
changeRestoredPatchSet :: ChangeRestored -> PatchSet
changeRestoredRestorer :: ChangeRestored -> User
changeRestoredReason :: ChangeRestored -> Maybe Text
changeRestoredEventCreatedOn :: ChangeRestored -> Int64
changeRestoredChange :: Change
changeRestoredPatchSet :: PatchSet
changeRestoredRestorer :: User
changeRestoredReason :: Maybe Text
changeRestoredEventCreatedOn :: Int64
..} -> PatchSet -> Maybe PatchSet
forall a. a -> Maybe a
Just PatchSet
changeRestoredPatchSet
EventCommentAdded CommentAdded{Int64
Change
PatchSet
User
commentAddedChange :: CommentAdded -> Change
commentAddedPatchSet :: CommentAdded -> PatchSet
commentAddedAuthor :: CommentAdded -> User
commentAddedEventCreatedOn :: CommentAdded -> Int64
commentAddedChange :: Change
commentAddedPatchSet :: PatchSet
commentAddedAuthor :: User
commentAddedEventCreatedOn :: Int64
..} -> PatchSet -> Maybe PatchSet
forall a. a -> Maybe a
Just PatchSet
commentAddedPatchSet
Event
EventDroppedOutput -> Maybe PatchSet
forall a. Maybe a
Nothing
EventHashtagsChanged HashtagsChanged
_ -> Maybe PatchSet
forall a. Maybe a
Nothing
EventProjectCreated ProjectCreated
_ -> Maybe PatchSet
forall a. Maybe a
Nothing
EventPatchsetCreated PatchsetCreated{Int64
Change
PatchSet
User
patchsetCreatedUploader :: PatchsetCreated -> User
patchsetCreatedChange :: PatchsetCreated -> Change
patchsetCreatedPatchSet :: PatchsetCreated -> PatchSet
patchsetCreatedEventCreatedOn :: PatchsetCreated -> Int64
patchsetCreatedUploader :: User
patchsetCreatedChange :: Change
patchsetCreatedPatchSet :: PatchSet
patchsetCreatedEventCreatedOn :: Int64
..} -> PatchSet -> Maybe PatchSet
forall a. a -> Maybe a
Just PatchSet
patchsetCreatedPatchSet
EventRefUpdated RefUpdated
_ -> Maybe PatchSet
forall a. Maybe a
Nothing
EventReviewerAdded ReviewerAdded{Int64
Change
PatchSet
User
reviewerAddedChange :: ReviewerAdded -> Change
reviewerAddedPatchSet :: ReviewerAdded -> PatchSet
reviewerAddedAdder :: ReviewerAdded -> User
reviewerAddedEventCreatedOn :: ReviewerAdded -> Int64
reviewerAddedChange :: Change
reviewerAddedPatchSet :: PatchSet
reviewerAddedAdder :: User
reviewerAddedEventCreatedOn :: Int64
..} -> PatchSet -> Maybe PatchSet
forall a. a -> Maybe a
Just PatchSet
reviewerAddedPatchSet
EventReviewerDeleted ReviewerDeleted{Int64
Change
PatchSet
User
reviewerDeletedChange :: ReviewerDeleted -> Change
reviewerDeletedPatchSet :: ReviewerDeleted -> PatchSet
reviewerDeletedRemover :: ReviewerDeleted -> User
reviewerDeletedEventCreatedOn :: ReviewerDeleted -> Int64
reviewerDeletedChange :: Change
reviewerDeletedPatchSet :: PatchSet
reviewerDeletedRemover :: User
reviewerDeletedEventCreatedOn :: Int64
..} -> PatchSet -> Maybe PatchSet
forall a. a -> Maybe a
Just PatchSet
reviewerDeletedPatchSet
EventTopicChanged TopicChanged
_ -> Maybe PatchSet
forall a. Maybe a
Nothing
EventWorkInProgressStateChanged WorkInProgressStateChanged{Int64
Change
PatchSet
User
workInProgressStateChangedChange :: WorkInProgressStateChanged -> Change
workInProgressStateChangedPatchSet :: WorkInProgressStateChanged -> PatchSet
workInProgressStateChangedChanger :: WorkInProgressStateChanged -> User
workInProgressStateChangedEventCreatedOn :: WorkInProgressStateChanged -> Int64
workInProgressStateChangedChange :: Change
workInProgressStateChangedPatchSet :: PatchSet
workInProgressStateChangedChanger :: User
workInProgressStateChangedEventCreatedOn :: Int64
..} -> PatchSet -> Maybe PatchSet
forall a. a -> Maybe a
Just PatchSet
workInProgressStateChangedPatchSet
EventPrivateStateChanged PrivateStateChanged{Int64
Change
PatchSet
User
privateStateChangedChange :: PrivateStateChanged -> Change
privateStateChangedPatchSet :: PrivateStateChanged -> PatchSet
privateStateChangedChanger :: PrivateStateChanged -> User
privateStateChangedChangedEventCreatedOn :: PrivateStateChanged -> Int64
privateStateChangedChange :: Change
privateStateChangedPatchSet :: PatchSet
privateStateChangedChanger :: User
privateStateChangedChangedEventCreatedOn :: Int64
..} -> PatchSet -> Maybe PatchSet
forall a. a -> Maybe a
Just PatchSet
privateStateChangedPatchSet
EventVoteDeleted VoteDeleted{Change
PatchSet
User
voteDeletedChange :: VoteDeleted -> Change
voteDeletedPatchSet :: VoteDeleted -> PatchSet
voteDeletedRemover :: VoteDeleted -> User
voteDeletedChange :: Change
voteDeletedPatchSet :: PatchSet
voteDeletedRemover :: User
..} -> PatchSet -> Maybe PatchSet
forall a. a -> Maybe a
Just PatchSet
voteDeletedPatchSet
getUser :: Event -> Maybe User
getUser :: Event -> Maybe User
getUser Event
event = case Event
event of
EventAssigneeChanged AssigneeChanged{Int64
Change
User
assigneeChangedChange :: AssigneeChanged -> Change
assigneeChangedChanger :: AssigneeChanged -> User
assigneeChangedEventCreatedOn :: AssigneeChanged -> Int64
assigneeChangedChange :: Change
assigneeChangedChanger :: User
assigneeChangedEventCreatedOn :: Int64
..} -> User -> Maybe User
forall a. a -> Maybe a
Just User
assigneeChangedChanger
EventChangeAbandoned ChangeAbandoned{Int64
Maybe Text
Text
Change
PatchSet
User
changeAbandonedProject :: ChangeAbandoned -> Text
changeAbandonedAbandoner :: ChangeAbandoned -> User
changeAbandonedChange :: ChangeAbandoned -> Change
changeAbandonedPatchSet :: ChangeAbandoned -> PatchSet
changeAbandonedReason :: ChangeAbandoned -> Maybe Text
changeAbandonedEventCreatedOn :: ChangeAbandoned -> Int64
changeAbandonedProject :: Text
changeAbandonedAbandoner :: User
changeAbandonedChange :: Change
changeAbandonedPatchSet :: PatchSet
changeAbandonedReason :: Maybe Text
changeAbandonedEventCreatedOn :: Int64
..} -> User -> Maybe User
forall a. a -> Maybe a
Just User
changeAbandonedAbandoner
EventChangeDeleted ChangeDeleted{Change
User
changeDeletedChange :: ChangeDeleted -> Change
changeDeletedDeleter :: ChangeDeleted -> User
changeDeletedChange :: Change
changeDeletedDeleter :: User
..} -> User -> Maybe User
forall a. a -> Maybe a
Just User
changeDeletedDeleter
EventChangeMerged ChangeMerged{Int64
Text
Change
PatchSet
User
changeMergedProject :: ChangeMerged -> Text
changeMergedSubmitter :: ChangeMerged -> User
changeMergedChange :: ChangeMerged -> Change
changeMergedPatchSet :: ChangeMerged -> PatchSet
changeMergedEventCreatedOn :: ChangeMerged -> Int64
changeMergedProject :: Text
changeMergedSubmitter :: User
changeMergedChange :: Change
changeMergedPatchSet :: PatchSet
changeMergedEventCreatedOn :: Int64
..} -> User -> Maybe User
forall a. a -> Maybe a
Just User
changeMergedSubmitter
EventChangeRestored ChangeRestored{Int64
Maybe Text
Change
PatchSet
User
changeRestoredChange :: ChangeRestored -> Change
changeRestoredPatchSet :: ChangeRestored -> PatchSet
changeRestoredRestorer :: ChangeRestored -> User
changeRestoredReason :: ChangeRestored -> Maybe Text
changeRestoredEventCreatedOn :: ChangeRestored -> Int64
changeRestoredChange :: Change
changeRestoredPatchSet :: PatchSet
changeRestoredRestorer :: User
changeRestoredReason :: Maybe Text
changeRestoredEventCreatedOn :: Int64
..} -> User -> Maybe User
forall a. a -> Maybe a
Just User
changeRestoredRestorer
EventCommentAdded CommentAdded{Int64
Change
PatchSet
User
commentAddedChange :: CommentAdded -> Change
commentAddedPatchSet :: CommentAdded -> PatchSet
commentAddedAuthor :: CommentAdded -> User
commentAddedEventCreatedOn :: CommentAdded -> Int64
commentAddedChange :: Change
commentAddedPatchSet :: PatchSet
commentAddedAuthor :: User
commentAddedEventCreatedOn :: Int64
..} -> User -> Maybe User
forall a. a -> Maybe a
Just User
commentAddedAuthor
Event
EventDroppedOutput -> Maybe User
forall a. Maybe a
Nothing
EventHashtagsChanged HashtagsChanged{Int64
Change
User
hashtagsChangedChange :: HashtagsChanged -> Change
hashtagsChangedEditor :: HashtagsChanged -> User
hashtagsChangedEventCreatedOn :: HashtagsChanged -> Int64
hashtagsChangedChange :: Change
hashtagsChangedEditor :: User
hashtagsChangedEventCreatedOn :: Int64
..} -> User -> Maybe User
forall a. a -> Maybe a
Just User
hashtagsChangedEditor
EventProjectCreated ProjectCreated
_ -> Maybe User
forall a. Maybe a
Nothing
EventPatchsetCreated PatchsetCreated{Int64
Change
PatchSet
User
patchsetCreatedUploader :: PatchsetCreated -> User
patchsetCreatedChange :: PatchsetCreated -> Change
patchsetCreatedPatchSet :: PatchsetCreated -> PatchSet
patchsetCreatedEventCreatedOn :: PatchsetCreated -> Int64
patchsetCreatedUploader :: User
patchsetCreatedChange :: Change
patchsetCreatedPatchSet :: PatchSet
patchsetCreatedEventCreatedOn :: Int64
..} -> User -> Maybe User
forall a. a -> Maybe a
Just User
patchsetCreatedUploader
EventRefUpdated RefUpdated
_ -> Maybe User
forall a. Maybe a
Nothing
EventReviewerAdded ReviewerAdded{Int64
Change
PatchSet
User
reviewerAddedChange :: ReviewerAdded -> Change
reviewerAddedPatchSet :: ReviewerAdded -> PatchSet
reviewerAddedAdder :: ReviewerAdded -> User
reviewerAddedEventCreatedOn :: ReviewerAdded -> Int64
reviewerAddedChange :: Change
reviewerAddedPatchSet :: PatchSet
reviewerAddedAdder :: User
reviewerAddedEventCreatedOn :: Int64
..} -> User -> Maybe User
forall a. a -> Maybe a
Just User
reviewerAddedAdder
EventReviewerDeleted ReviewerDeleted{Int64
Change
PatchSet
User
reviewerDeletedChange :: ReviewerDeleted -> Change
reviewerDeletedPatchSet :: ReviewerDeleted -> PatchSet
reviewerDeletedRemover :: ReviewerDeleted -> User
reviewerDeletedEventCreatedOn :: ReviewerDeleted -> Int64
reviewerDeletedChange :: Change
reviewerDeletedPatchSet :: PatchSet
reviewerDeletedRemover :: User
reviewerDeletedEventCreatedOn :: Int64
..} -> User -> Maybe User
forall a. a -> Maybe a
Just User
reviewerDeletedRemover
EventTopicChanged TopicChanged{Int64
Text
Change
User
topicChangedChange :: TopicChanged -> Change
topicChangedChanger :: TopicChanged -> User
topicChangedOldTopic :: TopicChanged -> Text
topicChangedEventCreatedOn :: TopicChanged -> Int64
topicChangedChange :: Change
topicChangedChanger :: User
topicChangedOldTopic :: Text
topicChangedEventCreatedOn :: Int64
..} -> User -> Maybe User
forall a. a -> Maybe a
Just User
topicChangedChanger
EventWorkInProgressStateChanged WorkInProgressStateChanged{Int64
Change
PatchSet
User
workInProgressStateChangedChange :: WorkInProgressStateChanged -> Change
workInProgressStateChangedPatchSet :: WorkInProgressStateChanged -> PatchSet
workInProgressStateChangedChanger :: WorkInProgressStateChanged -> User
workInProgressStateChangedEventCreatedOn :: WorkInProgressStateChanged -> Int64
workInProgressStateChangedChange :: Change
workInProgressStateChangedPatchSet :: PatchSet
workInProgressStateChangedChanger :: User
workInProgressStateChangedEventCreatedOn :: Int64
..} -> User -> Maybe User
forall a. a -> Maybe a
Just User
workInProgressStateChangedChanger
EventPrivateStateChanged PrivateStateChanged{Int64
Change
PatchSet
User
privateStateChangedChange :: PrivateStateChanged -> Change
privateStateChangedPatchSet :: PrivateStateChanged -> PatchSet
privateStateChangedChanger :: PrivateStateChanged -> User
privateStateChangedChangedEventCreatedOn :: PrivateStateChanged -> Int64
privateStateChangedChange :: Change
privateStateChangedPatchSet :: PatchSet
privateStateChangedChanger :: User
privateStateChangedChangedEventCreatedOn :: Int64
..} -> User -> Maybe User
forall a. a -> Maybe a
Just User
privateStateChangedChanger
EventVoteDeleted VoteDeleted{Change
PatchSet
User
voteDeletedChange :: VoteDeleted -> Change
voteDeletedPatchSet :: VoteDeleted -> PatchSet
voteDeletedRemover :: VoteDeleted -> User
voteDeletedChange :: Change
voteDeletedPatchSet :: PatchSet
voteDeletedRemover :: User
..} -> User -> Maybe User
forall a. a -> Maybe a
Just User
voteDeletedRemover
getCreatedOn :: Event -> Maybe Int64
getCreatedOn :: Event -> Maybe Int64
getCreatedOn Event
event = case Event
event of
EventAssigneeChanged AssigneeChanged{Int64
Change
User
assigneeChangedChange :: AssigneeChanged -> Change
assigneeChangedChanger :: AssigneeChanged -> User
assigneeChangedEventCreatedOn :: AssigneeChanged -> Int64
assigneeChangedChange :: Change
assigneeChangedChanger :: User
assigneeChangedEventCreatedOn :: Int64
..} -> Int64 -> Maybe Int64
forall a. a -> Maybe a
Just Int64
assigneeChangedEventCreatedOn
EventChangeAbandoned ChangeAbandoned{Int64
Maybe Text
Text
Change
PatchSet
User
changeAbandonedProject :: ChangeAbandoned -> Text
changeAbandonedAbandoner :: ChangeAbandoned -> User
changeAbandonedChange :: ChangeAbandoned -> Change
changeAbandonedPatchSet :: ChangeAbandoned -> PatchSet
changeAbandonedReason :: ChangeAbandoned -> Maybe Text
changeAbandonedEventCreatedOn :: ChangeAbandoned -> Int64
changeAbandonedProject :: Text
changeAbandonedAbandoner :: User
changeAbandonedChange :: Change
changeAbandonedPatchSet :: PatchSet
changeAbandonedReason :: Maybe Text
changeAbandonedEventCreatedOn :: Int64
..} -> Int64 -> Maybe Int64
forall a. a -> Maybe a
Just Int64
changeAbandonedEventCreatedOn
EventChangeDeleted ChangeDeleted
_ -> Maybe Int64
forall a. Maybe a
Nothing
EventChangeMerged ChangeMerged{Int64
Text
Change
PatchSet
User
changeMergedProject :: ChangeMerged -> Text
changeMergedSubmitter :: ChangeMerged -> User
changeMergedChange :: ChangeMerged -> Change
changeMergedPatchSet :: ChangeMerged -> PatchSet
changeMergedEventCreatedOn :: ChangeMerged -> Int64
changeMergedProject :: Text
changeMergedSubmitter :: User
changeMergedChange :: Change
changeMergedPatchSet :: PatchSet
changeMergedEventCreatedOn :: Int64
..} -> Int64 -> Maybe Int64
forall a. a -> Maybe a
Just Int64
changeMergedEventCreatedOn
EventChangeRestored ChangeRestored{Int64
Maybe Text
Change
PatchSet
User
changeRestoredChange :: ChangeRestored -> Change
changeRestoredPatchSet :: ChangeRestored -> PatchSet
changeRestoredRestorer :: ChangeRestored -> User
changeRestoredReason :: ChangeRestored -> Maybe Text
changeRestoredEventCreatedOn :: ChangeRestored -> Int64
changeRestoredChange :: Change
changeRestoredPatchSet :: PatchSet
changeRestoredRestorer :: User
changeRestoredReason :: Maybe Text
changeRestoredEventCreatedOn :: Int64
..} -> Int64 -> Maybe Int64
forall a. a -> Maybe a
Just Int64
changeRestoredEventCreatedOn
EventCommentAdded CommentAdded{Int64
Change
PatchSet
User
commentAddedChange :: CommentAdded -> Change
commentAddedPatchSet :: CommentAdded -> PatchSet
commentAddedAuthor :: CommentAdded -> User
commentAddedEventCreatedOn :: CommentAdded -> Int64
commentAddedChange :: Change
commentAddedPatchSet :: PatchSet
commentAddedAuthor :: User
commentAddedEventCreatedOn :: Int64
..} -> Int64 -> Maybe Int64
forall a. a -> Maybe a
Just Int64
commentAddedEventCreatedOn
Event
EventDroppedOutput -> Maybe Int64
forall a. Maybe a
Nothing
EventHashtagsChanged HashtagsChanged{Int64
Change
User
hashtagsChangedChange :: HashtagsChanged -> Change
hashtagsChangedEditor :: HashtagsChanged -> User
hashtagsChangedEventCreatedOn :: HashtagsChanged -> Int64
hashtagsChangedChange :: Change
hashtagsChangedEditor :: User
hashtagsChangedEventCreatedOn :: Int64
..} -> Int64 -> Maybe Int64
forall a. a -> Maybe a
Just Int64
hashtagsChangedEventCreatedOn
EventProjectCreated ProjectCreated{Int64
Text
projectCreatedProjectName :: ProjectCreated -> Text
projectCreatedHeadName :: ProjectCreated -> Text
projectCreatedEventCreatedOn :: ProjectCreated -> Int64
projectCreatedProjectName :: Text
projectCreatedHeadName :: Text
projectCreatedEventCreatedOn :: Int64
..} -> Int64 -> Maybe Int64
forall a. a -> Maybe a
Just Int64
projectCreatedEventCreatedOn
EventPatchsetCreated PatchsetCreated{Int64
Change
PatchSet
User
patchsetCreatedUploader :: PatchsetCreated -> User
patchsetCreatedChange :: PatchsetCreated -> Change
patchsetCreatedPatchSet :: PatchsetCreated -> PatchSet
patchsetCreatedEventCreatedOn :: PatchsetCreated -> Int64
patchsetCreatedUploader :: User
patchsetCreatedChange :: Change
patchsetCreatedPatchSet :: PatchSet
patchsetCreatedEventCreatedOn :: Int64
..} -> Int64 -> Maybe Int64
forall a. a -> Maybe a
Just Int64
patchsetCreatedEventCreatedOn
EventRefUpdated RefUpdated{Int64
Ref
User
refUpdatedSubmitter :: RefUpdated -> User
refUpdatedRefUpdate :: RefUpdated -> Ref
refUpdatedEventCreatedOn :: RefUpdated -> Int64
refUpdatedSubmitter :: User
refUpdatedRefUpdate :: Ref
refUpdatedEventCreatedOn :: Int64
..} -> Int64 -> Maybe Int64
forall a. a -> Maybe a
Just Int64
refUpdatedEventCreatedOn
EventReviewerAdded ReviewerAdded{Int64
Change
PatchSet
User
reviewerAddedChange :: ReviewerAdded -> Change
reviewerAddedPatchSet :: ReviewerAdded -> PatchSet
reviewerAddedAdder :: ReviewerAdded -> User
reviewerAddedEventCreatedOn :: ReviewerAdded -> Int64
reviewerAddedChange :: Change
reviewerAddedPatchSet :: PatchSet
reviewerAddedAdder :: User
reviewerAddedEventCreatedOn :: Int64
..} -> Int64 -> Maybe Int64
forall a. a -> Maybe a
Just Int64
reviewerAddedEventCreatedOn
EventReviewerDeleted ReviewerDeleted{Int64
Change
PatchSet
User
reviewerDeletedChange :: ReviewerDeleted -> Change
reviewerDeletedPatchSet :: ReviewerDeleted -> PatchSet
reviewerDeletedRemover :: ReviewerDeleted -> User
reviewerDeletedEventCreatedOn :: ReviewerDeleted -> Int64
reviewerDeletedChange :: Change
reviewerDeletedPatchSet :: PatchSet
reviewerDeletedRemover :: User
reviewerDeletedEventCreatedOn :: Int64
..} -> Int64 -> Maybe Int64
forall a. a -> Maybe a
Just Int64
reviewerDeletedEventCreatedOn
EventTopicChanged TopicChanged{Int64
Text
Change
User
topicChangedChange :: TopicChanged -> Change
topicChangedChanger :: TopicChanged -> User
topicChangedOldTopic :: TopicChanged -> Text
topicChangedEventCreatedOn :: TopicChanged -> Int64
topicChangedChange :: Change
topicChangedChanger :: User
topicChangedOldTopic :: Text
topicChangedEventCreatedOn :: Int64
..} -> Int64 -> Maybe Int64
forall a. a -> Maybe a
Just Int64
topicChangedEventCreatedOn
EventWorkInProgressStateChanged WorkInProgressStateChanged{Int64
Change
PatchSet
User
workInProgressStateChangedChange :: WorkInProgressStateChanged -> Change
workInProgressStateChangedPatchSet :: WorkInProgressStateChanged -> PatchSet
workInProgressStateChangedChanger :: WorkInProgressStateChanged -> User
workInProgressStateChangedEventCreatedOn :: WorkInProgressStateChanged -> Int64
workInProgressStateChangedChange :: Change
workInProgressStateChangedPatchSet :: PatchSet
workInProgressStateChangedChanger :: User
workInProgressStateChangedEventCreatedOn :: Int64
..} -> Int64 -> Maybe Int64
forall a. a -> Maybe a
Just Int64
workInProgressStateChangedEventCreatedOn
EventPrivateStateChanged PrivateStateChanged{Int64
Change
PatchSet
User
privateStateChangedChange :: PrivateStateChanged -> Change
privateStateChangedPatchSet :: PrivateStateChanged -> PatchSet
privateStateChangedChanger :: PrivateStateChanged -> User
privateStateChangedChangedEventCreatedOn :: PrivateStateChanged -> Int64
privateStateChangedChange :: Change
privateStateChangedPatchSet :: PatchSet
privateStateChangedChanger :: User
privateStateChangedChangedEventCreatedOn :: Int64
..} -> Int64 -> Maybe Int64
forall a. a -> Maybe a
Just Int64
privateStateChangedChangedEventCreatedOn
EventVoteDeleted VoteDeleted
_ -> Maybe Int64
forall a. Maybe a
Nothing
getEventType :: Event -> EventType
getEventType :: Event -> EventType
getEventType Event
event = case Event
event of
EventAssigneeChanged AssigneeChanged
_ -> EventType
AssigneeChangedEvent
EventChangeAbandoned ChangeAbandoned
_ -> EventType
ChangeAbandonedEvent
EventChangeDeleted ChangeDeleted
_ -> EventType
ChangeDeletedEvent
EventChangeMerged ChangeMerged
_ -> EventType
ChangeMergedEvent
EventChangeRestored ChangeRestored
_ -> EventType
ChangeRestoredEvent
EventCommentAdded CommentAdded
_ -> EventType
CommentAddedEvent
Event
EventDroppedOutput -> EventType
DroppedOutputEvent
EventHashtagsChanged HashtagsChanged
_ -> EventType
HashtagsChangedEvent
EventProjectCreated ProjectCreated
_ -> EventType
ProjectCreatedEvent
EventPatchsetCreated PatchsetCreated
_ -> EventType
PatchsetCreatedEvent
EventRefUpdated RefUpdated
_ -> EventType
RefUpdatedEvent
EventReviewerAdded ReviewerAdded
_ -> EventType
ReviewerAddedEvent
EventReviewerDeleted ReviewerDeleted
_ -> EventType
ReviewerDeletedEvent
EventTopicChanged TopicChanged
_ -> EventType
TopicChangedEvent
EventWorkInProgressStateChanged WorkInProgressStateChanged
_ -> EventType
WorkInProgressStateChangedEvent
EventPrivateStateChanged PrivateStateChanged
_ -> EventType
PrivateStateChangedEvent
EventVoteDeleted VoteDeleted
_ -> EventType
VoteDeletedEvent
eventName :: EventType -> Text
eventName :: EventType -> Text
eventName EventType
eventType = case EventType
eventType of
EventType
AssigneeChangedEvent -> Text
"assignee-changed"
EventType
ChangeAbandonedEvent -> Text
"change-abandoned"
EventType
ChangeDeletedEvent -> Text
"change-deleted"
EventType
ChangeMergedEvent -> Text
"change-merged"
EventType
ChangeRestoredEvent -> Text
"change-restored"
EventType
CommentAddedEvent -> Text
"comment-added"
EventType
DroppedOutputEvent -> Text
"dropped-output"
EventType
HashtagsChangedEvent -> Text
"hashtags-changed"
EventType
ProjectCreatedEvent -> Text
"project-created"
EventType
PatchsetCreatedEvent -> Text
"patchset-created"
EventType
RefUpdatedEvent -> Text
"ref-updated"
EventType
ReviewerAddedEvent -> Text
"reviewer-added"
EventType
ReviewerDeletedEvent -> Text
"reviewer-deleted"
EventType
TopicChangedEvent -> Text
"topic-changed"
EventType
WorkInProgressStateChangedEvent -> Text
"wip-state-changed"
EventType
PrivateStateChangedEvent -> Text
"private-state-changed"
EventType
VoteDeletedEvent -> Text
"vote-deleted"