Skip to content

Commit

Permalink
address comments
Browse files Browse the repository at this point in the history
Signed-off-by: Adam Tackett <[email protected]>
  • Loading branch information
Adam Tackett committed Oct 11, 2024
1 parent 101218f commit 6cb8436
Show file tree
Hide file tree
Showing 7 changed files with 65 additions and 34 deletions.
43 changes: 43 additions & 0 deletions common/constants/getting_started_routes.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/*
* Copyright OpenSearch Contributors
* SPDX-License-Identifier: Apache-2.0
*/

export type TutorialId =
| 'otelLogs'
| 'otelMetrics'
| 'otelTraces'
| 'nginx'
| 'java'
| 'python'
| 'golang';

export const COMPONENT_MAP: Record<TutorialId, string> = {
otelLogs: 'otel-index-patterns',
otelMetrics: 'otel-index-patterns',
otelTraces: 'otel-index-patterns',
nginx: 'nginx',
java: 'java-tutorial',
python: 'python-tutorial',
golang: 'golang-tutorial',
};

export const VERSION_MAP: Record<TutorialId, string> = {
otelLogs: '1.0.0',
otelMetrics: '1.0.0',
otelTraces: '1.0.0',
nginx: '1.0.0',
java: '1.0.0',
python: '1.0.0',
golang: '1.0.0',
};

