graphql

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Mar 31, 2026 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DataLoaderMiddleware

func DataLoaderMiddleware(repo interfaces.Repository, slackClient interfaces.SlackClient) func(http.Handler) http.Handler

DataLoaderMiddleware injects data loaders into the context

func GetAlert

func GetAlert(ctx context.Context, alertID types.AlertID) (*alert.Alert, error)

GetAlert returns single alert by id efficiently

func GetTicket

func GetTicket(ctx context.Context, ticketID types.TicketID) (*ticket.Ticket, error)

GetTicket returns single ticket by id efficiently

func GetUser

func GetUser(ctx context.Context, userID string) (*graphql1.User, error)

GetUser returns single user by id efficiently

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

Types

type ActivityResolver

type ActivityResolver interface {
	User(ctx context.Context, obj *graphql1.Activity) (*graphql1.User, error)
	Alert(ctx context.Context, obj *graphql1.Activity) (*alert.Alert, error)
	Ticket(ctx context.Context, obj *graphql1.Activity) (*ticket.Ticket, error)
}

type AlertResolver

type AlertResolver interface {
	ID(ctx context.Context, obj *alert.Alert) (string, error)

	Schema(ctx context.Context, obj *alert.Alert) (string, error)
	Data(ctx context.Context, obj *alert.Alert) (string, error)
	Attributes(ctx context.Context, obj *alert.Alert) ([]*graphql1.AlertAttribute, error)

	CreatedAt(ctx context.Context, obj *alert.Alert) (string, error)
	Ticket(ctx context.Context, obj *alert.Alert) (*ticket.Ticket, error)

	TagObjects(ctx context.Context, obj *alert.Alert) ([]*graphql1.TagObject, error)
}

type CommentResolver

type CommentResolver interface {
	ID(ctx context.Context, obj *ticket.Comment) (string, error)
	Content(ctx context.Context, obj *ticket.Comment) (string, error)
	User(ctx context.Context, obj *ticket.Comment) (*graphql1.User, error)
	CreatedAt(ctx context.Context, obj *ticket.Comment) (string, error)
	UpdatedAt(ctx context.Context, obj *ticket.Comment) (string, error)
}

type ComplexityRoot

