@apistudio/apim-cli
Version:
CLI for API Management Products
37 lines • 1.58 kB
TypeScript
/**
* Copyright IBM Corp. 2024, 2025
*/
import { APICAssetInfo } from "../../apic-mode/models/apic-asset-info.model.js";
import { APICFileInfo } from "../../apic-mode/models/apic-file-info.model.js";
import { APICProject } from "../../apic-mode/models/apic-project.model.js";
import { AssetInfo } from "../../lfs/models/asset-info.model.js";
import { Project } from "../../lfs/models/project.model.js";
import { VCSAssetInfo } from "../../vcs/models/vcs-asset-info.model.js";
import { VCSFileInfo } from "../../vcs/models/vcs-file-info.model.js";
import { VCSProject } from "../../vcs/models/vcs-project.model.js";
export interface PathDependencyModel {
key: string;
fileHandle: FileSystemFileHandle | VCSFileInfo | APICFileInfo;
}
export interface AssetDependencyInfo {
assetInfo: AssetInfo | VCSAssetInfo | APICAssetInfo;
absolutePath: string;
rootDirAlias: string;
projectName: string;
pathReferences: PathDependencyModel[];
}
export interface AssetDependencies {
apis: AssetDependencyInfo[];
policies: AssetDependencyInfo[];
}
export interface AssetDependencyContext {
data: AssetDependencies;
}
export interface AssetDependencyActions {
loadAssetDependencies: () => Promise<void>;
addAssetDependency: (assetInfo: AssetDependencyInfo) => void;
removeDependentAsset: (assetInfo: AssetDependencyInfo) => void;
refreshProject: (project: Project | VCSProject | APICProject) => Promise<void>;
removeProject: (project: Project | VCSProject | APICProject) => void;
}
//# sourceMappingURL=asset-dependency.model.d.ts.map