packages feed

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

query_getOpcuaAttributeValuesForTimeRange :: Query "getOpcuaAttributeValuesForTimeRange" ":many"
query_getOpcuaAttributeValuesForTimeRange = Query "SELECT\n    endpoint_monitor_id,\n    opcua_node_id,\n    attribute_id,\n    value_type,\n    value_integral,\n    value_float,\n    value_bool,\n    value_string,\n    value_status_code,\n    value,\n    created_at\nFROM opcua_attribute_values\nWHERE\n    endpoint_monitor_id = ?\n    AND opcua_node_id = ?::OPCUA_NODE_ID\n    AND attribute_id = ?::OPCUA_ATTRIBUTE_ID\n    AND created_at >= ?\n    AND created_at <= ?\nORDER BY created_at DESC"

data instance Params "getOpcuaAttributeValuesForTimeRange" = Params_getOpcuaAttributeValuesForTimeRange
  {
    opcua_attribute_values_endpoint_monitor_id :: Data.Int.Int32,
    opcua_node_id :: Pulse.Database.DBTypes.OpcuaNodeId,
    attribute_id :: Pulse.Database.DBTypes.OpcuaAttributeId,
    opcua_attribute_values_start_time :: (Maybe Data.Time.UTCTime),
    opcua_attribute_values_end_time :: (Maybe Data.Time.UTCTime)
  }

data instance Result "getOpcuaAttributeValuesForTimeRange" = Result_getOpcuaAttributeValuesForTimeRange
  {
    opcua_attribute_values_endpoint_monitor_id :: !(Data.Int.Int32),
    opcua_attribute_values_opcua_node_id :: !(Pulse.Database.DBTypes.OpcuaNodeId),
    opcua_attribute_values_attribute_id :: !(Pulse.Database.DBTypes.OpcuaAttributeId),
    opcua_attribute_values_value_type :: !(Pulse.Database.DBTypes.OpcuaDataValueType),
    opcua_attribute_values_value_integral :: !(GHC.Base.Maybe Data.Int.Int64),
    opcua_attribute_values_value_float :: !(GHC.Base.Maybe GHC.Types.Double),
    opcua_attribute_values_value_bool :: !(GHC.Base.Maybe GHC.Types.Bool),
    opcua_attribute_values_value_string :: !(GHC.Base.Maybe Data.Text.Text),
    opcua_attribute_values_value_status_code :: !(GHC.Base.Maybe Data.Int.Int32),
    opcua_attribute_values_value :: !(Pulse.Database.DBTypes.OpcuaDataValue),
    opcua_attribute_values_created_at :: !((Maybe Data.Time.UTCTime))
  }

instance Database.PostgreSQL.Simple.ToRow.ToRow (Params "getOpcuaAttributeValuesForTimeRange") where
  toRow Params_getOpcuaAttributeValuesForTimeRange{..} =
    [ 
      Database.PostgreSQL.Simple.ToField.toField opcua_attribute_values_endpoint_monitor_id, 

      Database.PostgreSQL.Simple.ToField.toField opcua_node_id, 

      Database.PostgreSQL.Simple.ToField.toField attribute_id, 

      Database.PostgreSQL.Simple.ToField.toField opcua_attribute_values_start_time, 

      Database.PostgreSQL.Simple.ToField.toField opcua_attribute_values_end_time
    ]

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