type ComplexityRoot struct {
	ActivitiesResponse struct {
		Activities func(childComplexity int) int
		TotalCount func(childComplexity int) int
	}

	Activity struct {
		Alert     func(childComplexity int) int
		AlertID   func(childComplexity int) int
		CommentID func(childComplexity int) int
		CreatedAt func(childComplexity int) int
		ID        func(childComplexity int) int
		Metadata  func(childComplexity int) int
		Ticket    func(childComplexity int) int
		TicketID  func(childComplexity int) int
		Type      func(childComplexity int) int
		User      func(childComplexity int) int
		UserID    func(childComplexity int) int
	}

	Alert struct {
		Attributes  func(childComplexity int) int
		CreatedAt   func(childComplexity int) int
		Data        func(childComplexity int) int
		Description func(childComplexity int) int
		ID          func(childComplexity int) int
		Schema      func(childComplexity int) int
		Status      func(childComplexity int) int
		TagObjects  func(childComplexity int) int
		Tags        func(childComplexity int) int
		Ticket      func(childComplexity int) int
		Title       func(childComplexity int) int
	}

	AlertAttribute struct {
		Auto  func(childComplexity int) int
		Key   func(childComplexity int) int
		Link  func(childComplexity int) int
		Value func(childComplexity int) int
	}

	AlertsResponse struct {
		Alerts     func(childComplexity int) int
		TotalCount func(childComplexity int) int
	}

	Comment struct {
		Content   func(childComplexity int) int
		CreatedAt func(childComplexity int) int
		ID        func(childComplexity int) int
		UpdatedAt func(childComplexity int) int
		User      func(childComplexity int) int
	}

	CommentsResponse struct {
		Comments   func(childComplexity int) int
		TotalCount func(childComplexity int) int
	}

	DashboardStats struct {
		DeclinedAlertsCount func(childComplexity int) int
		OpenTickets         func(childComplexity int) int
		OpenTicketsCount    func(childComplexity int) int
		QueuedAlertsCount   func(childComplexity int) int
		UnboundAlerts       func(childComplexity int) int
		UnboundAlertsCount  func(childComplexity int) int
	}

	DiagnosesResponse struct {
		Diagnoses  func(childComplexity int) int
		TotalCount func(childComplexity int) int
	}

	Diagnosis struct {
		CreatedAt    func(childComplexity int) int
		FailedCount  func(childComplexity int) int
		FixedCount   func(childComplexity int) int
		ID           func(childComplexity int) int
		PendingCount func(childComplexity int) int
		Status       func(childComplexity int) int
		TotalCount   func(childComplexity int) int
		UpdatedAt    func(childComplexity int) int
	}

	DiagnosisIssue struct {
		CreatedAt   func(childComplexity int) int
		Description func(childComplexity int) int
		DiagnosisID func(childComplexity int) int
		FailReason  func(childComplexity int) int
		FixedAt     func(childComplexity int) int
		ID          func(childComplexity int) int
		RuleID      func(childComplexity int) int
		Status      func(childComplexity int) int
		TargetID    func(childComplexity int) int
	}

	DiagnosisIssuesResponse struct {
		Issues     func(childComplexity int) int
		TotalCount func(childComplexity int) int
	}

	Finding struct {
		Reason         func(childComplexity int) int
		Recommendation func(childComplexity int) int
		Severity       func(childComplexity int) int
		Summary        func(childComplexity int) int
	}

	Knowledge struct {
		Author    func(childComplexity int) int
		AuthorID  func(childComplexity int) int
		Category  func(childComplexity int) int
		Claim     func(childComplexity int) int
		CreatedAt func(childComplexity int) int
		ID        func(childComplexity int) int
		Tags      func(childComplexity int) int
		Title     func(childComplexity int) int
		UpdatedAt func(childComplexity int) int
	}

	KnowledgeLog struct {
		Author      func(childComplexity int) int
		AuthorID    func(childComplexity int) int
		Claim       func(childComplexity int) int
		CreatedAt   func(childComplexity int) int
		ID          func(childComplexity int) int
		KnowledgeID func(childComplexity int) int
		Message     func(childComplexity int) int
		TicketID    func(childComplexity int) int
		Title       func(childComplexity int) int
	}

	KnowledgeTag struct {
		CreatedAt   func(childComplexity int) int
		Description func(childComplexity int) int
		ID          func(childComplexity int) int
		Name        func(childComplexity int) int
		UpdatedAt   func(childComplexity int) int
	}

	Mutation struct {
		ArchiveTicket                 func(childComplexity int, id string) int
		ArchiveTickets                func(childComplexity int, ids []string) int
		BindAlertsToTicket            func(childComplexity int, ticketID string, alertIds []string) int
		CreateKnowledge               func(childComplexity int, input graphql1.CreateKnowledgeInput) int
		CreateKnowledgeTag            func(childComplexity int, input graphql1.CreateKnowledgeTagInput) int
		CreateTag                     func(childComplexity int, name string) int
		CreateTicket                  func(childComplexity int, title string, description string, isTest *bool) int
		CreateTicketFromAlerts        func(childComplexity int, alertIds []string, title *string, description *string) int
		DeclineAlerts                 func(childComplexity int, ids []string) int
		DeleteKnowledge               func(childComplexity int, id string, reason string) int
		DeleteKnowledgeTag            func(childComplexity int, id string) int
		DeleteTag                     func(childComplexity int, id string) int
		DiscardQueuedAlerts           func(childComplexity int, ids []string) int
		DiscardQueuedAlertsByFilter   func(childComplexity int, keyword *string) int
		FixDiagnosis                  func(childComplexity int, id string) int
		MergeKnowledgeTags            func(childComplexity int, oldID string, newID string) int
		ReopenTicket                  func(childComplexity int, id string) int
		ReprocessQueuedAlert          func(childComplexity int, id string) int
		ReprocessQueuedAlertsByFilter func(childComplexity int, keyword *string) int
		ResolveTicket                 func(childComplexity int, id string, conclusion string, reason string) int
		RunDiagnosis                  func(childComplexity int) int
		UnarchiveTicket               func(childComplexity int, id string) int
		UpdateAlertTags               func(childComplexity int, alertID string, tagIds []string) int
		UpdateKnowledge               func(childComplexity int, input graphql1.UpdateKnowledgeInput) int
		UpdateKnowledgeTag            func(childComplexity int, input graphql1.UpdateKnowledgeTagInput) int
		UpdateTag                     func(childComplexity int, input graphql1.UpdateTagInput) int
		UpdateTicket                  func(childComplexity int, id string, title string, description *string) int
		UpdateTicketConclusion        func(childComplexity int, id string, conclusion string, reason string) int
		UpdateTicketTags              func(childComplexity int, ticketID string, tagIds []string) int
	}

	Query struct {
		Activities             func(childComplexity int, offset *int, limit *int) int
		Alert                  func(childComplexity int, id string) int
		Alerts                 func(childComplexity int, offset *int, limit *int, status *alert.AlertStatus) int
		AvailableTagColorNames func(childComplexity int) int
		AvailableTagColors     func(childComplexity int) int
		Dashboard              func(childComplexity int) int
		Diagnoses              func(childComplexity int, offset *int, limit *int) int
		Diagnosis              func(childComplexity int, id string) int
		DiagnosisIssues        func(childComplexity int, diagnosisID string, offset *int, limit *int, status *string, ruleID *string) int
		Knowledge              func(childComplexity int, id string) int
		KnowledgeLogs          func(childComplexity int, knowledgeID string) int
		KnowledgeTags          func(childComplexity int) int
		Knowledges             func(childComplexity int, category *string, tags []string, keyword *string) int
		QueuedAlerts           func(childComplexity int, keyword *string, offset *int, limit *int) int
		ReprocessBatchJob      func(childComplexity int, id string) int
		ReprocessJob           func(childComplexity int, id string) int
		Session                func(childComplexity int, id string) int
		SessionMessages        func(childComplexity int, sessionID string) int
		SimilarTickets         func(childComplexity int, ticketID string, threshold float64, offset *int, limit *int) int
		SimilarTicketsForAlert func(childComplexity int, alertID string, threshold float64, offset *int, limit *int) int
		Tags                   func(childComplexity int) int
		Ticket                 func(childComplexity int, id string) int
		TicketComments         func(childComplexity int, ticketID string, offset *int, limit *int) int
		TicketSessions         func(childComplexity int, ticketID string) int
		Tickets                func(childComplexity int, statuses []string, keyword *string, assigneeID *string, offset *int, limit *int) int
		UnboundAlerts          func(childComplexity int, threshold *float64, keyword *string, ticketID *string, offset *int, limit *int) int
	}

	QueuedAlert struct {
		CreatedAt func(childComplexity int) int
		Data      func(childComplexity int) int
		ID        func(childComplexity int) int
		Schema    func(childComplexity int) int
		Title     func(childComplexity int) int
	}

	QueuedAlertsResponse struct {
		Alerts     func(childComplexity int) int
		TotalCount func(childComplexity int) int
	}

	ReprocessBatchJob struct {
		CompletedCount func(childComplexity int) int
		CreatedAt      func(childComplexity int) int
		FailedCount    func(childComplexity int) int
		ID             func(childComplexity int) int
		Status         func(childComplexity int) int
		TotalCount     func(childComplexity int) int
		UpdatedAt      func(childComplexity int) int
	}

	ReprocessJob struct {
		CreatedAt     func(childComplexity int) int
		Error         func(childComplexity int) int
		ID            func(childComplexity int) int
		QueuedAlertID func(childComplexity int) int
		Status        func(childComplexity int) int
		UpdatedAt     func(childComplexity int) int
	}

	Session struct {
		CreatedAt func(childComplexity int) int
		ID        func(childComplexity int) int
		Intent    func(childComplexity int) int
		Query     func(childComplexity int) int
		SlackURL  func(childComplexity int) int
		Status    func(childComplexity int) int
		TicketID  func(childComplexity int) int
		UpdatedAt func(childComplexity int) int
		User      func(childComplexity int) int
		UserID    func(childComplexity int) int
	}

	SessionMessage struct {
		Content   func(childComplexity int) int
		CreatedAt func(childComplexity int) int
		ID        func(childComplexity int) int
		SessionID func(childComplexity int) int
		Type      func(childComplexity int) int
		UpdatedAt func(childComplexity int) int
	}

	TagMetadata struct {
		Color       func(childComplexity int) int
		CreatedAt   func(childComplexity int) int
		Description func(childComplexity int) int
		ID          func(childComplexity int) int
		Name        func(childComplexity int) int
		UpdatedAt   func(childComplexity int) int
	}

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

	Ticket struct {
		Alerts          func(childComplexity int) int
		AlertsCount     func(childComplexity int) int
		AlertsPaginated func(childComplexity int, offset *int, limit *int) int
		ArchivedAt      func(childComplexity int) int
		Assignee        func(childComplexity int) int
		Comments        func(childComplexity int) int
		CommentsCount   func(childComplexity int) int
		Conclusion      func(childComplexity int) int
		CreatedAt       func(childComplexity int) int
		Description     func(childComplexity int) int
		Finding         func(childComplexity int) int
		ID              func(childComplexity int) int
		IsTest          func(childComplexity int) int
		Reason          func(childComplexity int) int
		ResolvedAt      func(childComplexity int) int
		SlackLink       func(childComplexity int) int
		Status          func(childComplexity int) int
		Summary         func(childComplexity int) int
		TagObjects      func(childComplexity int) int
		Tags            func(childComplexity int) int
		Title           func(childComplexity int) int
		UpdatedAt       func(childComplexity int) int
	}

	TicketsResponse struct {
		Tickets    func(childComplexity int) int
		TotalCount func(childComplexity int) int
	}

	User struct {
		ID   func(childComplexity int) int
		Icon func(childComplexity int) int
		Name func(childComplexity int) int
	}
}

