builder

package
v0.0.0-...-01ef8d7 Latest Latest
Warning

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

Go to latest
Published: Jan 17, 2020 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client interface {
	Do(ctx context.Context, query string, into interface{}) error
}

type Field

type Field struct {
	// The Name of the field.
	Name string

	// an Action for input fields, e.g. `contains`
	Action string

	// List saves whether the fields is a list of items
	List bool

	// WrapList saves whether the a list field should be wrapped in an object
	WrapList bool

	// Value contains the field value. if nil, fields will contain a subselection.
	Value interface{}

	// Fields contains a subselection of fields. If not nil, value will be undefined.
	Fields []Field
}

type Input

type Input struct {
	Name   string
	Fields []Field
	Value  interface{}
}

type Output

type Output struct {
	Name string

	// Inputs (optional) to provide arguments to a field
	Inputs []Input

	Outputs []Output
}

Output can be a single Name or can have nested fields

type Query

type Query struct {
	// Client is the generic Photon Client
	Client Client

	// Operation describes the PQL operation: query, mutation or subscription
	Operation string

	// Name describes the operation; useful for tracing
	Name string

	// Method describes a crud operation
	Method string

	// Model contains the Prisma model Name
	Model string

	// Inputs contains function arguments
	Inputs []Input

	// Outputs contains the return fields
	Outputs []Output
}

func (Query) Build

func (q Query) Build() string

func (Query) Exec

func (q Query) Exec(ctx context.Context, v interface{}) error

Jump to

Keyboard shortcuts

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