packages feed

bugsnag-types-1.1.1.0: src/Data/Bugsnag/Types/DependentNotifier.hs

module Data.Bugsnag.Types.DependentNotifier
  ( DependentNotifier (..)
  , exampleDependentNotifier
  , defaultDependentNotifier
  )
where

import Data.Bugsnag.Types.Prelude

data DependentNotifier = DependentNotifier
  { name :: Text
  -- ^ The notifier name.
  , version :: Text
  -- ^ The notifier\'s current version.
  , url :: Text
  -- ^ The URL associated with the notifier.
  }
  deriving stock (Eq, Generic, Show)

instance FromJSON DependentNotifier where
  parseJSON = genericParseJSON aesonOptions

instance ToJSON DependentNotifier where
  toJSON = genericToJSON aesonOptions
  toEncoding = genericToEncoding aesonOptions

defaultDependentNotifier :: Text -> Text -> Text -> DependentNotifier
defaultDependentNotifier name version url =
  DependentNotifier
    { name
    , version
    , url
    }

exampleDependentNotifier :: DependentNotifier
exampleDependentNotifier =
  DependentNotifier
    { name = "Bugsnag Android"
    , version = "2.1.10"
    , url = "https://github.com/bugsnag/bugsnag-android"
    }