type DirectiveRoot

type DirectiveRoot struct {
}

type FindingResolver

type FindingResolver interface {
	Severity(ctx context.Context, obj *ticket.Finding) (string, error)
}

type KnowledgeResolver added in v0.8.0

type KnowledgeResolver interface {
	Author(ctx context.Context, obj *graphql1.Knowledge) (*graphql1.User, error)
}

type MutationResolver

type MutationResolver interface {
	ResolveTicket(ctx context.Context, id string, conclusion string, reason string) (*ticket.Ticket, error)
	ReopenTicket(ctx context.Context, id string) (*ticket.Ticket, error)
	ArchiveTicket(ctx context.Context, id string) (*ticket.Ticket, error)
	ArchiveTickets(ctx context.Context, ids []string) ([]*ticket.Ticket, error)
	UnarchiveTicket(ctx context.Context, id string) (*ticket.Ticket, error)
	UpdateTicketConclusion(ctx context.Context, id string, conclusion string, reason string) (*ticket.Ticket, error)
	UpdateTicket(ctx context.Context, id string, title string, description *string) (*ticket.Ticket, error)
	CreateTicket(ctx context.Context, title string, description string, isTest *bool) (*ticket.Ticket, error)
	CreateTicketFromAlerts(ctx context.Context, alertIds []string, title *string, description *string) (*ticket.Ticket, error)
	BindAlertsToTicket(ctx context.Context, ticketID string, alertIds []string) (*ticket.Ticket, error)
	UpdateAlertTags(ctx context.Context, alertID string, tagIds []string) (*alert.Alert, error)
	UpdateTicketTags(ctx context.Context, ticketID string, tagIds []string) (*ticket.Ticket, error)
	CreateTag(ctx context.Context, name string) (*graphql1.TagMetadata, error)
	DeleteTag(ctx context.Context, id string) (bool, error)
	UpdateTag(ctx context.Context, input graphql1.UpdateTagInput) (*graphql1.TagMetadata, error)
	DeclineAlerts(ctx context.Context, ids []string) ([]*alert.Alert, error)
	RunDiagnosis(ctx context.Context) (*graphql1.Diagnosis, error)
	FixDiagnosis(ctx context.Context, id string) (*graphql1.Diagnosis, error)
	ReprocessQueuedAlert(ctx context.Context, id string) (*alert.ReprocessJob, error)
	DiscardQueuedAlerts(ctx context.Context, ids []string) (bool, error)
	DiscardQueuedAlertsByFilter(ctx context.Context, keyword *string) (int, error)
	ReprocessQueuedAlertsByFilter(ctx context.Context, keyword *string) (*alert.ReprocessBatchJob, error)
	CreateKnowledge(ctx context.Context, input graphql1.CreateKnowledgeInput) (*graphql1.Knowledge, error)
	UpdateKnowledge(ctx context.Context, input graphql1.UpdateKnowledgeInput) (*graphql1.Knowledge, error)
	DeleteKnowledge(ctx context.Context, id string, reason string) (bool, error)
	CreateKnowledgeTag(ctx context.Context, input graphql1.CreateKnowledgeTagInput) (*graphql1.KnowledgeTag, error)
	UpdateKnowledgeTag(ctx context.Context, input graphql1.UpdateKnowledgeTagInput) (*graphql1.KnowledgeTag, error)
	DeleteKnowledgeTag(ctx context.Context, id string) (bool, error)
	MergeKnowledgeTags(ctx context.Context, oldID string, newID string) (bool, error)
}

