main
Raw Download raw file
 1package api
 2
 3import (
 4	"context"
 5	"mysh/pkg/mythic"
 6)
 7
 8// MythicClient defines the interface for Mythic operations needed by the api package
 9type MythicClient interface {
10	GetActiveCallbacks(ctx context.Context) ([]mythic.Callback, error)
11	CreateTask(ctx context.Context, callbackID int, command, params string) (*mythic.Task, error)
12	GetTaskResponse(ctx context.Context, taskID int) (*mythic.Task, error)
13	GetTasksWithResponses(ctx context.Context, callbackID int, limit int) ([]mythic.Task, error)
14	GetAllTasksWithResponses(ctx context.Context, limit int) ([]mythic.Task, error)
15}
16
17// Ensure that the real Client implements the interface
18var _ MythicClient = (*mythic.Client)(nil)