packages feed

sqlc-hs-0.2.0.0: test/golden/out/Pulse/Database/GetResolvedIncidentsForNotification.hs

{- This file was auto-generated from queries.sql by sqlc-hs. -}
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
module Pulse.Database.GetResolvedIncidentsForNotification where

import Pulse.Database.Internal (Query(..), Enum, Params, Result)
import qualified Database.PostgreSQL.Simple
import qualified Database.PostgreSQL.Simple.FromRow
import qualified Database.PostgreSQL.Simple.ToField
import qualified Database.PostgreSQL.Simple.ToRow

import qualified Data.Int
import qualified Data.Time
import qualified GHC.Types
import qualified Data.Text
import qualified GHC.Base
import qualified Pulse.Database.Types
import qualified Data.Foldable

query_getResolvedIncidentsForNotification :: Query "getResolvedIncidentsForNotification" ":many"
query_getResolvedIncidentsForNotification = Query "SELECT\n    ie.id, ie.escalation_policy_id, ie.current_step, ie.escalation_started_at, ie.next_escalation_at, ie.is_active, ie.threshold, ie.failed_checks, ie.incident_notification_sent_at, ie.resolved_notification_sent_at, ie.acknowledged_notification_sent_at, ie.created_at, ie.updated_at,\n    i.id,\n    i.organization_id,\n    i.display_name,\n    i.description,\n    i.failing_monitor,\n    i.status,\n    i.created_at,\n    ep.name as escalation_policy_name\nFROM incident_escalations ie\nINNER JOIN incidents i ON ie.id = i.id\nINNER JOIN escalation_policies ep ON ie.escalation_policy_id = ep.id\nWHERE\n    i.status = 'resolved'\n    AND ie.incident_notification_sent_at IS NOT NULL\n    AND ie.resolved_notification_sent_at IS NULL\nORDER BY i.updated_at ASC\nLIMIT 100"

data instance Params "getResolvedIncidentsForNotification" = Params_getResolvedIncidentsForNotification
  {
  }

data instance Result "getResolvedIncidentsForNotification" = Result_getResolvedIncidentsForNotification
  {
    incident_escalations_id :: !(Data.Int.Int64),
    incident_escalations_escalation_policy_id :: !(Data.Int.Int32),
    incident_escalations_current_step :: !(Data.Int.Int32),
    incident_escalations_escalation_started_at :: !((Maybe Data.Time.UTCTime)),
    incident_escalations_next_escalation_at :: !((Maybe Data.Time.UTCTime)),
    incident_escalations_is_active :: !(GHC.Types.Bool),
    incident_escalations_threshold :: !(Data.Int.Int32),
    incident_escalations_failed_checks :: !(Data.Int.Int32),
    incident_escalations_incident_notification_sent_at :: !((Maybe Data.Time.UTCTime)),
    incident_escalations_resolved_notification_sent_at :: !((Maybe Data.Time.UTCTime)),
    incident_escalations_acknowledged_notification_sent_at :: !((Maybe Data.Time.UTCTime)),
    incident_escalations_created_at :: !((Maybe Data.Time.UTCTime)),
    incident_escalations_updated_at :: !((Maybe Data.Time.UTCTime)),
    incidents_id :: !(Data.Int.Int64),
    incidents_organization_id :: !(Data.Int.Int32),
    incidents_display_name :: !(Data.Text.Text),
    incidents_description :: !(GHC.Base.Maybe Data.Text.Text),
    incidents_failing_monitor :: !(GHC.Base.Maybe Data.Int.Int32),
    incidents_status :: !((Pulse.Database.Types.Enum "incident_status")),
    incidents_created_at :: !((Maybe Data.Time.UTCTime)),
    escalation_policies_escalation_policy_name :: !(Data.Text.Text)
  }

instance Database.PostgreSQL.Simple.ToRow.ToRow (Params "getResolvedIncidentsForNotification") where
  toRow Params_getResolvedIncidentsForNotification{} =
    [     ]

instance Database.PostgreSQL.Simple.FromRow.FromRow (Result "getResolvedIncidentsForNotification") where
  fromRow =
    pure Result_getResolvedIncidentsForNotification
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field
      <*> Database.PostgreSQL.Simple.FromRow.field