module Honeycomb.API.Columns where

import Data.Text (Text)
-- import Honeycomb.Types

data ColumnType 
  = StringType
  | FloatType
  | IntegerType
  | BooleanType

newtype ColumnId = ColumnId Text

data ExistingColumn = ExistingColumn
  { ExistingColumn -> ColumnId
columnId :: ColumnId
  , ExistingColumn -> Column
columnData :: Column
  }

data Column = Column
  { Column -> Text
keyName :: Text 
  , Column -> Bool
hidden :: Bool
  , Column -> Maybe Text
description :: Maybe Text
  , Column -> Maybe ColumnType
columnType :: Maybe ColumnType
  }

{-
createColumn :: DatasetName -> Column -> ExistingColumn
updateColumn :: DatasetName -> Column -> ExistingColumn
deleteColumn :: DatasetName -> ColumnId -> ExistingColumn
getColumn :: DatasetName -> ColumnId -> Maybe ExistingColumn
getColumnByKeyName :: DatasetName -> Text -> Maybe ExistingColumn
listAllColumns :: DatasetName -> [ExistingColumn]
-}