gql

package
v0.0.0-...-b80d6b0 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2025 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNotImplemented = errors.New("not impleneted yet")
View Source
var ErrUnauthorized = errors.New("unauthorized")

Functions

func AttachUsecases

func AttachUsecases(ctx context.Context, u *interfaces.Container, storage gateway.Storage, enableDataLoaders bool) context.Context

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

Types

type ComplexityRoot

type ComplexityRoot struct {
	AddRolePayload struct {
		Role func(childComplexity int) int
	}

	AddUsersToWorkspacePayload struct {
		Workspace func(childComplexity int) int
	}

	CheckPermissionPayload struct {
		Allowed func(childComplexity int) int
	}

	CreateWorkspacePayload struct {
		Workspace func(childComplexity int) int
	}

	DeleteMePayload struct {
		UserID func(childComplexity int) int
	}

	DeleteWorkspacePayload struct {
		WorkspaceID func(childComplexity int) int
	}

	GetUsersWithRolesPayload struct {
		UsersWithRoles func(childComplexity int) int
	}

	Me struct {
		Alias         func(childComplexity int) int
		Auths         func(childComplexity int) int
		Email         func(childComplexity int) int
		Host          func(childComplexity int) int
		ID            func(childComplexity int) int
		Metadata      func(childComplexity int) int
		MyWorkspace   func(childComplexity int) int
		MyWorkspaceID func(childComplexity int) int
		Name          func(childComplexity int) int
	}

	Mutation struct {
		AddIntegrationToWorkspace        func(childComplexity int, input gqlmodel.AddIntegrationToWorkspaceInput) int
		AddRole                          func(childComplexity int, input gqlmodel.AddRoleInput) int
		AddUsersToWorkspace              func(childComplexity int, input gqlmodel.AddUsersToWorkspaceInput) int
		CreateVerification               func(childComplexity int, input gqlmodel.CreateVerificationInput) int
		CreateWorkspace                  func(childComplexity int, input gqlmodel.CreateWorkspaceInput) int
		DeleteMe                         func(childComplexity int, input gqlmodel.DeleteMeInput) int
		DeleteWorkspace                  func(childComplexity int, input gqlmodel.DeleteWorkspaceInput) int
		FindOrCreate                     func(childComplexity int, input gqlmodel.FindOrCreateInput) int
		PasswordReset                    func(childComplexity int, input gqlmodel.PasswordResetInput) int
		RemoveIntegrationFromWorkspace   func(childComplexity int, input gqlmodel.RemoveIntegrationFromWorkspaceInput) int
		RemoveIntegrationsFromWorkspace  func(childComplexity int, input gqlmodel.RemoveIntegrationsFromWorkspaceInput) int
		RemoveMultipleUsersFromWorkspace func(childComplexity int, input gqlmodel.RemoveMultipleUsersFromWorkspaceInput) int
		RemoveMyAuth                     func(childComplexity int, input gqlmodel.RemoveMyAuthInput) int
		RemoveRole                       func(childComplexity int, input gqlmodel.RemoveRoleInput) int
		RemoveUserFromWorkspace          func(childComplexity int, input gqlmodel.RemoveUserFromWorkspaceInput) int
		Signup                           func(childComplexity int, input gqlmodel.SignupInput) int
		SignupOidc                       func(childComplexity int, input gqlmodel.SignupOIDCInput) int
		StartPasswordReset               func(childComplexity int, input gqlmodel.StartPasswordResetInput) int
		UpdateIntegrationOfWorkspace     func(childComplexity int, input gqlmodel.UpdateIntegrationOfWorkspaceInput) int
		UpdateMe                         func(childComplexity int, input gqlmodel.UpdateMeInput) int
		UpdatePermittable                func(childComplexity int, input gqlmodel.UpdatePermittableInput) int
		UpdateRole                       func(childComplexity int, input gqlmodel.UpdateRoleInput) int
		UpdateUserOfWorkspace            func(childComplexity int, input gqlmodel.UpdateUserOfWorkspaceInput) int
		UpdateWorkspace                  func(childComplexity int, input gqlmodel.UpdateWorkspaceInput) int
		VerifyUser                       func(childComplexity int, input gqlmodel.VerifyUserInput) int
	}

	Permittable struct {
		ID      func(childComplexity int) int
		RoleIds func(childComplexity int) int
		UserID  func(childComplexity int) int
	}

	Query struct {
		CheckPermission          func(childComplexity int, input gqlmodel.CheckPermissionInput) int
		FindByAlias              func(childComplexity int, alias string) int
		FindByID                 func(childComplexity int, id gqlmodel.ID) int
		FindByIDs                func(childComplexity int, ids []gqlmodel.ID) int
		FindByName               func(childComplexity int, name string) int
		FindByUser               func(childComplexity int, userID gqlmodel.ID) int
		FindByUserWithPagination func(childComplexity int, userID gqlmodel.ID, pagination gqlmodel.Pagination) int
		FindUsersByIDs           func(childComplexity int, ids []gqlmodel.ID) int
		GetUsersWithRoles        func(childComplexity int) int
		Me                       func(childComplexity int) int
		Node                     func(childComplexity int, id gqlmodel.ID, typeArg gqlmodel.NodeType) int
		Nodes                    func(childComplexity int, id []gqlmodel.ID, typeArg gqlmodel.NodeType) int
		Roles                    func(childComplexity int) int
		SearchUser               func(childComplexity int, keyword string) int
		UserByNameOrEmail        func(childComplexity int, nameOrEmail string) int
	}

	RemoveIntegrationsFromWorkspacePayload struct {
		Workspace func(childComplexity int) int
	}

	RemoveMemberFromWorkspacePayload struct {
		Workspace func(childComplexity int) int
	}

	RemoveMultipleMembersFromWorkspacePayload struct {
		Workspace func(childComplexity int) int
	}

	RemoveRolePayload struct {
		ID func(childComplexity int) int
	}

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

	RolesPayload struct {
		Roles func(childComplexity int) int
	}

	UpdateMePayload struct {
		Me func(childComplexity int) int
	}

	UpdateMemberOfWorkspacePayload struct {
		Workspace func(childComplexity int) int
	}

	UpdatePermittablePayload struct {
		Permittable func(childComplexity int) int
	}

	UpdateRolePayload struct {
		Role func(childComplexity int) int
	}

	UpdateWorkspacePayload struct {
		Workspace func(childComplexity int) int
	}

	User struct {
		Auths     func(childComplexity int) int
		Email     func(childComplexity int) int
		Host      func(childComplexity int) int
		ID        func(childComplexity int) int
		Metadata  func(childComplexity int) int
		Name      func(childComplexity int) int
		Workspace func(childComplexity int) int
	}

	UserMetadata struct {
		Description func(childComplexity int) int
		Lang        func(childComplexity int) int
		PhotoURL    func(childComplexity int) int
		Theme       func(childComplexity int) int
		Website     func(childComplexity int) int
	}

	UserPayload struct {
		User func(childComplexity int) int
	}

	UserWithRoles struct {
		Roles func(childComplexity int) int
		User  func(childComplexity int) int
	}

	Workspace struct {
		Alias    func(childComplexity int) int
		ID       func(childComplexity int) int
		Members  func(childComplexity int) int
		Metadata func(childComplexity int) int
		Name     func(childComplexity int) int
		Personal func(childComplexity int) int
	}

	WorkspaceIntegrationMember struct {
		Active        func(childComplexity int) int
		IntegrationID func(childComplexity int) int
		InvitedBy     func(childComplexity int) int
		InvitedByID   func(childComplexity int) int
		Role          func(childComplexity int) int
	}

	WorkspaceMetadata struct {
		BillingEmail func(childComplexity int) int
		Description  func(childComplexity int) int
		Location     func(childComplexity int) int
		PhotoURL     func(childComplexity int) int
		Website      func(childComplexity int) int
	}

	WorkspaceUserMember struct {
		Host   func(childComplexity int) int
		Role   func(childComplexity int) int
		User   func(childComplexity int) int
		UserID func(childComplexity int) int
	}

	WorkspacesWithPagination struct {
		TotalCount func(childComplexity int) int
		Workspaces func(childComplexity int) int
	}
}

