50 lines
2.1 KiB
Go
50 lines
2.1 KiB
Go
package dashboard
|
|
|
|
import (
|
|
"context"
|
|
|
|
"inbox/internal/domain/humantask"
|
|
"inbox/internal/domain/lane"
|
|
"inbox/internal/domain/lanesync"
|
|
"inbox/internal/domain/message"
|
|
"inbox/internal/domain/role"
|
|
"inbox/internal/domain/task"
|
|
"inbox/internal/domain/taskgraph"
|
|
"inbox/internal/domain/topic"
|
|
"inbox/internal/domain/workflow"
|
|
"inbox/internal/domain/workspace"
|
|
)
|
|
|
|
type OverviewRepository interface {
|
|
GetProject(ctx context.Context, projectID string) (workspace.Project, error)
|
|
GetTopicBySlugOrTitle(ctx context.Context, workspaceID, value string, spaces ...topic.Space) (topic.Record, error)
|
|
ListTopics(ctx context.Context, workspaceID string) ([]topic.Record, error)
|
|
ListTopicsBySpace(ctx context.Context, workspaceID string, space topic.Space) ([]topic.Record, error)
|
|
ListMessagesByWorkspace(ctx context.Context, workspaceID string) ([]message.Record, error)
|
|
ListMessagesByTopic(ctx context.Context, topicID string) ([]message.Record, error)
|
|
ListRoles(ctx context.Context) ([]role.Definition, error)
|
|
ListLanesByWorkspace(ctx context.Context, workspaceID string) ([]lane.Record, error)
|
|
ListLanesByTopic(ctx context.Context, topicID string) ([]lane.Record, error)
|
|
ListLaneSyncsByTopic(ctx context.Context, topicID string) ([]lanesync.Record, error)
|
|
ListTasksByTopic(ctx context.Context, topicID string) ([]task.Record, error)
|
|
ListTaskDependencies(ctx context.Context, taskID string) ([]task.Dependency, error)
|
|
GetLatestTaskGraphVersionByTopic(ctx context.Context, topicID string) (taskgraph.Record, error)
|
|
ListWorkflowRunsByWorkspace(ctx context.Context, workspaceID string) ([]workflow.Run, error)
|
|
ListWorkflowRunsByTopic(ctx context.Context, topicID string) ([]workflow.Run, error)
|
|
ListPendingHumanTasksByWorkspace(ctx context.Context, workspaceID string) ([]humantask.Record, error)
|
|
ListPendingDeliveriesByWorkspace(ctx context.Context, workspaceID string) ([]message.PendingDelivery, error)
|
|
ListWorkflowRunLogs(ctx context.Context, runID string, afterSeq int) ([]workflow.RunLog, error)
|
|
}
|
|
|
|
type Repository interface {
|
|
OverviewRepository
|
|
}
|
|
|
|
type Service struct {
|
|
repo Repository
|
|
}
|
|
|
|
func NewService(repo Repository) *Service {
|
|
return &Service{repo: repo}
|
|
}
|