@apistudio/apim-cli
Version:
CLI for API Management Products
29 lines • 2.38 kB
TypeScript
/**
* Copyright IBM Corp. 2024, 2025
*/
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';
import { VCShandle } from '../../common/interfaces/file-explorer-handler.interface.js';
import { VCSConfigData } from '../models/vcs-config-data.model.js';
export interface IVCSFileHandler {
createFile(repoNameWithOwner: string, projectName: string, directoryPath: string | undefined, fileName: string, content?: string | any): Promise<TreeEntry>;
createDirectory(repoNameWithOwner: string, directoryPath: string | undefined, directoryName: string): Promise<TreeEntry>;
moveVCSFile(item: TreeEntry, targetDirectory: VCShandle, project: VCSProject): Promise<VCSFileInfo>;
moveVCSFolder(item: TreeEntry, targetDirectory: VCShandle, project: VCSProject): Promise<FileInfoWithPaths | null>;
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): Promise<FileInfoWithPaths | null>;
duplicateVCSFile(item: FileEntry, active: VCSProject, entries: FileEntry[]): Promise<VCSFileInfo | null>;
saveVCSFile(fileHandle: VCSFileInfo, currentProject: VCSProject, oldContent: string, newContent: string): Promise<boolean>;
updateVCSFile(fileInfo: VCSFileInfo, newContent: string): Promise<boolean>;
getVCSFileContent(vcsFile: VCSFileInfo, fetchFromRemote?: boolean): Promise<any>;
handleAssetUpdate(fileInfo: VCSFileInfo, currentProject: VCSProject, oldContent: string, newContent?: string, newPath?: string): Promise<void>;
existsInFolder(sourcePath: string, targetPath: string, project: VCSProject): Promise<boolean>;
setVCSConfigDataInMFE(configData: VCSConfigData): Promise<VCSConfigData | undefined>;
getVCSConfigDataInMFE(): Promise<VCSConfigData | undefined>;
}
//# sourceMappingURL=vcs-file-handler.interface.d.ts.map