type Config

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

type ContextKey

type ContextKey string

type DataLoaders

type DataLoaders struct {
	Workspace WorkspaceDataLoader
	User      UserDataLoader
}

type DirectiveRoot

type DirectiveRoot struct {
}

type Loaders

type Loaders struct {
	Workspace *WorkspaceLoader
	User      *UserLoader
	// contains filtered or unexported fields
}

func NewLoaders

func NewLoaders(usecases *interfaces.Container, storage gateway.Storage) *Loaders

func (Loaders) DataLoaders

func (l Loaders) DataLoaders(ctx context.Context) *DataLoaders

func (Loaders) DataLoadersWith

func (l Loaders) DataLoadersWith(ctx context.Context, enabled bool) *DataLoaders

func (Loaders) OrdinaryDataLoaders

func (l Loaders) OrdinaryDataLoaders(ctx context.Context) *DataLoaders

type MeResolver

type MeResolver interface {
	MyWorkspace(ctx context.Context, obj *gqlmodel.Me) (*gqlmodel.Workspace, error)
}

type MutationResolver

type MutationResolver interface {
	AddRole(ctx context.Context, input gqlmodel.AddRoleInput) (*gqlmodel.AddRolePayload, error)
	UpdateRole(ctx context.Context, input gqlmodel.UpdateRoleInput) (*gqlmodel.UpdateRolePayload, error)
	RemoveRole(ctx context.Context, input gqlmodel.RemoveRoleInput) (*gqlmodel.RemoveRolePayload, error)
	UpdatePermittable(ctx context.Context, input gqlmodel.UpdatePermittableInput) (*gqlmodel.UpdatePermittablePayload, error)
	UpdateMe(ctx context.Context, input gqlmodel.UpdateMeInput) (*gqlmodel.UpdateMePayload, error)
	RemoveMyAuth(ctx context.Context, input gqlmodel.RemoveMyAuthInput) (*gqlmodel.UpdateMePayload, error)
	DeleteMe(ctx context.Context, input gqlmodel.DeleteMeInput) (*gqlmodel.DeleteMePayload, error)
	Signup(ctx context.Context, input gqlmodel.SignupInput) (*gqlmodel.UserPayload, error)
	SignupOidc(ctx context.Context, input gqlmodel.SignupOIDCInput) (*gqlmodel.UserPayload, error)
	VerifyUser(ctx context.Context, input gqlmodel.VerifyUserInput) (*gqlmodel.UserPayload, error)
	FindOrCreate(ctx context.Context, input gqlmodel.FindOrCreateInput) (*gqlmodel.UserPayload, error)
	CreateVerification(ctx context.Context, input gqlmodel.CreateVerificationInput) (*bool, error)
	StartPasswordReset(ctx context.Context, input gqlmodel.StartPasswordResetInput) (*bool, error)
	PasswordReset(ctx context.Context, input gqlmodel.PasswordResetInput) (*bool, error)
	CreateWorkspace(ctx context.Context, input gqlmodel.CreateWorkspaceInput) (*gqlmodel.CreateWorkspacePayload, error)
	DeleteWorkspace(ctx context.Context, input gqlmodel.DeleteWorkspaceInput) (*gqlmodel.DeleteWorkspacePayload, error)
	UpdateWorkspace(ctx context.Context, input gqlmodel.UpdateWorkspaceInput) (*gqlmodel.UpdateWorkspacePayload, error)
	AddUsersToWorkspace(ctx context.Context, input gqlmodel.AddUsersToWorkspaceInput) (*gqlmodel.AddUsersToWorkspacePayload, error)
	AddIntegrationToWorkspace(ctx context.Context, input gqlmodel.AddIntegrationToWorkspaceInput) (*gqlmodel.AddUsersToWorkspacePayload, error)
	RemoveUserFromWorkspace(ctx context.Context, input gqlmodel.RemoveUserFromWorkspaceInput) (*gqlmodel.RemoveMemberFromWorkspacePayload, error)
	RemoveMultipleUsersFromWorkspace(ctx context.Context, input gqlmodel.RemoveMultipleUsersFromWorkspaceInput) (*gqlmodel.RemoveMultipleMembersFromWorkspacePayload, error)
	RemoveIntegrationFromWorkspace(ctx context.Context, input gqlmodel.RemoveIntegrationFromWorkspaceInput) (*gqlmodel.RemoveMemberFromWorkspacePayload, error)
	RemoveIntegrationsFromWorkspace(ctx context.Context, input gqlmodel.RemoveIntegrationsFromWorkspaceInput) (*gqlmodel.RemoveIntegrationsFromWorkspacePayload, error)
	UpdateUserOfWorkspace(ctx context.Context, input gqlmodel.UpdateUserOfWorkspaceInput) (*gqlmodel.UpdateMemberOfWorkspacePayload, error)
	UpdateIntegrationOfWorkspace(ctx context.Context, input gqlmodel.UpdateIntegrationOfWorkspaceInput) (*gqlmodel.UpdateMemberOfWorkspacePayload, error)
}

