Skip to content

Commit bf7c7d5

Browse files
#RI-5750 - update get template endpoint
1 parent dc63728 commit bf7c7d5

File tree

3 files changed

+43
-12
lines changed

3 files changed

+43
-12
lines changed

redisinsight/ui/src/constants/api.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,8 @@ enum ApiEndpoints {
148148
RDI_DEPLOY_PIPELINE = 'pipeline/deploy',
149149
RDI_TEST_CONNECTIONS = 'pipeline/test-connections',
150150
RDI_PIPELINE_STRATEGIES = 'pipeline/strategies',
151-
RDI_PIPELINE_TEMPLATE = 'pipeline/template',
151+
RDI_JOB_TEMPLATE = 'pipeline/job/template',
152+
RDI_CONFIG_TEMPLATE = 'pipeline/config/template',
152153
RDI_PIPELINE_JOB_FUNCTIONS = 'pipeline/job-functions',
153154
RDI_STATISTICS = 'statistics',
154155
RDI_PIPELINE_STATUS = 'pipeline/status',

redisinsight/ui/src/pages/rdi/pipeline-management/components/template-form/TemplateForm.tsx

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,12 @@ import { useDispatch, useSelector } from 'react-redux'
1313
import { useParams } from 'react-router-dom'
1414
import cx from 'classnames'
1515

16-
import { fetchPipelineStrategies, fetchPipelineTemplate, rdiPipelineStrategiesSelector } from 'uiSrc/slices/rdi/pipeline'
16+
import {
17+
fetchPipelineStrategies,
18+
fetchJobTemplate,
19+
fetchConfigTemplate,
20+
rdiPipelineStrategiesSelector,
21+
} from 'uiSrc/slices/rdi/pipeline'
1722
import { RdiPipelineTabs } from 'uiSrc/slices/interfaces/rdi'
1823
import { sendEventTelemetry, TelemetryEvent } from 'uiSrc/telemetry'
1924
import { NO_TEMPLATE_VALUE, NO_OPTIONS, INGEST_OPTION } from './constants'
@@ -69,11 +74,12 @@ const TemplateForm = (props: Props) => {
6974
}
7075

7176
const handleApply = () => {
72-
const values = source === RdiPipelineTabs.Config
73-
? { dbType: selectedDbType, pipelineType: selectedPipelineType }
74-
: { pipelineType: selectedPipelineType }
75-
76-
dispatch(fetchPipelineTemplate(rdiInstanceId, values, onSuccess))
77+
if (source === RdiPipelineTabs.Config) {
78+
dispatch(fetchConfigTemplate(rdiInstanceId, selectedPipelineType, selectedDbType, onSuccess))
79+
}
80+
if (source === RdiPipelineTabs.Jobs) {
81+
dispatch(fetchJobTemplate(rdiInstanceId, selectedPipelineType, onSuccess))
82+
}
7783
sendEventTelemetry({
7884
event: TelemetryEvent.RDI_TEMPLATE_CLICKED,
7985
eventData: {

redisinsight/ui/src/slices/rdi/pipeline.ts

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -232,18 +232,42 @@ export function fetchPipelineStrategies(
232232
}
233233
}
234234

235-
export function fetchPipelineTemplate(
235+
export function fetchJobTemplate(
236236
rdiInstanceId: string,
237-
// TODO add interface
238-
options: any,
237+
pipelineType: string,
239238
onSuccessAction?: (template: string) => void,
240239
onFailAction?: () => void,
241240
) {
242241
return async (dispatch: AppDispatch) => {
243242
try {
244243
const { status, data } = await apiService.get(
245-
getRdiUrl(rdiInstanceId, ApiEndpoints.RDI_PIPELINE_TEMPLATE),
246-
{ params: options },
244+
getRdiUrl(rdiInstanceId, ApiEndpoints.RDI_JOB_TEMPLATE, pipelineType),
245+
)
246+
247+
if (isStatusSuccessful(status)) {
248+
onSuccessAction?.(data.template)
249+
}
250+
} catch (_err) {
251+
const error = _err as AxiosError
252+
const parsedError = getAxiosError(error as EnhancedAxiosError)
253+
254+
dispatch(addErrorNotification(parsedError))
255+
onFailAction?.()
256+
}
257+
}
258+
}
259+
260+
export function fetchConfigTemplate(
261+
rdiInstanceId: string,
262+
pipelineType: string,
263+
dbType: string,
264+
onSuccessAction?: (template: string) => void,
265+
onFailAction?: () => void,
266+
) {
267+
return async (dispatch: AppDispatch) => {
268+
try {
269+
const { status, data } = await apiService.get(
270+
getRdiUrl(rdiInstanceId, ApiEndpoints.RDI_CONFIG_TEMPLATE, pipelineType, dbType),
247271
)
248272

249273
if (isStatusSuccessful(status)) {

0 commit comments

Comments
 (0)