export const SIGNAL_MAP: Record<TutorialId, string> = {
otelLogs: 'Logs',
otelMetrics: 'Metrics',
otelTraces: 'Traces',
nginx: '',
java: '',
python: '',
golang: '',
};
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ interface ExtendedHomeProps extends HomeProps {

export const NewGettingStarted = (props: ExtendedHomeProps) => {
const { chrome, selectedDataSourceId, selectedDataSourceLabel } = props;
const [_selectedSource, setSelectedSource] = useState('');
const [isPickYourSourceOpen, setIsPickYourSourceOpen] = useState(true);

useEffect(() => {
Expand All @@ -28,10 +27,6 @@ export const NewGettingStarted = (props: ExtendedHomeProps) => {
]);
}, [chrome]);

const handleSelectSource = (source: string) => {
setSelectedSource(source);
};

const togglePickYourSource = (isOpen: boolean) => {
setIsPickYourSourceOpen(isOpen);
};
Expand All @@ -42,7 +37,6 @@ export const NewGettingStarted = (props: ExtendedHomeProps) => {
<CollectAndShipData
isOpen={isPickYourSourceOpen}
onToggle={togglePickYourSource}
onSelectSource={handleSelectSource}
selectedDataSourceId={selectedDataSourceId}
selectedDataSourceLabel={selectedDataSourceLabel}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ const cardThree = 'Traces';
interface CollectAndShipDataProps {
isOpen: boolean;
onToggle: (isOpen: boolean) => void;
onSelectSource: (source: string) => void;
selectedDataSourceId: string;
selectedDataSourceLabel: string;
}
Expand All @@ -59,7 +58,6 @@ interface CollectorOption {
}

export const CollectAndShipData: React.FC<CollectAndShipDataProps> = ({
onSelectSource,
selectedDataSourceId,
selectedDataSourceLabel,
}) => {
Expand Down Expand Up @@ -132,7 +130,6 @@ export const CollectAndShipData: React.FC<CollectAndShipDataProps> = ({
}

setSpecificMethod(selectedOptionValue);
onSelectSource(selectedOptionValue);
setSelectedWorkflow('');
setGettingStarted(null);
setWorkflows([]);
Expand Down
Binary file not shown.
5 changes: 4 additions & 1 deletion public/components/getting_started/home.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

import React, { useState, useMemo } from 'react';
import { HashRouter, Route, RouteComponentProps, Switch } from 'react-router-dom';
import { i18n } from '@osd/i18n';
import {
ChromeBreadcrumb,
ChromeStart,
Expand Down Expand Up @@ -100,7 +101,9 @@ export const Home = (props: HomeProps) => {
<div>
{dataSourceMenuComponent}
<HeaderControlledComponentsWrapper
description={'Get started with collecting and monitoring your observability data.'}
description={i18n.translate('observabilityGetStarted.description', {
defaultMessage: 'Get started with collecting and monitoring your observability data.',
})}
/>
<HashRouter>
<Switch>
Expand Down
7 changes: 4 additions & 3 deletions server/routes/getting_started/getting_started_router.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
import { createSavedObjectsStreamFromNdJson } from '../../../../../src/core/server/saved_objects/routes/utils';
import { loadAssetsFromFile } from './helper';
import { getWorkspaceState } from '../../../../../src/core/server/utils';
import { TutorialId } from '../../../common/constants/getting_started_routes';

export function registerGettingStartedRoutes(router: IRouter) {
// Fetch the tutorial assets
Expand All @@ -32,7 +33,7 @@ export function registerGettingStartedRoutes(router: IRouter) {
response
): Promise<IOpenSearchDashboardsResponse<any | ResponseError>> => {
try {
const fileData = await loadAssetsFromFile(request.params.tutorialId);
const fileData = await loadAssetsFromFile(request.params.tutorialId as TutorialId);
return response.ok({
body: {
data: fileData,
Expand Down Expand Up @@ -64,7 +65,7 @@ export function registerGettingStartedRoutes(router: IRouter) {
response
): Promise<IOpenSearchDashboardsResponse<any | ResponseError>> => {
try {
const fileData = await loadAssetsFromFile(request.params.tutorialId);
const fileData = await loadAssetsFromFile(request.params.tutorialId as TutorialId);

const objects = await createSavedObjectsStreamFromNdJson(Readable.from(fileData));
const loadedObjects = await objects.toArray();
Expand Down Expand Up @@ -109,7 +110,7 @@ export function registerGettingStartedRoutes(router: IRouter) {
try {
const { mdsId, mdsLabel, tutorialId } = request.body;
const { requestWorkspaceId } = getWorkspaceState(request);
const fileData = await loadAssetsFromFile(tutorialId);
const fileData = await loadAssetsFromFile(tutorialId as TutorialId);

const objects = await createSavedObjectsStreamFromNdJson(Readable.from(fileData));
const loadedObjects = await objects.toArray();
Expand Down
35 changes: 14 additions & 21 deletions server/routes/getting_started/helper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,35 +5,28 @@

import fs from 'fs';
import path from 'path';
import {
COMPONENT_MAP,
VERSION_MAP,
SIGNAL_MAP,
TutorialId,
} from '../../../common/constants/getting_started_routes';

export const assetMapper = (tutorialId: string) => {
switch (tutorialId) {
case 'otelLogs':
return 'otel-index-patterns-1.0.0-Logs.ndjson';
case 'otelMetrics':
return 'otel-index-patterns-1.0.0-Metrics.ndjson';
case 'otelTraces':
return 'otel-index-patterns-1.0.0-Traces.ndjson';
case 'nginx':
return 'nginx-1.0.0.ndjson';
case 'java':
return 'java-tutorial-1.0.0.ndjson';
case 'python':
return 'python-tutorial-1.0.0.ndjson';
case 'golang':
return 'golang-tutorial-1.0.0.ndjson';
default:
return '';
}
export const assetMapper = (tutorialId: TutorialId): string => {
const component = COMPONENT_MAP[tutorialId] || 'default-component';
const version = VERSION_MAP[tutorialId] || '1.0.0';
const signal = SIGNAL_MAP[tutorialId] ? `-${SIGNAL_MAP[tutorialId]}` : '';

return `${component}-${version}${signal}.ndjson`;
};

export const loadAssetsFromFile = async (tutorialId: string) => {
export const loadAssetsFromFile = async (tutorialId: TutorialId) => {
try {
const fileName = assetMapper(tutorialId);
const filePath = path.join(__dirname, `assets/${fileName}`);
const fileData = await fs.promises.readFile(filePath, 'utf8');
return fileData;
} catch (error) {
throw new Error('Issue is loading asset');
throw new Error(`Error loading asset: ${tutorialId}`);
}
};

0 comments on commit 6cb8436

Please sign in to comment.