module Network.Bugsnag.App
( BugsnagApp(..)
, bugsnagApp
) where
import Data.Aeson
import Data.Aeson.Ext
import Data.Text (Text)
import Data.Version
import GHC.Generics
import Network.Bugsnag.ReleaseStage
import Numeric.Natural
data BugsnagApp = BugsnagApp
{ baId :: Maybe Text
, baVersion :: Maybe Version
, baBuildUUID :: Maybe Text
, baReleaseStage :: Maybe BugsnagReleaseStage
, baType :: Maybe Text
, baDsymUUIDs :: Maybe [Text]
, baDuration :: Maybe Natural
, baDurationInForeground :: Maybe Natural
, baInForeground :: Maybe Bool
}
deriving Generic
instance ToJSON BugsnagApp where
toJSON = genericToJSON $ bsAesonOptions "ba"
toEncoding = genericToEncoding $ bsAesonOptions "ba"
bugsnagApp :: BugsnagApp
bugsnagApp = BugsnagApp
{ baId = Nothing
, baVersion = Nothing
, baBuildUUID = Nothing
, baReleaseStage = Nothing
, baType = Nothing
, baDsymUUIDs = Nothing
, baDuration = Nothing
, baDurationInForeground = Nothing
, baInForeground = Nothing
}