type QueryResolver

type QueryResolver interface {
	Node(ctx context.Context, id gqlmodel.ID, typeArg gqlmodel.NodeType) (gqlmodel.Node, error)
	Nodes(ctx context.Context, id []gqlmodel.ID, typeArg gqlmodel.NodeType) ([]gqlmodel.Node, error)
	CheckPermission(ctx context.Context, input gqlmodel.CheckPermissionInput) (*gqlmodel.CheckPermissionPayload, error)
	Roles(ctx context.Context) (*gqlmodel.RolesPayload, error)
	GetUsersWithRoles(ctx context.Context) (*gqlmodel.GetUsersWithRolesPayload, error)
	Me(ctx context.Context) (*gqlmodel.Me, error)
	UserByNameOrEmail(ctx context.Context, nameOrEmail string) (*gqlmodel.User, error)
	SearchUser(ctx context.Context, keyword string) ([]*gqlmodel.User, error)
	FindUsersByIDs(ctx context.Context, ids []gqlmodel.ID) ([]*gqlmodel.User, error)
	FindByID(ctx context.Context, id gqlmodel.ID) (*gqlmodel.Workspace, error)
	FindByIDs(ctx context.Context, ids []gqlmodel.ID) ([]*gqlmodel.Workspace, error)
	FindByName(ctx context.Context, name string) (*gqlmodel.Workspace, error)
	FindByAlias(ctx context.Context, alias string) (*gqlmodel.Workspace, error)
	FindByUser(ctx context.Context, userID gqlmodel.ID) ([]*gqlmodel.Workspace, error)
	FindByUserWithPagination(ctx context.Context, userID gqlmodel.ID, pagination gqlmodel.Pagination) (*gqlmodel.WorkspacesWithPagination, error)
}

