UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

57 lines (54 loc) 1.77 kB
/** * Copyright IBM Corp. 2024, 2025 */ import { TreeEntry } from '../../common/models/tree-entry.model.js'; import { APIChandle } from '../../common/interfaces/file-explorer-handler.interface.js'; import { APICFileInfo } from '../models/apic-file-info.model.js'; import { APICProject } from '../models/apic-project.model.js'; export interface IAPICFileHandler { saveFile( fileHandle: APICFileInfo, currentProject: APICProject, content: string, ): Promise<boolean>; updateFile(fileHandle: APICFileInfo, content: string): Promise<boolean>; createFile( orgId: string, projectId: string, projectName: string, directoryPath: string | undefined, fileName: string, content: string | Blob | any, ): Promise<any>; getAPICFileContent(apicFile: APICFileInfo): Promise<string>; getAllFilesFromTheProject( orgId: string, projectName: string, ): Promise<APICFileInfo[]>; getAPICFileDetails(project: APICProject): Promise<APICFileInfo[]>; deleteFile(fileInfo: APICFileInfo): Promise<APICFileInfo>; sendAPICFileToServer( orgId: string, projectId: string, path: string, content: string, ): Promise<APICFileInfo>; createDirectory( project: APICProject, directoryPath: string | undefined, directoryName: string, ): Promise<TreeEntry>; deleteFromIndexDb(fileKey: string): Promise<boolean>; moveAPICFile( item: APICFileInfo, targetDirectory: APIChandle, project: APICProject, ): Promise<APICFileInfo>; renameAPICFile( item: APICFileInfo, newName: string, project: APICProject, ): Promise<APICFileInfo>; getFileDetailsFromTheProject(project: APICProject): Promise<APICFileInfo[]>; removeIndexDbEntriesBasedOnProject(projectName: string): Promise<any>; }