UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

34 lines (31 loc) 1.69 kB
/** * Copyright Super iPaaS Integration LLC, an IBM Company 2024 */ import { TFunction } from "i18next"; 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)[]; active: Project | VCSProject | null; }; export type ProjectActions = { intializeStore: () => Promise<void>; loadProjectsForParentsFolder: (rootDirectoryInfo: RootDirectoryInfo) => Promise<void>; loadProjectsForParentsFolders: (rootDirectories: RootDirectoryInfo[]) => Promise<void>; addProject: (newProject: Project | VCSProject) => void; createProject: (newProject: Project | VCSProject, fileList?: File[]) => Promise<void>; updateProject: (prevProject: Project | VCSProject, updatedProject: Project | VCSProject) => void; openProject: (project: Project | VCSProject) => Promise<void>; refreshProject: (project: Project | VCSProject) => Promise<void>; toggleIsPinnedProject: (projectName: string, rootDirectoryAlias: string) => void; deleteProjects: (parentFolderAlias: string[]) => void; removeProjects: (projects: (Project | VCSProject)[]) => void; addProjects: (newProject: (Project | VCSProject)[]) => void; setActive: (project: Project | VCSProject | null) => void; setLastUpdatedForActiveProject: (lastUpdated?: number) => void; intializeVcsStore: () => Promise<void>; removeAllVCSProject: () => void; refreshActiveProject: () => void; setActiveOnVcsCommitAndPush: (project: Project | VCSProject | null) => void; };