@finos/legend-application-studio 28.15.3 → 28.15.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. package/lib/__lib__/LegendStudioNavigation.d.ts +1 -1
  2. package/lib/components/LegendStudioWebApplication.js +2 -2
  3. package/lib/components/editor/editor-group/UnsupportedElementEditor.d.ts +2 -0
  4. package/lib/components/editor/editor-group/UnsupportedElementEditor.d.ts.map +1 -1
  5. package/lib/components/editor/editor-group/UnsupportedElementEditor.js +12 -3
  6. package/lib/components/editor/editor-group/UnsupportedElementEditor.js.map +1 -1
  7. package/lib/components/editor/editor-group/diff-editor/ProjectConfigDiffView.d.ts +22 -0
  8. package/lib/components/editor/editor-group/diff-editor/ProjectConfigDiffView.d.ts.map +1 -0
  9. package/lib/components/editor/editor-group/diff-editor/ProjectConfigDiffView.js +26 -0
  10. package/lib/components/editor/editor-group/diff-editor/ProjectConfigDiffView.js.map +1 -0
  11. package/lib/components/{workspace-review/WorkspaceReviewSideBar.d.ts → project-reviewer/ProjectReviewSideBar.d.ts} +2 -2
  12. package/lib/components/project-reviewer/ProjectReviewSideBar.d.ts.map +1 -0
  13. package/lib/components/{workspace-review/WorkspaceReviewSideBar.js → project-reviewer/ProjectReviewSideBar.js} +34 -18
  14. package/lib/components/project-reviewer/ProjectReviewSideBar.js.map +1 -0
  15. package/lib/components/{workspace-review/WorkspaceReviewStoreProvider.d.ts → project-reviewer/ProjectReviewStoreProvider.d.ts} +5 -5
  16. package/lib/components/project-reviewer/ProjectReviewStoreProvider.d.ts.map +1 -0
  17. package/lib/components/{workspace-review/WorkspaceReviewStoreProvider.js → project-reviewer/ProjectReviewStoreProvider.js} +9 -9
  18. package/lib/components/project-reviewer/ProjectReviewStoreProvider.js.map +1 -0
  19. package/lib/components/{workspace-review/WorkspaceReview.d.ts → project-reviewer/ProjectReviewer.d.ts} +2 -2
  20. package/lib/components/project-reviewer/ProjectReviewer.d.ts.map +1 -0
  21. package/lib/components/{workspace-review/WorkspaceReview.js → project-reviewer/ProjectReviewer.js} +19 -28
  22. package/lib/components/project-reviewer/ProjectReviewer.js.map +1 -0
  23. package/lib/components/{workspace-review/WorkspaceReviewPanel.d.ts → project-reviewer/ProjectReviewerPanel.d.ts} +2 -2
  24. package/lib/components/project-reviewer/ProjectReviewerPanel.d.ts.map +1 -0
  25. package/lib/components/{workspace-review/WorkspaceReviewPanel.js → project-reviewer/ProjectReviewerPanel.js} +26 -10
  26. package/lib/components/project-reviewer/ProjectReviewerPanel.js.map +1 -0
  27. package/lib/index.css +2 -2
  28. package/lib/index.css.map +1 -1
  29. package/lib/package.json +1 -1
  30. package/lib/stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.d.ts +24 -0
  31. package/lib/stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.d.ts.map +1 -0
  32. package/lib/stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.js +26 -0
  33. package/lib/stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.js.map +1 -0
  34. package/lib/stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.d.ts +31 -0
  35. package/lib/stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.d.ts.map +1 -0
  36. package/lib/stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.js +39 -0
  37. package/lib/stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.js.map +1 -0
  38. package/lib/stores/editor/editor-state/element-editor-state/ElementEditorState.d.ts.map +1 -1
  39. package/lib/stores/editor/editor-state/element-editor-state/ElementEditorState.js +10 -3
  40. package/lib/stores/editor/editor-state/element-editor-state/ElementEditorState.js.map +1 -1
  41. package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorState.d.ts.map +1 -1
  42. package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorState.js +2 -2
  43. package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorState.js.map +1 -1
  44. package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.d.ts +1 -1
  45. package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.d.ts.map +1 -1
  46. package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.js +5 -4
  47. package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.js.map +1 -1
  48. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.js +1 -1
  49. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.js.map +1 -1
  50. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffEditorState.d.ts +2 -2
  51. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffEditorState.d.ts.map +1 -1
  52. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffEditorState.js +2 -2
  53. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffEditorState.js.map +1 -1
  54. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffViewState.d.ts +0 -2
  55. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffViewState.d.ts.map +1 -1
  56. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffViewState.js +1 -3
  57. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffViewState.js.map +1 -1
  58. package/lib/stores/project-reviewer/ProjectReviewerStore.d.ts +75 -0
  59. package/lib/stores/project-reviewer/ProjectReviewerStore.d.ts.map +1 -0
  60. package/lib/stores/project-reviewer/ProjectReviewerStore.js +325 -0
  61. package/lib/stores/project-reviewer/ProjectReviewerStore.js.map +1 -0
  62. package/package.json +5 -5
  63. package/src/__lib__/LegendStudioNavigation.ts +1 -1
  64. package/src/components/LegendStudioWebApplication.tsx +2 -2
  65. package/src/components/editor/editor-group/UnsupportedElementEditor.tsx +38 -9
  66. package/src/components/editor/editor-group/diff-editor/ProjectConfigDiffView.tsx +60 -0
  67. package/src/components/{workspace-review/WorkspaceReviewSideBar.tsx → project-reviewer/ProjectReviewSideBar.tsx} +91 -11
  68. package/src/components/{workspace-review/WorkspaceReviewStoreProvider.tsx → project-reviewer/ProjectReviewStoreProvider.tsx} +13 -13
  69. package/src/components/{workspace-review/WorkspaceReview.tsx → project-reviewer/ProjectReviewer.tsx} +25 -55
  70. package/src/components/{workspace-review/WorkspaceReviewPanel.tsx → project-reviewer/ProjectReviewerPanel.tsx} +54 -36
  71. package/src/stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.ts +34 -0
  72. package/src/stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.ts +56 -0
  73. package/src/stores/editor/editor-state/element-editor-state/ElementEditorState.ts +22 -5
  74. package/src/stores/editor/editor-state/element-editor-state/FunctionActivatorState.ts +2 -1
  75. package/src/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.ts +6 -3
  76. package/src/stores/editor/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.ts +1 -1
  77. package/src/stores/editor/editor-state/entity-diff-editor-state/EntityDiffEditorState.ts +2 -2
  78. package/src/stores/editor/editor-state/entity-diff-editor-state/EntityDiffViewState.ts +1 -3
  79. package/src/stores/project-reviewer/ProjectReviewerStore.ts +515 -0
  80. package/tsconfig.json +8 -5
  81. package/lib/components/workspace-review/WorkspaceReview.d.ts.map +0 -1
  82. package/lib/components/workspace-review/WorkspaceReview.js.map +0 -1
  83. package/lib/components/workspace-review/WorkspaceReviewPanel.d.ts.map +0 -1
  84. package/lib/components/workspace-review/WorkspaceReviewPanel.js.map +0 -1
  85. package/lib/components/workspace-review/WorkspaceReviewSideBar.d.ts.map +0 -1
  86. package/lib/components/workspace-review/WorkspaceReviewSideBar.js.map +0 -1
  87. package/lib/components/workspace-review/WorkspaceReviewStoreProvider.d.ts.map +0 -1
  88. package/lib/components/workspace-review/WorkspaceReviewStoreProvider.js.map +0 -1
  89. package/lib/stores/workspace-review/WorkspaceReviewStore.d.ts +0 -47
  90. package/lib/stores/workspace-review/WorkspaceReviewStore.d.ts.map +0 -1
  91. package/lib/stores/workspace-review/WorkspaceReviewStore.js +0 -207
  92. package/lib/stores/workspace-review/WorkspaceReviewStore.js.map +0 -1
  93. package/src/stores/workspace-review/WorkspaceReviewStore.ts +0 -312
@@ -0,0 +1,515 @@
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
+
17
+ import {
18
+ type GeneratorFn,
19
+ type PlainObject,
20
+ assertErrorThrown,
21
+ LogEvent,
22
+ guaranteeNonNullable,
23
+ ActionState,
24
+ assertNonEmptyString,
25
+ isNonNullable,
26
+ } from '@finos/legend-shared';
27
+ import {
28
+ makeObservable,
29
+ action,
30
+ observable,
31
+ flow,
32
+ computed,
33
+ flowResult,
34
+ } from 'mobx';
35
+ import type { EditorStore } from '../editor/EditorStore.js';
36
+ import { ACTIVITY_MODE } from '../editor/EditorConfig.js';
37
+ import {
38
+ EntityDiff,
39
+ type ProjectConfiguration,
40
+ Comparison,
41
+ reprocessEntityDiffs,
42
+ Project,
43
+ Review,
44
+ type Patch,
45
+ ReviewApproval,
46
+ } from '@finos/legend-server-sdlc';
47
+ import { LEGEND_STUDIO_APP_EVENT } from '../../__lib__/LegendStudioEvent.js';
48
+ import { DEFAULT_TAB_SIZE } from '@finos/legend-application';
49
+ import type { Entity } from '@finos/legend-storage';
50
+ import { EntityDiffViewState } from '../editor/editor-state/entity-diff-editor-state/EntityDiffViewState.js';
51
+ import { SPECIAL_REVISION_ALIAS } from '../editor/editor-state/entity-diff-editor-state/EntityDiffEditorState.js';
52
+
53
+ export class ProjectReviewReport {
54
+ diffs: EntityDiff[];
55
+ fromEntities: Entity[] = [];
56
+ toEntities: Entity[] = [];
57
+ private fromConfig: PlainObject<ProjectConfiguration> | undefined;
58
+ private toConfig: PlainObject<ProjectConfiguration> | undefined;
59
+ fromToProjectConfig:
60
+ | [PlainObject<ProjectConfiguration>, PlainObject<ProjectConfiguration>]
61
+ | undefined;
62
+
63
+ constructor(diffs: EntityDiff[]) {
64
+ this.diffs = diffs;
65
+
66
+ makeObservable(this, {
67
+ fromEntities: observable,
68
+ toEntities: observable,
69
+ fromToProjectConfig: observable,
70
+ addFromConfig: action,
71
+ addToConfig: action,
72
+ });
73
+ }
74
+
75
+ addFromConfig(config: PlainObject<ProjectConfiguration>): void {
76
+ this.fromConfig = config;
77
+ this.createFromToConfigIfPossible();
78
+ }
79
+
80
+ addToConfig(config: PlainObject<ProjectConfiguration>): void {
81
+ this.toConfig = config;
82
+ this.createFromToConfigIfPossible();
83
+ }
84
+
85
+ private createFromToConfigIfPossible(): void {
86
+ if (this.fromConfig && this.toConfig) {
87
+ this.fromToProjectConfig = [this.fromConfig, this.toConfig];
88
+ }
89
+ }
90
+
91
+ findFromEntity(entityPath: string): Entity | undefined {
92
+ return this.fromEntities.find((e) => e.path === entityPath);
93
+ }
94
+
95
+ addFromEntity(entity: Entity): ProjectReviewReport {
96
+ this.fromEntities.push(entity);
97
+ return this;
98
+ }
99
+
100
+ addToEntity(entity: Entity): ProjectReviewReport {
101
+ this.toEntities.push(entity);
102
+ return this;
103
+ }
104
+
105
+ findToEntity(entityPath: string): Entity | undefined {
106
+ return this.toEntities.find((e) => e.path === entityPath);
107
+ }
108
+ }
109
+
110
+ export class ProjectReviewerStore {
111
+ readonly editorStore: EditorStore;
112
+
113
+ currentProjectId?: string | undefined;
114
+ currentProject?: Project | undefined;
115
+ currentPatch?: Patch | undefined;
116
+ currentReviewId?: string | undefined;
117
+ currentReview?: Review | undefined;
118
+ // comparison
119
+ buildReviewReportState = ActionState.create();
120
+ reviewReport?: ProjectReviewReport | undefined;
121
+
122
+ fetchCurrentReviewState = ActionState.create();
123
+ approveState = ActionState.create();
124
+ reviewApproval: ReviewApproval | undefined;
125
+
126
+ closeState = ActionState.create();
127
+ commitState = ActionState.create();
128
+ reOpenState = ActionState.create();
129
+
130
+ constructor(editorStore: EditorStore) {
131
+ makeObservable(this, {
132
+ currentProjectId: observable,
133
+ currentProject: observable,
134
+ currentPatch: observable,
135
+ currentReviewId: observable,
136
+ currentReview: observable,
137
+ fetchCurrentReviewState: observable,
138
+ buildReviewReportState: observable,
139
+ approveState: observable,
140
+ closeState: observable,
141
+ commitState: observable,
142
+ reOpenState: observable,
143
+ reviewReport: observable,
144
+ reviewApproval: observable,
145
+ projectId: computed,
146
+ patchReleaseVersionId: computed,
147
+ reviewId: computed,
148
+ review: computed,
149
+ setProjectIdAndReviewId: action,
150
+ refresh: action,
151
+ initializeEngine: flow,
152
+ fetchReviewComparison: flow,
153
+ fetchProject: flow,
154
+ fetchReviewApprovals: flow,
155
+ fetchReview: flow,
156
+ approveReview: flow,
157
+ commitReview: flow,
158
+ reOpenReview: flow,
159
+ closeReview: flow,
160
+ });
161
+
162
+ this.editorStore = editorStore;
163
+ this.editorStore.activeActivity = ACTIVITY_MODE.REVIEW;
164
+ }
165
+
166
+ get projectId(): string {
167
+ return guaranteeNonNullable(this.currentProjectId, 'Project ID must exist');
168
+ }
169
+
170
+ get patchReleaseVersionId(): string | undefined {
171
+ return this.currentPatch?.patchReleaseVersionId.id;
172
+ }
173
+
174
+ get reviewId(): string {
175
+ return guaranteeNonNullable(this.currentReviewId, 'Review ID must exist');
176
+ }
177
+
178
+ get review(): Review {
179
+ return guaranteeNonNullable(this.currentReview, 'Review must exist');
180
+ }
181
+
182
+ get approvalString(): string | undefined {
183
+ const approvals = this.reviewApproval?.approvedBy;
184
+ if (approvals?.length) {
185
+ return `Approved by ${approvals.map((e) => e.name).join(',')}.`;
186
+ }
187
+ return undefined;
188
+ }
189
+
190
+ setProjectIdAndReviewId(projectId: string, reviewId: string): void {
191
+ this.currentProjectId = projectId;
192
+ this.currentReviewId = reviewId;
193
+ }
194
+
195
+ initialize(): void {
196
+ flowResult(this.initializeEngine()).catch(
197
+ this.editorStore.applicationStore.alertUnhandledError,
198
+ );
199
+ flowResult(this.fetchReview()).catch(
200
+ this.editorStore.applicationStore.alertUnhandledError,
201
+ );
202
+ flowResult(this.fetchProject()).catch(
203
+ this.editorStore.applicationStore.alertUnhandledError,
204
+ );
205
+ flowResult(this.fetchReviewApprovals()).catch(
206
+ this.editorStore.applicationStore.alertUnhandledError,
207
+ );
208
+ flowResult(this.fetchReviewComparison()).catch(
209
+ this.editorStore.applicationStore.alertUnhandledError,
210
+ );
211
+ }
212
+
213
+ *initializeEngine(): GeneratorFn<void> {
214
+ try {
215
+ // setup engine used for to/from grammar transfomation
216
+ yield this.editorStore.graphManagerState.graphManager.initialize(
217
+ {
218
+ env: this.editorStore.applicationStore.config.env,
219
+ tabSize: DEFAULT_TAB_SIZE,
220
+ clientConfig: {
221
+ baseUrl: this.editorStore.applicationStore.config.engineServerUrl,
222
+ queryBaseUrl:
223
+ this.editorStore.applicationStore.config.engineQueryServerUrl,
224
+ enableCompression: true,
225
+ },
226
+ },
227
+ {
228
+ tracerService: this.editorStore.applicationStore.tracerService,
229
+ },
230
+ );
231
+ } catch (error) {
232
+ assertErrorThrown(error);
233
+ this.editorStore.applicationStore.logService.error(
234
+ LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
235
+ error,
236
+ );
237
+ this.editorStore.applicationStore.notificationService.notifyError(error);
238
+ }
239
+ }
240
+
241
+ openReviewChange(diff: EntityDiff): void {
242
+ const fromEntityGetter = (
243
+ entityPath: string | undefined,
244
+ ): Entity | undefined =>
245
+ entityPath ? this.reviewReport?.findFromEntity(entityPath) : undefined;
246
+ const toEntityGetter = (
247
+ entityPath: string | undefined,
248
+ ): Entity | undefined =>
249
+ entityPath ? this.reviewReport?.findToEntity(entityPath) : undefined;
250
+ const fromEntity = EntityDiff.shouldOldEntityExist(diff)
251
+ ? guaranteeNonNullable(
252
+ fromEntityGetter(diff.getValidatedOldPath()),
253
+ `Can't find entity with path '${diff.oldPath}'`,
254
+ )
255
+ : undefined;
256
+ const toEntity = EntityDiff.shouldNewEntityExist(diff)
257
+ ? guaranteeNonNullable(
258
+ toEntityGetter(diff.getValidatedNewPath()),
259
+ `Can't find entity with path '${diff.newPath}'`,
260
+ )
261
+ : undefined;
262
+ const diffState = new EntityDiffViewState(
263
+ this.editorStore,
264
+ SPECIAL_REVISION_ALIAS.WORKSPACE_BASE,
265
+ SPECIAL_REVISION_ALIAS.WORKSPACE_HEAD,
266
+ diff.oldPath,
267
+ diff.newPath,
268
+ fromEntity,
269
+ toEntity,
270
+ fromEntityGetter,
271
+ toEntityGetter,
272
+ );
273
+
274
+ this.editorStore.tabManagerState.openTab(
275
+ this.editorStore.tabManagerState.tabs.find((t) => t.match(diffState)) ??
276
+ diffState,
277
+ );
278
+ }
279
+
280
+ refresh(): void {
281
+ this.editorStore.tabManagerState.closeAllTabs();
282
+ this.reviewReport = undefined;
283
+ flowResult(this.fetchReviewComparison()).catch(
284
+ this.editorStore.applicationStore.alertUnhandledError,
285
+ );
286
+ }
287
+
288
+ /**
289
+ * To save load time, this function will levergae the reviewId coming from the URl and doesn't
290
+ * assume the review has completed been fetched
291
+ */
292
+ *fetchReviewComparison(): GeneratorFn<void> {
293
+ this.buildReviewReportState.inProgress();
294
+ try {
295
+ const comparison = Comparison.serialization.fromJson(
296
+ (yield this.editorStore.sdlcServerClient.getReviewComparision(
297
+ this.projectId,
298
+ this.patchReleaseVersionId,
299
+ this.reviewId,
300
+ )) as PlainObject<Comparison>,
301
+ );
302
+ const report = new ProjectReviewReport(
303
+ reprocessEntityDiffs(comparison.entityDiffs),
304
+ );
305
+ this.reviewReport = report;
306
+ const fromToRequests = Promise.all([
307
+ ...report.diffs
308
+ .map((diff) => diff.oldPath)
309
+ .filter(isNonNullable)
310
+ .map((fromDiff) =>
311
+ this.editorStore.sdlcServerClient
312
+ .getReviewFromEntity(
313
+ this.projectId,
314
+ this.patchReleaseVersionId,
315
+ this.reviewId,
316
+ fromDiff,
317
+ )
318
+ .then((fromEntity: Entity) => report.addFromEntity(fromEntity)),
319
+ ),
320
+ ...report.diffs
321
+ .map((diff) => diff.newPath)
322
+ .filter(isNonNullable)
323
+ .map((toDiff) =>
324
+ this.editorStore.sdlcServerClient
325
+ .getReviewToEntity(
326
+ this.projectId,
327
+ this.patchReleaseVersionId,
328
+ this.reviewId,
329
+ toDiff,
330
+ )
331
+ .then((toEntity: Entity) => report.addToEntity(toEntity)),
332
+ ),
333
+ ]);
334
+ if (comparison.projectConfigurationUpdated) {
335
+ [
336
+ this.editorStore.sdlcServerClient
337
+ .getReviewFromConfiguration(
338
+ this.projectId,
339
+ this.patchReleaseVersionId,
340
+ this.reviewId,
341
+ )
342
+ .then((config) => report.addFromConfig(config)),
343
+ this.editorStore.sdlcServerClient
344
+ .getReviewToConfiguration(
345
+ this.projectId,
346
+ this.patchReleaseVersionId,
347
+ this.reviewId,
348
+ )
349
+ .then((config) => report.addToConfig(config)),
350
+ ];
351
+ }
352
+ yield fromToRequests;
353
+ } catch (error) {
354
+ assertErrorThrown(error);
355
+ this.editorStore.applicationStore.logService.error(
356
+ LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
357
+ error,
358
+ );
359
+ this.editorStore.applicationStore.notificationService.notifyError(error);
360
+ } finally {
361
+ this.buildReviewReportState.complete();
362
+ }
363
+ }
364
+
365
+ *fetchProject(): GeneratorFn<void> {
366
+ try {
367
+ this.currentProject = Project.serialization.fromJson(
368
+ (yield this.editorStore.sdlcServerClient.getProject(
369
+ this.projectId,
370
+ )) as PlainObject<Project>,
371
+ );
372
+ } catch (error) {
373
+ assertErrorThrown(error);
374
+ this.editorStore.applicationStore.logService.error(
375
+ LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
376
+ error,
377
+ );
378
+ this.editorStore.applicationStore.notificationService.notifyError(error);
379
+ }
380
+ }
381
+
382
+ *fetchReviewApprovals(): GeneratorFn<void> {
383
+ try {
384
+ this.reviewApproval = ReviewApproval.serialization.fromJson(
385
+ (yield this.editorStore.sdlcServerClient.getReviewApprovals(
386
+ this.projectId,
387
+ this.patchReleaseVersionId,
388
+ this.reviewId,
389
+ )) as PlainObject<ReviewApproval>,
390
+ );
391
+ } catch (error) {
392
+ assertErrorThrown(error);
393
+ this.editorStore.applicationStore.logService.error(
394
+ LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
395
+ error,
396
+ );
397
+ }
398
+ }
399
+
400
+ *fetchReview(): GeneratorFn<void> {
401
+ try {
402
+ // TODO: can we assume review also an integer ?
403
+ assertNonEmptyString(
404
+ this.currentReviewId,
405
+ 'Review ID provided must be a valid non empty string',
406
+ );
407
+ this.fetchCurrentReviewState.inProgress();
408
+ this.currentReview = Review.serialization.fromJson(
409
+ (yield this.editorStore.sdlcServerClient.getReview(
410
+ this.projectId,
411
+ this.patchReleaseVersionId,
412
+ this.reviewId,
413
+ )) as PlainObject<Review>,
414
+ );
415
+ } catch (error) {
416
+ assertErrorThrown(error);
417
+ this.editorStore.applicationStore.logService.error(
418
+ LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
419
+ error,
420
+ );
421
+ this.editorStore.applicationStore.notificationService.notifyError(error);
422
+ } finally {
423
+ this.fetchCurrentReviewState.complete();
424
+ }
425
+ }
426
+
427
+ *approveReview(): GeneratorFn<void> {
428
+ this.approveState.inProgress();
429
+ try {
430
+ this.currentReview = Review.serialization.fromJson(
431
+ (yield this.editorStore.sdlcServerClient.approveReview(
432
+ this.projectId,
433
+ this.patchReleaseVersionId,
434
+ this.review.id,
435
+ )) as PlainObject<Review>,
436
+ );
437
+ } catch (error) {
438
+ assertErrorThrown(error);
439
+ this.editorStore.applicationStore.logService.error(
440
+ LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
441
+ error,
442
+ );
443
+ this.editorStore.applicationStore.notificationService.notifyError(error);
444
+ } finally {
445
+ this.approveState.complete();
446
+ }
447
+ }
448
+
449
+ *commitReview(): GeneratorFn<void> {
450
+ this.commitState.inProgress();
451
+ try {
452
+ this.currentReview = Review.serialization.fromJson(
453
+ (yield this.editorStore.sdlcServerClient.commitReview(
454
+ this.projectId,
455
+ this.patchReleaseVersionId,
456
+ this.review.id,
457
+ { message: `${this.review.title} [review]` },
458
+ )) as PlainObject<Review>,
459
+ );
460
+ } catch (error) {
461
+ assertErrorThrown(error);
462
+ this.editorStore.applicationStore.logService.error(
463
+ LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
464
+ error,
465
+ );
466
+ this.editorStore.applicationStore.notificationService.notifyError(error);
467
+ } finally {
468
+ this.commitState.complete();
469
+ }
470
+ }
471
+
472
+ *reOpenReview(): GeneratorFn<void> {
473
+ this.reOpenState.inProgress();
474
+ try {
475
+ this.currentReview = Review.serialization.fromJson(
476
+ (yield this.editorStore.sdlcServerClient.reopenReview(
477
+ this.projectId,
478
+ this.patchReleaseVersionId,
479
+ this.review.id,
480
+ )) as PlainObject<Review>,
481
+ );
482
+ } catch (error) {
483
+ assertErrorThrown(error);
484
+ this.editorStore.applicationStore.logService.error(
485
+ LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
486
+ error,
487
+ );
488
+ this.editorStore.applicationStore.notificationService.notifyError(error);
489
+ } finally {
490
+ this.reOpenState.complete();
491
+ }
492
+ }
493
+
494
+ *closeReview(): GeneratorFn<void> {
495
+ this.closeState.inProgress();
496
+ try {
497
+ this.currentReview = Review.serialization.fromJson(
498
+ (yield this.editorStore.sdlcServerClient.closeReview(
499
+ this.projectId,
500
+ this.patchReleaseVersionId,
501
+ this.review.id,
502
+ )) as PlainObject<Review>,
503
+ );
504
+ } catch (error) {
505
+ assertErrorThrown(error);
506
+ this.editorStore.applicationStore.logService.error(
507
+ LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
508
+ error,
509
+ );
510
+ this.editorStore.applicationStore.notificationService.notifyError(error);
511
+ } finally {
512
+ this.closeState.complete();
513
+ }
514
+ }
515
+ }
package/tsconfig.json CHANGED
@@ -83,6 +83,8 @@
83
83
  "./src/stores/editor/editor-state/GraphGenerationState.ts",
84
84
  "./src/stores/editor/editor-state/ModelImporterState.ts",
85
85
  "./src/stores/editor/editor-state/UnsupportedElementEditorState.ts",
86
+ "./src/stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.ts",
87
+ "./src/stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.ts",
86
88
  "./src/stores/editor/editor-state/element-editor-state/ClassEditorState.ts",
87
89
  "./src/stores/editor/editor-state/element-editor-state/ClassState.ts",
88
90
  "./src/stores/editor/editor-state/element-editor-state/ElementEditorState.ts",
@@ -175,11 +177,11 @@
175
177
  "./src/stores/graph-modifier/STO_Relational_GraphModifierHelper.ts",
176
178
  "./src/stores/graph-modifier/Testable_GraphModifierHelper.ts",
177
179
  "./src/stores/lazy-text-editor/LazyTextEditorStore.ts",
180
+ "./src/stores/project-reviewer/ProjectReviewerStore.ts",
178
181
  "./src/stores/project-view/ProjectViewerEditorMode.ts",
179
182
  "./src/stores/project-view/ProjectViewerStore.ts",
180
183
  "./src/stores/showcase/ShowcaseViewerEditorMode.ts",
181
184
  "./src/stores/showcase/ShowcaseViewerStore.ts",
182
- "./src/stores/workspace-review/WorkspaceReviewStore.ts",
183
185
  "./src/stores/workspace-setup/ProjectConfigurationStatus.ts",
