Browse Source

ref: upgrade djangorestframework-stubs (#84373)

<!-- Describe your PR here. -->
anthony sottile 1 month ago
parent
commit
4a1002f73f

+ 0 - 1
pyproject.toml

@@ -118,7 +118,6 @@ ignore_missing_imports = true
 module = [
     "sentry.api.base",
     "sentry.api.bases.organization_events",
-    "sentry.api.endpoints.codeowners",
     "sentry.api.endpoints.event_attachments",
     "sentry.api.endpoints.group_integration_details",
     "sentry.api.endpoints.group_integrations",

+ 1 - 1
requirements-dev-frozen.txt

@@ -186,7 +186,7 @@ sentry-cli==2.16.0
 sentry-covdefaults-disable-branch-coverage==1.0.2
 sentry-devenv==1.14.2
 sentry-forked-django-stubs==5.1.2.post1
-sentry-forked-djangorestframework-stubs==3.15.2.post1
+sentry-forked-djangorestframework-stubs==3.15.2.post2
 sentry-forked-email-reply-parser==0.5.12.post1
 sentry-kafka-schemas==1.0.2
 sentry-ophio==1.0.0

+ 1 - 1
requirements-dev.txt

@@ -39,7 +39,7 @@ packaging>=21.3
 
 # for type checking
 sentry-forked-django-stubs>=5.1.2.post1
-sentry-forked-djangorestframework-stubs>=3.15.2.post1
+sentry-forked-djangorestframework-stubs>=3.15.2.post2
 lxml-stubs
 msgpack-types>=0.2.0
 mypy>=1.14

+ 5 - 5
src/sentry/api/endpoints/codeowners/__init__.py

@@ -20,7 +20,7 @@ from sentry.utils.codeowners import MAX_RAW_LENGTH
 from .analytics import *  # NOQA
 
 
-class ProjectCodeOwnerSerializer(CamelSnakeModelSerializer):
+class ProjectCodeOwnerSerializer(CamelSnakeModelSerializer[ProjectCodeOwners]):
     code_mapping_id = serializers.IntegerField(required=True)
     raw = serializers.CharField(required=True)
     organization_integration_id = serializers.IntegerField(required=False)
@@ -51,7 +51,7 @@ class ProjectCodeOwnerSerializer(CamelSnakeModelSerializer):
         # We do something similar with ProjectOwnership at the API level.
         existing_raw = self.instance.raw if self.instance else ""
         max_length = self.get_max_length()
-        if len(attrs["raw"]) > max_length and len(existing_raw) <= max_length:
+        if len(attrs["raw"]) > max_length and len(existing_raw) <= max_length:  # type: ignore[arg-type]  # raw is incorrectly null
             analytics.record(
                 "codeowners.max_length_exceeded",
                 organization_id=self.context["project"].organization.id,
@@ -114,9 +114,9 @@ class ProjectCodeOwnerSerializer(CamelSnakeModelSerializer):
         if "id" in validated_data:
             validated_data.pop("id")
         for key, value in validated_data.items():
-            setattr(self.instance, key, value)
-        self.instance.save()
-        return self.instance
+            setattr(instance, key, value)
+        instance.save()
+        return instance
 
 
 class ProjectCodeOwnersMixin: