graph

package
v0.0.0-...-3eb3fbd Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2024 License: GPL-3.0 Imports: 15 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 ChatResolver

type ChatResolver interface {
	ID(ctx context.Context, obj *models.Chat) (string, error)
	Messages(ctx context.Context, obj *models.Chat) ([]*models.Message, error)
	Participants(ctx context.Context, obj *models.Chat) ([]*models.User, error)
	CreatedAt(ctx context.Context, obj *models.Chat) (string, error)
	UpdatedAt(ctx context.Context, obj *models.Chat) (*string, error)
	DeletedAt(ctx context.Context, obj *models.Chat) (*string, error)
}

type CommentResolver

type CommentResolver interface {
	ID(ctx context.Context, obj *models.Comment) (string, error)

	UserID(ctx context.Context, obj *models.Comment) (string, error)
	PostID(ctx context.Context, obj *models.Comment) (string, error)
	CreatedAt(ctx context.Context, obj *models.Comment) (string, error)
	UpdatedAt(ctx context.Context, obj *models.Comment) (*string, error)
	DeletedAt(ctx context.Context, obj *models.Comment) (*string, error)
}

type ComplexityRoot

type ComplexityRoot struct {
	Chat struct {
		CreatedAt    func(childComplexity int) int
		DeletedAt    func(childComplexity int) int
		ID           func(childComplexity int) int
		Messages     func(childComplexity int) int
		Participants func(childComplexity int) int
		UpdatedAt    func(childComplexity int) int
	}

	Comment struct {
		Content   func(childComplexity int) int
		CreatedAt func(childComplexity int) int
		DeletedAt func(childComplexity int) int
		ID        func(childComplexity int) int
		PostID    func(childComplexity int) int
		UpdatedAt func(childComplexity int) int
		UserID    func(childComplexity int) int
	}

	Deletion struct {
		ID  func(childComplexity int) int
		Msg func(childComplexity int) int
	}

	Message struct {
		ChatID    func(childComplexity int) int
		Content   func(childComplexity int) int
		CreatedAt func(childComplexity int) int
		DeletedAt func(childComplexity int) int
		ID        func(childComplexity int) int
		UpdatedAt func(childComplexity int) int
		UserID    func(childComplexity int) int
	}

	Mutation struct {
		AddUsersToChat    func(childComplexity int, chatID string, userIds []string) int
		CreateChat        func(childComplexity int, input model.NewChat) int
		CreateComment     func(childComplexity int, input model.NewComment) int
		CreateMessage     func(childComplexity int, input model.NewMessage) int
		CreatePost        func(childComplexity int, input model.NewPost) int
		CreateRedisRecord func(childComplexity int, input model.NewRedisRecord) int
		CreateUser        func(childComplexity int, input model.NewUser) int
		DeleteChat        func(childComplexity int, id string) int
		DeleteComment     func(childComplexity int, id string) int
		DeleteMessage     func(childComplexity int, id string) int
		DeletePost        func(childComplexity int, id string) int
		DeleteUser        func(childComplexity int, id string) int
		UpdateComment     func(childComplexity int, id string, input model.UpdateComment) int
		UpdateMessage     func(childComplexity int, id string, input model.UpdateMessage) int
		UpdatePost        func(childComplexity int, id string, input model.UpdatePost) int
		UpdateRedisRecord func(childComplexity int, key string, value string) int
		UpdateUser        func(childComplexity int, id string, input model.UpdateUser) int
	}

	Post struct {
		Comments  func(childComplexity int) int
		Content   func(childComplexity int) int
		CreatedAt func(childComplexity int) int
		DeletedAt func(childComplexity int) int
		ID        func(childComplexity int) int
		Title     func(childComplexity int) int
		UpdatedAt func(childComplexity int) int
		UserID    func(childComplexity int) int
	}

	Query struct {
		Chat                  func(childComplexity int, id string) int
		Chats                 func(childComplexity int) int
		Comment               func(childComplexity int, id string) int
		Comments              func(childComplexity int) int
		CommentsByPost        func(childComplexity int, postID string) int
		CommentsByUser        func(childComplexity int, userID string) int
		Message               func(childComplexity int, id string) int
		Messages              func(childComplexity int) int
		MessagesByChat        func(childComplexity int, chatID string) int
		MessagesByChatAndUser func(childComplexity int, chatID string, userID string) int
		MessagesByUser        func(childComplexity int, userID string) int
		Post                  func(childComplexity int, id string) int
		Posts                 func(childComplexity int) int
		PostsByUser           func(childComplexity int, userID string) int
		RedisRecord           func(childComplexity int, key string) int
		User                  func(childComplexity int, id string) int
		UserByEmail           func(childComplexity int, email string) int
		Users                 func(childComplexity int) int
	}

	RedisRecord struct {
		Key   func(childComplexity int) int
		Value func(childComplexity int) int
	}

	User struct {
		Chats     func(childComplexity int) int
		Comments  func(childComplexity int) int
		CreatedAt func(childComplexity int) int
		DeletedAt func(childComplexity int) int
		Email     func(childComplexity int) int
		ID        func(childComplexity int) int
		Messages  func(childComplexity int) int
		Name      func(childComplexity int) int
		Posts     func(childComplexity int) int
		UpdatedAt func(childComplexity int) int
	}
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type DirectiveRoot

type DirectiveRoot struct {
}

type MessageResolver

type MessageResolver interface {
	ID(ctx context.Context, obj *models.Message) (string, error)

	UserID(ctx context.Context, obj *models.Message) (string, error)
	ChatID(ctx context.Context, obj *models.Message) (string, error)
	CreatedAt(ctx context.Context, obj *models.Message) (string, error)
	UpdatedAt(ctx context.Context, obj *models.Message) (*string, error)
	DeletedAt(ctx context.Context, obj *models.Message) (*string, error)
}

type MutationResolver

type MutationResolver interface {
	CreateUser(ctx context.Context, input model.NewUser) (*models.User, error)
	CreatePost(ctx context.Context, input model.NewPost) (*models.Post, error)
	CreateComment(ctx context.Context, input model.NewComment) (*models.Comment, error)
	CreateMessage(ctx context.Context, input model.NewMessage) (*models.Message, error)
	CreateChat(ctx context.Context, input model.NewChat) (*models.Chat, error)
	CreateRedisRecord(ctx context.Context, input model.NewRedisRecord) (*models.RedisRecord, error)
	UpdateUser(ctx context.Context, id string, input model.UpdateUser) (*models.User, error)
	UpdatePost(ctx context.Context, id string, input model.UpdatePost) (*models.Post, error)
	UpdateComment(ctx context.Context, id string, input model.UpdateComment) (*models.Comment, error)
	UpdateMessage(ctx context.Context, id string, input model.UpdateMessage) (*models.Message, error)
	UpdateRedisRecord(ctx context.Context, key string, value string) (*models.RedisRecord, error)
	AddUsersToChat(ctx context.Context, chatID string, userIds []string) (*models.Chat, error)
	DeleteUser(ctx context.Context, id string) (*model.Deletion, error)
	DeletePost(ctx context.Context, id string) (*model.Deletion, error)
	DeleteComment(ctx context.Context, id string) (*model.Deletion, error)
	DeleteMessage(ctx context.Context, id string) (*model.Deletion, error)
	DeleteChat(ctx context.Context, id string) (*model.Deletion, error)
}

type NewChatResolver

type NewChatResolver interface {
	Participants(ctx context.Context, obj *model.NewChat, data []string) error
}

type NewCommentResolver

type NewCommentResolver interface {
	UserID(ctx context.Context, obj *model.NewComment, data string) error
	PostID(ctx context.Context, obj *model.NewComment, data string) error
}

type NewMessageResolver

type NewMessageResolver interface {
	UserID(ctx context.Context, obj *model.NewMessage, data string) error
	ChatID(ctx context.Context, obj *model.NewMessage, data string) error
}

type NewPostResolver

type NewPostResolver interface {
	UserID(ctx context.Context, obj *model.NewPost, data string) error
}

type PostResolver

type PostResolver interface {
	ID(ctx context.Context, obj *models.Post) (string, error)

	Comments(ctx context.Context, obj *models.Post) ([]*models.Comment, error)
	UserID(ctx context.Context, obj *models.Post) (string, error)
	CreatedAt(ctx context.Context, obj *models.Post) (string, error)
	UpdatedAt(ctx context.Context, obj *models.Post) (*string, error)
	DeletedAt(ctx context.Context, obj *models.Post) (*string, error)
}

type QueryResolver

type QueryResolver interface {
	Users(ctx context.Context) ([]*models.User, error)
	User(ctx context.Context, id string) (*models.User, error)
	UserByEmail(ctx context.Context, email string) (*models.User, error)
	Posts(ctx context.Context) ([]*models.Post, error)
	Post(ctx context.Context, id string) (*models.Post, error)
	PostsByUser(ctx context.Context, userID string) ([]*models.Post, error)
	Comments(ctx context.Context) ([]*models.Comment, error)
	Comment(ctx context.Context, id string) (*models.Comment, error)
	CommentsByUser(ctx context.Context, userID string) ([]*models.Comment, error)
	CommentsByPost(ctx context.Context, postID string) ([]*models.Comment, error)
	Messages(ctx context.Context) ([]*models.Message, error)
	Message(ctx context.Context, id string) (*models.Message, error)
	MessagesByUser(ctx context.Context, userID string) ([]*models.Message, error)
	MessagesByChat(ctx context.Context, chatID string) ([]*models.Message, error)
	MessagesByChatAndUser(ctx context.Context, chatID string, userID string) ([]*models.Message, error)
	Chats(ctx context.Context) ([]*models.Chat, error)
	Chat(ctx context.Context, id string) (*models.Chat, error)
	RedisRecord(ctx context.Context, key string) (*models.RedisRecord, error)
}

type Resolver

type Resolver struct {
}

func (*Resolver) Chat

func (r *Resolver) Chat() ChatResolver

Chat returns ChatResolver implementation.

func (*Resolver) Comment

func (r *Resolver) Comment() CommentResolver

Comment returns CommentResolver implementation.

func (*Resolver) Message

func (r *Resolver) Message() MessageResolver

Message returns MessageResolver implementation.

func (*Resolver) Mutation

func (r *Resolver) Mutation() MutationResolver

Mutation returns MutationResolver implementation.

func (*Resolver) NewChat

func (r *Resolver) NewChat() NewChatResolver

NewChat returns NewChatResolver implementation.

func (*Resolver) NewComment

func (r *Resolver) NewComment() NewCommentResolver

NewComment returns NewCommentResolver implementation.

func (*Resolver) NewMessage

func (r *Resolver) NewMessage() NewMessageResolver

NewMessage returns NewMessageResolver implementation.

func (*Resolver) NewPost

func (r *Resolver) NewPost() NewPostResolver

NewPost returns NewPostResolver implementation.

func (*Resolver) Post

func (r *Resolver) Post() PostResolver

Post returns PostResolver implementation.

func (*Resolver) Query

func (r *Resolver) Query() QueryResolver

Query returns QueryResolver implementation.

func (*Resolver) User

func (r *Resolver) User() UserResolver

User returns UserResolver implementation.

type ResolverRoot

type ResolverRoot interface {
	Chat() ChatResolver
	Comment() CommentResolver
	Message() MessageResolver
	Mutation() MutationResolver
	Post() PostResolver
	Query() QueryResolver
	User() UserResolver
	NewChat() NewChatResolver
	NewComment() NewCommentResolver
	NewMessage() NewMessageResolver
	NewPost() NewPostResolver
}

type UserResolver

type UserResolver interface {
	ID(ctx context.Context, obj *models.User) (string, error)

	Posts(ctx context.Context, obj *models.User) ([]*models.Post, error)
	Messages(ctx context.Context, obj *models.User) ([]*models.Message, error)
	Comments(ctx context.Context, obj *models.User) ([]*models.Comment, error)
	Chats(ctx context.Context, obj *models.User) ([]*models.Chat, error)
	CreatedAt(ctx context.Context, obj *models.User) (string, error)
	UpdatedAt(ctx context.Context, obj *models.User) (*string, error)
	DeletedAt(ctx context.Context, obj *models.User) (*string, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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