UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

86 lines (83 loc) 2.53 kB
/** * 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>; }