packages feed

sqlc-hs-0.2.0.0: test/golden/out/Pulse/Database/InsertEscalationStep.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.InsertEscalationStep 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.LocalTime
import qualified GHC.Types
import qualified Data.Text
import qualified GHC.Base
import qualified Data.Time
import qualified Data.Foldable

query_insertEscalationStep :: Query "insertEscalationStep" ":one"
query_insertEscalationStep = Query "INSERT INTO escalation_steps (\n    escalation_policy_id, step_order, delay_interval,\n    notify_by_email, notify_by_push, notify_by_critical_alert, message_template\n) VALUES (?, ?, ?, ?, ?, ?, ?) RETURNING id, escalation_policy_id, step_order, delay_interval, notify_by_email, notify_by_push, notify_by_critical_alert, message_template, created_at, updated_at"

data instance Params "insertEscalationStep" = Params_insertEscalationStep
  {
    escalation_steps_escalation_policy_id :: Data.Int.Int32,
    escalation_steps_step_order :: Data.Int.Int32,
    escalation_steps_delay_interval :: Data.Time.LocalTime.CalendarDiffTime,
    escalation_steps_notify_by_email :: GHC.Types.Bool,
    escalation_steps_notify_by_push :: GHC.Types.Bool,
    escalation_steps_notify_by_critical_alert :: GHC.Types.Bool,
    escalation_steps_message_template :: GHC.Base.Maybe Data.Text.Text
  }

data instance Result "insertEscalationStep" = Result_insertEscalationStep
  {
    escalation_steps_id :: !(Data.Int.Int32),
    escalation_steps_escalation_policy_id :: !(Data.Int.Int32),
    escalation_steps_step_order :: !(Data.Int.Int32),
    escalation_steps_delay_interval :: !(Data.Time.LocalTime.CalendarDiffTime),
    escalation_steps_notify_by_email :: !(GHC.Types.Bool),
    escalation_steps_notify_by_push :: !(GHC.Types.Bool),
    escalation_steps_notify_by_critical_alert :: !(GHC.Types.Bool),
    escalation_steps_message_template :: !(GHC.Base.Maybe Data.Text.Text),
    escalation_steps_created_at :: !((Maybe Data.Time.UTCTime)),
    escalation_steps_updated_at :: !((Maybe Data.Time.UTCTime))
  }

instance Database.PostgreSQL.Simple.ToRow.ToRow (Params "insertEscalationStep") where
  toRow Params_insertEscalationStep{..} =
    [ 
      Database.PostgreSQL.Simple.ToField.toField escalation_steps_escalation_policy_id, 

      Database.PostgreSQL.Simple.ToField.toField escalation_steps_step_order, 

      Database.PostgreSQL.Simple.ToField.toField escalation_steps_delay_interval, 

      Database.PostgreSQL.Simple.ToField.toField escalation_steps_notify_by_email, 

      Database.PostgreSQL.Simple.ToField.toField escalation_steps_notify_by_push, 

      Database.PostgreSQL.Simple.ToField.toField escalation_steps_notify_by_critical_alert, 

      Database.PostgreSQL.Simple.ToField.toField escalation_steps_message_template
    ]

instance Database.PostgreSQL.Simple.FromRow.FromRow (Result "insertEscalationStep") where
  fromRow =
    pure Result_insertEscalationStep
      <*> 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