import { makeService } from "@ethicdevs/react-monolith";
import type { RepositoryServiceAPI, RepositoryServiceDeps } from "./types";
import { default as makeCanUserAccessRepository } from "./canUserAccessRepository";
import { default as makeCreateRepository } from "./createRepository";
import { default as makeGetRepository } from "./getRepository";
import { default as makeGetRepositoryBranches } from "./getRepositoryBranches";
import { default as makeGetRepositoryCommitLog } from "./getRepositoryCommitLog";
import { default as makeGetRepositoryExploreCollection } from "./getRepositoryExploreCollection";
import { default as makeGetRepositoryFileContent } from "./getRepositoryFileContent";
import { default as makeGetRepositoryFileContentBase64 } from "./getRepositoryFileContentBase64";
import { default as makeGetRepositoryFiles } from "./getRepositoryFiles";
import { default as makeGetRepositoryHead } from "./getRepositoryHead";
import { default as makeGetRepositoryHTTPCloneUrl } from "./getRepositoryHTTPCloneUrl";
import { default as makeGetRepositorySSHCloneUrl } from "./getRepositorySSHCloneUrl";
import { default as makeGetRepositoryObject } from "./getRepositoryObject";
import { default as makeGetRepositoryRefDiff } from "./getRepositoryRefDiff";
import { default as makeGetRepositoryTags } from "./getRepositoryTags";
import { default as makeIsFileInRepositoryPath } from "./isFileInRepositoryPath";
export const makeRepositoryService = makeService<
RepositoryServiceAPI,
RepositoryServiceDeps
>({
canUserAccessRepository: makeCanUserAccessRepository,
createRepository: makeCreateRepository,
getRepository: makeGetRepository,
getRepositoryBranches: makeGetRepositoryBranches,
getRepositoryCommitLog: makeGetRepositoryCommitLog,
getRepositoryExploreCollection: makeGetRepositoryExploreCollection,
getRepositoryFileContent: makeGetRepositoryFileContent,
getRepositoryFileContentBase64: makeGetRepositoryFileContentBase64,
getRepositoryFiles: makeGetRepositoryFiles,
getRepositoryHead: makeGetRepositoryHead,
getRepositoryHTTPCloneUrl: makeGetRepositoryHTTPCloneUrl,
getRepositorySSHCloneUrl: makeGetRepositorySSHCloneUrl,
getRepositoryObject: makeGetRepositoryObject,
getRepositoryRefDiff: makeGetRepositoryRefDiff,
getRepositoryTags: makeGetRepositoryTags,
isFileInRepositoryPath: makeIsFileInRepositoryPath,
});