servant-db-0.2.0.1: src/Servant/API/DB/Procedure.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE KindSignatures #-}
{-|
Module : Servant.API.DB.Procedure
Description : Endpoint for DB stored function
Portability : Portable
-}
module Servant.API.DB.Procedure(
Procedure
) where
import Data.Typeable
import GHC.Generics
import GHC.TypeLits
-- | Endpoint for SQL procedure.
--
-- Example, stored function that returns current time in seconds:
--
-- >>> type SelectTime = Procedure "time" Integer
--
-- Example, stored function that squares given 'Int':
--
-- >>> type SquareProcedure = Arg "a" Int :> Procedure "square" Int
data Procedure (name :: Symbol) a
deriving (Generic, Typeable)