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: 24 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 ApplicationResolver

type ApplicationResolver interface {
	ID(ctx context.Context, obj *model.Application) (string, error)

	Interview(ctx context.Context, obj *model.Application) (string, error)

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

	Created(ctx context.Context, obj *model.Application) (string, error)
	Updated(ctx context.Context, obj *model.Application) (string, error)
	UID(ctx context.Context, obj *model.Application) (string, error)
}

type AttendanceResolver

type AttendanceResolver interface {
	ID(ctx context.Context, obj *model.Attendance) (string, error)
	Date(ctx context.Context, obj *model.Attendance) (string, error)
	TimeIn(ctx context.Context, obj *model.Attendance) (string, error)
	TimeOut(ctx context.Context, obj *model.Attendance) (*string, error)

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

	Created(ctx context.Context, obj *model.Attendance) (string, error)
	Updated(ctx context.Context, obj *model.Attendance) (string, error)
	UID(ctx context.Context, obj *model.Attendance) (string, error)
}

type ComplexityRoot

type ComplexityRoot struct {
	Application struct {
		Created    func(childComplexity int) int
		Feedback   func(childComplexity int) int
		ID         func(childComplexity int) int
		Interview  func(childComplexity int) int
		Metadata   func(childComplexity int) int
		Notes      func(childComplexity int) int
		Position   func(childComplexity int) int
		ReferredBy func(childComplexity int) int
		Resume     func(childComplexity int) int
		Status     func(childComplexity int) int
		UID        func(childComplexity int) int
		Updated    func(childComplexity int) int
	}

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

	Attendance struct {
		Created  func(childComplexity int) int
		Date     func(childComplexity int) int
		ID       func(childComplexity int) int
		Metadata func(childComplexity int) int
		Notes    func(childComplexity int) int
		Status   func(childComplexity int) int
		TimeIn   func(childComplexity int) int
		TimeOut  func(childComplexity int) int
		UID      func(childComplexity int) int
		Updated  func(childComplexity int) int
	}

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

	Certification struct {
		Authority func(childComplexity int) int
		Date      func(childComplexity int) int
		Name      func(childComplexity int) int
	}

	Education struct {
		Degree      func(childComplexity int) int
		Description func(childComplexity int) int
		EndDate     func(childComplexity int) int
		StartDate   func(childComplexity int) int
		University  func(childComplexity int) int
	}

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

	Experience struct {
		Company     func(childComplexity int) int
		Description func(childComplexity int) int
		EndDate     func(childComplexity int) int
		StartDate   func(childComplexity int) int
		Title       func(childComplexity int) int
	}

	Job struct {
		Benefits     func(childComplexity int) int
		Code         func(childComplexity int) int
		Created      func(childComplexity int) int
		Description  func(childComplexity int) int
		ID           func(childComplexity int) int
		Locale       func(childComplexity int) int
		Location     func(childComplexity int) int
		Metadata     func(childComplexity int) int
		Requirements func(childComplexity int) int
		Skills       func(childComplexity int) int
		Status       func(childComplexity int) int
		Title        func(childComplexity int) int
		Type         func(childComplexity int) int
		Updated      func(childComplexity int) int
	}

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

	Language struct {
		Name        func(childComplexity int) int
		Proficiency func(childComplexity int) int
	}

	Leave struct {
		Created  func(childComplexity int) int
		End      func(childComplexity int) int
		ID       func(childComplexity int) int
		Metadata func(childComplexity int) int
		Reason   func(childComplexity int) int
		Start    func(childComplexity int) int
		Status   func(childComplexity int) int
		Type     func(childComplexity int) int
		UID      func(childComplexity int) int
		Updated  func(childComplexity int) int
	}

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

	Mutation struct {
		CheckIn            func(childComplexity int) int
		CheckOut           func(childComplexity int) int
		CreateApplication  func(childComplexity int, input model.NewApplication) int
		CreateAttendance   func(childComplexity int, input model.NewAttendance) int
		CreateJob          func(childComplexity int, input model.NewJob) int
		CreateLeave        func(childComplexity int, input model.NewLeave) int
		CreateOrganization func(childComplexity int, input model.NewOrganization) int
		CreateResume       func(childComplexity int, input model.NewResume) int
		DeleteApplication  func(childComplexity int, id string) int
		DeleteApplications func(childComplexity int, ids []string) int
		DeleteAttendance   func(childComplexity int, id string) int
		DeleteAttendances  func(childComplexity int, ids []string) int
		DeleteJob          func(childComplexity int, id string) int
		DeleteJobs         func(childComplexity int, ids []string) int
		DeleteLeave        func(childComplexity int, id string) int
		DeleteLeaves       func(childComplexity int, ids []string) int
		DeleteOrganization func(childComplexity int, id string) int
		DeleteResume       func(childComplexity int, id string) int
		DeleteResumes      func(childComplexity int, ids []string) int
		UpdateApplication  func(childComplexity int, id string, input model.UpdateApplication) int
		UpdateAttendance   func(childComplexity int, id string, input model.UpdateAttendance) int
		UpdateJob          func(childComplexity int, id string, input model.UpdateJob) int
		UpdateLeave        func(childComplexity int, id string, input model.UpdateLeave) int
		UpdateOrganization func(childComplexity int, id string, input model.UpdateOrganization) int
		UpdateResume       func(childComplexity int, id string, input model.UpdateResume) int
	}

	Organization struct {
		Created     func(childComplexity int) int
		Description func(childComplexity int) int
		ID          func(childComplexity int) int
		Metadata    func(childComplexity int) int
		Name        func(childComplexity int) int
		Parent      func(childComplexity int) int
		Status      func(childComplexity int) int
		Type        func(childComplexity int) int
		UID         func(childComplexity int) int
		Updated     func(childComplexity int) int
	}

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

	Query struct {
		Application   func(childComplexity int, id string) int
		Applications  func(childComplexity int, stages map[string]interface{}) int
		Attendance    func(childComplexity int, id string) int
		Attendances   func(childComplexity int, stages map[string]interface{}) int
		Job           func(childComplexity int, id string) int
		Jobs          func(childComplexity int, stages map[string]interface{}) int
		Leave         func(childComplexity int, id string) int
		Leaves        func(childComplexity int, stages map[string]interface{}) int
		Organization  func(childComplexity int, id string) int
		Organizations func(childComplexity int, stages map[string]interface{}) int
		Resume        func(childComplexity int, id string) int
		Resumes       func(childComplexity int, stages map[string]interface{}) int
		// contains filtered or unexported fields
	}

	Reference struct {
		Email        func(childComplexity int) int
		Name         func(childComplexity int) int
		Phone        func(childComplexity int) int
		Relationship func(childComplexity int) int
	}

	Resume struct {
		Certifications func(childComplexity int) int
		Created        func(childComplexity int) int
		Education      func(childComplexity int) int
		Experience     func(childComplexity int) int
		ID             func(childComplexity int) int
		Languages      func(childComplexity int) int
		Metadata       func(childComplexity int) int
		References     func(childComplexity int) int
		Skills         func(childComplexity int) int
		Status         func(childComplexity int) int
		Summary        func(childComplexity int) int
		Title          func(childComplexity int) int
		UID            func(childComplexity int) int
		Updated        func(childComplexity int) int
	}

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

	Skill struct {
		Description func(childComplexity int) int
		Name        func(childComplexity int) int
		Proficiency func(childComplexity int) int
	}

	User struct {
		Attendances func(childComplexity int) int
		ID          func(childComplexity int) int
		Leaves      func(childComplexity int) int
		Resume      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 {
	FindOrganizationByID(ctx context.Context, id string) (*model.Organization, error)
	FindUserByID(ctx context.Context, id string) (*model.User, error)
}

type JobResolver

type JobResolver interface {
	ID(ctx context.Context, obj *model.Job) (string, error)

	Title(ctx context.Context, obj *model.Job) (string, error)
	Description(ctx context.Context, obj *model.Job) (string, error)
	Requirements(ctx context.Context, obj *model.Job) (string, error)
	Skills(ctx context.Context, obj *model.Job) (*string, error)
	Benefits(ctx context.Context, obj *model.Job) (*string, error)

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

	Created(ctx context.Context, obj *model.Job) (string, error)
	Updated(ctx context.Context, obj *model.Job) (string, error)
}

type LeaveResolver

type LeaveResolver interface {
	ID(ctx context.Context, obj *model.Leave) (string, error)

	Start(ctx context.Context, obj *model.Leave) (string, error)
	End(ctx context.Context, obj *model.Leave) (*string, error)

	Metadata(ctx context.Context, obj *model.Leave) (map[string]interface{}, error)
	Created(ctx context.Context, obj *model.Leave) (string, error)
	Updated(ctx context.Context, obj *model.Leave) (string, error)
	UID(ctx context.Context, obj *model.Leave) (string, error)
}

type MutationResolver

type MutationResolver interface {
	CreateApplication(ctx context.Context, input model.NewApplication) (*model.Application, error)
	UpdateApplication(ctx context.Context, id string, input model.UpdateApplication) (*model.Application, error)
	DeleteApplication(ctx context.Context, id string) (map[string]interface{}, error)
	DeleteApplications(ctx context.Context, ids []string) (map[string]interface{}, error)
	CheckIn(ctx context.Context) (*model.Attendance, error)
	CheckOut(ctx context.Context) (*model.Attendance, error)
	CreateAttendance(ctx context.Context, input model.NewAttendance) (*model.Attendance, error)
	UpdateAttendance(ctx context.Context, id string, input model.UpdateAttendance) (*model.Attendance, error)
	DeleteAttendance(ctx context.Context, id string) (map[string]interface{}, error)
	DeleteAttendances(ctx context.Context, ids []string) (map[string]interface{}, error)
	CreateJob(ctx context.Context, input model.NewJob) (*model.Job, error)
	UpdateJob(ctx context.Context, id string, input model.UpdateJob) (*model.Job, error)
	DeleteJob(ctx context.Context, id string) (map[string]interface{}, error)
	DeleteJobs(ctx context.Context, ids []string) (map[string]interface{}, error)
	CreateLeave(ctx context.Context, input model.NewLeave) (*model.Leave, error)
	UpdateLeave(ctx context.Context, id string, input model.UpdateLeave) (*model.Leave, error)
	DeleteLeave(ctx context.Context, id string) (map[string]interface{}, error)
	DeleteLeaves(ctx context.Context, ids []string) (map[string]interface{}, error)
	CreateOrganization(ctx context.Context, input model.NewOrganization) (*model.Organization, error)
	UpdateOrganization(ctx context.Context, id string, input model.UpdateOrganization) (*model.Organization, error)
	DeleteOrganization(ctx context.Context, id string) (*model.Organization, error)
	CreateResume(ctx context.Context, input model.NewResume) (*model.Resume, error)
	UpdateResume(ctx context.Context, id string, input model.UpdateResume) (*model.Resume, error)
	DeleteResume(ctx context.Context, id string) (map[string]interface{}, error)
	DeleteResumes(ctx context.Context, ids []string) (map[string]interface{}, error)
}

type OrganizationResolver

type OrganizationResolver interface {
	ID(ctx context.Context, obj *model.Organization) (string, error)
	Parent(ctx context.Context, obj *model.Organization) (*model.Organization, error)

	Metadata(ctx context.Context, obj *model.Organization) (map[string]interface{}, error)
	Created(ctx context.Context, obj *model.Organization) (string, error)
	Updated(ctx context.Context, obj *model.Organization) (string, error)
	UID(ctx context.Context, obj *model.Organization) (*string, error)
}

type QueryResolver

type QueryResolver interface {
	Application(ctx context.Context, id string) (*model.Application, error)
	Applications(ctx context.Context, stages map[string]interface{}) (*model.Applications, error)
	Attendance(ctx context.Context, id string) (*model.Attendance, error)
	Attendances(ctx context.Context, stages map[string]interface{}) (*model.Attendances, error)
	Job(ctx context.Context, id string) (*model.Job, error)
	Jobs(ctx context.Context, stages map[string]interface{}) (*model.Jobs, error)
	Leaves(ctx context.Context, stages map[string]interface{}) (*model.Leaves, error)
	Leave(ctx context.Context, id string) (*model.Leave, error)
	Organizations(ctx context.Context, stages map[string]interface{}) (*model.Organizations, error)
	Organization(ctx context.Context, id string) (*model.Organization, error)
	Resume(ctx context.Context, id string) (*model.Resume, error)
	Resumes(ctx context.Context, stages map[string]interface{}) (*model.Resumes, 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) Application

func (r *Resolver) Application() ApplicationResolver

Application returns ApplicationResolver implementation.

func (*Resolver) Attendance

func (r *Resolver) Attendance() AttendanceResolver

Attendance returns AttendanceResolver implementation.

func (*Resolver) Entity

func (r *Resolver) Entity() EntityResolver

Entity returns EntityResolver implementation.

func (*Resolver) Job

func (r *Resolver) Job() JobResolver

Job returns JobResolver implementation.

func (*Resolver) Leave

func (r *Resolver) Leave() LeaveResolver

Leave returns LeaveResolver implementation.

func (*Resolver) Mutation

func (r *Resolver) Mutation() MutationResolver

Mutation returns MutationResolver implementation.

func (*Resolver) Organization

func (r *Resolver) Organization() OrganizationResolver

Organization returns OrganizationResolver implementation.

func (*Resolver) Query

func (r *Resolver) Query() QueryResolver

Query returns QueryResolver implementation.

func (*Resolver) Resume

func (r *Resolver) Resume() ResumeResolver

Resume returns ResumeResolver implementation.

func (*Resolver) User

func (r *Resolver) User() UserResolver

User returns UserResolver implementation.

type ResolverRoot

type ResolverRoot interface {
	Application() ApplicationResolver
	Attendance() AttendanceResolver
	Entity() EntityResolver
	Job() JobResolver
	Leave() LeaveResolver
	Mutation() MutationResolver
	Organization() OrganizationResolver
	Query() QueryResolver
	Resume() ResumeResolver
	User() UserResolver
}

type ResumeResolver

type ResumeResolver interface {
	ID(ctx context.Context, obj *model.Resume) (string, error)

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

	Created(ctx context.Context, obj *model.Resume) (string, error)
	Updated(ctx context.Context, obj *model.Resume) (string, error)
	UID(ctx context.Context, obj *model.Resume) (string, error)
}

type UserResolver

type UserResolver interface {
	Resume(ctx context.Context, obj *model.User) (*model.Resume, error)
	Leaves(ctx context.Context, obj *model.User) ([]*model.Leave, error)
	Attendances(ctx context.Context, obj *model.User) ([]*model.Attendance, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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