packages feed

sqlc-hs-0.3.0.0: test/golden/hasql-features/Queries/Types.hs

{- This file was auto-generated by sqlc-hs. -}
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
module Queries.Types where

import qualified Hasql.Decoders
import qualified Hasql.Encoders
import Queries.Internal
import Prelude hiding (Enum)
import qualified Prelude

data instance Enum "organization_role"
  = Enum_organization_role_owner
  | Enum_organization_role_admin
  | Enum_organization_role_member
  deriving stock (Eq, Ord, Show, Bounded, Prelude.Enum)

instance ToField (Enum "organization_role") where
  toField =
    Hasql.Encoders.enum Prelude.Nothing "organization_role" $ \x ->
      case x of
        Enum_organization_role_owner -> "owner"
        Enum_organization_role_admin -> "admin"
        Enum_organization_role_member -> "member"

instance FromField (Enum "organization_role") where
  fromField =
    Hasql.Decoders.enum Prelude.Nothing "organization_role" $ \x ->
      case x of
        "owner" -> Prelude.Just Enum_organization_role_owner
        "admin" -> Prelude.Just Enum_organization_role_admin
        "member" -> Prelude.Just Enum_organization_role_member
        _ -> Prelude.Nothing