.ts
TypeScript
(application/typescript)
// 1st-party
import { makeService } from "@ethicdevs/react-monolith";
// app
import type { RepositoryServiceAPI, RepositoryServiceDeps } from "./types";
// service methods
import { default as makeCreateRepository } from "./createRepository";
import { default as makeGetRepository } from "./getRepository";
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 makeIsFileInRepositoryPath } from "./isFileInRepositoryPath";

export const makeRepositoryService = makeService<
  RepositoryServiceAPI,
  RepositoryServiceDeps
>({
  createRepository: makeCreateRepository,
  getRepository: makeGetRepository,
  getRepositoryCommitLog: makeGetRepositoryCommitLog,
  getRepositoryExploreCollection: makeGetRepositoryExploreCollection,
  getRepositoryFileContent: makeGetRepositoryFileContent,
  getRepositoryFileContentBase64: makeGetRepositoryFileContentBase64,
  getRepositoryFiles: makeGetRepositoryFiles,
  getRepositoryHead: makeGetRepositoryHead,
  getRepositoryHTTPCloneUrl: makeGetRepositoryHTTPCloneUrl,
  getRepositorySSHCloneUrl: makeGetRepositorySSHCloneUrl,
  isFileInRepositoryPath: makeIsFileInRepositoryPath,
});