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.