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: 25 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 ActivityResolver

type ActivityResolver interface {
	ID(ctx context.Context, obj *model.Activity) (string, error)
	UID(ctx context.Context, obj *model.Activity) (string, error)
	Object(ctx context.Context, obj *model.Activity) (map[string]interface{}, error)
	Target(ctx context.Context, obj *model.Activity) (map[string]interface{}, error)

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

type ComplexityRoot

type ComplexityRoot struct {
	Activities struct {
		Count func(childComplexity int) int
		Data  func(childComplexity int) int
	}

	Activity struct {
		Action    func(childComplexity int) int
		ID        func(childComplexity int) int
		Metadata  func(childComplexity int) int
		Object    func(childComplexity int) int
		Target    func(childComplexity int) int
		Timestamp func(childComplexity int) int
		UID       func(childComplexity int) int
	}

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

	Event struct {
		Campaign  func(childComplexity int) int
		ClientIP  func(childComplexity int) int
		Exception func(childComplexity int) int
		ID        func(childComplexity int) int
		Message   func(childComplexity int) int
		Metadata  func(childComplexity int) int
		Recipient func(childComplexity int) int
		Sender    func(childComplexity int) int
		Status    func(childComplexity int) int
		Subject   func(childComplexity int) int
		Timestamp func(childComplexity int) int
		UserAgent func(childComplexity int) int
	}

	Log struct {
		ClientIP  func(childComplexity int) int
		ID        func(childComplexity int) int
		Metadata  func(childComplexity int) int
		Referrer  func(childComplexity int) int
		Status    func(childComplexity int) int
		Timestamp func(childComplexity int) int
		Title     func(childComplexity int) int
		UID       func(childComplexity int) int
		URL       func(childComplexity int) int
		UserAgent func(childComplexity int) int
		Utm       func(childComplexity int) int
	}

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

	Mutation struct {
		CreateLog        func(childComplexity int, input model.NewLog) int
		CreateSearch     func(childComplexity int, input model.SearchInput) int
		DeleteActivities func(childComplexity int, filter map[string]interface{}) int
		DeleteActivity   func(childComplexity int, id string) int
		DeleteLog        func(childComplexity int, id string) int
		DeleteLogs       func(childComplexity int, filter map[string]interface{}) int
		DeleteSearch     func(childComplexity int, id string) int
		DeleteSearches   func(childComplexity int, filter map[string]interface{}) int
		UpdateLog        func(childComplexity int, id string, input model.UpdateLog) int
	}

	Query struct {
		Activities func(childComplexity int, stages map[string]interface{}) int
		Activity   func(childComplexity int, id string) int
		Log        func(childComplexity int, id string) int
		Logs       func(childComplexity int, stages map[string]interface{}) int
		Search     func(childComplexity int, args map[string]interface{}) int
		Searches   func(childComplexity int, stages map[string]interface{}) int
		// contains filtered or unexported fields
	}

	Search struct {
		ClientIP  func(childComplexity int) int
		ID        func(childComplexity int) int
		Keyword   func(childComplexity int) int
		Locale    func(childComplexity int) int
		Metadata  func(childComplexity int) int
		Timestamp func(childComplexity int) int
		UID       func(childComplexity int) int
		UserAgent func(childComplexity int) int
	}

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

	User struct {
		Activities func(childComplexity int) int
		ID         func(childComplexity int) int
		Logs       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 EventResolver

type EventResolver interface {
	ID(ctx context.Context, obj *model.Event) (string, error)
	Campaign(ctx context.Context, obj *model.Event) (string, error)

	Status(ctx context.Context, obj *model.Event) (model.MailStatus, error)
	Timestamp(ctx context.Context, obj *model.Event) (string, error)
	Metadata(ctx context.Context, obj *model.Event) (map[string]interface{}, error)
}

type LogResolver

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

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

	Timestamp(ctx context.Context, obj *model.Log) (string, error)
}

type MutationResolver

type MutationResolver interface {
	DeleteActivity(ctx context.Context, id string) (*bool, error)
	DeleteActivities(ctx context.Context, filter map[string]interface{}) (*bool, error)
	CreateLog(ctx context.Context, input model.NewLog) (*model.Log, error)
	UpdateLog(ctx context.Context, id string, input model.UpdateLog) (*model.Log, error)
	DeleteLog(ctx context.Context, id string) (*bool, error)
	DeleteLogs(ctx context.Context, filter map[string]interface{}) (*bool, error)
	CreateSearch(ctx context.Context, input model.SearchInput) (*model.Search, error)
	DeleteSearch(ctx context.Context, id string) (*bool, error)
	DeleteSearches(ctx context.Context, filter map[string]interface{}) (*bool, error)
}

type QueryResolver

type QueryResolver interface {
	Activity(ctx context.Context, id string) (*model.Activity, error)
	Activities(ctx context.Context, stages map[string]interface{}) (*model.Activities, error)
	Log(ctx context.Context, id string) (*model.Log, error)
	Logs(ctx context.Context, stages map[string]interface{}) (*model.Logs, error)
	Search(ctx context.Context, args map[string]interface{}) (map[string]interface{}, error)
	Searches(ctx context.Context, stages map[string]interface{}) (*model.Searches, 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) Activity

func (r *Resolver) Activity() ActivityResolver

Activity returns ActivityResolver implementation.

func (*Resolver) Entity

func (r *Resolver) Entity() EntityResolver

Entity returns EntityResolver implementation.

func (*Resolver) Event

func (r *Resolver) Event() EventResolver

Event returns EventResolver implementation.

func (*Resolver) Log

func (r *Resolver) Log() LogResolver

Log returns LogResolver 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) Search

func (r *Resolver) Search() SearchResolver

Search returns SearchResolver implementation.

func (*Resolver) User

func (r *Resolver) User() UserResolver

User returns UserResolver implementation.

type ResolverRoot

type ResolverRoot interface {
	Activity() ActivityResolver
	Entity() EntityResolver
	Event() EventResolver
	Log() LogResolver
	Mutation() MutationResolver
	Query() QueryResolver
	Search() SearchResolver
	User() UserResolver
}

type SearchResolver

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

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

type UserResolver

type UserResolver interface {
	Logs(ctx context.Context, obj *model.User) ([]*model.Log, error)
	Activities(ctx context.Context, obj *model.User) ([]*model.Activity, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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