From fb2b7142f2968b203a990ea891c22bb3e573ba64 Mon Sep 17 00:00:00 2001
From: Stephanie Freitag <stephanie.freitag@holi.team>
Date: Thu, 27 Mar 2025 10:37:43 +0100
Subject: [PATCH] HOLI-11291: mark sdgs as deprecated

---
 openbook_auth/schema/types.py        |  7 +++++--
 openbook_communities/schema/types.py | 14 +++++++++++---
 openbook_terms/schema/queries.py     |  2 +-
 3 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/openbook_auth/schema/types.py b/openbook_auth/schema/types.py
index e4266c0b3..6389e20ed 100644
--- a/openbook_auth/schema/types.py
+++ b/openbook_auth/schema/types.py
@@ -38,7 +38,10 @@ class UpdateAuthenticatedUserInput:
         strawberry.argument(description="Deprecated since 1.52. Use interests_v2 instead."),
     ] = strawberry.UNSET
     interests_v2: Optional[List[str]] = strawberry.UNSET
-    sdgs: Optional[List[Optional[uuid.UUID]]] = strawberry.UNSET
+    sdgs: Annotated[
+        Optional[List[Optional[uuid.UUID]]],
+        strawberry.argument(description="Deprecated since 1.53."),
+    ] = strawberry.UNSET
     skills: Annotated[
         Optional[List[Optional[uuid.UUID]]],
         strawberry.argument(description="Deprecated since 1.52. Use skills_v2 instead."),
@@ -112,7 +115,7 @@ class User:
     def interests_v2(self) -> List[Optional[str]]:
         return self.profile.interests_v2
 
-    @strawberry_django.field(select_related=["profile__sdgs"])
+    @strawberry_django.field(select_related=["profile__sdgs"], deprecation_reason="Deprecated since 1.53.")
     def sdgs(self) -> List[Optional[SDG]]:
         return self.profile.sdgs.all().order_by("number")
 
diff --git a/openbook_communities/schema/types.py b/openbook_communities/schema/types.py
index eb3b0f1f4..bfc076ce2 100644
--- a/openbook_communities/schema/types.py
+++ b/openbook_communities/schema/types.py
@@ -54,7 +54,10 @@ class ValidateSpaceInput:
     ] = strawberry.UNSET
     topics_v2: Optional[List[str]] = strawberry.UNSET
     cover: Optional[Upload] = strawberry.UNSET
-    sdgs: Optional[List[Optional[uuid.UUID]]] = strawberry.UNSET
+    sdgs: Annotated[
+        Optional[List[Optional[uuid.UUID]]],
+        strawberry.argument(description="Deprecated since 1.53."),
+    ] = strawberry.UNSET
     location: Optional[str] = strawberry.UNSET
 
 
@@ -174,7 +177,10 @@ class UpdateSpaceInput:
     topics_v2: Optional[List[str]] = strawberry.UNSET
     cover: Optional[Upload] = strawberry.UNSET
     avatar: Optional[Upload] = strawberry.UNSET
-    sdgs: Optional[List[Optional[uuid.UUID]]] = strawberry.UNSET
+    sdgs: Annotated[
+        Optional[List[Optional[uuid.UUID]]],
+        strawberry.argument(description="Deprecated since 1.53."),
+    ] = strawberry.UNSET
     location: Optional[str] = strawberry.UNSET
     geolocation: Optional[GeolocationPointInput] = strawberry.UNSET
     contact_description: Optional[str] = strawberry.UNSET
@@ -285,7 +291,9 @@ class Space:
         deprecation_reason="Deprecated since version 1.52, use topics_v2 instead.", default=None
     )
     topics_v2: List[str]
-    sdgs: List[Optional[SDG]]
+    sdgs: List[Optional[SDG]] = strawberry_django.field(
+        deprecation_reason="Deprecated since version 1.53.", default=None
+    )
     contact_description: Optional[str]
     contact_email: Optional[str]
     contact_phone: Optional[str]
diff --git a/openbook_terms/schema/queries.py b/openbook_terms/schema/queries.py
index 727ac9fd8..964505392 100644
--- a/openbook_terms/schema/queries.py
+++ b/openbook_terms/schema/queries.py
@@ -19,7 +19,7 @@ class Query:
     def topics(self, offset: int = 0, limit: int = 50) -> Paged[Topic]:
         return Paged.of(TopicModel.objects.all().order_by("title"), offset, limit)
 
-    @strawberry_django.field()
+    @strawberry_django.field(deprecation_reason="Deprecated since 1.53.")
     def sdgs(self, offset: int = 0, limit: int = 50) -> Paged[SDG]:
         return Paged.of(SDG_MODEL.objects.all().order_by("number"), offset, limit)
 
-- 
GitLab