interfaces

package
v0.0.0-...-5230034 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2021 License: GPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ChatProvider

type ChatProvider interface {
	GetChannelInfo(ctx context.Context, channelID string) (chatmodels.Channel, error)
	PostMessage(ctx context.Context, msg, channel string) (timestamp string)
	PostMessageThread(ctx context.Context, msg, channel, ts string) (timestamp string)
	ErrorNotification(ctx context.Context, user, channel string, err error)
	ErrorNotificationThread(ctx context.Context, user, channel, ts string, err error)
	UserNotificationThread(ctx context.Context, msg, user, channel, ts string)
	DeploymentNotificationThread(ctx context.Context, msg, user, channel, ts string)
	GetUser(ctx context.Context, user string) (*chatmodels.ChatUser, error)
	PostLinkMessageThread(ctx context.Context, msg string, user string, channel string, ts string)
	ShowResultsMessageThread(ctx context.Context, msg, user, channel, ts string)
	ReleaseResultsMessageThread(ctx context.Context, msg, user, channel, ts string)
	PostPrivateMessage(ctx context.Context, msg string, user string)
}

ChatProvider interface used to interface with a Chat Provider (i.e. Slack) TODO: clean up this interface with msg type switch (remove duplicate signatures)

type CommandExecutor

type CommandExecutor interface {
	Execute(ctx context.Context, cmd commands.EvebotCommand, timestamp string)
}

CommandExecutor interface takes an EvebotCommand and Executes a matching handler

type CommandResolver

type CommandResolver interface {
	Resolve(input, channel, user string) commands.EvebotCommand
}

CommandResolver resolves the input and returns an EvebotCommand (Invalid command instead of an error for error cases)

type EveAPI

type EveAPI interface {
	Deploy(ctx context.Context, dp eve.DeploymentPlanOptions, slackUser, slackChannel, ts string) (*eve.DeploymentPlanOptions, error)
	GetEnvironmentByID(ctx context.Context, id string) (*eve.Environment, error)
	GetEnvironments(ctx context.Context) ([]eve.Environment, error)
	GetNamespacesByEnvironment(ctx context.Context, environmentName string) ([]eve.Namespace, error)
	GetServicesByNamespace(ctx context.Context, namespace string) ([]eve.Service, error)
	GetServiceByName(ctx context.Context, namespace, service string) (eve.Service, error)
	GetServiceByID(ctx context.Context, id int) (eve.Service, error)
	DeleteServiceMetadata(ctx context.Context, m string, id int) (params.MetadataMap, error)
	SetServiceVersion(ctx context.Context, version string, id int) (eve.Service, error)
	SetNamespaceVersion(ctx context.Context, version string, id int) (eve.Namespace, error)
	GetNamespaceByID(ctx context.Context, id int) (eve.Namespace, error)
	Release(ctx context.Context, payload eve.Release) ([]eve.Release, error)
	GetMetadata(ctx context.Context, key string) (eve.Metadata, error)
	UpsertMergeMetadata(context.Context, eve.Metadata) (eve.Metadata, error)
	UpsertMetadataServiceMap(context.Context, eve.MetadataServiceMap) (eve.MetadataServiceMap, error)
	DeleteMetadataKey(ctx context.Context, id int, key string) (eve.Metadata, error)
	GetNamespaceJobs(ctx context.Context, ns *eve.Namespace) ([]eve.Job, error)
}

EveAPI interface used to interface with eve/pipeline API TODO: clean up this interface with more generic calls (GET,PUT,POST,DELETE,PATCH with interfaces{})

Jump to

Keyboard shortcuts

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