builder

package
v0.44.0 Latest Latest
Warning

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

Go to latest
Published: Nov 24, 2024 License: Apache-2.0 Imports: 8 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrDuplicateField = fmt.Errorf("duplicate field (https://github.com/steebchen/prisma-client-go/issues/1095)")
View Source
var (
	MethodFormatMaping = map[MethodFormat]string{
		FindRaw:      "find%sRaw",
		AggregateRaw: "aggregate%sRaw",
	}
)

Functions

func Value

func Value(value interface{}) []byte

Types

type Field

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

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

	// WrapList saves whether the field should be wrapped in an individual 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
}

func TransformEquals

func TransformEquals(fields []Field) []Field

type Input

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

type MethodFormat added in v0.44.0

type MethodFormat string
const (
	FindRaw      MethodFormat = "findRaw"
	AggregateRaw MethodFormat = "aggregateRaw"
)

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 {
	// Engine holds the implementation of how queries are processed
	Engine engine.Engine

	// 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

	// Start time of the request for tracing
	Start time.Time

	TxResult chan []byte
}

func NewQuery

func NewQuery() Query

func (Query) Build

func (q Query) Build() (string, error)

func (Query) BuildInner

func (q Query) BuildInner() (string, error)

func (Query) Do

func (q Query) Do(ctx context.Context, payload interface{}, into interface{}) error

func (Query) Exec

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

Jump to

Keyboard shortcuts

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