import type { WorkflowDefinition } from "@codemation/core"; import { inject } from "@codemation/core"; import { ApplicationTokens } from "../../applicationTokens"; import type { WorkflowDefinitionRepository } from "../../domain/workflows/WorkflowDefinitionRepository"; import { HandlesQuery } from "../../infrastructure/di/HandlesQueryRegistry"; import { QueryHandler } from "../bus/QueryHandler"; import { GetWorkflowSummariesQuery } from "./GetWorkflowSummariesQuery"; @HandlesQuery.for(GetWorkflowSummariesQuery) export class GetWorkflowSummariesQueryHandler extends QueryHandler< GetWorkflowSummariesQuery, ReadonlyArray > { constructor( @inject(ApplicationTokens.WorkflowDefinitionRepository) private readonly workflowDefinitionRepository: WorkflowDefinitionRepository, ) { super(); } async execute(query: GetWorkflowSummariesQuery): Promise> { void query; return await this.workflowDefinitionRepository.listDefinitions(); } }