Back to godoc.org

Package model

v0.13.0
Latest Go to latest

The latest major version is .

Published: 4 days ago | License: MIT | Module: github.com/99designs/gqlgen

Index

func MarshalID

func MarshalID(id external.ObjectID) graphql.Marshaler

Lets redefine the base ID type to use an id from an external library

func MarshalPreferences

func MarshalPreferences(p *Prefs) graphql.Marshaler

func MarshalTimestamp

func MarshalTimestamp(t time.Time) graphql.Marshaler

if the type referenced in .gqlgen.yml is a function that returns a marshaller we can use it to encode and decode onto any existing go type.

func UnmarshalID

func UnmarshalID(v interface{}) (external.ObjectID, error)

And the same for the unmarshaler

func UnmarshalTimestamp

func UnmarshalTimestamp(v interface{}) (time.Time, error)

Unmarshal{Typename} is only required if the scalar appears as an input. The raw values have already been decoded from json into int/float64/bool/nil/map[string]interface/[]interface

type Address

type Address struct {
	ID       external.ObjectID `json:"id"`
	Location *Point            `json:"location"`
}

type Banned

type Banned bool

func (Banned) MarshalGQL

func (b Banned) MarshalGQL(w io.Writer)

func (*Banned) UnmarshalGQL

func (b *Banned) UnmarshalGQL(v interface{}) error

type Point

type Point struct {
	X int
	Y int
}

Point is serialized as a simple array, eg [1, 2]

func (Point) MarshalGQL

func (p Point) MarshalGQL(w io.Writer)

MarshalGQL implements the graphql.Marshaler interface

func (*Point) UnmarshalGQL

func (p *Point) UnmarshalGQL(v interface{}) error

type Prefs

type Prefs struct {
	DarkMode bool
}

func UnmarshalPreferences

func UnmarshalPreferences(v interface{}) (*Prefs, error)

type SearchArgs

type SearchArgs struct {
	Location     *Point
	CreatedAfter *time.Time
	IsBanned     Banned
}

type Tier

type Tier uint

A custom enum that uses integers to represent the values in memory but serialize as string for graphql

const (
	TierA Tier = iota
	TierB Tier = iota
	TierC Tier = iota
)

func TierForStr

func TierForStr(str string) (Tier, error)

func (Tier) IsValid

func (e Tier) IsValid() bool

func (Tier) MarshalGQL

func (e Tier) MarshalGQL(w io.Writer)

func (Tier) String

func (e Tier) String() string

func (*Tier) UnmarshalGQL

func (e *Tier) UnmarshalGQL(v interface{}) error

type User

type User struct {
	ID       external.ObjectID
	Name     string
	Created  time.Time  // direct binding to builtin types with external Marshal/Unmarshal methods
	Modified *time.Time // direct binding to builtin types with external Marshal/Unmarshal methods
	ValPrefs Prefs      // external un/marshal that act on pointers
	PtrPrefs *Prefs
	IsBanned Banned
	Address  Address
	Tier     Tier
}

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier