From 55c226029efeb1b7f2dfefcc83fa13768c2ed3c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Fern=C3=A1ndez=20Poyatos?= Date: Wed, 9 Jul 2025 16:16:56 +0200 Subject: [PATCH] feat(resources): optimize include parameters for resources view (#8229) --- api/CHANGELOG.md | 5 +++-- api/src/backend/api/v1/serializers.py | 28 ++++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/api/CHANGELOG.md b/api/CHANGELOG.md index 1d73b13d29..e8c48e8dcc 100644 --- a/api/CHANGELOG.md +++ b/api/CHANGELOG.md @@ -4,7 +4,7 @@ All notable changes to the **Prowler API** are documented in this file. ## [v1.10.0] (Prowler UNRELEASED) -### Added +### Added - SSO with SAML support [(#8175)](https://github.com/prowler-cloud/prowler/pull/8175) - `/processors` endpoints to post-process findings. Currently, only the Mutelist processor is supported to allow to mute findings. @@ -14,7 +14,8 @@ All notable changes to the **Prowler API** are documented in this file. ## [v1.9.1] (Prowler v5.8.1) ### Changed -- Summary and overview tasks now use a dedicated queue and no longer propagate errors to compliance tasks [(#8214)](https://github.com/prowler-cloud/prowler/pull/8214) +- Summary and overview tasks now use a dedicated queue and no longer propagate errors to compliance tasks [(#8214)](https://github.com/prowler-cloud/prowler/pull/8214) +- Optimized include parameters for resources view ([#8229])(https://github.com/prowler-cloud/prowler/pull/8229) ### Fixed - Scan with no resources will not trigger legacy code for findings metadata [(#8183)](https://github.com/prowler-cloud/prowler/pull/8183) diff --git a/api/src/backend/api/v1/serializers.py b/api/src/backend/api/v1/serializers.py index 456b998f32..2c9b044d51 100644 --- a/api/src/backend/api/v1/serializers.py +++ b/api/src/backend/api/v1/serializers.py @@ -1025,8 +1025,8 @@ class ResourceSerializer(RLSSerializer): } included_serializers = { - "findings": "api.v1.serializers.FindingSerializer", - "provider": "api.v1.serializers.ProviderSerializer", + "findings": "api.v1.serializers.FindingIncludeSerializer", + "provider": "api.v1.serializers.ProviderIncludeSerializer", } @extend_schema_field( @@ -1049,7 +1049,7 @@ class ResourceSerializer(RLSSerializer): class ResourceIncludeSerializer(RLSSerializer): """ - Serializer for the Resource model. + Serializer for the included Resource model. """ tags = serializers.SerializerMethodField() @@ -1128,6 +1128,28 @@ class FindingSerializer(RLSSerializer): } +class FindingIncludeSerializer(RLSSerializer): + """ + Serializer for the include Finding model. + """ + + class Meta: + model = Finding + fields = [ + "id", + "uid", + "status", + "severity", + "check_id", + "check_metadata", + "inserted_at", + "updated_at", + "first_seen_at", + "muted", + "muted_reason", + ] + + # To be removed when the related endpoint is removed as well class FindingDynamicFilterSerializer(serializers.Serializer): services = serializers.ListField(child=serializers.CharField(), allow_empty=True)