@apistudio/apim-cli
Version:
CLI for API Management Products
36 lines • 2.15 kB
TypeScript
/**
* Copyright IBM Corp. 2024, 2025
*/
import { APICFileInfo } from '../../apic-mode/models/apic-file-info.model.js';
import { APICProject } from '../../apic-mode/models/apic-project.model.js';
import { Project } from '../../lfs/models/project.model.js';
import { VCSProject } from '../../vcs/models/vcs-project.model.js';
import { ActionType } from '../models/action-type.model.js';
import { FileEntry } from '../models/file-entry.model.js';
import { FileExplorerNode } from '../models/file-explorer.model.js';
export interface IFileEntryManager {
/**
* Given a project it generates unique fileName based on files in the project folder
* for both local and VCS projects
* @param project Local or VCSProject object
* @param fileName Base name for generating a unique file name
* @returns a unique file name in the given project folder
*/
generateUniqueFileName(project: Project | VCSProject | APICProject, fileName: string, subFolderPath?: string): Promise<string>;
/**
* @deprecated Use the generateUniqueFileName instead.
*/
generateCreateFilename(existingNames: string[], baseName: string): string;
sortFiles(subEntries: FileEntry[]): void;
getVCSSubEntries(repoNameWithOwner: string, itemName: string): Promise<FileExplorerNode[]>;
getVCSSubEntriesForFolderDelete(repoNameWithOwner: string, itemPath: string, depth?: number): Promise<FileExplorerNode[]>;
generateUniqueName(baseName: string, isDirectory: boolean, directory?: FileSystemDirectoryHandle | null, entries?: FileEntry[], index?: number): Promise<string>;
validateAction(actionType: ActionType, name: string, entries: FileEntry[]): string | null;
getAction(actionType: ActionType): void;
getSubEntries(dirHandle: FileSystemDirectoryHandle, idFocus?: string): Promise<FileEntry[]>;
getAPICSubEntries(orgId: string, project: APICProject): Promise<FileExplorerNode[]>;
getAPICSubEntriesForFolderDeleteAndUpdate(project: APICProject, itemPath: string, targetPath: string): Promise<(APICFileInfo & {
targetPath: string;
})[]>;
}
//# sourceMappingURL=file-entry-manager.interface.d.ts.map