sqlc-hs-0.2.0.0: test/golden/out/Pulse/Database/GetOpcuaNodeMonitors.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.GetOpcuaNodeMonitors 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 Data.Text
import qualified Pulse.Database.Types
import qualified GHC.Types
import qualified Data.Time
import qualified Pulse.Database.DBTypes
import qualified Data.Time.LocalTime
import qualified Data.Foldable
query_getOpcuaNodeMonitors :: Query "getOpcuaNodeMonitors" ":many"
query_getOpcuaNodeMonitors = Query "SELECT 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, opcua_node_monitors.id, endpoint_monitor_id, opcua_node_id, aggregation, operation, operand, duration, frequency, incident_message_template, opcua_node_monitors.created_at, opcua_node_monitors.updated_at, endpoint_monitor.id, endpoint_monitor.organization_id, endpoint_monitor.name, endpoint_monitor.type, endpoint_monitor.healthiness, endpoint_monitor.monitor_group, endpoint_monitor.threshold_failures, endpoint_monitor.is_active, endpoint_monitor.is_deleted, endpoint_monitor.last_checked, endpoint_monitor.created_at, endpoint_monitor.updated_at, endpoint_monitor.escalation_policy_id, incidents.id, incidents.organization_id, display_name, description, failing_monitor, status, lead_by, acknowledged_by, unacknowledged_at, incidents.created_at, incidents.updated_at\nFROM\n monitors\nINNER JOIN\n opcua_node_monitors ON monitors.id = opcua_node_monitors.id\nINNER JOIN\n monitors AS endpoint_monitor ON monitors.id = opcua_node_monitors.endpoint_monitor_id\nLEFT JOIN\n incidents ON\n incidents.organization_id = monitors.organization_id\n AND incidents.failing_monitor = opcua_node_monitors.id\n AND status <> 'resolved'\nWHERE\n monitors.organization_id = ?\n AND monitors.type = 'opcua_node'\n AND\n ( ?::INT[] IS NULL\n OR monitors.id = ANY(?::INT[])\n )\n AND\n ( ?::INT[] IS NULL\n OR NOT (monitors.id = ANY(?::INT[]))\n )\n AND NOT monitors.is_deleted"
data instance Params "getOpcuaNodeMonitors" = Params_getOpcuaNodeMonitors
{
monitors_organization_id :: Data.Int.Int32,
monitor_ids :: GHC.Base.Maybe (Data.Vector.Vector Data.Int.Int32),
exclude_monitors :: GHC.Base.Maybe (Data.Vector.Vector Data.Int.Int32)
}
data instance Result "getOpcuaNodeMonitors" = Result_getOpcuaNodeMonitors
{
monitors_id :: !(Data.Int.Int32),
monitors_organization_id :: !(Data.Int.Int32),
monitors_name :: !(Data.Text.Text),
monitors_type :: !((Pulse.Database.Types.Enum "monitor_type")),
monitors_healthiness :: !((Pulse.Database.Types.Enum "monitor_healthiness")),
monitors_monitor_group :: !(Data.Text.Text),
monitors_threshold_failures :: !(Data.Int.Int32),
monitors_is_active :: !(GHC.Types.Bool),
monitors_is_deleted :: !(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 :: !(Data.Int.Int32),
opcua_node_monitors_id :: !(Data.Int.Int32),
opcua_node_monitors_endpoint_monitor_id :: !(Data.Int.Int32),
opcua_node_monitors_opcua_node_id :: !(Pulse.Database.DBTypes.OpcuaNodeId),
opcua_node_monitors_aggregation :: !((Pulse.Database.Types.Enum "check_aggregation")),
opcua_node_monitors_operation :: !((Pulse.Database.Types.Enum "check_op")),
opcua_node_monitors_operand :: !(Data.Text.Text),
opcua_node_monitors_duration :: !(Data.Time.LocalTime.CalendarDiffTime),
opcua_node_monitors_frequency :: !(Data.Time.LocalTime.CalendarDiffTime),
opcua_node_monitors_incident_message_template :: !(GHC.Base.Maybe Data.Text.Text),
opcua_node_monitors_created_at :: !((Maybe Data.Time.UTCTime)),
opcua_node_monitors_updated_at :: !((Maybe Data.Time.UTCTime)),
monitors_id :: !(Data.Int.Int32),
monitors_organization_id :: !(Data.Int.Int32),
monitors_name :: !(Data.Text.Text),
monitors_type :: !((Pulse.Database.Types.Enum "monitor_type")),
monitors_healthiness :: !((Pulse.Database.Types.Enum "monitor_healthiness")),
monitors_monitor_group :: !(Data.Text.Text),
monitors_threshold_failures :: !(Data.Int.Int32),
monitors_is_active :: !(GHC.Types.Bool),
monitors_is_deleted :: !(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 :: !(Data.Int.Int32),
incidents_id :: !(GHC.Base.Maybe Data.Int.Int64),
incidents_organization_id :: !(GHC.Base.Maybe Data.Int.Int32),
incidents_display_name :: !(GHC.Base.Maybe Data.Text.Text),
incidents_description :: !(GHC.Base.Maybe Data.Text.Text),
incidents_failing_monitor :: !(GHC.Base.Maybe Data.Int.Int32),
incidents_status :: !(GHC.Base.Maybe ((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))
}
instance Database.PostgreSQL.Simple.ToRow.ToRow (Params "getOpcuaNodeMonitors") where
toRow Params_getOpcuaNodeMonitors{..} =
[
Database.PostgreSQL.Simple.ToField.toField monitors_organization_id,
Database.PostgreSQL.Simple.ToField.toField monitor_ids,
Database.PostgreSQL.Simple.ToField.toField monitor_ids,
Database.PostgreSQL.Simple.ToField.toField exclude_monitors,
Database.PostgreSQL.Simple.ToField.toField exclude_monitors
]
instance Database.PostgreSQL.Simple.FromRow.FromRow (Result "getOpcuaNodeMonitors") where
fromRow =
pure Result_getOpcuaNodeMonitors
<*> 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
<*> 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