{-# LANGUAGE DeriveGeneric #-}
module Network.Bugsnag.Session
( BugsnagSession(..)
, bugsnagSession
) where
import Data.Aeson
import Data.Aeson.Ext
import Data.Text (Text)
import GHC.Generics
import Network.Bugsnag.User
data BugsnagSession = BugsnagSession
{ bsUser :: Maybe BugsnagUser
, bsContext :: Maybe Text
, bsMetaData :: Maybe Value
}
deriving Generic
instance ToJSON BugsnagSession where
toJSON = genericToJSON $ bsAesonOptions "bs"
toEncoding = genericToEncoding $ bsAesonOptions "bs"
bugsnagSession :: BugsnagSession
bugsnagSession = BugsnagSession
{ bsUser = Nothing
, bsContext = Nothing
, bsMetaData = Nothing
}