@finos/legend-extension-dsl-data-space 10.2.0 → 10.2.2
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/__lib__/query/DSL_DataSpace_LegendQueryNavigation.d.ts +18 -6
- package/lib/__lib__/query/DSL_DataSpace_LegendQueryNavigation.d.ts.map +1 -1
- package/lib/__lib__/query/DSL_DataSpace_LegendQueryNavigation.js +18 -6
- package/lib/__lib__/query/DSL_DataSpace_LegendQueryNavigation.js.map +1 -1
- package/lib/components/DSL_DataSpace_LegendApplicationPlugin.d.ts.map +1 -1
- package/lib/components/DSL_DataSpace_LegendApplicationPlugin.js +1 -0
- package/lib/components/DSL_DataSpace_LegendApplicationPlugin.js.map +1 -1
- package/lib/components/query/DSL_DataSpace_LegendQueryApplicationPlugin.d.ts +4 -1
- package/lib/components/query/DSL_DataSpace_LegendQueryApplicationPlugin.d.ts.map +1 -1
- package/lib/components/query/DSL_DataSpace_LegendQueryApplicationPlugin.js +55 -5
- package/lib/components/query/DSL_DataSpace_LegendQueryApplicationPlugin.js.map +1 -1
- package/lib/components/query/DSL_DataSpace_LegendQueryDocumentation.d.ts +19 -0
- package/lib/components/query/DSL_DataSpace_LegendQueryDocumentation.d.ts.map +1 -0
- package/lib/components/query/DSL_DataSpace_LegendQueryDocumentation.js +20 -0
- package/lib/components/query/DSL_DataSpace_LegendQueryDocumentation.js.map +1 -0
- package/lib/components/query/DataSpaceQueryBuilderTemplateQueryPanelContent.d.ts.map +1 -1
- package/lib/components/query/DataSpaceQueryBuilderTemplateQueryPanelContent.js +4 -2
- package/lib/components/query/DataSpaceQueryBuilderTemplateQueryPanelContent.js.map +1 -1
- package/lib/components/query/DataSpaceTemplateQueryCreator.js +4 -4
- package/lib/components/query/DataSpaceTemplateQueryCreator.js.map +1 -1
- package/lib/components/studio/DSL_DataSpace_LegendStudioApplicationPlugin.d.ts +2 -0
- package/lib/components/studio/DSL_DataSpace_LegendStudioApplicationPlugin.d.ts.map +1 -1
- package/lib/components/studio/DSL_DataSpace_LegendStudioApplicationPlugin.js +13 -0
- package/lib/components/studio/DSL_DataSpace_LegendStudioApplicationPlugin.js.map +1 -1
- package/lib/components/studio/DataSpaceTemplateQueryPromoteReview.d.ts +19 -0
- package/lib/components/studio/DataSpaceTemplateQueryPromoteReview.d.ts.map +1 -0
- package/lib/components/studio/DataSpaceTemplateQueryPromoteReview.js +81 -0
- package/lib/components/studio/DataSpaceTemplateQueryPromoteReview.js.map +1 -0
- package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.d.ts +1 -0
- package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.d.ts.map +1 -1
- package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js +2 -0
- package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js.map +1 -1
- package/lib/graph-manager/action/analytics/DataSpaceAnalysis.d.ts +1 -0
- package/lib/graph-manager/action/analytics/DataSpaceAnalysis.d.ts.map +1 -1
- package/lib/graph-manager/action/analytics/DataSpaceAnalysis.js +1 -0
- package/lib/graph-manager/action/analytics/DataSpaceAnalysis.js.map +1 -1
- package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureGraphManagerExtension.d.ts +10 -1
- package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureGraphManagerExtension.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureGraphManagerExtension.js.map +1 -1
- package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.js +2 -0
- package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.d.ts +12 -1
- package/lib/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.js +28 -3
- package/lib/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.d.ts +1 -0
- package/lib/graph-manager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.js +2 -0
- package/lib/graph-manager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.d.ts +1 -0
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js +2 -0
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.js +1 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +2 -1
- package/lib/stores/query/DataSpaceTemplateQueryCreatorStore.d.ts +3 -2
- package/lib/stores/query/DataSpaceTemplateQueryCreatorStore.d.ts.map +1 -1
- package/lib/stores/query/DataSpaceTemplateQueryCreatorStore.js +9 -13
- package/lib/stores/query/DataSpaceTemplateQueryCreatorStore.js.map +1 -1
- package/lib/stores/query/DataSpaceTemplateQueryPromotionReviewerStore.d.ts +61 -0
- package/lib/stores/query/DataSpaceTemplateQueryPromotionReviewerStore.d.ts.map +1 -0
- package/lib/stores/query/DataSpaceTemplateQueryPromotionReviewerStore.js +407 -0
- package/lib/stores/query/DataSpaceTemplateQueryPromotionReviewerStore.js.map +1 -0
- package/package.json +8 -7
- package/src/__lib__/query/DSL_DataSpace_LegendQueryNavigation.ts +43 -9
- package/src/components/DSL_DataSpace_LegendApplicationPlugin.tsx +1 -0
- package/src/components/query/DSL_DataSpace_LegendQueryApplicationPlugin.tsx +117 -3
- package/src/components/query/DSL_DataSpace_LegendQueryDocumentation.ts +19 -0
- package/src/components/query/DataSpaceQueryBuilderTemplateQueryPanelContent.tsx +8 -1
- package/src/components/query/DataSpaceTemplateQueryCreator.tsx +6 -6
- package/src/components/studio/DSL_DataSpace_LegendStudioApplicationPlugin.tsx +18 -1
- package/src/components/studio/DataSpaceTemplateQueryPromoteReview.tsx +292 -0
- package/src/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.ts +2 -0
- package/src/graph-manager/action/analytics/DataSpaceAnalysis.ts +1 -0
- package/src/graph-manager/protocol/pure/DSL_DataSpace_PureGraphManagerExtension.ts +15 -0
- package/src/graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.ts +2 -0
- package/src/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.ts +66 -2
- package/src/graph-manager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.ts +2 -0
- package/src/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.ts +2 -0
- package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.ts +1 -0
- package/src/stores/query/DataSpaceTemplateQueryCreatorStore.ts +12 -24
- package/src/stores/query/DataSpaceTemplateQueryPromotionReviewerStore.ts +636 -0
- package/tsconfig.json +3 -0
@@ -0,0 +1,61 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
3
|
+
*
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
* you may not use this file except in compliance with the License.
|
6
|
+
* You may obtain a copy of the License at
|
7
|
+
*
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
*
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
* See the License for the specific language governing permissions and
|
14
|
+
* limitations under the License.
|
15
|
+
*/
|
16
|
+
import { type LightQuery, type QueryInfo, GraphManagerState } from '@finos/legend-graph';
|
17
|
+
import { type DepotServerClient, StoreProjectData } from '@finos/legend-server-depot';
|
18
|
+
import { ActionState, type GeneratorFn } from '@finos/legend-shared';
|
19
|
+
import { type Entity } from '@finos/legend-storage';
|
20
|
+
import { type ProjectConfigurationStatus, type LegendStudioApplicationStore, EditorStore } from '@finos/legend-application-studio';
|
21
|
+
import { type SDLCServerClient, Project, Workspace, ProjectConfiguration } from '@finos/legend-server-sdlc';
|
22
|
+
import { type DSL_DataSpace_PureGraphManagerExtension } from '../../graph-manager/protocol/pure/DSL_DataSpace_PureGraphManagerExtension.js';
|
23
|
+
export declare class DataSpaceTemplateQueryPromotionReviewerStore {
|
24
|
+
readonly applicationStore: LegendStudioApplicationStore;
|
25
|
+
readonly sdlcServerClient: SDLCServerClient;
|
26
|
+
readonly depotServerClient: DepotServerClient;
|
27
|
+
readonly graphManagerState: GraphManagerState;
|
28
|
+
readonly initState: ActionState;
|
29
|
+
readonly promoteState: ActionState;
|
30
|
+
readonly loadQueryState: ActionState;
|
31
|
+
readonly loadWorkspacesState: ActionState;
|
32
|
+
editorStore: EditorStore;
|
33
|
+
graphManagerExtension: DSL_DataSpace_PureGraphManagerExtension;
|
34
|
+
currentQuery?: LightQuery | undefined;
|
35
|
+
currentQueryInfo?: QueryInfo | undefined;
|
36
|
+
currentQueryProject?: StoreProjectData | undefined;
|
37
|
+
currentProject?: Project | undefined;
|
38
|
+
currentProjectConfiguration?: ProjectConfiguration;
|
39
|
+
currentProjectConfigurationStatus?: ProjectConfigurationStatus | undefined;
|
40
|
+
currentProjectEntities: Entity[];
|
41
|
+
dependencyEntities: Entity[];
|
42
|
+
groupWorkspaces: Workspace[];
|
43
|
+
workspaceName: string;
|
44
|
+
dataSpacePath: string;
|
45
|
+
dataSpaceEntity: Entity | undefined;
|
46
|
+
templateQueryId: string;
|
47
|
+
templateQueryTitle: string;
|
48
|
+
templateQueryDescription: string;
|
49
|
+
constructor(applicationStore: LegendStudioApplicationStore, sdlcServerClient: SDLCServerClient, depotServerClient: DepotServerClient);
|
50
|
+
setWorkspaceName(val: string): void;
|
51
|
+
setTemplateQueryId(val: string): void;
|
52
|
+
setTemplateQueryTitle(val: string): void;
|
53
|
+
setTemplateQueryDescription(val: string): void;
|
54
|
+
get isWorkspaceNameValid(): boolean;
|
55
|
+
get isTemplateQueryIdValid(): boolean;
|
56
|
+
initialize(queryId: string | undefined, dataSpacePath: string): GeneratorFn<void>;
|
57
|
+
loadQuery(query: LightQuery): GeneratorFn<void>;
|
58
|
+
loadProject(project: Project): GeneratorFn<void>;
|
59
|
+
promoteAsTemplateQuery(): GeneratorFn<void>;
|
60
|
+
}
|
61
|
+
//# sourceMappingURL=DataSpaceTemplateQueryPromotionReviewerStore.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"DataSpaceTemplateQueryPromotionReviewerStore.d.ts","sourceRoot":"","sources":["../../../src/stores/query/DataSpaceTemplateQueryPromotionReviewerStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,SAAS,EAEd,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,iBAAiB,EACtB,gBAAgB,EAGjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,WAAW,EAIX,KAAK,WAAW,EAEjB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,KAAK,0BAA0B,EAI/B,KAAK,4BAA4B,EACjC,WAAW,EAEZ,MAAM,kCAAkC,CAAC;AAc1C,OAAO,EACL,KAAK,gBAAgB,EAErB,OAAO,EAEP,SAAS,EACT,oBAAoB,EAErB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,uCAAuC,EAE7C,MAAM,8EAA8E,CAAC;AActF,qBAAa,4CAA4C;IACvD,QAAQ,CAAC,gBAAgB,EAAE,4BAA4B,CAAC;IACxD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,SAAS,cAAwB;IAC1C,QAAQ,CAAC,YAAY,cAAwB;IAC7C,QAAQ,CAAC,cAAc,cAAwB;IAC/C,QAAQ,CAAC,mBAAmB,cAAwB;IACpD,WAAW,EAAE,WAAW,CAAC;IACzB,qBAAqB,EAAE,uCAAuC,CAAC;IAC/D,YAAY,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACtC,gBAAgB,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACzC,mBAAmB,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACnD,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,2BAA2B,CAAC,EAAE,oBAAoB,CAAC;IACnD,iCAAiC,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;IAC3E,sBAAsB,EAAE,MAAM,EAAE,CAAM;IACtC,kBAAkB,EAAE,MAAM,EAAE,CAAM;IAClC,eAAe,EAAE,SAAS,EAAE,CAAM;IAClC,aAAa,SAAM;IACnB,aAAa,EAAG,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,eAAe,SAAiB;IAChC,kBAAkB,SAAoB;IACtC,wBAAwB,SAAM;gBAG5B,gBAAgB,EAAE,4BAA4B,EAC9C,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB;IA+CtC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAInC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIrC,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIxC,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI9C,IAAI,oBAAoB,IAAI,OAAO,CAIlC;IAED,IAAI,sBAAsB,IAAI,OAAO,CAQpC;IAEA,UAAU,CACT,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,aAAa,EAAE,MAAM,GACpB,WAAW,CAAC,IAAI,CAAC;IAsGnB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;IAwC/C,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC;IA+BhD,sBAAsB,IAAI,WAAW,CAAC,IAAI,CAAC;CAqQ7C"}
|
@@ -0,0 +1,407 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
3
|
+
*
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
* you may not use this file except in compliance with the License.
|
6
|
+
* You may obtain a copy of the License at
|
7
|
+
*
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
*
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
* See the License for the specific language governing permissions and
|
14
|
+
* limitations under the License.
|
15
|
+
*/
|
16
|
+
import { GraphManagerState, } from '@finos/legend-graph';
|
17
|
+
import { StoreProjectData, ProjectDependencyCoordinates, ProjectVersionEntities, } from '@finos/legend-server-depot';
|
18
|
+
import { ActionState, assertErrorThrown, guaranteeNonNullable, LogEvent, } from '@finos/legend-shared';
|
19
|
+
import { generateDataSpaceQuerySetupRoute, generateDataSpaceTemplateQueryPromotionRoute, } from '../../__lib__/query/DSL_DataSpace_LegendQueryNavigation.js';
|
20
|
+
import {} from '@finos/legend-storage';
|
21
|
+
import { fetchProjectConfigurationStatus, generateEditorRoute, LEGEND_STUDIO_APP_EVENT, EditorStore, generateReviewRoute, } from '@finos/legend-application-studio';
|
22
|
+
import { DEFAULT_TAB_SIZE, ActionAlertType, ActionAlertActionType, } from '@finos/legend-application';
|
23
|
+
import { makeObservable, observable, computed, action, flow, flowResult, } from 'mobx';
|
24
|
+
import { Project, WorkspaceType, Workspace, ProjectConfiguration, EntityChangeType, } from '@finos/legend-server-sdlc';
|
25
|
+
import { DSL_DataSpace_getGraphManagerExtension, } from '../../graph-manager/protocol/pure/DSL_DataSpace_PureGraphManagerExtension.js';
|
26
|
+
import { DATA_SPACE_ELEMENT_CLASSIFIER_PATH } from '../../graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.js';
|
27
|
+
const projectDependencyToProjectCoordinates = (projectDependency) => new ProjectDependencyCoordinates(guaranteeNonNullable(projectDependency.groupId), guaranteeNonNullable(projectDependency.artifactId), projectDependency.versionId);
|
28
|
+
const DEFAULT_WORKSPACE_NAME_PREFIX = 'promote-as-template-query';
|
29
|
+
export class DataSpaceTemplateQueryPromotionReviewerStore {
|
30
|
+
applicationStore;
|
31
|
+
sdlcServerClient;
|
32
|
+
depotServerClient;
|
33
|
+
graphManagerState;
|
34
|
+
initState = ActionState.create();
|
35
|
+
promoteState = ActionState.create();
|
36
|
+
loadQueryState = ActionState.create();
|
37
|
+
loadWorkspacesState = ActionState.create();
|
38
|
+
editorStore;
|
39
|
+
graphManagerExtension;
|
40
|
+
currentQuery;
|
41
|
+
currentQueryInfo;
|
42
|
+
currentQueryProject;
|
43
|
+
currentProject;
|
44
|
+
currentProjectConfiguration;
|
45
|
+
currentProjectConfigurationStatus;
|
46
|
+
currentProjectEntities = [];
|
47
|
+
dependencyEntities = [];
|
48
|
+
groupWorkspaces = [];
|
49
|
+
workspaceName = '';
|
50
|
+
dataSpacePath;
|
51
|
+
dataSpaceEntity;
|
52
|
+
templateQueryId = 'template_id';
|
53
|
+
templateQueryTitle = 'template_title';
|
54
|
+
templateQueryDescription = '';
|
55
|
+
constructor(applicationStore, sdlcServerClient, depotServerClient) {
|
56
|
+
makeObservable(this, {
|
57
|
+
editorStore: observable,
|
58
|
+
graphManagerExtension: observable,
|
59
|
+
currentQuery: observable,
|
60
|
+
currentQueryInfo: observable,
|
61
|
+
currentQueryProject: observable,
|
62
|
+
currentProject: observable,
|
63
|
+
currentProjectConfiguration: observable,
|
64
|
+
currentProjectConfigurationStatus: observable,
|
65
|
+
currentProjectEntities: observable,
|
66
|
+
dataSpaceEntity: observable,
|
67
|
+
groupWorkspaces: observable,
|
68
|
+
workspaceName: observable,
|
69
|
+
templateQueryId: observable,
|
70
|
+
templateQueryTitle: observable,
|
71
|
+
templateQueryDescription: observable,
|
72
|
+
isWorkspaceNameValid: computed,
|
73
|
+
isTemplateQueryIdValid: computed,
|
74
|
+
setWorkspaceName: action,
|
75
|
+
setTemplateQueryId: action,
|
76
|
+
setTemplateQueryTitle: action,
|
77
|
+
setTemplateQueryDescription: action,
|
78
|
+
initialize: flow,
|
79
|
+
loadQuery: flow,
|
80
|
+
loadProject: flow,
|
81
|
+
promoteAsTemplateQuery: flow,
|
82
|
+
});
|
83
|
+
this.applicationStore = applicationStore;
|
84
|
+
this.sdlcServerClient = sdlcServerClient;
|
85
|
+
this.depotServerClient = depotServerClient;
|
86
|
+
this.graphManagerState = new GraphManagerState(applicationStore.pluginManager, applicationStore.logService);
|
87
|
+
this.editorStore = new EditorStore(applicationStore, sdlcServerClient, depotServerClient);
|
88
|
+
this.graphManagerExtension = DSL_DataSpace_getGraphManagerExtension(this.editorStore.graphManagerState.graphManager);
|
89
|
+
}
|
90
|
+
setWorkspaceName(val) {
|
91
|
+
this.workspaceName = val;
|
92
|
+
}
|
93
|
+
setTemplateQueryId(val) {
|
94
|
+
this.templateQueryId = val;
|
95
|
+
}
|
96
|
+
setTemplateQueryTitle(val) {
|
97
|
+
this.templateQueryTitle = val;
|
98
|
+
}
|
99
|
+
setTemplateQueryDescription(val) {
|
100
|
+
this.templateQueryDescription = val;
|
101
|
+
}
|
102
|
+
get isWorkspaceNameValid() {
|
103
|
+
return !this.groupWorkspaces.some((ws) => ws.workspaceId === this.workspaceName);
|
104
|
+
}
|
105
|
+
get isTemplateQueryIdValid() {
|
106
|
+
if (this.dataSpaceEntity) {
|
107
|
+
return this.graphManagerExtension.IsTemplateQueryIdValid(this.dataSpaceEntity, this.templateQueryId);
|
108
|
+
}
|
109
|
+
return false;
|
110
|
+
}
|
111
|
+
*initialize(queryId, dataSpacePath) {
|
112
|
+
if (!this.initState.isInInitialState) {
|
113
|
+
return;
|
114
|
+
}
|
115
|
+
try {
|
116
|
+
this.initState.inProgress();
|
117
|
+
yield this.graphManagerState.graphManager.initialize({
|
118
|
+
env: this.applicationStore.config.env,
|
119
|
+
tabSize: DEFAULT_TAB_SIZE,
|
120
|
+
clientConfig: {
|
121
|
+
baseUrl: this.applicationStore.config.engineServerUrl,
|
122
|
+
queryBaseUrl: this.applicationStore.config.engineQueryServerUrl,
|
123
|
+
enableCompression: true,
|
124
|
+
},
|
125
|
+
}, {
|
126
|
+
tracerService: this.applicationStore.tracerService,
|
127
|
+
});
|
128
|
+
this.dataSpacePath = dataSpacePath;
|
129
|
+
if (queryId) {
|
130
|
+
let query;
|
131
|
+
try {
|
132
|
+
query = (yield this.graphManagerState.graphManager.getLightQuery(queryId));
|
133
|
+
}
|
134
|
+
catch {
|
135
|
+
query = undefined;
|
136
|
+
}
|
137
|
+
if (query) {
|
138
|
+
yield flowResult(this.loadQuery(query));
|
139
|
+
}
|
140
|
+
else {
|
141
|
+
this.applicationStore.navigationService.navigator.updateCurrentLocation(generateDataSpaceQuerySetupRoute());
|
142
|
+
}
|
143
|
+
}
|
144
|
+
if (this.currentQuery) {
|
145
|
+
this.currentQueryProject = StoreProjectData.serialization.fromJson((yield this.depotServerClient.getProject(this.currentQuery.groupId, this.currentQuery.artifactId)));
|
146
|
+
const projectData = (yield Promise.all([
|
147
|
+
this.depotServerClient.getVersionEntities(this.currentQuery.groupId, this.currentQuery.artifactId, this.currentQuery.versionId),
|
148
|
+
this.sdlcServerClient.getConfiguration(this.currentQueryProject.projectId, undefined),
|
149
|
+
]));
|
150
|
+
const [currentProjectEntities, currentProjectConfiguration] = [
|
151
|
+
projectData[0],
|
152
|
+
ProjectConfiguration.serialization.fromJson(projectData[1]),
|
153
|
+
];
|
154
|
+
this.currentProjectConfiguration = currentProjectConfiguration;
|
155
|
+
const dependencyEntities = (yield this.depotServerClient.collectDependencyEntities([
|
156
|
+
...currentProjectConfiguration.projectDependencies,
|
157
|
+
]
|
158
|
+
.map(projectDependencyToProjectCoordinates)
|
159
|
+
.map((p) => ProjectDependencyCoordinates.serialization.toJson(p)), true, true))
|
160
|
+
.map((p) => ProjectVersionEntities.serialization.fromJson(p))
|
161
|
+
.flatMap((info) => info.entities);
|
162
|
+
this.dependencyEntities = dependencyEntities;
|
163
|
+
this.currentProjectEntities = currentProjectEntities;
|
164
|
+
this.dataSpaceEntity = guaranteeNonNullable(currentProjectEntities.filter((entity) => entity.path === dataSpacePath &&
|
165
|
+
entity.classifierPath === DATA_SPACE_ELEMENT_CLASSIFIER_PATH)[0], `Can't find dataSpace entity with path ${this.dataSpaceEntity}`);
|
166
|
+
this.initState.pass();
|
167
|
+
}
|
168
|
+
}
|
169
|
+
catch (error) {
|
170
|
+
assertErrorThrown(error);
|
171
|
+
this.applicationStore.logService.error(LogEvent.create(LEGEND_STUDIO_APP_EVENT.GENERIC_FAILURE), error);
|
172
|
+
this.applicationStore.alertService.setBlockingAlert({
|
173
|
+
message: `Can't initialize template query promotion reviewer store`,
|
174
|
+
});
|
175
|
+
this.initState.fail();
|
176
|
+
}
|
177
|
+
}
|
178
|
+
*loadQuery(query) {
|
179
|
+
this.currentQuery = query;
|
180
|
+
this.templateQueryTitle = query.name;
|
181
|
+
try {
|
182
|
+
this.loadQueryState.inProgress();
|
183
|
+
this.currentQueryInfo =
|
184
|
+
(yield this.graphManagerState.graphManager.getQueryInfo(query.id));
|
185
|
+
this.currentQueryProject = StoreProjectData.serialization.fromJson((yield this.depotServerClient.getProject(this.currentQuery.groupId, this.currentQuery.artifactId)));
|
186
|
+
this.setWorkspaceName(`${DEFAULT_WORKSPACE_NAME_PREFIX}-${query.name}`);
|
187
|
+
this.applicationStore.navigationService.navigator.updateCurrentLocation(generateDataSpaceTemplateQueryPromotionRoute(this.currentQuery.groupId, this.currentQuery.artifactId, this.currentQuery.versionId, this.dataSpacePath, query.id));
|
188
|
+
const currentProject = Project.serialization.fromJson((yield this.sdlcServerClient.getProject(this.currentQueryProject.projectId)));
|
189
|
+
yield flowResult(this.loadProject(currentProject));
|
190
|
+
}
|
191
|
+
catch (error) {
|
192
|
+
assertErrorThrown(error);
|
193
|
+
this.applicationStore.notificationService.notifyError(error);
|
194
|
+
}
|
195
|
+
finally {
|
196
|
+
this.loadQueryState.complete();
|
197
|
+
}
|
198
|
+
}
|
199
|
+
*loadProject(project) {
|
200
|
+
this.currentProject = project;
|
201
|
+
this.currentProjectConfigurationStatus = undefined;
|
202
|
+
this.loadWorkspacesState.inProgress();
|
203
|
+
try {
|
204
|
+
this.currentProjectConfigurationStatus =
|
205
|
+
(yield fetchProjectConfigurationStatus(project.projectId, undefined, this.applicationStore, this.sdlcServerClient));
|
206
|
+
this.groupWorkspaces = (yield this.sdlcServerClient.getGroupWorkspaces(project.projectId))
|
207
|
+
.map((v) => Workspace.serialization.fromJson(v))
|
208
|
+
.filter((workspace) => workspace.workspaceType === WorkspaceType.GROUP);
|
209
|
+
this.loadWorkspacesState.pass();
|
210
|
+
}
|
211
|
+
catch (error) {
|
212
|
+
assertErrorThrown(error);
|
213
|
+
this.applicationStore.logService.error(LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE), error);
|
214
|
+
this.applicationStore.notificationService.notifyError(error);
|
215
|
+
this.loadWorkspacesState.fail();
|
216
|
+
}
|
217
|
+
}
|
218
|
+
*promoteAsTemplateQuery() {
|
219
|
+
const query = this.currentQuery;
|
220
|
+
const project = this.currentProject;
|
221
|
+
if (this.promoteState.isInProgress ||
|
222
|
+
!query ||
|
223
|
+
!this.currentQueryInfo ||
|
224
|
+
!this.currentProjectConfiguration ||
|
225
|
+
!project ||
|
226
|
+
!this.workspaceName ||
|
227
|
+
!this.templateQueryTitle ||
|
228
|
+
!this.dataSpaceEntity ||
|
229
|
+
!this.isWorkspaceNameValid ||
|
230
|
+
!this.isTemplateQueryIdValid) {
|
231
|
+
return;
|
232
|
+
}
|
233
|
+
try {
|
234
|
+
this.promoteState.inProgress();
|
235
|
+
// 1. prepare project entities
|
236
|
+
this.applicationStore.alertService.setBlockingAlert({
|
237
|
+
message: `Fetching and updating project...`,
|
238
|
+
prompt: 'Please do not close the application',
|
239
|
+
showLoading: true,
|
240
|
+
});
|
241
|
+
// update datasapce entity
|
242
|
+
const updatedDataSpaceEntity = (yield this.graphManagerExtension.addNewExecutableToDataSpaceEntity(this.dataSpaceEntity, {
|
243
|
+
id: this.templateQueryId,
|
244
|
+
title: this.templateQueryTitle,
|
245
|
+
mapping: guaranteeNonNullable(this.currentQueryInfo).mapping,
|
246
|
+
runtime: guaranteeNonNullable(this.currentQueryInfo).runtime,
|
247
|
+
query: (yield this.graphManagerState.graphManager.pureCodeToLambda(this.currentQueryInfo.content)),
|
248
|
+
description: this.templateQueryDescription,
|
249
|
+
}));
|
250
|
+
guaranteeNonNullable(this.currentProjectEntities.filter((entity) => entity.path === this.dataSpacePath &&
|
251
|
+
entity.classifierPath === DATA_SPACE_ELEMENT_CLASSIFIER_PATH)[0]).content = updatedDataSpaceEntity.content;
|
252
|
+
// 2. check if the graph compiles properly
|
253
|
+
this.applicationStore.alertService.setBlockingAlert({
|
254
|
+
message: `Checking workspace compilation status...`,
|
255
|
+
prompt: 'Please do not close the application',
|
256
|
+
showLoading: true,
|
257
|
+
});
|
258
|
+
let compilationFailed = false;
|
259
|
+
try {
|
260
|
+
yield this.graphManagerState.graphManager.compileEntities([
|
261
|
+
...this.dependencyEntities,
|
262
|
+
...this.currentProjectEntities,
|
263
|
+
]);
|
264
|
+
}
|
265
|
+
catch {
|
266
|
+
compilationFailed = true;
|
267
|
+
}
|
268
|
+
// 3. proceed to setup the workspace
|
269
|
+
const setupWorkspace = async () => {
|
270
|
+
let workspace;
|
271
|
+
try {
|
272
|
+
this.applicationStore.alertService.setBlockingAlert({
|
273
|
+
message: `Creating workspace...`,
|
274
|
+
prompt: 'Please do not close the application',
|
275
|
+
showLoading: true,
|
276
|
+
});
|
277
|
+
// i. create workspace
|
278
|
+
workspace = Workspace.serialization.fromJson(await this.sdlcServerClient.createWorkspace(project.projectId, undefined, this.workspaceName, WorkspaceType.GROUP));
|
279
|
+
// ii. update dataspace
|
280
|
+
this.applicationStore.alertService.setBlockingAlert({
|
281
|
+
message: `Generating code commit...`,
|
282
|
+
prompt: 'Please do not close the application',
|
283
|
+
showLoading: true,
|
284
|
+
});
|
285
|
+
await this.sdlcServerClient.performEntityChanges(project.projectId, workspace, {
|
286
|
+
message: 'promote-as-template-query: promote query as a template query to dataspace',
|
287
|
+
entityChanges: [
|
288
|
+
{
|
289
|
+
classifierPath: updatedDataSpaceEntity.classifierPath,
|
290
|
+
entityPath: updatedDataSpaceEntity.path,
|
291
|
+
content: updatedDataSpaceEntity.content,
|
292
|
+
type: EntityChangeType.MODIFY,
|
293
|
+
},
|
294
|
+
],
|
295
|
+
});
|
296
|
+
// iii create review
|
297
|
+
this.applicationStore.alertService.setBlockingAlert({
|
298
|
+
message: `Generating code review...`,
|
299
|
+
prompt: 'Please do not close the application',
|
300
|
+
showLoading: true,
|
301
|
+
});
|
302
|
+
await flowResult(this.editorStore.initialize(project.projectId, undefined, workspace.workspaceId, workspace.workspaceType));
|
303
|
+
const workspaceReviewState = this.editorStore.workspaceReviewState;
|
304
|
+
const workspaceContainsSnapshotDependencies = this.editorStore.projectConfigurationEditorState
|
305
|
+
.containsSnapshotDependencies;
|
306
|
+
const isCreateReviewDisabled = Boolean(workspaceReviewState.workspaceReview) ||
|
307
|
+
workspaceContainsSnapshotDependencies ||
|
308
|
+
!workspaceReviewState.canCreateReview ||
|
309
|
+
workspaceReviewState.sdlcState.isActiveProjectSandbox;
|
310
|
+
workspaceReviewState.reviewTitle =
|
311
|
+
'code review - promote query as a template query to dataspace';
|
312
|
+
if (!isCreateReviewDisabled) {
|
313
|
+
await flowResult(workspaceReviewState.createWorkspaceReview(workspaceReviewState.reviewTitle));
|
314
|
+
}
|
315
|
+
else {
|
316
|
+
this.applicationStore.notificationService.notifyError(`Can't create code review`);
|
317
|
+
}
|
318
|
+
// iv. complete, redirect user to the service query editor screen
|
319
|
+
this.applicationStore.alertService.setBlockingAlert(undefined);
|
320
|
+
this.promoteState.pass();
|
321
|
+
this.applicationStore.alertService.setActionAlertInfo({
|
322
|
+
message: `Successfully promoted query into dataspace '${this.dataSpacePath}'. Now your template query can be found in workspace '${this.workspaceName}' of project '${project.name}' (${project.projectId})`,
|
323
|
+
prompt: compilationFailed
|
324
|
+
? `The workspace might not compile at the moment, please make sure to fix the issue and submit a review to make the dataspace part of the project to complete template query promotion`
|
325
|
+
: `Please make sure to get the generated code-review reviewed and approved`,
|
326
|
+
type: ActionAlertType.STANDARD,
|
327
|
+
actions: compilationFailed
|
328
|
+
? [
|
329
|
+
{
|
330
|
+
label: 'Open Workspace',
|
331
|
+
type: ActionAlertActionType.PROCEED,
|
332
|
+
handler: () => {
|
333
|
+
this.applicationStore.navigationService.navigator.goToLocation(generateEditorRoute(project.projectId, undefined, this.workspaceName, WorkspaceType.GROUP));
|
334
|
+
},
|
335
|
+
default: true,
|
336
|
+
},
|
337
|
+
]
|
338
|
+
: [
|
339
|
+
{
|
340
|
+
label: 'Open Code Review',
|
341
|
+
type: ActionAlertActionType.PROCEED,
|
342
|
+
handler: () => {
|
343
|
+
if (workspaceReviewState.workspaceReview) {
|
344
|
+
this.applicationStore.navigationService.navigator.visitAddress(this.applicationStore.navigationService.navigator.generateAddress(generateReviewRoute(workspaceReviewState.workspaceReview.projectId, workspaceReviewState.workspaceReview.id)));
|
345
|
+
}
|
346
|
+
},
|
347
|
+
default: true,
|
348
|
+
},
|
349
|
+
{
|
350
|
+
label: 'Open Workspace',
|
351
|
+
type: ActionAlertActionType.PROCEED,
|
352
|
+
handler: () => {
|
353
|
+
this.applicationStore.navigationService.navigator.goToLocation(generateEditorRoute(project.projectId, undefined, this.workspaceName, WorkspaceType.GROUP));
|
354
|
+
},
|
355
|
+
},
|
356
|
+
],
|
357
|
+
});
|
358
|
+
}
|
359
|
+
catch (error) {
|
360
|
+
assertErrorThrown(error);
|
361
|
+
this.applicationStore.alertService.setBlockingAlert(undefined);
|
362
|
+
this.applicationStore.notificationService.notifyError(`Can't set up workspace: ${error.message}`);
|
363
|
+
if (workspace) {
|
364
|
+
await this.sdlcServerClient.deleteWorkspace(project.projectId, workspace);
|
365
|
+
}
|
366
|
+
this.promoteState.fail();
|
367
|
+
}
|
368
|
+
};
|
369
|
+
this.applicationStore.alertService.setBlockingAlert(undefined);
|
370
|
+
if (compilationFailed) {
|
371
|
+
this.applicationStore.alertService.setActionAlertInfo({
|
372
|
+
message: `We have found compilation issues with the workspace. Your query can still be promoted, but you would need to fix compilation issues afterwards`,
|
373
|
+
prompt: `Do you still want to proceed to promote the query as a template query?`,
|
374
|
+
type: ActionAlertType.STANDARD,
|
375
|
+
actions: [
|
376
|
+
{
|
377
|
+
label: `Proceed`,
|
378
|
+
type: ActionAlertActionType.PROCEED_WITH_CAUTION,
|
379
|
+
handler: () => {
|
380
|
+
setupWorkspace().catch(this.applicationStore.alertUnhandledError);
|
381
|
+
},
|
382
|
+
},
|
383
|
+
{
|
384
|
+
label: 'Abort',
|
385
|
+
type: ActionAlertActionType.PROCEED,
|
386
|
+
handler: () => {
|
387
|
+
this.promoteState.fail();
|
388
|
+
},
|
389
|
+
default: true,
|
390
|
+
},
|
391
|
+
],
|
392
|
+
});
|
393
|
+
}
|
394
|
+
else {
|
395
|
+
yield setupWorkspace();
|
396
|
+
}
|
397
|
+
this.promoteState.pass();
|
398
|
+
}
|
399
|
+
catch (error) {
|
400
|
+
assertErrorThrown(error);
|
401
|
+
this.applicationStore.alertService.setBlockingAlert(undefined);
|
402
|
+
this.applicationStore.notificationService.notifyError(error);
|
403
|
+
this.promoteState.fail();
|
404
|
+
}
|
405
|
+
}
|
406
|
+
}
|
407
|
+
//# sourceMappingURL=DataSpaceTemplateQueryPromotionReviewerStore.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"DataSpaceTemplateQueryPromotionReviewerStore.js","sourceRoot":"","sources":["../../../src/stores/query/DataSpaceTemplateQueryPromotionReviewerStore.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@finos/legend-extension-dsl-data-space",
|
3
|
-
"version": "10.2.
|
3
|
+
"version": "10.2.2",
|
4
4
|
"description": "Legend extension for Data Space DSL",
|
5
5
|
"keywords": [
|
6
6
|
"legend",
|
@@ -45,14 +45,15 @@
|
|
45
45
|
},
|
46
46
|
"dependencies": {
|
47
47
|
"@finos/legend-application": "15.0.74",
|
48
|
-
"@finos/legend-application-query": "13.3.
|
49
|
-
"@finos/legend-application-studio": "28.16.
|
48
|
+
"@finos/legend-application-query": "13.3.3",
|
49
|
+
"@finos/legend-application-studio": "28.16.11",
|
50
50
|
"@finos/legend-art": "7.1.26",
|
51
|
-
"@finos/legend-extension-dsl-diagram": "8.0.
|
52
|
-
"@finos/legend-graph": "31.9.
|
53
|
-
"@finos/legend-lego": "1.2.
|
54
|
-
"@finos/legend-query-builder": "4.14.
|
51
|
+
"@finos/legend-extension-dsl-diagram": "8.0.155",
|
52
|
+
"@finos/legend-graph": "31.9.10",
|
53
|
+
"@finos/legend-lego": "1.2.23",
|
54
|
+
"@finos/legend-query-builder": "4.14.24",
|
55
55
|
"@finos/legend-server-depot": "6.0.39",
|
56
|
+
"@finos/legend-server-sdlc": "5.3.10",
|
56
57
|
"@finos/legend-shared": "10.0.34",
|
57
58
|
"@finos/legend-storage": "3.0.84",
|
58
59
|
"@types/react": "18.2.31",
|
@@ -29,7 +29,6 @@ export enum DATA_SPACE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN {
|
|
29
29
|
DATA_SPACE_PATH = 'dataSpacePath',
|
30
30
|
EXECUTION_CONTEXT = 'executionContext',
|
31
31
|
RUNTIME_PATH = 'runtimePath',
|
32
|
-
TEMPLATE = 'template',
|
33
32
|
}
|
34
33
|
|
35
34
|
export enum DATA_SPACE_QUERY_CREATOR_QUERY_PARAM_TOKEN {
|
@@ -39,7 +38,14 @@ export enum DATA_SPACE_QUERY_CREATOR_QUERY_PARAM_TOKEN {
|
|
39
38
|
export enum DATA_SPACE_TEMPLATE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN {
|
40
39
|
GAV = 'gav',
|
41
40
|
DATA_SPACE_PATH = 'dataSpacePath',
|
42
|
-
|
41
|
+
TEMPLATE = 'template',
|
42
|
+
TEMPLATE_QUERY_ID = 'templateQueryId',
|
43
|
+
}
|
44
|
+
|
45
|
+
export enum DATA_SPACE_TEMPLATE_QUERY_PROMOTION_ROUTE_PATTERN_TOKEN {
|
46
|
+
GAV = 'gav',
|
47
|
+
DATA_SPACE_PATH = 'dataSpacePath',
|
48
|
+
QUERY_ID = 'queryId',
|
43
49
|
}
|
44
50
|
|
45
51
|
export type DataSpaceQueryCreatorPathParams = {
|
@@ -52,7 +58,13 @@ export type DataSpaceQueryCreatorPathParams = {
|
|
52
58
|
export type DataSpaceTemplateQueryCreatorPathParams = {
|
53
59
|
[DATA_SPACE_TEMPLATE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.GAV]: string;
|
54
60
|
[DATA_SPACE_TEMPLATE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.DATA_SPACE_PATH]: string;
|
55
|
-
[DATA_SPACE_TEMPLATE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.
|
61
|
+
[DATA_SPACE_TEMPLATE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.TEMPLATE_QUERY_ID]: string;
|
62
|
+
};
|
63
|
+
|
64
|
+
export type DataSpaceTemplateQueryPromotionReviewerPathParams = {
|
65
|
+
[DATA_SPACE_TEMPLATE_QUERY_PROMOTION_ROUTE_PATTERN_TOKEN.GAV]: string;
|
66
|
+
[DATA_SPACE_TEMPLATE_QUERY_PROMOTION_ROUTE_PATTERN_TOKEN.DATA_SPACE_PATH]: string;
|
67
|
+
[DATA_SPACE_TEMPLATE_QUERY_PROMOTION_ROUTE_PATTERN_TOKEN.QUERY_ID]: string;
|
56
68
|
};
|
57
69
|
|
58
70
|
export type DataSpaceQueryEditorQueryParams = {
|
@@ -62,7 +74,8 @@ export type DataSpaceQueryEditorQueryParams = {
|
|
62
74
|
export const DATA_SPACE_QUERY_ROUTE_PATTERN = Object.freeze({
|
63
75
|
SETUP: `/dataspace`,
|
64
76
|
CREATE: `/dataspace/:${DATA_SPACE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.GAV}/:${DATA_SPACE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.DATA_SPACE_PATH}/:${DATA_SPACE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.EXECUTION_CONTEXT}/:${DATA_SPACE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.RUNTIME_PATH}?`,
|
65
|
-
TEMPLATE_QUERY: `/dataspace/:${DATA_SPACE_TEMPLATE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.GAV}/:${DATA_SPACE_TEMPLATE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.DATA_SPACE_PATH}/:${
|
77
|
+
TEMPLATE_QUERY: `/dataspace/:${DATA_SPACE_TEMPLATE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.GAV}/:${DATA_SPACE_TEMPLATE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.DATA_SPACE_PATH}/:${DATA_SPACE_TEMPLATE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.TEMPLATE}/:${DATA_SPACE_TEMPLATE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.TEMPLATE_QUERY_ID}`,
|
78
|
+
PROMOTE_TEMPLATE_QUERY: `/promote-template-query/:${DATA_SPACE_TEMPLATE_QUERY_PROMOTION_ROUTE_PATTERN_TOKEN.GAV}/:${DATA_SPACE_TEMPLATE_QUERY_PROMOTION_ROUTE_PATTERN_TOKEN.DATA_SPACE_PATH}/:${DATA_SPACE_TEMPLATE_QUERY_PROMOTION_ROUTE_PATTERN_TOKEN.QUERY_ID}?`,
|
66
79
|
});
|
67
80
|
|
68
81
|
export const generateDataSpaceQuerySetupRoute = (): string =>
|
@@ -106,7 +119,7 @@ export const generateDataSpaceTemplateQueryCreatorRoute = (
|
|
106
119
|
artifactId: string,
|
107
120
|
versionId: string,
|
108
121
|
dataSpacePath: string,
|
109
|
-
|
122
|
+
templateQueryId: string,
|
110
123
|
): string =>
|
111
124
|
generatePath(
|
112
125
|
generateExtensionUrlPattern(DATA_SPACE_QUERY_ROUTE_PATTERN.TEMPLATE_QUERY),
|
@@ -115,9 +128,30 @@ export const generateDataSpaceTemplateQueryCreatorRoute = (
|
|
115
128
|
generateGAVCoordinates(groupId, artifactId, versionId),
|
116
129
|
[DATA_SPACE_TEMPLATE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.DATA_SPACE_PATH]:
|
117
130
|
dataSpacePath,
|
118
|
-
[
|
119
|
-
|
120
|
-
[DATA_SPACE_TEMPLATE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.
|
121
|
-
|
131
|
+
[DATA_SPACE_TEMPLATE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.TEMPLATE]:
|
132
|
+
DATA_SPACE_TEMPLATE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.TEMPLATE,
|
133
|
+
[DATA_SPACE_TEMPLATE_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.TEMPLATE_QUERY_ID]:
|
134
|
+
templateQueryId,
|
135
|
+
},
|
136
|
+
);
|
137
|
+
|
138
|
+
export const generateDataSpaceTemplateQueryPromotionRoute = (
|
139
|
+
groupId: string,
|
140
|
+
artifactId: string,
|
141
|
+
versionId: string,
|
142
|
+
dataSpacePath: string,
|
143
|
+
queryId: string | undefined,
|
144
|
+
): string =>
|
145
|
+
generatePath(
|
146
|
+
generateExtensionUrlPattern(
|
147
|
+
DATA_SPACE_QUERY_ROUTE_PATTERN.PROMOTE_TEMPLATE_QUERY,
|
148
|
+
),
|
149
|
+
{
|
150
|
+
[DATA_SPACE_TEMPLATE_QUERY_PROMOTION_ROUTE_PATTERN_TOKEN.GAV]:
|
151
|
+
generateGAVCoordinates(groupId, artifactId, versionId),
|
152
|
+
[DATA_SPACE_TEMPLATE_QUERY_PROMOTION_ROUTE_PATTERN_TOKEN.DATA_SPACE_PATH]:
|
153
|
+
dataSpacePath,
|
154
|
+
[DATA_SPACE_TEMPLATE_QUERY_PROMOTION_ROUTE_PATTERN_TOKEN.QUERY_ID]:
|
155
|
+
queryId,
|
122
156
|
},
|
123
157
|
);
|