@finos/legend-studio
Version:
72 lines • 3.35 kB
TypeScript
/**
* Copyright (c) 2020-present, Goldman Sachs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { type GeneratorFn, ActionState } from '@finos/legend-shared';
import { type SDLCServerClient, WorkspaceType, Project, Workspace } from '@finos/legend-server-sdlc';
import type { LegendStudioApplicationStore } from '../LegendStudioBaseStore.js';
interface ImportProjectSuccessReport {
projectId: string;
projectName: string;
reviewUrl: string;
}
export interface ProjectOption {
label: string;
value: string;
}
export interface WorkspaceOption {
label: string;
value: Workspace;
__isNew__?: boolean | undefined;
}
export interface WorkspaceIdentifier {
workspaceId: string;
workspaceType: WorkspaceType;
}
export declare class WorkspaceSetupStore {
applicationStore: LegendStudioApplicationStore;
sdlcServerClient: SDLCServerClient;
currentProjectId?: string | undefined;
currentWorkspaceIdentifier?: WorkspaceIdentifier | undefined;
projects?: Map<string, Project> | undefined;
workspacesByProject: Map<string, Map<string, Workspace>>;
loadWorkspacesState: ActionState;
createWorkspaceState: ActionState;
createOrImportProjectState: ActionState;
loadProjectsState: ActionState;
showCreateProjectModal: boolean;
showCreateWorkspaceModal: boolean;
importProjectSuccessReport?: ImportProjectSuccessReport | undefined;
constructor(applicationStore: LegendStudioApplicationStore, sdlcServerClient: SDLCServerClient);
get currentProject(): Project | undefined;
get currentProjectWorkspaces(): Map<string, Workspace> | undefined;
get currentWorkspace(): Workspace | undefined;
get currentWorkspaceCompositeId(): string | undefined;
init(workspaceId: string | undefined, groupWorkspaceId: string | undefined): void;
setShowCreateProjectModal(val: boolean): void;
setShowCreateWorkspaceModal(val: boolean): void;
setCurrentProjectId(id: string | undefined): void;
setCurrentWorkspaceIdentifier(val: WorkspaceIdentifier | undefined): void;
setImportProjectSuccessReport(importProjectSuccessReport: ImportProjectSuccessReport | undefined): void;
fetchProjects(): GeneratorFn<void>;
createProject(name: string, description: string, groupId: string, artifactId: string, tags?: string[]): GeneratorFn<void>;
importProject(id: string, groupId: string, artifactId: string): GeneratorFn<void>;
get projectOptions(): ProjectOption[];
get currentProjectWorkspaceOptions(): WorkspaceOption[];
fetchWorkspaces(projectId: string): GeneratorFn<void>;
buildWorkspaceCompositeId(workspace: WorkspaceIdentifier): string;
createWorkspace(projectId: string, workspaceId: string, workspaceType: WorkspaceType): GeneratorFn<void>;
}
export {};
//# sourceMappingURL=WorkspaceSetupStore.d.ts.map