diff --git a/ami/ml/views.py b/ami/ml/views.py index 98b1dd77..a6b89a1c 100644 --- a/ami/ml/views.py +++ b/ami/ml/views.py @@ -127,8 +127,14 @@ class ProcessingServiceViewSet(DefaultViewSet): def get_queryset(self) -> QuerySet: query_set: QuerySet = super().get_queryset() project = get_active_project(self.request) + if project: - query_set = query_set.filter(projects=project) + query_set = query_set.filter(projects=project).prefetch_related( + Prefetch( + "pipelines", + queryset=Pipeline.objects.filter(projects=project.id), + ) + ) return query_set @extend_schema(parameters=[project_id_doc_param]) diff --git a/ui/src/data-services/hooks/processing-services/useProcessingServiceDetails.ts b/ui/src/data-services/hooks/processing-services/useProcessingServiceDetails.ts index 66aee8ab..aee6bef1 100644 --- a/ui/src/data-services/hooks/processing-services/useProcessingServiceDetails.ts +++ b/ui/src/data-services/hooks/processing-services/useProcessingServiceDetails.ts @@ -10,7 +10,8 @@ const convertServerRecord = (record: ServerProcessingService) => new ProcessingService(record) export const useProcessingServiceDetails = ( - processingServiceId: string + processingServiceId: string, + queryParams: { projectId: string } ): { processingService?: ProcessingService isLoading: boolean @@ -20,7 +21,7 @@ export const useProcessingServiceDetails = ( const { data, isLoading, isFetching, error } = useAuthorizedQuery({ queryKey: [API_ROUTES.PROCESSING_SERVICES, processingServiceId], - url: `${API_URL}/${API_ROUTES.PROCESSING_SERVICES}/${processingServiceId}/`, + url: `${API_URL}/${API_ROUTES.PROCESSING_SERVICES}/${processingServiceId}/?project_id=${queryParams.projectId}`, }) const processingService = useMemo( diff --git a/ui/src/pages/overview/processing-services/processing-services-columns.tsx b/ui/src/pages/overview/processing-services/processing-services-columns.tsx index d5192d28..fdd65abd 100644 --- a/ui/src/pages/overview/processing-services/processing-services-columns.tsx +++ b/ui/src/pages/overview/processing-services/processing-services-columns.tsx @@ -11,7 +11,7 @@ import { PopulateProcessingService } from './processing-services-actions' export const columns: ( projectId: string -) => TableColumn[] = () => [ +) => TableColumn[] = (projectId: string) => [ { id: 'id', sortField: 'id', @@ -24,7 +24,11 @@ export const columns: ( name: translate(STRING.FIELD_LABEL_NAME), renderCell: (item: ProcessingService) => ( - + ), }, diff --git a/ui/src/pages/processing-service-details/processing-service-details-dialog.tsx b/ui/src/pages/processing-service-details/processing-service-details-dialog.tsx index b51d0891..34e7344d 100644 --- a/ui/src/pages/processing-service-details/processing-service-details-dialog.tsx +++ b/ui/src/pages/processing-service-details/processing-service-details-dialog.tsx @@ -11,9 +11,11 @@ import styles from './styles.module.scss' export const ProcessingServiceDetailsDialog = ({ id, + projectId, name, }: { id: string + projectId: string name: string }) => { const [isOpen, setIsOpen] = useState(false) @@ -40,6 +42,7 @@ export const ProcessingServiceDetailsDialog = ({
@@ -50,13 +53,17 @@ export const ProcessingServiceDetailsDialog = ({ const ProcessingServiceDetailsContent = ({ id, + projectId, onLoadingChange, }: { id: string + projectId: string onLoadingChange: (isLoading: boolean) => void }) => { - const { processingService, isLoading, error } = - useProcessingServiceDetails(id) + const { processingService, isLoading, error } = useProcessingServiceDetails( + id, + { projectId } + ) useEffect(() => { onLoadingChange(isLoading)