type QueryResolver

type QueryResolver interface {
	Ticket(ctx context.Context, id string) (*ticket.Ticket, error)
	Tickets(ctx context.Context, statuses []string, keyword *string, assigneeID *string, offset *int, limit *int) (*graphql1.TicketsResponse, error)
	SimilarTickets(ctx context.Context, ticketID string, threshold float64, offset *int, limit *int) (*graphql1.TicketsResponse, error)
	SimilarTicketsForAlert(ctx context.Context, alertID string, threshold float64, offset *int, limit *int) (*graphql1.TicketsResponse, error)
	TicketComments(ctx context.Context, ticketID string, offset *int, limit *int) (*graphql1.CommentsResponse, error)
	Alert(ctx context.Context, id string) (*alert.Alert, error)
	Alerts(ctx context.Context, offset *int, limit *int, status *alert.AlertStatus) (*graphql1.AlertsResponse, error)
	UnboundAlerts(ctx context.Context, threshold *float64, keyword *string, ticketID *string, offset *int, limit *int) (*graphql1.AlertsResponse, error)
	Dashboard(ctx context.Context) (*graphql1.DashboardStats, error)
	Activities(ctx context.Context, offset *int, limit *int) (*graphql1.ActivitiesResponse, error)
	Tags(ctx context.Context) ([]*graphql1.TagMetadata, error)
	AvailableTagColors(ctx context.Context) ([]string, error)
	AvailableTagColorNames(ctx context.Context) ([]string, error)
	TicketSessions(ctx context.Context, ticketID string) ([]*graphql1.Session, error)
	Session(ctx context.Context, id string) (*graphql1.Session, error)
	SessionMessages(ctx context.Context, sessionID string) ([]*graphql1.SessionMessage, error)
	Diagnoses(ctx context.Context, offset *int, limit *int) (*graphql1.DiagnosesResponse, error)
	Diagnosis(ctx context.Context, id string) (*graphql1.Diagnosis, error)
	DiagnosisIssues(ctx context.Context, diagnosisID string, offset *int, limit *int, status *string, ruleID *string) (*graphql1.DiagnosisIssuesResponse, error)
	QueuedAlerts(ctx context.Context, keyword *string, offset *int, limit *int) (*graphql1.QueuedAlertsResponse, error)
	ReprocessJob(ctx context.Context, id string) (*alert.ReprocessJob, error)
	ReprocessBatchJob(ctx context.Context, id string) (*alert.ReprocessBatchJob, error)
	Knowledges(ctx context.Context, category *string, tags []string, keyword *string) ([]*graphql1.Knowledge, error)
	Knowledge(ctx context.Context, id string) (*graphql1.Knowledge, error)
	KnowledgeLogs(ctx context.Context, knowledgeID string) ([]*graphql1.KnowledgeLog, error)
	KnowledgeTags(ctx context.Context) ([]*graphql1.KnowledgeTag, error)
}

