packages feed

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

query_insertLogin :: Query "insertLogin" ":one"
query_insertLogin = Query "INSERT INTO logins (\n    display_name, login_email, password_bcrypt, timezone, is_deleted\n) VALUES (?, ?, ?, ?, false) RETURNING id"

data instance Params "insertLogin" = Params_insertLogin
  {
    logins_display_name :: GHC.Base.Maybe Data.Text.Text,
    logins_login_email :: Data.Text.Text,
    logins_password_bcrypt :: Data.Text.Text,
    logins_timezone :: Pulse.Database.DBTypes.Timezone
  }

data instance Result "insertLogin" = Result_insertLogin
  {
    logins_id :: !(Data.Int.Int32)
  }

instance Database.PostgreSQL.Simple.ToRow.ToRow (Params "insertLogin") where
  toRow Params_insertLogin{..} =
    [ 
      Database.PostgreSQL.Simple.ToField.toField logins_display_name, 

      Database.PostgreSQL.Simple.ToField.toField logins_login_email, 

      Database.PostgreSQL.Simple.ToField.toField logins_password_bcrypt, 

      Database.PostgreSQL.Simple.ToField.toField logins_timezone
    ]

instance Database.PostgreSQL.Simple.FromRow.FromRow (Result "insertLogin") where
  fromRow =
    pure Result_insertLogin
      <*> Database.PostgreSQL.Simple.FromRow.field