@apistudio/apim-cli
Version:
CLI for API Management Products
42 lines • 2.4 kB
TypeScript
/**
* Copyright IBM Corp. 2024, 2025
*/
import { AssetMetadata } from '../../lfs/models/asset-metadata.model.js';
import { Assets } from '../../lfs/models/assets.model.js';
import { APICProject } from '../../apic-mode/models/apic-project.model.js';
import { Project } from '../../lfs/models/project.model.js';
import { RootDirectoryInfo } from '../../lfs/models/root-directory-info.model.js';
import { VCSProject } from '../../vcs/models/vcs-project.model.js';
export type ProjectState = {
projects: (Project | VCSProject | APICProject)[];
active: Project | VCSProject | APICProject | null;
repoWorkingBranch: string | null;
isApicProjectsLoading: boolean;
activeTabIndex: number;
apicProjectNameToIdMap: Map<string, string>;
};
export type ProjectAssetKeys = keyof Omit<Assets, 'otherFiles'>;
export type ProjectActions = {
intializeStore: () => Promise<void>;
initializeAPICStore: () => Promise<void>;
loadProjectsForParentsFolder: (rootDirectoryInfo: RootDirectoryInfo) => Promise<void>;
loadProjectsForParentsFolders: (rootDirectories: RootDirectoryInfo[]) => Promise<void>;
addProject: (newProject: Project | VCSProject | APICProject) => void;
createProject: (newProject: Project | VCSProject, fileList?: File[]) => Promise<void>;
updateProject: (prevProject: Project | VCSProject, updatedProject: Project | VCSProject) => void;
openProject: (project: Project | VCSProject | APICProject) => Promise<void>;
refreshProject: (project: Project | VCSProject | APICProject) => Promise<void>;
toggleIsPinnedProject: (projectName: string, rootDirectoryAlias: string) => void;
deleteProjects: (parentFolderAlias: string[]) => void;
removeProjects: (projects: (Project | VCSProject | APICProject)[]) => void;
addProjects: (newProject: (Project | VCSProject | APICProject)[]) => Promise<void>;
setActive: (project: Project | VCSProject | APICProject | null) => void;
setLastUpdatedForActiveProject: (lastUpdated?: number) => void;
intializeVcsStore: () => Promise<void>;
removeAllVCSProject: () => void;
refreshActiveProject: () => Promise<void>;
setActiveOnVcsCommitAndPush: (project: Project | VCSProject | null) => void;
resetProjectsForEmbeddedMode: () => void;
getAllAssetsInfo: (assetAccessKey: ProjectAssetKeys) => AssetMetadata[];
};
//# sourceMappingURL=project-store.model.d.ts.map