@apistudio/apim-cli
Version:
CLI for API Management Products
18 lines • 1.41 kB
TypeScript
/**
* Copyright Super iPaaS Integration LLC, an IBM Company 2024
*/
import { Project } from "../../lfs/models/project.model.js";
import { VCSFileInfo } from "../models/vcs-file-info.model.js";
import { VCSProject } from "../models/vcs-project.model.js";
import { FileEntry } from "../../common/models/file-entry.model.js";
import { TreeEntry } from "../../common/models/tree-entry.model.js";
export interface IVCSFileManager {
createVCSFile(repoNameWithOwner: string, projectName: string, directoryPath: string | undefined, fileName: string, content?: string): Promise<VCSFileInfo>;
createVCSFolder(repoNameWithOwner: string, directoryPath: string | undefined, folderName: string): Promise<VCSFileInfo>;
renameVCSFile(item: TreeEntry, repoNameWithOwner: string, newName: string, active: VCSProject | Project): Promise<VCSFileInfo | null>;
deleteVCSFile(item: TreeEntry, repoNameWithOwner: string, active: VCSProject): Promise<VCSFileInfo | null>;
deleteVCSFolder(item: TreeEntry, repoNameWithOwner: string, active: VCSProject, id: string | undefined): Promise<VCSFileInfo | null>;
duplicateVCSFile(item: FileEntry, active: VCSProject, entries: FileEntry[]): Promise<VCSFileInfo | null>;
saveVCSFile(fileHandle: VCSFileInfo, currentProject: VCSProject, oldContent: string, newContent: string, newPath: string): Promise<void>;
}
//# sourceMappingURL=vcs-file-manager.interface.d.ts.map