hasb

package
v0.2.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 19, 2019 License: Apache-2.0 Imports: 9 Imported by: 0

README

Introduction

These functions generate hasura requests, in the format of a graphqlc object.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeleteRow

func DeleteRow(tableName string, rowId interface{}) *graphqlc.Request

func GetRow

func GetRow(tableName string, rowId interface{}, columns []string) *graphqlc.Request

func InsertRow added in v0.2.6

func InsertRow(tableName string, columns map[string]interface{}) *graphqlc.Request

func InsertRowRet added in v0.2.6

func InsertRowRet(tableName string, columns map[string]interface{}, returning []string) *graphqlc.Request

func UpdateRow

func UpdateRow(tableName string, rowId interface{}, set map[string]interface{}) *graphqlc.Request

Types

type DeleteQuery added in v0.2.6

type DeleteQuery struct {
	TableName    string
	Where        *ExpressionTree
	Returning    []string
	AffectedRows bool
}

func (*DeleteQuery) String added in v0.2.6

func (dq *DeleteQuery) String() string

type EventDetails

type EventDetails struct {
	SessionAttributes map[string]interface{} `json:"session_variables"`
	Op                string                 `json:"op"`
	RowChange         RowChange              `json:"data"`
}

type EventPayload

type EventPayload struct {
	Event     EventDetails  `json:"event"`
	CreatedAt time.Time     `json:"created_at"`
	Id        uuid.UUID     `json:"id"`
	Table     TableMetadata `json:"table"`
}

func GetEventPayload

func GetEventPayload(r *http.Request) (*EventPayload, error)

type EventTrigger

type EventTrigger struct {
	Name string `json:"name"`
}

type ExpressionTree

type ExpressionTree struct {
	Left  *ExpressionTree
	Right *ExpressionTree
	Val   string
	In    string
}

func (*ExpressionTree) String

func (ct *ExpressionTree) String() string

type ExpressionTreeBuilder

type ExpressionTreeBuilder struct {
	// contains filtered or unexported fields
}

func NewExpTreeB

func NewExpTreeB() *ExpressionTreeBuilder

func (*ExpressionTreeBuilder) LRVal

func (*ExpressionTreeBuilder) Left

func (*ExpressionTreeBuilder) Result

func (ct *ExpressionTreeBuilder) Result() *ExpressionTree

func (*ExpressionTreeBuilder) Right

func (*ExpressionTreeBuilder) Up

func (*ExpressionTreeBuilder) Val

type GetQuery added in v0.2.6

type GetQuery struct {
	// contains filtered or unexported fields
}

func (*GetQuery) AddTables added in v0.2.6

func (gq *GetQuery) AddTables(gqt ...GetQueryTable)

func (*GetQuery) String added in v0.2.6

func (gq *GetQuery) String() string

type GetQueryTable added in v0.2.6

type GetQueryTable struct {
	Name    string
	Where   *ExpressionTree
	Objects []string
}

func (*GetQueryTable) String added in v0.2.6

func (gtq *GetQueryTable) String() string

type InsertQuery added in v0.2.6

type InsertQuery struct {
	TableName    string
	Objects      map[string]string
	Returning    []string
	AffectedRows bool
}

func (*InsertQuery) String added in v0.2.6

func (iq *InsertQuery) String() string

type MInnerResp added in v0.2.6

type MInnerResp struct {
	AffectedRows int                      `json:"affected_rows"`
	Returning    []map[string]interface{} `json:"returning"`
}

type MResp added in v0.2.6

type MResp map[string]MInnerResp

type MutationQuery added in v0.2.6

type MutationQuery struct {
	UpdateQueries []UpdateQuery
	InsertQueries []InsertQuery
	DeleteQueries []DeleteQuery
}

func (*MutationQuery) String added in v0.2.6

func (mq *MutationQuery) String() string

type QResp added in v0.2.6

type QResp map[string][]map[string]interface{}

type Query added in v0.2.6

type Query struct {
	Vars map[string]interface{}

	MutationQueries []MutationQuery
	// contains filtered or unexported fields
}

func (*Query) AddGetQueries added in v0.2.6

func (q *Query) AddGetQueries(gq ...GetQuery)

func (*Query) AddMutationQueries added in v0.2.6

func (q *Query) AddMutationQueries(mq ...MutationQuery)

func (*Query) Request added in v0.2.6

func (q *Query) Request() *graphqlc.Request

func (*Query) String added in v0.2.6

func (q *Query) String() string

type RowChange

type RowChange struct {
	OldRow map[string]interface{} `json:"old"`
	NewRow map[string]interface{} `json:"new"`
}

type TableMetadata

type TableMetadata struct {
	Schema string `json:"schema"`
	Name   string `json:"name"`
}

type UpdateQuery added in v0.2.6

type UpdateQuery struct {
	TableName    string
	Where        *ExpressionTree
	Set          map[string]string
	Returning    []string
	AffectedRows bool
}

func (*UpdateQuery) String added in v0.2.6

func (uq *UpdateQuery) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL