sqlc-hs-0.2.0.0: test/golden/out/Pulse/Database/UpdateEscalationPolicy.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.UpdateEscalationPolicy 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 GHC.Base
import qualified GHC.Types
import qualified Data.Time
import qualified Data.Foldable
query_updateEscalationPolicy :: Query "updateEscalationPolicy" ":one"
query_updateEscalationPolicy = Query "UPDATE escalation_policies\nSET\n name = COALESCE(?::TEXT, escalation_policies.name),\n description = COALESCE(?::TEXT, escalation_policies.description),\n is_default = COALESCE(?::BOOLEAN, escalation_policies.is_default),\n updated_at = NOW()\nWHERE id = ? AND NOT is_deleted\nRETURNING id, organization_id, name, description, is_default, is_deleted, created_at, updated_at"
data instance Params "updateEscalationPolicy" = Params_updateEscalationPolicy
{
escalation_policies_id :: Data.Int.Int32,
name :: GHC.Base.Maybe Data.Text.Text,
description :: GHC.Base.Maybe Data.Text.Text,
is_default :: GHC.Base.Maybe GHC.Types.Bool
}
data instance Result "updateEscalationPolicy" = Result_updateEscalationPolicy
{
escalation_policies_id :: !(Data.Int.Int32),
escalation_policies_organization_id :: !(Data.Int.Int32),
escalation_policies_name :: !(Data.Text.Text),
escalation_policies_description :: !(GHC.Base.Maybe Data.Text.Text),
escalation_policies_is_default :: !(GHC.Types.Bool),
escalation_policies_is_deleted :: !(GHC.Types.Bool),
escalation_policies_created_at :: !((Maybe Data.Time.UTCTime)),
escalation_policies_updated_at :: !((Maybe Data.Time.UTCTime))
}
instance Database.PostgreSQL.Simple.ToRow.ToRow (Params "updateEscalationPolicy") where
toRow Params_updateEscalationPolicy{..} =
[
Database.PostgreSQL.Simple.ToField.toField name,
Database.PostgreSQL.Simple.ToField.toField description,
Database.PostgreSQL.Simple.ToField.toField is_default,
Database.PostgreSQL.Simple.ToField.toField escalation_policies_id
]
instance Database.PostgreSQL.Simple.FromRow.FromRow (Result "updateEscalationPolicy") where
fromRow =
pure Result_updateEscalationPolicy
<*> 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