graph

package
v0.0.0-...-0406d23 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2023 License: MIT Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnknownType  = errors.New("unknown type")
	ErrTypeNotFound = errors.New("type not found")
)

Functions

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

Types

type CardResolver

type CardResolver interface {
	ID(ctx context.Context, obj *model.Card) (string, error)

	Billing(ctx context.Context, obj *model.Card) (map[string]interface{}, error)
	Metadata(ctx context.Context, obj *model.Card) (map[string]interface{}, error)

	Created(ctx context.Context, obj *model.Card) (string, error)
	Updated(ctx context.Context, obj *model.Card) (string, error)
	UID(ctx context.Context, obj *model.Card) (string, error)
	Wallet(ctx context.Context, obj *model.Card) (*model.Wallet, error)
}

type ComplexityRoot

type ComplexityRoot struct {
	Address struct {
		City    func(childComplexity int) int
		Country func(childComplexity int) int
		State   func(childComplexity int) int
		Street  func(childComplexity int) int
		Zip     func(childComplexity int) int
	}

	Card struct {
		Billing     func(childComplexity int) int
		Brand       func(childComplexity int) int
		Country     func(childComplexity int) int
		Created     func(childComplexity int) int
		Cvv         func(childComplexity int) int
		ExpMonth    func(childComplexity int) int
		ExpYear     func(childComplexity int) int
		Fingerprint func(childComplexity int) int
		Funding     func(childComplexity int) int
		ID          func(childComplexity int) int
		Last4       func(childComplexity int) int
		Metadata    func(childComplexity int) int
		Name        func(childComplexity int) int
		Number      func(childComplexity int) int
		Status      func(childComplexity int) int
		UID         func(childComplexity int) int
		Updated     func(childComplexity int) int
		Wallet      func(childComplexity int) int
	}

	Cards struct {
		Count func(childComplexity int) int
		Data  func(childComplexity int) int
	}

	Entity struct {
		FindUserByID func(childComplexity int, id string) int
	}

	Mutation struct {
		CreateCard         func(childComplexity int, input model.NewCardInput) int
		CreateTransaction  func(childComplexity int, input *model.NewTransaction) int
		CreateWallet       func(childComplexity int, input model.NewWallet) int
		DeleteCard         func(childComplexity int, id string) int
		DeleteTransaction  func(childComplexity int, id string) int
		DeleteTransactions func(childComplexity int, ids []string) int
		DeleteWallet       func(childComplexity int, id string) int
		UpdateCard         func(childComplexity int, id string, input model.UpdateCardInput) int
		UpdateTransaction  func(childComplexity int, id string, input *model.UpdateTransaction) int
		UpdateWallet       func(childComplexity int, id string, input model.UpdateWallet) int
	}

	Query struct {
		Card         func(childComplexity int, id string) int
		Cards        func(childComplexity int, stages map[string]interface{}) int
		Transaction  func(childComplexity int, id string) int
		Transactions func(childComplexity int, stages map[string]interface{}) int
		Wallet       func(childComplexity int, id string) int
		Wallets      func(childComplexity int, stages map[string]interface{}) int
		// contains filtered or unexported fields
	}

	Transaction struct {
		Amount      func(childComplexity int) int
		Card        func(childComplexity int) int
		Created     func(childComplexity int) int
		Currency    func(childComplexity int) int
		Date        func(childComplexity int) int
		Description func(childComplexity int) int
		ID          func(childComplexity int) int
		Metadata    func(childComplexity int) int
		Status      func(childComplexity int) int
		Type        func(childComplexity int) int
		UID         func(childComplexity int) int
		Updated     func(childComplexity int) int
		Wallet      func(childComplexity int) int
	}

	Transactions struct {
		Count func(childComplexity int) int
		Data  func(childComplexity int) int
	}

	User struct {
		ID      func(childComplexity int) int
		Wallets func(childComplexity int) int
	}

	Wallet struct {
		Balance      func(childComplexity int) int
		Cards        func(childComplexity int) int
		Created      func(childComplexity int) int
		Currency     func(childComplexity int) int
		ID           func(childComplexity int) int
		Metadata     func(childComplexity int) int
		Status       func(childComplexity int) int
		Transactions func(childComplexity int) int
		UID          func(childComplexity int) int
		Updated      func(childComplexity int) int
	}

	Wallets struct {
		Count func(childComplexity int) int
		Data  func(childComplexity int) int
	}
	// contains filtered or unexported fields
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type DirectiveRoot

type DirectiveRoot struct {
	Api              func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error)
	Auth             func(ctx context.Context, obj interface{}, next graphql.Resolver, roles []string) (res interface{}, err error)
	ComposeDirective func(ctx context.Context, obj interface{}, next graphql.Resolver, name string) (res interface{}, err error)
	HasScope         func(ctx context.Context, obj interface{}, next graphql.Resolver, scope []string) (res interface{}, err error)
	InterfaceObject  func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error)
}

