From 13b9690a46f138bff09cf791e982e9fa6c42c275 Mon Sep 17 00:00:00 2001 From: Andres Torres Date: Thu, 5 Dec 2024 08:25:16 -0600 Subject: [PATCH] HJ-97 - Missing QA from HJ-97 (#5559) Co-authored-by: Adam Sachs --- src/fides/api/api/v1/endpoints/system.py | 33 ++++++++++++++---------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/src/fides/api/api/v1/endpoints/system.py b/src/fides/api/api/v1/endpoints/system.py index 0171265eda..266f23e1c5 100644 --- a/src/fides/api/api/v1/endpoints/system.py +++ b/src/fides/api/api/v1/endpoints/system.py @@ -19,7 +19,11 @@ from fides.api.api import deps from fides.api.api.v1.endpoints.saas_config_endpoints import instantiate_connection -from fides.api.db.crud import get_resource, get_resource_with_custom_fields +from fides.api.db.crud import ( + get_resource, + get_resource_with_custom_fields, + list_resource, +) from fides.api.db.ctl_session import get_async_db from fides.api.db.system import ( create_system, @@ -396,6 +400,20 @@ async def ls( # pylint: disable=invalid-name Otherwise all Systems will be returned (this may be a slow operation if there are many systems, so using the pagination parameters is recommended). """ + if not ( + size + or page + or search + or data_uses + or data_categories + or data_subjects + or dnd_relevant + or show_hidden + ): + # if no advanced parameters are passed, we return a very basic list of all System resources + # to maintain backward compatibility of the original API, which backs some important client usages, e.g. the fides CLI + + return await list_resource(System, db) query = select(System) @@ -447,19 +465,6 @@ async def ls( # pylint: disable=invalid-name # Add a distinct so we only get one row per system duplicates_removed = filtered_query.distinct(System.id) - if not ( - size - or page - or search - or data_uses - or data_categories - or data_subjects - or dnd_relevant - or show_hidden - ): - result = await db.execute(duplicates_removed) - return result.scalars().all() - return await async_paginate(db, duplicates_removed, pagination_params)