type Resolver

type Resolver struct {
	Storage gateway.Storage
}

func (*Resolver) Me

func (r *Resolver) Me() MeResolver

func (*Resolver) Mutation

func (r *Resolver) Mutation() MutationResolver

func (*Resolver) Query

func (r *Resolver) Query() QueryResolver

func (*Resolver) WorkspaceUserMember

func (r *Resolver) WorkspaceUserMember() WorkspaceUserMemberResolver

type ResolverRoot

type ResolverRoot interface {
	Me() MeResolver
	Mutation() MutationResolver
	Query() QueryResolver
	WorkspaceUserMember() WorkspaceUserMemberResolver
}

func NewResolver

func NewResolver(storage gateway.Storage) ResolverRoot

type UserDataLoader

type UserDataLoader interface {
	Load(gqlmodel.ID) (*gqlmodel.User, error)
	LoadAll([]gqlmodel.ID) ([]*gqlmodel.User, []error)
}

type UserLoader

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

func NewUserLoader

func NewUserLoader(usecase interfaces.User) *UserLoader

func (*UserLoader) DataLoader

func (c *UserLoader) DataLoader(ctx context.Context) UserDataLoader

func (*UserLoader) Fetch

func (c *UserLoader) Fetch(ctx context.Context, ids []gqlmodel.ID) ([]*gqlmodel.User, []error)

func (*UserLoader) OrdinaryDataLoader

func (c *UserLoader) OrdinaryDataLoader(ctx context.Context) UserDataLoader

func (*UserLoader) SearchUser

func (c *UserLoader) SearchUser(ctx context.Context, nameOrEmail string) (*gqlmodel.User, error)

type WorkspaceDataLoader

type WorkspaceDataLoader interface {
	Load(gqlmodel.ID) (*gqlmodel.Workspace, error)
	LoadAll([]gqlmodel.ID) ([]*gqlmodel.Workspace, []error)
}

type WorkspaceLoader

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

func NewWorkspaceLoader

func NewWorkspaceLoader(usecase interfaces.Workspace, storage gateway.Storage) *WorkspaceLoader

func (*WorkspaceLoader) DataLoader

func (*WorkspaceLoader) Fetch

func (c *WorkspaceLoader) Fetch(ctx context.Context, ids []gqlmodel.ID) ([]*gqlmodel.Workspace, []error)

func (*WorkspaceLoader) FindByUser

func (c *WorkspaceLoader) FindByUser(ctx context.Context, uid gqlmodel.ID) ([]*gqlmodel.Workspace, error)

func (*WorkspaceLoader) OrdinaryDataLoader

func (c *WorkspaceLoader) OrdinaryDataLoader(ctx context.Context) WorkspaceDataLoader

type WorkspaceUserMemberResolver

type WorkspaceUserMemberResolver interface {
	User(ctx context.Context, obj *gqlmodel.WorkspaceUserMember) (*gqlmodel.User, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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