@apistudio/apim-cli
Version:
CLI for API Management Products
21 lines (18 loc) • 832 B
text/typescript
/**
* Copyright IBM Corp. 2024, 2025
*/
import { VCSConfigData } from '../models/vcs-config-data.model.js';
import { VCSRepoData } from '../models/vcs-repo-data.model.js';
import { Response } from '../../common/models/response-wrapper.js';
import { TreeEntry } from '../../common/models/tree-entry.model.js';
export interface IVcsRepoHandler {
getVcsConfig(): Promise<Response<null | VCSConfigData>>;
setVcsConfig(vcsConfig: VCSConfigData): Promise<void>;
addRepositories(
repoInfo: VCSRepoData[],
): Promise<Response<void | VCSRepoData[]>>;
getAllRepositories(): Promise<Response<VCSRepoData[] | void>>;
getRepository(rootDirAlias: string): Promise<Response<VCSRepoData | null>>;
deleteRepository(name: string): Promise<void>;
getRepositoryContent(repoNameWithOwner: string): Promise<TreeEntry[] | void>;
}