@@ -4,9 +4,12 @@ import { ReplicationPipelinesData } from 'data/replication/pipelines-query'
44import { ResponseError } from 'types'
55import ShimmeringLoader from 'ui-patterns/ShimmeringLoader'
66import RowMenu from './RowMenu'
7- import PipelineStatus , { PipelineStatusRequestStatus } from './PipelineStatus'
7+ import PipelineStatus , { PipelineStatusRequestStatus , PipelineStatusName } from './PipelineStatus'
88import { useParams } from 'common'
9- import { useReplicationPipelineStatusQuery } from 'data/replication/pipeline-status-query'
9+ import {
10+ ReplicationPipelineStatusData ,
11+ useReplicationPipelineStatusQuery ,
12+ } from 'data/replication/pipeline-status-query'
1013import { useState } from 'react'
1114import { toast } from 'sonner'
1215import { useStartPipelineMutation } from 'data/replication/start-pipeline-mutation'
@@ -65,10 +68,22 @@ const DestinationRow = ({
6568 const { mutateAsync : startPipeline } = useStartPipelineMutation ( )
6669 const { mutateAsync : stopPipeline } = useStopPipelineMutation ( )
6770 const pipelineStatus = pipelineStatusData ?. status
71+ const getStatusName = (
72+ status : ReplicationPipelineStatusData [ 'status' ] | undefined
73+ ) : string | undefined => {
74+ if ( status && typeof status === 'object' && 'name' in status ) {
75+ return status . name
76+ }
77+
78+ return undefined
79+ }
80+
81+ const statusName = getStatusName ( pipelineStatus )
6882 if (
6983 ( requestStatus === PipelineStatusRequestStatus . EnableRequested &&
70- pipelineStatus === 'Started' ) ||
71- ( requestStatus === PipelineStatusRequestStatus . DisableRequested && pipelineStatus === 'Stopped' )
84+ ( statusName === PipelineStatusName . STARTED || statusName === PipelineStatusName . FAILED ) ) ||
85+ ( requestStatus === PipelineStatusRequestStatus . DisableRequested &&
86+ ( statusName === PipelineStatusName . STOPPED || statusName === PipelineStatusName . FAILED ) )
7287 ) {
7388 setRequestStatus ( PipelineStatusRequestStatus . None )
7489 }
@@ -190,7 +205,7 @@ const DestinationRow = ({
190205 sourceId,
191206 destinationId : destinationId ,
192207 pipelineId : pipeline ?. id ,
193- enabled : pipelineStatusData ?. status === 'Started' ,
208+ enabled : statusName === PipelineStatusName . STARTED ,
194209 } }
195210 />
196211 </ >
0 commit comments