Skip to content

Commit 2336e55

Browse files
feat(API): update web-client to use v4 API endpoint (#1331)
Co-authored-by: Andrew Azores <[email protected]>
1 parent f3c4dd8 commit 2336e55

40 files changed

+459
-775
lines changed

src/app/CreateRecording/CustomRecordingForm.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -273,10 +273,8 @@ export const CustomRecordingForm: React.FC = () => {
273273
}
274274
addSubscription(
275275
forkJoin({
276-
templates: context.api.doGet<EventTemplate[]>(`targets/${encodeURIComponent(target.connectUrl)}/templates`),
277-
recordingOptions: context.api.doGet<AdvancedRecordingOptions>(
278-
`targets/${encodeURIComponent(target.connectUrl)}/recordingOptions`,
279-
),
276+
templates: context.api.getTargetEventTemplates(target),
277+
recordingOptions: context.api.doGet<AdvancedRecordingOptions>(`targets/${target.id}/recordingOptions`),
280278
}).subscribe({
281279
next: ({ templates, recordingOptions }) => {
282280
setErrorMessage('');

src/app/CreateRecording/SnapshotRecordingForm.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ export const SnapshotRecordingForm: React.FC<SnapshotRecordingFormProps> = (_) =
4040
context.api
4141
.createSnapshot()
4242
.pipe(first())
43-
.subscribe((success) => {
43+
.subscribe((result) => {
4444
setLoading(false);
45-
if (success) {
45+
if (result) {
4646
exitForm();
4747
}
4848
}),

src/app/Dashboard/AutomatedAnalysis/AutomatedAnalysisCard.tsx

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ import _ from 'lodash';
9898
import * as React from 'react';
9999
import { useTranslation } from 'react-i18next';
100100
import { useDispatch, useSelector } from 'react-redux';
101-
import { filter, first, map, tap } from 'rxjs';
101+
import { concatMap, filter, first, map, tap } from 'rxjs';
102102
import { DashboardCard } from '../DashboardCard';
103103
import { DashboardCardDescriptor, DashboardCardFC, DashboardCardSizes, DashboardCardTypeProps } from '../types';
104104
import { AutomatedAnalysisCardList } from './AutomatedAnalysisCardList';
@@ -529,20 +529,28 @@ export const AutomatedAnalysisCard: DashboardCardFC<AutomatedAnalysisCardProps>
529529
generateReport();
530530
} else {
531531
addSubscription(
532-
context.api.deleteRecording('automated-analysis').subscribe({
533-
next: () => {
534-
generateReport();
535-
},
536-
error: (error) => {
537-
handleStateErrors(error.message);
538-
},
539-
}),
532+
context.target
533+
.target()
534+
.pipe(
535+
filter((t) => !!t),
536+
concatMap((t) => context.api.targetRecordingRemoteIdByOrigin(t!, automatedAnalysisRecordingName)),
537+
concatMap((id) => context.api.deleteRecording(id!)),
538+
)
539+
.subscribe({
540+
next: () => {
541+
generateReport();
542+
},
543+
error: (error) => {
544+
handleStateErrors(error.message);
545+
},
546+
}),
540547
);
541548
}
542549
}, [
543550
addSubscription,
544551
context.api,
545552
context.reports,
553+
context.target,
546554
targetConnectURL,
547555
usingCachedReport,
548556
usingArchivedReport,

src/app/Dashboard/AutomatedAnalysis/AutomatedAnalysisConfigForm.tsx

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -99,15 +99,7 @@ export const AutomatedAnalysisConfigForm: React.FC<AutomatedAnalysisConfigFormPr
9999
(target?: Target) => {
100100
setIsLoading(true);
101101
addSubscription(
102-
iif(
103-
() => !target,
104-
of([]),
105-
context.api
106-
.doGet<
107-
EventTemplate[]
108-
>(`targets/${encodeURIComponent(target?.connectUrl || '')}/templates`, 'v1', undefined, undefined, true)
109-
.pipe(first()),
110-
).subscribe({
102+
iif(() => !target, of([]), context.api.getTargetEventTemplates(target!, false, true).pipe(first())).subscribe({
111103
next: (templates: EventTemplate[]) => {
112104
setErrorMessage('');
113105
setTemplates(templates);

src/app/Dashboard/Charts/jfr/JFRMetricsChartController.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import {
2323
BehaviorSubject,
2424
concatMap,
2525
distinctUntilChanged,
26+
filter,
2627
finalize,
2728
first,
2829
map,
@@ -115,9 +116,15 @@ export class JFRMetricsChartController {
115116
.subscribe((v) => {
116117
this._state$.next(v ? ControllerState.READY : ControllerState.NO_DATA);
117118
if (v) {
118-
this._api
119-
.uploadActiveRecordingToGrafana(RECORDING_NAME)
120-
.pipe(first())
119+
this._target
120+
.target()
121+
.pipe(
122+
filter((t) => !!t),
123+
first(),
124+
concatMap((t) => this._api.targetRecordingRemoteIdByOrigin(t!, RECORDING_NAME)),
125+
filter((remoteId) => remoteId != null),
126+
concatMap((id) => this._api.uploadActiveRecordingToGrafana(id!).pipe(first())),
127+
)
121128
.subscribe((_) => {
122129
this._state$.next(ControllerState.READY);
123130
});
@@ -129,7 +136,7 @@ export class JFRMetricsChartController {
129136
if (!target) {
130137
return of(false);
131138
}
132-
return this._api.targetHasRecording(target, {
139+
return this._api.targetHasJFRMetricsRecording(target, {
133140
state: RecordingState.RUNNING,
134141
labels: [`origin=${RECORDING_NAME}`],
135142
});

src/app/Events/EventTemplates.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,9 +167,7 @@ export const EventTemplates: React.FC<EventTemplatesProps> = () => {
167167
.pipe(
168168
filter((target) => !!target),
169169
first(),
170-
concatMap((target: Target) =>
171-
context.api.doGet<EventTemplate[]>(`targets/${encodeURIComponent(target.connectUrl)}/templates`),
172-
),
170+
concatMap((target: Target) => context.api.getTargetEventTemplates(target)),
173171
)
174172
.subscribe({
175173
next: handleTemplates,

src/app/Events/EventTypes.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,7 @@ export const EventTypes: React.FC<EventTypesProps> = () => {
123123
.pipe(
124124
filter((target) => !!target),
125125
first(),
126-
concatMap((target: Target) =>
127-
context.api.doGet<EventType[]>(`targets/${encodeURIComponent(target.connectUrl)}/events`),
128-
),
126+
concatMap((target: Target) => context.api.getTargetEventTypes(target)),
129127
)
130128
.subscribe({
131129
next: handleTypes,

src/app/RecordingMetadata/BulkEditLabels.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -160,9 +160,7 @@ export const BulkEditLabels: React.FC<BulkEditLabelsProps> = ({
160160
} else if (isTargetRecording) {
161161
observable = context.target.target().pipe(
162162
filter((target) => !!target),
163-
concatMap((target: Target) =>
164-
context.api.doGet<ActiveRecording[]>(`targets/${encodeURIComponent(target.connectUrl)}/recordings`),
165-
),
163+
concatMap((target: Target) => context.api.getTargetActiveRecordings(target)),
166164
first(),
167165
);
168166
} else {
@@ -261,9 +259,9 @@ export const BulkEditLabels: React.FC<BulkEditLabelsProps> = ({
261259
const event = parts[1];
262260

263261
const isMatch =
264-
currentTarget?.connectUrl === event.message.target ||
262+
currentTarget?.jvmId === event.message.jvmId ||
265263
currentTarget?.jvmId === event.message.recording.jvmId ||
266-
currentTarget?.connectUrl === 'uploads';
264+
currentTarget?.jvmId === 'uploads';
267265

268266
setRecordings((oldRecordings) => {
269267
return oldRecordings.map((recording) => {

src/app/Recordings/ActiveRecordingsTable.tsx

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -228,9 +228,7 @@ export const ActiveRecordingsTable: React.FC<ActiveRecordingsTableProps> = (prop
228228
.target()
229229
.pipe(
230230
filter((target) => !!target),
231-
concatMap((target: Target) =>
232-
context.api.doGet<ActiveRecording[]>(`targets/${encodeURIComponent(target.connectUrl)}/recordings`),
233-
),
231+
concatMap((target: Target) => context.api.getTargetActiveRecordings(target)),
234232
first(),
235233
)
236234
.subscribe({
@@ -259,7 +257,7 @@ export const ActiveRecordingsTable: React.FC<ActiveRecordingsTableProps> = (prop
259257
context.notificationChannel.messages(NotificationCategory.SnapshotCreated),
260258
),
261259
]).subscribe(([currentTarget, event]) => {
262-
if (currentTarget?.connectUrl != event.message.target && currentTarget?.jvmId != event.message.jvmId) {
260+
if (currentTarget?.jvmId != event.message.jvmId) {
263261
return;
264262
}
265263
setRecordings((old) => old.concat([event.message.recording]));
@@ -276,7 +274,7 @@ export const ActiveRecordingsTable: React.FC<ActiveRecordingsTableProps> = (prop
276274
context.notificationChannel.messages(NotificationCategory.SnapshotDeleted),
277275
),
278276
]).subscribe(([currentTarget, event]) => {
279-
if (currentTarget?.connectUrl != event.message.target && currentTarget?.jvmId != event.message.jvmId) {
277+
if (currentTarget?.jvmId != event.message.jvmId) {
280278
return;
281279
}
282280

@@ -292,7 +290,7 @@ export const ActiveRecordingsTable: React.FC<ActiveRecordingsTableProps> = (prop
292290
context.target.target(),
293291
context.notificationChannel.messages(NotificationCategory.ActiveRecordingStopped),
294292
]).subscribe(([currentTarget, event]) => {
295-
if (currentTarget?.connectUrl != event.message.target && currentTarget?.jvmId != event.message.jvmId) {
293+
if (currentTarget?.jvmId != event.message.jvmId) {
296294
return;
297295
}
298296
setRecordings((old) => {
@@ -323,7 +321,7 @@ export const ActiveRecordingsTable: React.FC<ActiveRecordingsTableProps> = (prop
323321
context.target.target(),
324322
context.notificationChannel.messages(NotificationCategory.RecordingMetadataUpdated),
325323
]).subscribe(([currentTarget, event]) => {
326-
if (currentTarget?.connectUrl != event.message.target && currentTarget?.jvmId != event.message.jvmId) {
324+
if (currentTarget?.jvmId != event.message.jvmId) {
327325
return;
328326
}
329327
setRecordings((old) => {
@@ -391,7 +389,7 @@ export const ActiveRecordingsTable: React.FC<ActiveRecordingsTableProps> = (prop
391389
filteredRecordings.forEach((r: ActiveRecording) => {
392390
if (checkedIndices.includes(r.id)) {
393391
handleRowCheck(false, r.id);
394-
tasks.push(context.api.archiveRecording(r.name).pipe(first()));
392+
tasks.push(context.api.archiveRecording(r.remoteId).pipe(first()));
395393
}
396394
});
397395
addSubscription(
@@ -417,7 +415,7 @@ export const ActiveRecordingsTable: React.FC<ActiveRecordingsTableProps> = (prop
417415
if (checkedIndices.includes(r.id)) {
418416
handleRowCheck(false, r.id);
419417
if (r.state === RecordingState.RUNNING || r.state === RecordingState.STARTING) {
420-
tasks.push(context.api.stopRecording(r.name).pipe(first()));
418+
tasks.push(context.api.stopRecording(r.remoteId).pipe(first()));
421419
}
422420
}
423421
});
@@ -443,7 +441,7 @@ export const ActiveRecordingsTable: React.FC<ActiveRecordingsTableProps> = (prop
443441
filteredRecordings.forEach((r: ActiveRecording) => {
444442
if (checkedIndices.includes(r.id)) {
445443
context.reports.delete(r);
446-
tasks.push(context.api.deleteRecording(r.name).pipe(first()));
444+
tasks.push(context.api.deleteRecording(r.remoteId).pipe(first()));
447445
}
448446
});
449447
addSubscription(
@@ -1011,7 +1009,7 @@ export const ActiveRecordingRow: React.FC<ActiveRecordingRowProps> = ({
10111009
<RecordingActions
10121010
index={index}
10131011
recording={recording}
1014-
uploadFn={() => context.api.uploadActiveRecordingToGrafana(recording.name)}
1012+
uploadFn={() => context.api.uploadActiveRecordingToGrafana(recording.remoteId)}
10151013
/>
10161014
</Tr>
10171015
);

src/app/Recordings/ArchivedRecordingsTable.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ export const ArchivedRecordingsTable: React.FC<ArchivedRecordingsTableProps> = (
326326
context.notificationChannel.messages(NotificationCategory.ActiveRecordingSaved),
327327
),
328328
]).subscribe(([currentTarget, event]) => {
329-
if (currentTarget?.connectUrl != event.message.target && currentTarget?.jvmId != event.message.jvmId) {
329+
if (currentTarget?.jvmId != event.message.jvmId) {
330330
return;
331331
}
332332
setRecordings((old) =>

0 commit comments

Comments
 (0)