packages feed

sqlc-hs-0.2.0.0: test/golden/out/Pulse/Database/CreateOpcuaEndpointIncident.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.CreateOpcuaEndpointIncident 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.Text
import qualified Pulse.Database.DBTypes
import qualified Data.Vector
import qualified Data.Foldable

query_createOpcuaEndpointIncident :: Query "createOpcuaEndpointIncident" ":exec"
query_createOpcuaEndpointIncident = Query "WITH opcua_endpoint_incidents AS (\n  INSERT INTO\n  opcua_endpoint_incidents (id, description_template, opcua_attribute_values)\n  VALUES (?, ?, ?)\n  ON CONFLICT (id) DO NOTHING\n  RETURNING id, description_template, opcua_attribute_values, created_at, updated_at\n),\nmonitor_failed_event AS (\n  INSERT INTO\n    incident_events (incident_id, type, failing_monitor)\n  SELECT\n    opcua_endpoint_incidents.id, 'monitor_failed', incidents.failing_monitor\n  FROM\n    opcua_endpoint_incidents JOIN incidents ON opcua_endpoint_incidents.id = incidents.id\n)\nINSERT INTO\n  incident_events (incident_id, type)\nSELECT\n  opcua_endpoint_incidents.id, 'incident_started'\nFROM\n  opcua_endpoint_incidents JOIN incidents ON opcua_endpoint_incidents.id = incidents.id"

data instance Params "createOpcuaEndpointIncident" = Params_createOpcuaEndpointIncident
  {
    opcua_endpoint_incidents_id :: Data.Int.Int64,
    opcua_endpoint_incidents_description_template :: Data.Text.Text,
    opcua_endpoint_incidents_opcua_attribute_values :: Data.Vector.Vector Pulse.Database.DBTypes.OpcuaAttributeValue
  }

data instance Result "createOpcuaEndpointIncident" = Result_createOpcuaEndpointIncident
  {
  }

instance Database.PostgreSQL.Simple.ToRow.ToRow (Params "createOpcuaEndpointIncident") where
  toRow Params_createOpcuaEndpointIncident{..} =
    [ 
      Database.PostgreSQL.Simple.ToField.toField opcua_endpoint_incidents_id, 

      Database.PostgreSQL.Simple.ToField.toField opcua_endpoint_incidents_description_template, 

      Database.PostgreSQL.Simple.ToField.toField opcua_endpoint_incidents_opcua_attribute_values
    ]

instance Database.PostgreSQL.Simple.FromRow.FromRow (Result "createOpcuaEndpointIncident") where
  fromRow =
    pure Result_createOpcuaEndpointIncident