main
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)