type QueuedAlertResolver added in v0.14.0

type QueuedAlertResolver interface {
	ID(ctx context.Context, obj *alert.QueuedAlert) (string, error)
	Schema(ctx context.Context, obj *alert.QueuedAlert) (string, error)

	Data(ctx context.Context, obj *alert.QueuedAlert) (string, error)
	CreatedAt(ctx context.Context, obj *alert.QueuedAlert) (string, error)
}

type ReprocessBatchJobResolver added in v0.14.0

type ReprocessBatchJobResolver interface {
	ID(ctx context.Context, obj *alert.ReprocessBatchJob) (string, error)
	Status(ctx context.Context, obj *alert.ReprocessBatchJob) (graphql1.ReprocessJobStatus, error)

	CreatedAt(ctx context.Context, obj *alert.ReprocessBatchJob) (string, error)
	UpdatedAt(ctx context.Context, obj *alert.ReprocessBatchJob) (string, error)
}

type ReprocessJobResolver added in v0.14.0

type ReprocessJobResolver interface {
	ID(ctx context.Context, obj *alert.ReprocessJob) (string, error)
	QueuedAlertID(ctx context.Context, obj *alert.ReprocessJob) (string, error)
	Status(ctx context.Context, obj *alert.ReprocessJob) (graphql1.ReprocessJobStatus, error)

	CreatedAt(ctx context.Context, obj *alert.ReprocessJob) (string, error)
	UpdatedAt(ctx context.Context, obj *alert.ReprocessJob) (string, error)
}