184
186
  "./src/stores/workspace-setup/WorkspaceSetupStore.ts",
185
187
  "./src/application/LegendStudio.tsx",
@@ -219,6 +221,7 @@
219
221
  "./src/components/editor/editor-group/database/IsolatedQueryDatabase.tsx",
220
222
  "./src/components/editor/editor-group/diff-editor/EntityChangeConflictEditor.tsx",
221
223
  "./src/components/editor/editor-group/diff-editor/EntityDiffView.tsx",
224
+ "./src/components/editor/editor-group/diff-editor/ProjectConfigDiffView.tsx",
222
225
  "./src/components/editor/editor-group/element-generation-editor/ElementGenerationEditor.tsx",
223
226
  "./src/components/editor/editor-group/element-generation-editor/ElementNativeView.tsx",
224
227
  "./src/components/editor/editor-group/element-generation-editor/ElementXTGenerationEditor.tsx",
@@ -298,14 +301,14 @@
298
301
  "./src/components/extensions/Core_LegendStudioApplicationPlugin.tsx",
299
302
  "./src/components/extensions/DSL_ExternalFormat_LegendStudioApplicationPlugin.tsx",
300
303
  "./src/components/lazy-text-editor/LazyTextEditor.tsx",
304
+ "./src/components/project-reviewer/ProjectReviewSideBar.tsx",
305
+ "./src/components/project-reviewer/ProjectReviewStoreProvider.tsx",
306
+ "./src/components/project-reviewer/ProjectReviewer.tsx",
307
+ "./src/components/project-reviewer/ProjectReviewerPanel.tsx",
301
308
  "./src/components/project-view/ProjectViewer.tsx",
