Browse Source

chore(sentry_apps): Move Sentry App serializers to sentry_apps! (#77995)

Christinarlong 5 months ago
parent
commit
05e20b6f57

+ 0 - 2
pyproject.toml

@@ -192,12 +192,10 @@ module = [
     "sentry.api.serializers.models.project",
     "sentry.api.serializers.models.role",
     "sentry.api.serializers.models.rule",
-    "sentry.api.serializers.models.sentry_app",
     "sentry.api.serializers.models.team",
     "sentry.api.serializers.rest_framework.mentions",
     "sentry.api.serializers.rest_framework.notification_action",
     "sentry.api.serializers.rest_framework.rule",
-    "sentry.api.serializers.rest_framework.sentry_app_request",
     "sentry.api.serializers.snuba",
     "sentry.api.validators.email",
     "sentry.auth.helper",

+ 3 - 2
src/sentry/api/endpoints/project_servicehook_details.py

@@ -12,6 +12,7 @@ from sentry.api.exceptions import ResourceDoesNotExist
 from sentry.api.serializers import serialize
 from sentry.api.validators import ServiceHookValidator
 from sentry.constants import ObjectStatus
+from sentry.sentry_apps.api.serializers.servicehook import ServiceHookSerializer
 from sentry.sentry_apps.models.servicehook import ServiceHook
 
 
@@ -42,7 +43,7 @@ class ProjectServiceHookDetailsEndpoint(ProjectEndpoint):
             hook = ServiceHook.objects.get(project_id=project.id, guid=hook_id)
         except ServiceHook.DoesNotExist:
             raise ResourceDoesNotExist
-        return self.respond(serialize(hook, request.user))
+        return self.respond(serialize(hook, request.user, ServiceHookSerializer()))
 
     def put(self, request: Request, project, hook_id) -> Response:
         """
@@ -95,7 +96,7 @@ class ProjectServiceHookDetailsEndpoint(ProjectEndpoint):
                 data=hook.get_audit_log_data(),
             )
 
-        return self.respond(serialize(hook, request.user))
+        return self.respond(serialize(hook, request.user, ServiceHookSerializer()))
 
     def delete(self, request: Request, project, hook_id) -> Response:
         """

+ 4 - 2
src/sentry/api/endpoints/project_servicehooks.py

@@ -12,6 +12,7 @@ from sentry.api.bases.project import ProjectEndpoint
 from sentry.api.serializers import serialize
 from sentry.api.validators import ServiceHookValidator
 from sentry.constants import ObjectStatus
+from sentry.sentry_apps.api.serializers.servicehook import ServiceHookSerializer
 from sentry.sentry_apps.models.servicehook import ServiceHook
 from sentry.sentry_apps.services.hook import hook_service
 
@@ -65,7 +66,7 @@ class ProjectServiceHooksEndpoint(ProjectEndpoint):
             request=request,
             queryset=queryset,
             order_by="-id",
-            on_results=lambda x: serialize(x, request.user),
+            on_results=lambda x: serialize(x, request.user, ServiceHookSerializer()),
         )
 
     def post(self, request: Request, project) -> Response:
@@ -130,5 +131,6 @@ class ProjectServiceHooksEndpoint(ProjectEndpoint):
         )
 
         return self.respond(
-            serialize(ServiceHook.objects.get(id=hook.id), request.user), status=201
+            serialize(ServiceHook.objects.get(id=hook.id), request.user, ServiceHookSerializer()),
+            status=201,
         )

+ 0 - 7
src/sentry/api/serializers/models/__init__.py

@@ -4,7 +4,6 @@ from .apiapplication import *  # noqa: F401,F403
 from .apiauthorization import *  # noqa: F401,F403
 from .apikey import *  # noqa: F401,F403
 from .apitoken import *  # noqa: F401,F403
-from .app_platform_event import *  # noqa: F401,F403
 from .auditlogentry import *  # noqa: F401,F403
 from .auth_provider import *  # noqa: F401,F403
 from .broadcast import *  # noqa: F401,F403
@@ -37,7 +36,6 @@ from .organization_member.scim import *  # noqa: F401,F403
 from .organization_member.utils import *  # noqa: F401,F403
 from .organization_plugin import *  # noqa: F401,F403
 from .orgauthtoken import *  # noqa: F401,F403
-from .platformexternalissue import *  # noqa: F401,F403
 from .plugin import *  # noqa: F401,F403
 from .project import *  # noqa: F401,F403
 from .project_key import *  # noqa: F401,F403
@@ -57,11 +55,6 @@ from .repository import *  # noqa: F401,F403
 from .role import *  # noqa: F401,F403
 from .rule import *  # noqa: F401,F403
 from .savedsearch import *  # noqa: F401,F403
-from .sentry_app import *  # noqa: F401,F403
-from .sentry_app_avatar import *  # noqa: F401,F403
-from .sentry_app_component import *  # noqa: F401,F403
-from .sentry_app_installation import *  # noqa: F401,F403
-from .servicehook import *  # noqa: F401,F403
 from .tagvalue import *  # noqa: F401,F403
 from .team import *  # noqa: F401,F403
 from .user_social_auth import *  # noqa: F401,F403

+ 3 - 1
src/sentry/api/serializers/models/group_stream.py

@@ -19,7 +19,6 @@ from sentry.api.serializers.models.group import (
     SeenStats,
     snuba_tsdb,
 )
