Documentation
¶
Index ¶
- func DataLoaderMiddleware(repo interfaces.Repository, slackClient interfaces.SlackClient) func(http.Handler) http.Handler
- func GetAlert(ctx context.Context, alertID types.AlertID) (*alert.Alert, error)
- func GetTicket(ctx context.Context, ticketID types.TicketID) (*ticket.Ticket, error)
- func GetUser(ctx context.Context, userID string) (*graphql1.User, error)
- func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
- type ActivityResolver
- type AlertResolver
- type CommentResolver
- type ComplexityRoot
- type Config
- type DirectiveRoot
- type FindingResolver
- type MutationResolver
- type QueryResolver
- type Resolver
- func (r *Resolver) Activity() ActivityResolver
- func (r *Resolver) Alert() AlertResolver
- func (r *Resolver) Comment() CommentResolver
- func (r *Resolver) Finding() FindingResolver
- func (r *Resolver) Mutation() MutationResolver
- func (r *Resolver) Query() QueryResolver
- func (r *Resolver) Ticket() TicketResolver
- type ResolverRoot
- type TicketResolver
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 NewExecutableSchema ¶
func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.
Types ¶
type ActivityResolver ¶
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
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
}
AlertCluster struct {
Alerts func(childComplexity int) int
CenterAlert func(childComplexity int) int
CreatedAt func(childComplexity int) int
ID func(childComplexity int) int
Keywords func(childComplexity int) int
Size func(childComplexity int) int
}
AlertsConnection struct {
Alerts func(childComplexity int) int
TotalCount func(childComplexity int) int
}
AlertsResponse struct {
Alerts func(childComplexity int) int
TotalCount func(childComplexity int) int
}
ClusteringSummary struct {
Clusters func(childComplexity int) int
ComputedAt func(childComplexity int) int
NoiseAlerts func(childComplexity int) int
Parameters 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
}
DBSCANParameters struct {
Eps func(childComplexity int) int
MinSamples func(childComplexity int) int
}
DashboardStats struct {
OpenTickets func(childComplexity int) int
OpenTicketsCount func(childComplexity int) int
UnboundAlerts func(childComplexity int) int
UnboundAlertsCount 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
}
Mutation struct {
BindAlertsToTicket func(childComplexity int, ticketID string, alertIds []string) 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
DeleteTag func(childComplexity int, id string) int
UpdateAlertTags func(childComplexity int, alertID string, tagIds []string) int
UpdateMultipleTicketsStatus func(childComplexity int, ids []string, status string) 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
UpdateTicketStatus func(childComplexity int, id string, status 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
AlertClusters func(childComplexity int, limit *int, offset *int, minClusterSize *int, eps *float64, minSamples *int, keyword *string) int
Alerts func(childComplexity int, offset *int, limit *int) int
AvailableTagColorNames func(childComplexity int) int
AvailableTagColors func(childComplexity int) int
ClusterAlerts func(childComplexity int, clusterID string, keyword *string, limit *int, offset *int) int
Dashboard func(childComplexity int) 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
Tickets func(childComplexity int, statuses []string, offset *int, limit *int) int
UnboundAlerts func(childComplexity int, threshold *float64, keyword *string, ticketID *string, offset *int, limit *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
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
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
Name func(childComplexity int) int
}
}
type Config ¶
type Config struct {
Schema *ast.Schema
Resolvers ResolverRoot
Directives DirectiveRoot
Complexity ComplexityRoot
}
type DirectiveRoot ¶
type DirectiveRoot struct {
}
type FindingResolver ¶
type MutationResolver ¶
type MutationResolver interface {
UpdateTicketStatus(ctx context.Context, id string, status string) (*ticket.Ticket, error)
UpdateMultipleTicketsStatus(ctx context.Context, ids []string, status 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)
}
type QueryResolver ¶
type QueryResolver interface {
Ticket(ctx context.Context, id string) (*ticket.Ticket, error)
Tickets(ctx context.Context, statuses []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) (*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)
AlertClusters(ctx context.Context, limit *int, offset *int, minClusterSize *int, eps *float64, minSamples *int, keyword *string) (*graphql1.ClusteringSummary, error)
ClusterAlerts(ctx context.Context, clusterID string, keyword *string, limit *int, offset *int) (*graphql1.AlertsConnection, error)
Tags(ctx context.Context) ([]*graphql1.TagMetadata, error)
AvailableTagColors(ctx context.Context) ([]string, error)
AvailableTagColorNames(ctx context.Context) ([]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) *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) Mutation ¶
func (r *Resolver) Mutation() MutationResolver
Mutation returns MutationResolver implementation.
func (*Resolver) Query ¶
func (r *Resolver) Query() QueryResolver
Query returns QueryResolver implementation.
func (*Resolver) Ticket ¶
func (r *Resolver) Ticket() TicketResolver
Ticket returns TicketResolver implementation.
type ResolverRoot ¶
type ResolverRoot interface {
Activity() ActivityResolver
Alert() AlertResolver
Comment() CommentResolver
Finding() FindingResolver
Mutation() MutationResolver
Query() QueryResolver
Ticket() TicketResolver
}
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)
Tags(ctx context.Context, obj *ticket.Ticket) ([]string, error)
TagObjects(ctx context.Context, obj *ticket.Ticket) ([]*graphql1.TagObject, error)
}
Click to show internal directories.
Click to hide internal directories.