Browse Source

ref: upgrade sentry-forked-django-stubs (#73761)

<!-- Describe your PR here. -->
anthony sottile 8 months ago
parent
commit
745d44efb7

+ 1 - 1
requirements-dev-frozen.txt

@@ -180,7 +180,7 @@ selenium==4.16.0
 sentry-arroyo==2.16.5
 sentry-cli==2.16.0
 sentry-devenv==1.6.2
-sentry-forked-django-stubs==5.0.2.post4
+sentry-forked-django-stubs==5.0.2.post5
 sentry-forked-djangorestframework-stubs==3.15.0.post1
 sentry-kafka-schemas==0.1.101
 sentry-ophio==0.2.7

+ 1 - 1
requirements-dev.txt

@@ -35,7 +35,7 @@ pip-tools>=7.1.0
 packaging>=21.3
 
 # for type checking
-sentry-forked-django-stubs>=5.0.2.post4
+sentry-forked-django-stubs>=5.0.2.post5
 sentry-forked-djangorestframework-stubs>=3.15.0.post1
 lxml-stubs
 msgpack-types>=0.2.0

+ 2 - 2
src/sentry/audit_log/services/log/impl.py

@@ -81,7 +81,7 @@ class OutboxBackedLogService(LogService):
             category=OutboxCategory.AUDIT_LOG_EVENT,
             object_identifier=RegionOutbox.next_object_identifier(),
             payload=event.__dict__,
-        )  # type: ignore[misc]
+        )
         outbox.save()
 
     def record_user_ip(self, *, event: UserIpEvent) -> None:
@@ -91,7 +91,7 @@ class OutboxBackedLogService(LogService):
             category=OutboxCategory.USER_IP_EVENT,
             object_identifier=event.user_id,
             payload=event.__dict__,
-        )  # type: ignore[misc]
+        )
         outbox.save()
 
     def find_last_log(

+ 1 - 1
src/sentry/auth/services/orgauthtoken/impl.py

@@ -47,5 +47,5 @@ class OutboxBackedOrgAuthTokenService(OrgAuthTokenService):
                 "org_auth_token_id": org_auth_token_id,
                 "date_last_used": date_last_used,
                 "project_last_used_id": project_last_used_id,
-            },  # type: ignore[misc]
+            },
         ).save()

+ 2 - 2
src/sentry/db/models/outboxes.py

@@ -162,7 +162,7 @@ class ReplicatedRegionModel(RegionOutboxProducingModel):
     class Meta:
         abstract = True
 
-    def payload_for_update(self) -> Mapping[str, Any] | None:
+    def payload_for_update(self) -> dict[str, Any] | None:
         """
         A custom json payload to be included in outboxes generated via creation, update, or deletion.
         Note that outboxes are COALESCED!  This means that when multiple updates are processed at once,
@@ -358,7 +358,7 @@ class ReplicatedControlModel(ControlOutboxProducingModel):
         # joins a new organization after the last outbox was processed is a special case that requires special handling.
         raise NotImplementedError
 
-    def payload_for_update(self) -> Mapping[str, Any] | None:
+    def payload_for_update(self) -> dict[str, Any] | None:
         """
         A custom json payload to be included in outboxes generated via creation, update, or deletion.
         Note that outboxes are COALESCED!  This means that when multiple updates are processed at once,

+ 2 - 2
src/sentry/hybridcloud/services/control_organization_provisioning/impl.py

@@ -41,7 +41,7 @@ def create_post_provision_outbox(
         shard_identifier=org_id,
         category=OutboxCategory.POST_ORGANIZATION_PROVISION,
         object_identifier=org_id,
-        payload=provisioning_options.post_provision_options.json(),
+        payload=provisioning_options.post_provision_options.dict(),
     )
 
 
@@ -50,7 +50,7 @@ def create_organization_provisioning_outbox(
     region_name: str,
     org_provision_payload: OrganizationProvisioningOptions | None,
 ) -> ControlOutbox:
-    payload = org_provision_payload.json() if org_provision_payload is not None else None
+    payload = org_provision_payload.dict() if org_provision_payload is not None else None
     return ControlOutbox(
         region_name=region_name,
         shard_scope=OutboxScope.PROVISION_SCOPE,

+ 1 - 1
src/sentry/hybridcloud/services/region_organization_provisioning/impl.py

@@ -26,7 +26,7 @@ def create_post_provision_outbox(
         shard_identifier=org_id,
         category=OutboxCategory.POST_ORGANIZATION_PROVISION,
         object_identifier=org_id,
-        payload=provisioning_options.post_provision_options.json(),
+        payload=provisioning_options.post_provision_options.dict(),
     )
 
 

+ 2 - 2
src/sentry/hybridcloud/services/replica/impl.py

@@ -195,7 +195,7 @@ class DatabaseBackedRegionReplicaService(RegionReplicaService):
             auth_provider_id=auth_provider.id,
             provider=auth_provider.provider,
             organization_id=organization.id,
-            config=auth_provider.config,  # type: ignore[misc]
+            config=auth_provider.config,
             default_role=auth_provider.default_role,
             default_global_access=auth_provider.default_global_access,
             allow_unlinked=auth_provider.flags.allow_unlinked,
@@ -213,7 +213,7 @@ class DatabaseBackedRegionReplicaService(RegionReplicaService):
             user_id=auth_identity.user_id,
             auth_provider_id=auth_identity.auth_provider_id,
             ident=auth_identity.ident,
-            data=auth_identity.data,  # type: ignore[misc]
+            data=auth_identity.data,
             last_verified=auth_identity.last_verified,
         )
 

+ 4 - 2
src/sentry/migrations/0634_backfill_github_webhook_outbox_shard_ids.py

@@ -18,8 +18,10 @@ if TYPE_CHECKING:
 
 def validate_payload(outbox: ControlOutbox) -> bool:
     payload = outbox.payload
-    body: str = payload.get("body", None)
-    if not payload or not body:
+    if not payload:
+        return False
+    body = payload.get("body", None)
+    if not body:
         return False
 
     headers = payload.get("headers", None)

+ 5 - 1
src/sentry/models/authidentityreplica.py

@@ -1,3 +1,7 @@
+from __future__ import annotations
+
+from typing import Any
+
 from django.db import models
 from django.utils import timezone
 
@@ -17,7 +21,7 @@ class AuthIdentityReplica(Model):
     user_id = HybridCloudForeignKey("sentry.User", on_delete="CASCADE")
     auth_provider_id = HybridCloudForeignKey("sentry.AuthProvider", on_delete="CASCADE")
     ident = models.CharField(max_length=128)
-    data = JSONField()
+    data: models.Field[dict[str, Any], dict[str, Any]] = JSONField()
     last_verified = models.DateTimeField(default=timezone.now)
 
     # This represents the time at which this model was created, NOT the date_added of the original auth identity

Some files were not shown because too many files changed in this diff