-from sentry.api.serializers.models.platformexternalissue import PlatformExternalIssueSerializer
 from sentry.api.serializers.models.plugin import is_plugin_deprecated
 from sentry.constants import StatsPeriod
 from sentry.integrations.api.serializers.models.external_issue import ExternalIssueSerializer
@@ -32,6 +31,9 @@ from sentry.models.groupinbox import get_inbox_details
 from sentry.models.grouplink import GroupLink
 from sentry.models.groupowner import get_owner_details
 from sentry.models.platformexternalissue import PlatformExternalIssue
+from sentry.sentry_apps.api.serializers.platform_external_issue import (
+    PlatformExternalIssueSerializer,
+)
 from sentry.snuba.dataset import Dataset
 from sentry.tsdb.base import TSDBModel
 from sentry.utils import metrics

+ 0 - 3
src/sentry/api/serializers/rest_framework/__init__.py

@@ -11,6 +11,3 @@ from .project import *  # noqa: F401,F403
 from .project_key import *  # noqa: F401,F403
 from .release import *  # noqa: F401,F403
 from .rule import *  # noqa: F401,F403
-from .sentry_app import *  # noqa: F401,F403
-from .sentry_app_installation import *  # noqa: F401,F403
-from .sentry_app_request import *  # noqa: F401,F403

+ 1 - 1
src/sentry/integrations/api/serializers/rest_framework/doc_integration.py

@@ -8,7 +8,6 @@ from rest_framework.serializers import Serializer, ValidationError
 
 from sentry.api.fields.avatar import AvatarField
 from sentry.api.helpers.slugs import sentry_slugify
-from sentry.api.serializers.rest_framework.sentry_app import URLField
 from sentry.api.validators.doc_integration import validate_metadata_schema
 from sentry.integrations.models.doc_integration import DocIntegration
 from sentry.integrations.models.integration_feature import (
@@ -16,6 +15,7 @@ from sentry.integrations.models.integration_feature import (
     IntegrationFeature,
     IntegrationTypes,
 )
+from sentry.sentry_apps.api.parsers.sentry_app import URLField
 
 
 class MetadataField(serializers.JSONField):

+ 1 - 1
src/sentry/integrations/services/integration/impl.py

@@ -9,7 +9,6 @@ from django.utils import timezone
 
 from sentry import analytics
 from sentry.api.paginator import OffsetPaginator
-from sentry.api.serializers import AppPlatformEvent
 from sentry.constants import SentryAppInstallationStatus
 from sentry.hybridcloud.rpc.pagination import RpcPaginationArgs, RpcPaginationResult
 from sentry.incidents.models.incident import INCIDENT_STATUS, IncidentStatus
@@ -35,6 +34,7 @@ from sentry.integrations.services.integration.serial import (
     serialize_organization_integration,
 )
 from sentry.rules.actions.notify_event_service import find_alert_rule_action_ui_component
+from sentry.sentry_apps.api.serializers.app_platform_event import AppPlatformEvent
 from sentry.sentry_apps.models.sentry_app import SentryApp
 from sentry.sentry_apps.models.sentry_app_installation import SentryAppInstallation
 from sentry.shared_integrations.exceptions import ApiError

+ 3 - 1
src/sentry/issues/endpoints/group_details.py

@@ -22,7 +22,6 @@ from sentry.api.helpers.group_index import (
 )
 from sentry.api.serializers import GroupSerializer, GroupSerializerSnuba, serialize
 from sentry.api.serializers.models.group_stream import get_actions, get_available_issue_plugins
-from sentry.api.serializers.models.platformexternalissue import PlatformExternalIssueSerializer
 from sentry.api.serializers.models.plugin import PluginSerializer
 from sentry.api.serializers.models.team import TeamSerializer
 from sentry.integrations.api.serializers.models.external_issue import ExternalIssueSerializer
@@ -42,6 +41,9 @@ from sentry.models.platformexternalissue import PlatformExternalIssue
 from sentry.models.team import Team
 from sentry.models.userreport import UserReport
 from sentry.plugins.base import plugins
+from sentry.sentry_apps.api.serializers.platform_external_issue import (
+    PlatformExternalIssueSerializer,
+)
 from sentry.tasks.post_process import fetch_buffered_group_stats
 from sentry.types.ratelimit import RateLimit, RateLimitCategory
 from sentry.users.services.user.service import user_service

+ 5 - 1
src/sentry/mediators/sentry_app_installations/installation_notifier.py

@@ -1,11 +1,15 @@
 from django.db import router
 from django.utils.functional import cached_property
 
-from sentry.api.serializers import AppPlatformEvent, SentryAppInstallationSerializer, serialize
+from sentry.api.serializers import serialize
 from sentry.coreapi import APIUnauthorized
 from sentry.mediators.mediator import Mediator
 from sentry.mediators.param import Param
 from sentry.models.apigrant import ApiGrant
+from sentry.sentry_apps.api.serializers.app_platform_event import AppPlatformEvent
+from sentry.sentry_apps.api.serializers.sentry_app_installation import (
+    SentryAppInstallationSerializer,
+)
 from sentry.sentry_apps.models.sentry_app import SentryApp
 from sentry.sentry_apps.models.sentry_app_installation import SentryAppInstallation
 from sentry.users.services.user.model import RpcUser

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