packages feed

hercules-ci-api-0.8.2.0: src/Hercules/API/Forge/Forge.hs

{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DerivingStrategies #-}

module Hercules.API.Forge.Forge where

import Data.OpenApi qualified as O3
import Hercules.API.Prelude

-- | A source hosting site (example github for github.com) used for
-- source code, permissions, CI statuses, ...
data Forge = Forge
  { id :: Id Forge,
    slug :: Name Forge,
    displayName :: Text,
    typ :: Text,
    newInstallationURL :: Maybe Text,
    -- | Does the requesting user have admin permissions?
    adminPermission :: Maybe Bool
  }
  deriving (Generic, Show, Eq)
  deriving anyclass (NFData, ToJSON, FromJSON, ToSchema, O3.ToSchema)