sqlc-hs-0.2.0.0: test/golden/out/Pulse/Database/GetIncidents.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.GetIncidents 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 GHC.Base
import qualified Data.Vector
import qualified Pulse.Database.Types
import qualified Data.Text
import qualified Data.Time
import qualified GHC.Types
import qualified Pulse.Database.DBTypes
import qualified Data.Foldable
query_getIncidents :: Query "getIncidents" ":many"
query_getIncidents = Query "SELECT\n incidents.id, incidents.organization_id, incidents.display_name, incidents.description, incidents.failing_monitor, incidents.status, incidents.lead_by, incidents.acknowledged_by, incidents.unacknowledged_at, incidents.created_at, incidents.updated_at,\n monitors.id, monitors.organization_id, monitors.name, monitors.type, monitors.healthiness, monitors.monitor_group, monitors.threshold_failures, monitors.is_active, monitors.is_deleted, monitors.last_checked, monitors.created_at, monitors.updated_at, monitors.escalation_policy_id,\n opcua_endpoint_incidents.id, opcua_endpoint_incidents.description_template, opcua_endpoint_incidents.opcua_attribute_values, opcua_endpoint_incidents.created_at, opcua_endpoint_incidents.updated_at,\n opcua_node_incidents.id, opcua_node_incidents.description_template, opcua_node_incidents.opcua_attribute_values, opcua_node_incidents.created_at, opcua_node_incidents.updated_at\nFROM incidents\nLEFT JOIN monitors ON incidents.failing_monitor = monitors.id\nLEFT JOIN\n opcua_endpoint_incidents\n ON\n monitors.type = 'opcua_endpoint'\n AND incidents.id = opcua_endpoint_incidents.id\nLEFT JOIN\n opcua_node_incidents\n ON\n monitors.type = 'opcua_node'\n AND incidents.id = opcua_node_incidents.id\nWHERE\n incidents.organization_id = ?\n AND (\n ?::BIGINT [] IS null\n OR incidents.id = ANY(?::BIGINT [])\n )\n AND status IN ?\nORDER BY\n CASE incidents.status\n WHEN 'created' THEN 1\n WHEN 'unacknowledged' THEN 2\n WHEN 'acknowledged' THEN 3\n WHEN 'resolved' THEN 4\n END ASC,\n incidents.created_at DESC"
data instance Params "getIncidents" = Params_getIncidents
{
incidents_organization_id :: Data.Int.Int32,
incident_ids :: GHC.Base.Maybe (Data.Vector.Vector Data.Int.Int64),
incidents_status :: [(Pulse.Database.Types.Enum "incident_status")]
}
data instance Result "getIncidents" = Result_getIncidents
{
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_lead_by :: !(GHC.Base.Maybe Data.Int.Int32),
incidents_acknowledged_by :: !(GHC.Base.Maybe Data.Int.Int32),
incidents_unacknowledged_at :: !((Maybe Data.Time.UTCTime)),
incidents_created_at :: !((Maybe Data.Time.UTCTime)),
incidents_updated_at :: !((Maybe Data.Time.UTCTime)),
monitors_id :: !(GHC.Base.Maybe Data.Int.Int32),
monitors_organization_id :: !(GHC.Base.Maybe Data.Int.Int32),
monitors_name :: !(GHC.Base.Maybe Data.Text.Text),
monitors_type :: !(GHC.Base.Maybe ((Pulse.Database.Types.Enum "monitor_type"))),
monitors_healthiness :: !(GHC.Base.Maybe ((Pulse.Database.Types.Enum "monitor_healthiness"))),
monitors_monitor_group :: !(GHC.Base.Maybe Data.Text.Text),
monitors_threshold_failures :: !(GHC.Base.Maybe Data.Int.Int32),
monitors_is_active :: !(GHC.Base.Maybe GHC.Types.Bool),
monitors_is_deleted :: !(GHC.Base.Maybe GHC.Types.Bool),
monitors_last_checked :: !((Maybe Data.Time.UTCTime)),
monitors_created_at :: !((Maybe Data.Time.UTCTime)),
monitors_updated_at :: !((Maybe Data.Time.UTCTime)),
monitors_escalation_policy_id :: !(GHC.Base.Maybe Data.Int.Int32),
opcua_endpoint_incidents_id :: !(GHC.Base.Maybe Data.Int.Int64),
opcua_endpoint_incidents_description_template :: !(GHC.Base.Maybe Data.Text.Text),
opcua_endpoint_incidents_opcua_attribute_values :: !(GHC.Base.Maybe (Data.Vector.Vector Pulse.Database.DBTypes.OpcuaAttributeValue)),
opcua_endpoint_incidents_created_at :: !((Maybe Data.Time.UTCTime)),
opcua_endpoint_incidents_updated_at :: !((Maybe Data.Time.UTCTime)),
opcua_node_incidents_id :: !(GHC.Base.Maybe Data.Int.Int64),
opcua_node_incidents_description_template :: !(GHC.Base.Maybe Data.Text.Text),
opcua_node_incidents_opcua_attribute_values :: !(GHC.Base.Maybe (Data.Vector.Vector Pulse.Database.DBTypes.OpcuaAttributeValue)),
opcua_node_incidents_created_at :: !((Maybe Data.Time.UTCTime)),
opcua_node_incidents_updated_at :: !((Maybe Data.Time.UTCTime))
}
instance Database.PostgreSQL.Simple.ToRow.ToRow (Params "getIncidents") where
toRow Params_getIncidents{..} =
[
Database.PostgreSQL.Simple.ToField.toField incidents_organization_id,
Database.PostgreSQL.Simple.ToField.toField incident_ids,
Database.PostgreSQL.Simple.ToField.toField incident_ids,
Database.PostgreSQL.Simple.ToField.toField (Database.PostgreSQL.Simple.In (Data.Foldable.toList incidents_status))
]
instance Database.PostgreSQL.Simple.FromRow.FromRow (Result "getIncidents") where
fromRow =
pure Result_getIncidents
<*> 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
<*> 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