@apistudio/apim-cli
Version:
CLI for API Management Products
35 lines (32 loc) • 1.21 kB
text/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 { VCSFileInfo } from '../../vcs/models/vcs-file-info.model.js';
import { VCSProject } from '../../vcs/models/vcs-project.model.js';
import {
AssetDependencies,
AssetDependencyInfo,
} from '../model/asset-dependency.model.js';
export interface IAssetDependencyHandler {
getAssetDependenciesFromProject(
project: Project | VCSProject | APICProject,
): Promise<AssetDependencyInfo[]>;
getAssetDependencyForFile(
file: FileSystemFileHandle | VCSFileInfo | APICFileInfo,
project: Project | VCSProject | APICProject,
): Promise<AssetDependencyInfo | null>;
handleReferenceUpdateOnDragAndDrop(
fileToBeMoved: FileSystemFileHandle | VCSFileInfo | APICFileInfo,
sourcePath: string,
destinationPath: string,
data: AssetDependencies,
saveFile: (
file: FileSystemFileHandle | VCSFileInfo | APICFileInfo,
fileContent: string,
) => Promise<boolean>,
newFileName?: string,
): Promise<void>;
}