UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

21 lines 1.71 kB
/** * 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"; import { FileInfoWithPaths } from "../../common/file-info-with-paths.model.js"; export interface IVCSFileHandler { createFile(repoNameWithOwner: string, projectName: string, directoryPath: string | undefined, fileName: string, content?: string): Promise<TreeEntry>; createDirectory(repoNameWithOwner: string, directoryPath: string | undefined, directoryName: string): Promise<TreeEntry>; 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<FileInfoWithPaths | null>; duplicateVCSFile(item: FileEntry, active: VCSProject, entries: FileEntry[]): Promise<VCSFileInfo | null>; saveVCSFile(fileHandle: VCSFileInfo, currentProject: VCSProject, oldContent: string, newContent: string): Promise<boolean>; getVCSFileContent(vcsFile: VCSFileInfo, fetchFromRemote?: boolean): Promise<any>; handleAssetUpdate(fileInfo: VCSFileInfo, currentProject: VCSProject, oldContent: string, newContent?: string, newPath?: string): Promise<void>; } //# sourceMappingURL=vcs-file-handler.interface.d.ts.map