import type { ReqHandler } from "@ethicdevs/react-monolith";
import { AppRoute, AppRouteParams } from "../../routes.defs";
import { makePipelineService } from "../../services/pipelines";
import PipelineDetailsView, {
PipelineDetailsViewProps,
} from "../../views/pipelines/PipelineDetailsView";
const postPipelineTriggerAction: ReqHandler<
AppRouteParams,
AppRoute.REPOSITORY_PIPELINE_TRIGGER_ACTION
> = async (request, reply) => {
const { orgSlug, repoSlug, pipelineId } = request.params;
const pipelineService = makePipelineService({ request, runner: {} });
const updatedPipeline = await pipelineService.triggerRunner(
orgSlug,
repoSlug,
pipelineId,
);
const reqHandler = reply.makeRequestHandler(request, reply);
return reqHandler<PipelineDetailsViewProps>(PipelineDetailsView.name, {
pipeline: updatedPipeline,
orgSlug,
repoSlug,
});
};
export default postPipelineTriggerAction;