package resolver

// THIS CODE IS A STARTING POINT ONLY. IT WILL NOT BE UPDATED WITH SCHEMA CHANGES.

import (
	"context"

	gql_ev "go.sour.is/ev/gql"
	"go.sour.is/pkg/gql"
	"go.sour.is/tools/app/msgbus"
	"go.sour.is/tools/app/salty"
	"go.sour.is/tools/internal/graph/generated"
)

type Resolver struct{}

// TruncateStream is the resolver for the truncateStream field.
func (r *mutationResolver) TruncateStream(ctx context.Context, streamID string, index int64) (bool, error) {
	panic("not implemented")
}

// CreateSaltyUser is the resolver for the createSaltyUser field.
func (r *mutationResolver) CreateSaltyUser(ctx context.Context, nick string, pubkey string) (*salty.SaltyUser, error) {
	panic("not implemented")
}

// Events is the resolver for the events field.
func (r *queryResolver) Events(ctx context.Context, streamID string, paging *gql.PageInput) (*gql.Connection, error) {
	panic("not implemented")
}

// Posts is the resolver for the posts field.
func (r *queryResolver) Posts(ctx context.Context, name string, tag string, paging *gql.PageInput) (*gql.Connection, error) {
	panic("not implemented")
}

// SaltyUser is the resolver for the saltyUser field.
func (r *queryResolver) SaltyUser(ctx context.Context, nick string) (*salty.SaltyUser, error) {
	panic("not implemented")
}

// EventAdded is the resolver for the eventAdded field.
func (r *subscriptionResolver) EventAdded(ctx context.Context, streamID string, after int64) (<-chan *gql_ev.Event, error) {
	panic("not implemented")
}

// PostAdded is the resolver for the postAdded field.
func (r *subscriptionResolver) PostAdded(ctx context.Context, name string, tag string, after int64) (<-chan *msgbus.PostEvent, error) {
	panic("not implemented")
}

// Mutation returns generated.MutationResolver implementation.
func (r *Resolver) Mutation() generated.MutationResolver { return &mutationResolver{r} }

// Query returns generated.QueryResolver implementation.
func (r *Resolver) Query() generated.QueryResolver { return &queryResolver{r} }

// Subscription returns generated.SubscriptionResolver implementation.
func (r *Resolver) Subscription() generated.SubscriptionResolver { return &subscriptionResolver{r} }

type mutationResolver struct{ *Resolver }
type queryResolver struct{ *Resolver }
type subscriptionResolver struct{ *Resolver }
