graph

package
v0.0.0-...-26e95de Latest Latest
Warning

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

Go to latest
Published: Apr 21, 2024 License: MIT Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

Types

type ComplexityRoot

type ComplexityRoot struct {
	Credential struct {
		CreatedAt   func(childComplexity int) int
		Description func(childComplexity int) int
		ID          func(childComplexity int) int
		LastLogin   func(childComplexity int) int
		UpdatedAt   func(childComplexity int) int
	}

	Mutation struct {
		AddCredential    func(childComplexity int, body string) int
		BeginLogin       func(childComplexity int) int
		CreateUser       func(childComplexity int, name string) int
		InitCredential   func(childComplexity int) int
		RemoveCredential func(childComplexity int, id string) int
		RemoveSession    func(childComplexity int, id string) int
		UpdateCredential func(childComplexity int, id string, description *string) int
		UpdateMe         func(childComplexity int, name *string, displayName *string) int
		ValidateLogin    func(childComplexity int, body string) int
	}

	PubKeyCredParam struct {
		Alg  func(childComplexity int) int
		Type func(childComplexity int) int
	}

	Query struct {
		Credentials func(childComplexity int) int
		Me          func(childComplexity int) int
		Sessions    func(childComplexity int) int
	}

	RelyingParty struct {
		ID   func(childComplexity int) int
		Name func(childComplexity int) int
	}

	Session struct {
		CreatedAt func(childComplexity int) int
		ID        func(childComplexity int) int
		IsActive  func(childComplexity int) int
		IsCurrent func(childComplexity int) int
		UpdatedAt func(childComplexity int) int
	}

	SuccessfulLogin struct {
		RedirectURL func(childComplexity int) int
	}

	User struct {
		DisplayName func(childComplexity int) int
		Name        func(childComplexity int) int
	}
}

type Config

type Config struct {
	Schema     *ast.Schema
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type CredentialResolver

type CredentialResolver interface {
	ID(ctx context.Context, obj *model.Credential) (string, error)
}

type DirectiveRoot

type DirectiveRoot struct {
}

type MutationResolver

type MutationResolver interface {
	CreateUser(ctx context.Context, name string) (*protocol.CredentialCreation, error)
	UpdateMe(ctx context.Context, name *string, displayName *string) (*model.User, error)
	InitCredential(ctx context.Context) (*protocol.CredentialCreation, error)
	AddCredential(ctx context.Context, body string) (bool, error)
	UpdateCredential(ctx context.Context, id string, description *string) (*model.Credential, error)
	RemoveCredential(ctx context.Context, id string) (bool, error)
	BeginLogin(ctx context.Context) (*protocol.CredentialAssertion, error)
	ValidateLogin(ctx context.Context, body string) (*model1.SuccessfulLogin, error)
	RemoveSession(ctx context.Context, id string) (bool, error)
}

type QueryResolver

type QueryResolver interface {
	Me(ctx context.Context) (*model.User, error)
	Credentials(ctx context.Context) ([]*model.Credential, error)
	Sessions(ctx context.Context) ([]*model.Session, error)
}

type Resolver

type Resolver struct {
	DB                      *gorm.DB
	WebAuthn                *webauthn.WebAuthn
	UserRegistrationEnabled bool
}

func (*Resolver) Credential

func (r *Resolver) Credential() CredentialResolver

Credential returns CredentialResolver 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) Session

func (r *Resolver) Session() SessionResolver

Session returns SessionResolver implementation.

type ResolverRoot

type ResolverRoot interface {
	Credential() CredentialResolver
	Mutation() MutationResolver
	Query() QueryResolver
	Session() SessionResolver
}

type SessionResolver

type SessionResolver interface {
	ID(ctx context.Context, obj *model.Session) (string, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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