type EntityResolver

type EntityResolver interface {
	FindUserByID(ctx context.Context, id string) (*model.User, error)
}

type MutationResolver

type MutationResolver interface {
	CreateCard(ctx context.Context, input model.NewCardInput) (*model.Card, error)
	UpdateCard(ctx context.Context, id string, input model.UpdateCardInput) (*model.Card, error)
	DeleteCard(ctx context.Context, id string) (*model.Card, error)
	CreateTransaction(ctx context.Context, input *model.NewTransaction) (*model.Transaction, error)
	UpdateTransaction(ctx context.Context, id string, input *model.UpdateTransaction) (*model.Transaction, error)
	DeleteTransaction(ctx context.Context, id string) (map[string]interface{}, error)
	DeleteTransactions(ctx context.Context, ids []string) (map[string]interface{}, error)
	CreateWallet(ctx context.Context, input model.NewWallet) (*model.Wallet, error)
	UpdateWallet(ctx context.Context, id string, input model.UpdateWallet) (*model.Wallet, error)
	DeleteWallet(ctx context.Context, id string) (*model.Wallet, error)
}

type QueryResolver

type QueryResolver interface {
	Card(ctx context.Context, id string) (*model.Card, error)
	Cards(ctx context.Context, stages map[string]interface{}) (*model.Cards, error)
	Transactions(ctx context.Context, stages map[string]interface{}) (*model.Transactions, error)
	Transaction(ctx context.Context, id string) (*model.Transaction, error)
	Wallet(ctx context.Context, id string) (*model.Wallet, error)
	Wallets(ctx context.Context, stages map[string]interface{}) (*model.Wallets, error)
}

type Resolver

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

func NewResolver

func NewResolver(db *mongo.Database, rdb *redis.Client, ts *typesense.Client) *Resolver

func (*Resolver) Card

func (r *Resolver) Card() CardResolver

Card returns CardResolver implementation.

func (*Resolver) Entity

func (r *Resolver) Entity() EntityResolver

Entity returns EntityResolver implementation.

func (*Resolver) Mutation

func (r *Resolver) Mutation() MutationResolver

Mutation returns MutationResolver implementation.

func (*Resolver) Query

func (r *Resolver) Query() QueryResolver

Query returns QueryResolver implementation.

func (*Resolver) Transaction

func (r *Resolver) Transaction() TransactionResolver

Transaction returns TransactionResolver implementation.

func (*Resolver) Wallet

func (r *Resolver) Wallet() WalletResolver

Wallet returns WalletResolver implementation.

type ResolverRoot

type ResolverRoot interface {
	Card() CardResolver
	Entity() EntityResolver
	Mutation() MutationResolver
	Query() QueryResolver
	Transaction() TransactionResolver
	Wallet() WalletResolver
}

type TransactionResolver

type TransactionResolver interface {
	ID(ctx context.Context, obj *model.Transaction) (string, error)

	Metadata(ctx context.Context, obj *model.Transaction) (map[string]interface{}, error)
	Date(ctx context.Context, obj *model.Transaction) (string, error)

	Created(ctx context.Context, obj *model.Transaction) (string, error)
	Updated(ctx context.Context, obj *model.Transaction) (string, error)
	Card(ctx context.Context, obj *model.Transaction) (*model.Card, error)
	UID(ctx context.Context, obj *model.Transaction) (string, error)
	Wallet(ctx context.Context, obj *model.Transaction) (*model.Wallet, error)
}

type WalletResolver

type WalletResolver interface {
	ID(ctx context.Context, obj *model.Wallet) (string, error)
	UID(ctx context.Context, obj *model.Wallet) (string, error)

	Metadata(ctx context.Context, obj *model.Wallet) (map[string]interface{}, error)

	Created(ctx context.Context, obj *model.Wallet) (string, error)
	Updated(ctx context.Context, obj *model.Wallet) (string, error)
	Cards(ctx context.Context, obj *model.Wallet) ([]*model.Card, error)
	Transactions(ctx context.Context, obj *model.Wallet) ([]*model.Transaction, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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