Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data ContentType
- data ApiRequestError
- data DbStructure = DbStructure {
- dbTables :: [Table]
- dbColumns :: [Column]
- dbRelations :: [Relation]
- dbPrimaryKeys :: [PrimaryKey]
- dbProcs :: HashMap Text ProcDescription
- pgVersion :: PgVersion
- data PgArg = PgArg {}
- data PgType
- data RetType
- data ProcVolatility
- data ProcDescription = ProcDescription {
- pdName :: Text
- pdDescription :: Maybe Text
- pdArgs :: [PgArg]
- pdReturnType :: RetType
- pdVolatility :: ProcVolatility
- type Schema = Text
- type TableName = Text
- type SqlQuery = Text
- type SqlFragment = Text
- type RequestBody = ByteString
- data Table = Table {}
- newtype ForeignKey = ForeignKey {}
- data Column = Column {
- colTable :: Table
- colName :: Text
- colDescription :: Maybe Text
- colPosition :: Int32
- colNullable :: Bool
- colType :: Text
- colUpdatable :: Bool
- colMaxLen :: Maybe Int32
- colPrecision :: Maybe Int32
- colDefault :: Maybe Text
- colEnum :: [Text]
- colFK :: Maybe ForeignKey
- type Synonym = (Column, Column)
- data PrimaryKey = PrimaryKey {}
- data OrderDirection
- data OrderNulls
- data OrderTerm = OrderTerm {}
- data QualifiedIdentifier = QualifiedIdentifier {}
- data RelationType
- data Relation = Relation {}
- newtype PayloadJSON = PayloadJSON (Vector Object)
- unPayloadJSON :: PayloadJSON -> Vector Object
- data Proxy = Proxy {}
- type Operator = Text
- operators :: HashMap Operator SqlFragment
- ftsOperators :: HashMap Operator SqlFragment
- data OpExpr = OpExpr Bool Operation
- data Operation
- type Language = Text
- type SingleVal = Text
- type ListVal = [Text]
- data LogicOperator
- data LogicTree
- type FieldName = Text
- type JsonPath = [Text]
- type Field = (FieldName, Maybe JsonPath)
- type Alias = Text
- type Cast = Text
- type NodeName = Text
- type RpcQParam = (Text, Text)
- newtype GucHeader = GucHeader (Text, Text)
- toHeaders :: [GucHeader] -> [Header]
- type RelationDetail = Text
- type SelectItem = (Field, Maybe Cast, Maybe Alias, Maybe RelationDetail)
- type EmbedPath = [Text]
- data Filter = Filter {}
- data ReadQuery = Select {}
- data MutateQuery
- type ReadNode = (ReadQuery, (NodeName, Maybe Relation, Maybe Alias, Maybe RelationDetail))
- type ReadRequest = Tree ReadNode
- type MutateRequest = MutateQuery
- data DbRequest
- toHeader :: ContentType -> Header
- toMime :: ContentType -> ByteString
- data PgVersion = PgVersion {}
- sourceCTEName :: SqlFragment
Documentation
data ContentType Source #
Enumeration of currently supported response content types
data ApiRequestError Source #
data DbStructure Source #
DbStructure | |
|
data ProcVolatility Source #
data ProcDescription Source #
ProcDescription | |
|
type SqlFragment = Text Source #
type RequestBody = ByteString Source #
Table | |
|
newtype ForeignKey Source #
Column | |
|
data PrimaryKey Source #
data OrderDirection Source #
data OrderNulls Source #
data QualifiedIdentifier Source #
data RelationType Source #
The name Relation
here is used with the meaning
"What is the relation between the current node and the parent node".
It has nothing to do with PostgreSQL referring to tables/views as relations.
newtype PayloadJSON Source #
An array of JSON objects that has been verified to have the same keys in every object
unPayloadJSON :: PayloadJSON -> Vector Object Source #
Boolean logic expression tree e.g. "and(name.eq.N,or(id.eq.1,id.eq.2))" is:
And / name.eq.N Or / id.eq.1 id.eq.2
Custom guc header, it's obtained by parsing the json in a: `SET LOCAL "response.headers" = '[{Set-Cookie: ".."}]'
type RelationDetail = Text Source #
This type will hold information about which particular Relation
between two tables to choose when there are multiple ones.
Specifically, it will contain the name of the foreign key or the join table in many to many relations.
type SelectItem = (Field, Maybe Cast, Maybe Alias, Maybe RelationDetail) Source #
type EmbedPath = [Text] Source #
Path of the embedded levels, e.g "clients.projects.name=eq.." gives Path ["clients", "projects"]
type ReadRequest = Tree ReadNode Source #
type MutateRequest = MutateQuery Source #
toHeader :: ContentType -> Header Source #
Convert from ContentType to a full HTTP Header
toMime :: ContentType -> ByteString Source #
Convert from ContentType to a ByteString representing the mime type