302
309
  "./src/components/project-view/ProjectViewerStoreProvider.tsx",
303
310
  "./src/components/showcase/ShowcaseViewer.tsx",
304
311
  "./src/components/showcase/ShowcaseViewerStoreProvider.tsx",
305
- "./src/components/workspace-review/WorkspaceReview.tsx",
306
- "./src/components/workspace-review/WorkspaceReviewPanel.tsx",
307
- "./src/components/workspace-review/WorkspaceReviewSideBar.tsx",
308
- "./src/components/workspace-review/WorkspaceReviewStoreProvider.tsx",
309
312
  "./src/components/workspace-setup/CreateProjectModal.tsx",
310
313
  "./src/components/workspace-setup/CreateWorkspaceModal.tsx",
311
314
  "./src/components/workspace-setup/ProjectSelectorUtils.tsx",
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkspaceReview.d.ts","sourceRoot":"","sources":["../../../src/components/workspace-review/WorkspaceReview.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AAoLH,eAAO,MAAM,eAAe,wBAwE3B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkspaceReview.js","sourceRoot":"","sources":["../../../src/components/workspace-review/WorkspaceReview.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkspaceReviewPanel.d.ts","sourceRoot":"","sources":["../../../src/components/workspace-review/WorkspaceReviewPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAqDH,eAAO,MAAM,oBAAoB;;CA2G/B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkspaceReviewPanel.js","sourceRoot":"","sources":["../../../src/components/workspace-review/WorkspaceReviewPanel.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkspaceReviewSideBar.d.ts","sourceRoot":"","sources":["../../../src/components/workspace-review/WorkspaceReviewSideBar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAwBH,eAAO,MAAM,sBAAsB;;CAoNjC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkspaceReviewSideBar.js","sourceRoot":"","sources":["../../../src/components/workspace-review/WorkspaceReviewSideBar.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkspaceReviewStoreProvider.d.ts","sourceRoot":"","sources":["../../../src/components/workspace-review/WorkspaceReviewStoreProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uDAAuD,CAAC;AAS7F,eAAO,MAAM,4BAA4B;cAG7B,MAAM,SAAS;MACvB,MAAM,YAST,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAO,oBAIxC,CAAC;AAEJ,eAAO,MAAM,wBAAwB,qBACjB,MAAM,EAAE,KACzB,MAAM,EAON,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkspaceReviewStoreProvider.js","sourceRoot":"","sources":["../../../src/components/workspace-review/WorkspaceReviewStoreProvider.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uDAAuD,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAElE,MAAM,2BAA2B,GAAG,aAAa,CAE/C,SAAS,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,QAAQ,GAGT,EAAsB,EAAE;IACvB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9E,OAAO,CACL,KAAC,2BAA2B,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAC/C,QAAQ,GAC4B,CACxC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAyB,EAAE,CAChE,oBAAoB,CAClB,UAAU,CAAC,2BAA2B,CAAC,EACvC,8CAA8C,CAC/C,CAAC;AAEJ,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,gBAA0B,EAChB,EAAE,CACZ,SAAS,wBAAwB;IAC/B,OAAO,CACL,KAAC,4BAA4B,cAC3B,KAAC,gBAAgB,KAAG,GACS,CAChC,CAAC;AACJ,CAAC,CAAC"}
@@ -1,47 +0,0 @@
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 GeneratorFn } from '@finos/legend-shared';
17
- import type { EditorStore } from '../editor/EditorStore.js';
18
- import { Project, Review, type Patch } from '@finos/legend-server-sdlc';
19
- export declare class WorkspaceReviewStore {
20
- readonly editorStore: EditorStore;
21
- currentProjectId?: string | undefined;
22
- currentProject?: Project | undefined;
23
- currentPatch?: Patch | undefined;
24
- currentReviewId?: string | undefined;
25
- currentReview?: Review | undefined;
26
- isFetchingCurrentReview: boolean;
27
- isFetchingComparison: boolean;
28
- isApprovingReview: boolean;
29
- isClosingReview: boolean;
30
- isCommittingReview: boolean;
31
- isReopeningReview: boolean;
32
- constructor(editorStore: EditorStore);
33
- get projectId(): string;
34
- get patchReleaseVersionId(): string | undefined;
35
- get reviewId(): string;
36
- get review(): Review;
37
- setProjectIdAndReviewId(projectId: string, reviewId: string): void;
38
- initialize(): GeneratorFn<void>;
39
- fetchReviewComparison(): GeneratorFn<void>;
40
- fetchProject(): GeneratorFn<void>;
41
- getReview(): GeneratorFn<void>;
42
- approveReview(): GeneratorFn<void>;
43
- commitReview(): GeneratorFn<void>;
44
- reOpenReview(): GeneratorFn<void>;
45
- closeReview(): GeneratorFn<void>;
46
- }
47
- //# sourceMappingURL=WorkspaceReviewStore.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkspaceReviewStore.d.ts","sourceRoot":"","sources":["../../../src/stores/workspace-review/WorkspaceReviewStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,WAAW,EAKjB,MAAM,sBAAsB,CAAC;AAS9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAIxE,qBAAa,oBAAoB;IAC/B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAElC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,YAAY,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,uBAAuB,UAAS;IAChC,oBAAoB,UAAS;IAC7B,iBAAiB,UAAS;IAC1B,eAAe,UAAS;IACxB,kBAAkB,UAAS;IAC3B,iBAAiB,UAAS;gBAEd,WAAW,EAAE,WAAW;IAgCpC,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,qBAAqB,IAAI,MAAM,GAAG,SAAS,CAE9C;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKjE,UAAU,IAAI,WAAW,CAAC,IAAI,CAAC;IA4B/B,qBAAqB,IAAI,WAAW,CAAC,IAAI,CAAC;IAkD1C,YAAY,IAAI,WAAW,CAAC,IAAI,CAAC;IAiBjC,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC;IAsB9B,aAAa,IAAI,WAAW,CAAC,IAAI,CAAC;IAsBlC,YAAY,IAAI,WAAW,CAAC,IAAI,CAAC;IAuBjC,YAAY,IAAI,WAAW,CAAC,IAAI,CAAC;IAsBjC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC;CAqBlC"}