UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

61 lines (58 loc) 2.37 kB
/** * 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[]; };