import { makeService } from "@ethicdevs/react-monolith";
import type { PipelineServiceAPI, PipelineServiceDeps } from "./types";
import { default as makeListByRepo } from "./listByRepo";
import { default as makeListByRepoId } from "./listByRepoId";
import { default as makeGetPipeline } from "./getPipeline";
import { default as makeSetPipeline } from "./setPipeline";
import { default as makeRmPipeline } from "./rmPipeline";
import { default as makeParsePipelineManifest } from "./parsePipelineManifest";
import { default as makeGetRepoPipelineManifest } from "./getRepoPipelineManifest";
import { default as makeGetPipelineManifest } from "./getPipelineManifest";
import { default as makeGetPipelineStages } from "./getPipelineStages";
import { default as makeGetPipelineStageLogs } from "./getPipelineStageLogs";
import { default as makeGetPipelineArtefacts } from "./getPipelineArtefacts";
import { default as makeResetRunnerCache } from "./resetRunnerCache";
import { default as makeInitRunnerForRepo } from "./initRunnerForRepo";
import { default as makeTriggerRunner } from "./triggerRunner";
import { default as makeCancelRunner } from "./cancelRunner";
export const makePipelineService = makeService<
PipelineServiceAPI,
PipelineServiceDeps
>({
listByRepo: makeListByRepo,
listByRepoId: makeListByRepoId,
getPipeline: makeGetPipeline,
setPipeline: makeSetPipeline,
rmPipeline: makeRmPipeline,
parsePipelineManifest: makeParsePipelineManifest,
getRepoPipelineManifest: makeGetRepoPipelineManifest,
getPipelineManifest: makeGetPipelineManifest,
getPipelineStages: makeGetPipelineStages,
getPipelineArtefacts: makeGetPipelineArtefacts,
getPipelineStageLogs: makeGetPipelineStageLogs,
resetRunnerCache: makeResetRunnerCache,
initRunnerForRepo: makeInitRunnerForRepo,
triggerRunner: makeTriggerRunner,
cancelRunner: makeCancelRunner,
});