hamsql-0.7.0.0: src/Database/YamSql/Internal/Type.hs
-- This file is part of HamSql
--
-- Copyright 2014-2016 by it's authors.
-- Some rights reserved. See COPYING, AUTHORS.
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
module Database.YamSql.Internal.Type where
import Database.YamSql.Internal.Basic
data Type = Type
{ typeName :: SqlName
, typeDescription :: Text
, typeElements :: [TypeElement]
} deriving (Generic, Show, Data)
instance FromJSON Type where
parseJSON = parseYamSql
instance ToJSON Type where
toJSON = toYamSqlJson
data TypeElement = TypeElement
{ typeelementName :: SqlName
, typeelementType :: SqlType
} deriving (Generic, Show, Data)
instance FromJSON TypeElement where
parseJSON = parseYamSql
instance ToJSON TypeElement where
toJSON = toYamSqlJson
instance ToSqlIdPart Type where
sqlIdPart = typeName
sqlIdPartType = const "TYPE"