type Resolver

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

Resolver serves as dependency injection point for the application.

func NewResolver

func NewResolver(repo interfaces.Repository, slackService *slack.Service, uc *usecase.UseCases, opts ...ResolverOption) *Resolver

NewResolver creates a new resolver instance.

func (*Resolver) Activity

func (r *Resolver) Activity() ActivityResolver

Activity returns ActivityResolver implementation.

func (*Resolver) Alert

func (r *Resolver) Alert() AlertResolver

Alert returns AlertResolver implementation.

func (*Resolver) Comment

func (r *Resolver) Comment() CommentResolver

Comment returns CommentResolver implementation.

func (*Resolver) Finding

func (r *Resolver) Finding() FindingResolver

Finding returns FindingResolver implementation.

func (*Resolver) Knowledge added in v0.8.0

func (r *Resolver) Knowledge() KnowledgeResolver

Knowledge returns KnowledgeResolver 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) QueuedAlert added in v0.14.0

func (r *Resolver) QueuedAlert() QueuedAlertResolver

QueuedAlert returns QueuedAlertResolver implementation.

func (*Resolver) ReprocessBatchJob added in v0.14.0

func (r *Resolver) ReprocessBatchJob() ReprocessBatchJobResolver

ReprocessBatchJob returns ReprocessBatchJobResolver implementation.

func (*Resolver) ReprocessJob added in v0.14.0

func (r *Resolver) ReprocessJob() ReprocessJobResolver

ReprocessJob returns ReprocessJobResolver implementation.

func (*Resolver) Session added in v0.8.0

func (r *Resolver) Session() SessionResolver

Session returns SessionResolver implementation.

func (*Resolver) Ticket

func (r *Resolver) Ticket() TicketResolver

Ticket returns TicketResolver implementation.

type ResolverOption added in v0.14.0

type ResolverOption func(*Resolver)

ResolverOption configures a Resolver.

func WithKnowledgeService added in v0.14.0

func WithKnowledgeService(svc *svcknowledge.Service) ResolverOption

WithKnowledgeService sets the knowledge service.

type ResolverRoot

type ResolverRoot interface {
	Activity() ActivityResolver
	Alert() AlertResolver
	Comment() CommentResolver
	Finding() FindingResolver
	Knowledge() KnowledgeResolver
	Mutation() MutationResolver
	Query() QueryResolver
	QueuedAlert() QueuedAlertResolver
	ReprocessBatchJob() ReprocessBatchJobResolver
	ReprocessJob() ReprocessJobResolver
	Session() SessionResolver
	Ticket() TicketResolver
}

type SessionResolver added in v0.8.0

type SessionResolver interface {
	User(ctx context.Context, obj *graphql1.Session) (*graphql1.User, error)
}

type TicketResolver

type TicketResolver interface {
	ID(ctx context.Context, obj *ticket.Ticket) (string, error)
	Status(ctx context.Context, obj *ticket.Ticket) (string, error)

	Assignee(ctx context.Context, obj *ticket.Ticket) (*graphql1.User, error)
	Alerts(ctx context.Context, obj *ticket.Ticket) ([]*alert.Alert, error)
	AlertsPaginated(ctx context.Context, obj *ticket.Ticket, offset *int, limit *int) (*graphql1.AlertsResponse, error)
	Comments(ctx context.Context, obj *ticket.Ticket) ([]*ticket.Comment, error)
	AlertsCount(ctx context.Context, obj *ticket.Ticket) (int, error)
	CommentsCount(ctx context.Context, obj *ticket.Ticket) (int, error)
	Conclusion(ctx context.Context, obj *ticket.Ticket) (*string, error)

	SlackLink(ctx context.Context, obj *ticket.Ticket) (*string, error)
	CreatedAt(ctx context.Context, obj *ticket.Ticket) (string, error)
	UpdatedAt(ctx context.Context, obj *ticket.Ticket) (string, error)
	ResolvedAt(ctx context.Context, obj *ticket.Ticket) (*string, error)
	ArchivedAt(ctx context.Context, obj *ticket.Ticket) (*string, error)

	Tags(ctx context.Context, obj *ticket.Ticket) ([]string, error)
	TagObjects(ctx context.Context, obj *ticket.Ticket) ([]*graphql1.TagObject, error)
}

Jump to

Keyboard shortcuts

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