Documentation
¶
Index ¶
- Variables
- func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
- type ComplexityRoot
- type Config
- type DirectiveRoot
- type Github__com___kloudlite___api___common__CreatedOrUpdatedByResolver
- type MatchFilterInResolver
- type MatchFilterResolver
- type MutationResolver
- type NotificationConfInResolver
- type NotificationConfResolver
- type NotificationResolver
- type QueryResolver
- type ResolverRoot
- type SubscriptionResolver
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 ComplexityRoot ¶
type ComplexityRoot struct {
CursorPagination struct {
After func(childComplexity int) int
Before func(childComplexity int) int
First func(childComplexity int) int
Last func(childComplexity int) int
OrderBy func(childComplexity int) int
SortDirection func(childComplexity int) int
}
Github__com___kloudlite___api___apps___comms___internal___domain___entities__Email struct {
Enabled func(childComplexity int) int
MailAddress func(childComplexity int) int
}
Github__com___kloudlite___api___apps___comms___internal___domain___entities__Slack struct {
Enabled func(childComplexity int) int
URL func(childComplexity int) int
}
Github__com___kloudlite___api___apps___comms___internal___domain___entities__Telegram struct {
ChatID func(childComplexity int) int
Enabled func(childComplexity int) int
Token func(childComplexity int) int
}
Github__com___kloudlite___api___apps___comms___internal___domain___entities__Webhook struct {
Enabled func(childComplexity int) int
URL func(childComplexity int) int
}
Github__com___kloudlite___api___apps___comms___types__NotifyContent struct {
Body func(childComplexity int) int
Image func(childComplexity int) int
Link func(childComplexity int) int
Subject func(childComplexity int) int
Title func(childComplexity int) int
}
Github__com___kloudlite___api___common__CreatedOrUpdatedBy struct {
UserEmail func(childComplexity int) int
UserID func(childComplexity int) int
UserName func(childComplexity int) int
}
MatchFilter struct {
Array func(childComplexity int) int
Exact func(childComplexity int) int
MatchType func(childComplexity int) int
NotInArray func(childComplexity int) int
Regex func(childComplexity int) int
}
Mutation struct {
CommsMarkAllNotificationAsRead func(childComplexity int) int
CommsMarkNotificationAsRead func(childComplexity int, id repos.ID) int
CommsUpdateNotificationConfig func(childComplexity int, config entities.NotificationConf) int
CommsUpdateSubscriptionConfig func(childComplexity int, config entities.Subscription, id repos.ID) int
}
Notification struct {
AccountName func(childComplexity int) int
Content func(childComplexity int) int
CreationTime func(childComplexity int) int
Id func(childComplexity int) int
MarkedForDeletion func(childComplexity int) int
NotificationType func(childComplexity int) int
Priority func(childComplexity int) int
Read func(childComplexity int) int
RecordVersion func(childComplexity int) int
UpdateTime func(childComplexity int) int
}
NotificationConf struct {
AccountName func(childComplexity int) int
CreatedBy func(childComplexity int) int
CreationTime func(childComplexity int) int
Email func(childComplexity int) int
Id func(childComplexity int) int
LastUpdatedBy func(childComplexity int) int
MarkedForDeletion func(childComplexity int) int
RecordVersion func(childComplexity int) int
Slack func(childComplexity int) int
Telegram func(childComplexity int) int
UpdateTime func(childComplexity int) int
Webhook func(childComplexity int) int
}
NotificationEdge struct {
Cursor func(childComplexity int) int
Node func(childComplexity int) int
}
NotificationPaginatedRecords struct {
Edges func(childComplexity int) int
PageInfo func(childComplexity int) int
TotalCount func(childComplexity int) int
}
PageInfo struct {
EndCursor func(childComplexity int) int
HasNextPage func(childComplexity int) int
HasPrevPage func(childComplexity int) int
StartCursor func(childComplexity int) int
}
Pagination struct {
Page func(childComplexity int) int
PerPage func(childComplexity int) int
}
Query struct {
CommsGetNotificationConfig func(childComplexity int) int
CommsGetSubscriptionConfig func(childComplexity int, id repos.ID) int
CommsListNotifications func(childComplexity int, pagination *repos.CursorPagination) int
// contains filtered or unexported fields
}
Subscription struct {
AccountName func(childComplexity int) int
CreatedBy func(childComplexity int) int
CreationTime func(childComplexity int) int
Enabled func(childComplexity int) int
ID func(childComplexity int) int
LastUpdatedBy func(childComplexity int) int
MailAddress func(childComplexity int) int
MarkedForDeletion func(childComplexity int) int
RecordVersion func(childComplexity int) int
UpdateTime func(childComplexity int) int
}
// contains filtered or unexported fields
}
type Config ¶
type Config struct {
Schema *ast.Schema
Resolvers ResolverRoot
Directives DirectiveRoot
Complexity ComplexityRoot
}
type DirectiveRoot ¶
type MatchFilterInResolver ¶
type MatchFilterInResolver interface {
MatchType(ctx context.Context, obj *repos.MatchFilter, data model.GithubComKloudliteAPIPkgReposMatchType) error
}
type MatchFilterResolver ¶
type MatchFilterResolver interface {
MatchType(ctx context.Context, obj *repos.MatchFilter) (model.GithubComKloudliteAPIPkgReposMatchType, error)
}
type MutationResolver ¶
type MutationResolver interface {
CommsUpdateNotificationConfig(ctx context.Context, config entities.NotificationConf) (*entities.NotificationConf, error)
CommsUpdateSubscriptionConfig(ctx context.Context, config entities.Subscription, id repos.ID) (*entities.Subscription, error)
CommsMarkNotificationAsRead(ctx context.Context, id repos.ID) (*types.Notification, error)
CommsMarkAllNotificationAsRead(ctx context.Context) (bool, error)
}
type NotificationConfInResolver ¶
type NotificationConfInResolver interface {
Email(ctx context.Context, obj *entities.NotificationConf, data *model.GithubComKloudliteAPIAppsCommsInternalDomainEntitiesEmailIn) error
Slack(ctx context.Context, obj *entities.NotificationConf, data *model.GithubComKloudliteAPIAppsCommsInternalDomainEntitiesSlackIn) error
Telegram(ctx context.Context, obj *entities.NotificationConf, data *model.GithubComKloudliteAPIAppsCommsInternalDomainEntitiesTelegramIn) error
Webhook(ctx context.Context, obj *entities.NotificationConf, data *model.GithubComKloudliteAPIAppsCommsInternalDomainEntitiesWebhookIn) error
}
type NotificationConfResolver ¶
type NotificationConfResolver interface {
CreationTime(ctx context.Context, obj *entities.NotificationConf) (string, error)
Email(ctx context.Context, obj *entities.NotificationConf) (*model.GithubComKloudliteAPIAppsCommsInternalDomainEntitiesEmail, error)
Slack(ctx context.Context, obj *entities.NotificationConf) (*model.GithubComKloudliteAPIAppsCommsInternalDomainEntitiesSlack, error)
Telegram(ctx context.Context, obj *entities.NotificationConf) (*model.GithubComKloudliteAPIAppsCommsInternalDomainEntitiesTelegram, error)
UpdateTime(ctx context.Context, obj *entities.NotificationConf) (string, error)
Webhook(ctx context.Context, obj *entities.NotificationConf) (*model.GithubComKloudliteAPIAppsCommsInternalDomainEntitiesWebhook, error)
}
type NotificationResolver ¶
type NotificationResolver interface {
Content(ctx context.Context, obj *types.Notification) (*model.GithubComKloudliteAPIAppsCommsTypesNotifyContent, error)
CreationTime(ctx context.Context, obj *types.Notification) (string, error)
NotificationType(ctx context.Context, obj *types.Notification) (model.GithubComKloudliteAPIAppsCommsTypesNotificationType, error)
UpdateTime(ctx context.Context, obj *types.Notification) (string, error)
}
type QueryResolver ¶
type QueryResolver interface {
CommsListNotifications(ctx context.Context, pagination *repos.CursorPagination) (*model.NotificationPaginatedRecords, error)
CommsGetNotificationConfig(ctx context.Context) (*entities.NotificationConf, error)
CommsGetSubscriptionConfig(ctx context.Context, id repos.ID) (*entities.Subscription, error)
}
type ResolverRoot ¶
type ResolverRoot interface {
Github__com___kloudlite___api___common__CreatedOrUpdatedBy() Github__com___kloudlite___api___common__CreatedOrUpdatedByResolver
MatchFilter() MatchFilterResolver
Mutation() MutationResolver
Notification() NotificationResolver
NotificationConf() NotificationConfResolver
Query() QueryResolver
Subscription() SubscriptionResolver
MatchFilterIn() MatchFilterInResolver
NotificationConfIn() NotificationConfInResolver
}
type SubscriptionResolver ¶
type SubscriptionResolver interface {
AccountName(ctx context.Context) (<-chan string, error)
CreatedBy(ctx context.Context) (<-chan *common.CreatedOrUpdatedBy, error)
CreationTime(ctx context.Context) (<-chan string, error)
Enabled(ctx context.Context) (<-chan bool, error)
ID(ctx context.Context) (<-chan repos.ID, error)
LastUpdatedBy(ctx context.Context) (<-chan *common.CreatedOrUpdatedBy, error)
MailAddress(ctx context.Context) (<-chan string, error)
MarkedForDeletion(ctx context.Context) (<-chan *bool, error)
RecordVersion(ctx context.Context) (<-chan int, error)
UpdateTime(ctx context.Context) (<-chan string, error)
}
Click to show internal directories.
Click to hide internal directories.