Skip to content

ref(users): move user & user_identity_config & auth serializers to new abode #76896

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 25 commits into from
Sep 10, 2024
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
a464cb5
move user and user_config serializers and tests
Christinarlong Sep 3, 2024
e1099cf
apply typing to user and user_config
Christinarlong Sep 3, 2024
2b5af01
fix paths
Christinarlong Sep 3, 2024
6a6838b
fix typing for serializesr
Christinarlong Sep 3, 2024
2a63d9f
update paths in test patches
Christinarlong Sep 3, 2024
ec64d4f
actually import the serializer lol
Christinarlong Sep 3, 2024
91610e1
:knife: regenerate mypy module blocklist
getsantry[bot] Sep 3, 2024
ae5c7eb
add authenticator
Christinarlong Sep 4, 2024
2d6cb77
added more init.pys for pytest to find
Christinarlong Sep 4, 2024
6b49f50
add typing for authenticator
Christinarlong Sep 4, 2024
fd588bb
revert userip changes
Christinarlong Sep 4, 2024
641f46c
revert userrole changes
Christinarlong Sep 4, 2024
5450c40
revert useremail changes
Christinarlong Sep 4, 2024
387a467
:knife: regenerate mypy module blocklist
getsantry[bot] Sep 4, 2024
e503e6a
Merge branch 'master' into christinarlong/move-user-serializers-user
Christinarlong Sep 4, 2024
8ad2c1d
actually export the user shim oop
Christinarlong Sep 5, 2024
c719035
remove barrel file
Christinarlong Sep 5, 2024
0daef0b
explicitly use authenticatorinterface serializers
Christinarlong Sep 5, 2024
3a1fd68
fix typing for interface serializers
Christinarlong Sep 5, 2024
2926799
use user serializer explicitly
Christinarlong Sep 6, 2024
70ea0c2
explicitly pass in uic serializer
Christinarlong Sep 6, 2024
9f883fd
bring out manytoone to utils
Christinarlong Sep 6, 2024
32b6303
remove unneeded inits
Christinarlong Sep 6, 2024
91a255b
also bring back str or primseu
Christinarlong Sep 9, 2024
4b2f36a
jk those inits were needed
Christinarlong Sep 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,6 @@ module = [
"sentry.api.serializers.models.sentry_app",
"sentry.api.serializers.models.team",
"sentry.api.serializers.models.user",
"sentry.api.serializers.models.user_identity_config",
"sentry.api.serializers.rest_framework.mentions",
"sentry.api.serializers.rest_framework.notification_action",
"sentry.api.serializers.rest_framework.rule",
Expand Down
3 changes: 2 additions & 1 deletion src/sentry/api/endpoints/auth_index.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,15 @@
from sentry.api.authentication import QuietBasicAuthentication
from sentry.api.base import Endpoint, control_silo_endpoint
from sentry.api.exceptions import SsoRequired
from sentry.api.serializers import DetailedSelfUserSerializer, serialize
from sentry.api.serializers import serialize
from sentry.api.validators import AuthVerifyValidator
from sentry.api.validators.auth import MISSING_PASSWORD_OR_U2F_CODE
from sentry.auth.authenticators.u2f import U2fInterface
from sentry.auth.providers.saml2.provider import handle_saml_single_logout
from sentry.auth.services.auth.impl import promote_request_rpc_user
from sentry.auth.superuser import SUPERUSER_ORG_ID
from sentry.organizations.services.organization import organization_service
from sentry.users.api.serializers.user import DetailedSelfUserSerializer
from sentry.users.models.authenticator import Authenticator
from sentry.utils import auth, json, metrics
from sentry.utils.auth import DISABLE_SSO_CHECK_FOR_LOCAL_DEV, has_completed_sso, initiate_login
Expand Down
2 changes: 1 addition & 1 deletion src/sentry/api/endpoints/auth_login.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
from sentry.api.api_publish_status import ApiPublishStatus
from sentry.api.base import Endpoint, control_silo_endpoint
from sentry.api.serializers.base import serialize
from sentry.api.serializers.models.user import DetailedSelfUserSerializer
from sentry.models.organization import Organization
from sentry.users.api.serializers.user import DetailedSelfUserSerializer
from sentry.utils import auth, metrics
from sentry.utils.hashlib import md5_text
from sentry.web.forms.accounts import AuthenticationForm
Expand Down
2 changes: 1 addition & 1 deletion src/sentry/api/endpoints/team_members.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@
from sentry.api.paginator import OffsetPaginator
from sentry.api.serializers import Serializer, register, serialize
from sentry.api.serializers.models.organization_member.response import OrganizationMemberResponse
from sentry.api.serializers.models.user import UserSerializerResponse
from sentry.apidocs.constants import RESPONSE_FORBIDDEN, RESPONSE_NOT_FOUND
from sentry.apidocs.examples.team_examples import TeamExamples
from sentry.apidocs.parameters import CursorQueryParam, GlobalParams
from sentry.apidocs.utils import inline_sentry_response_serializer
from sentry.models.organizationmember import InviteStatus
from sentry.models.organizationmemberteam import OrganizationMemberTeam
from sentry.users.api.serializers.user import UserSerializerResponse


class OrganizationMemberOnTeamResponse(OrganizationMemberResponse):
Expand Down
2 changes: 0 additions & 2 deletions src/sentry/api/serializers/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,6 @@
from .servicehook import * # noqa: F401,F403
from .tagvalue import * # noqa: F401,F403
from .team import * # noqa: F401,F403
from .user import * # noqa: F401,F403
from .user_identity_config import * # noqa: F401,F403
from .user_social_auth import * # noqa: F401,F403
from .useremail import * # noqa: F401,F403
from .userip import * # noqa: F401,F403
Expand Down
2 changes: 1 addition & 1 deletion src/sentry/api/serializers/models/dashboard.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

from sentry import features
from sentry.api.serializers import Serializer, register, serialize
from sentry.api.serializers.models.user import UserSerializerResponse
from sentry.constants import ALL_ACCESS_PROJECTS
from sentry.discover.models import DatasetSourcesTypes
from sentry.models.dashboard import Dashboard
Expand All @@ -17,6 +16,7 @@
DashboardWidgetTypes,
)
from sentry.snuba.metrics.extraction import OnDemandMetricSpecVersioning
from sentry.users.api.serializers.user import UserSerializerResponse
from sentry.users.services.user.service import user_service
from sentry.utils.dates import outside_retention_with_modified_start, parse_timestamp

Expand Down
2 changes: 1 addition & 1 deletion src/sentry/api/serializers/models/discoversavedquery.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
from typing import DefaultDict, TypedDict

from sentry.api.serializers import Serializer, register
from sentry.api.serializers.models.user import UserSerializerResponse
from sentry.constants import ALL_ACCESS_PROJECTS
from sentry.discover.models import DatasetSourcesTypes, DiscoverSavedQuery, DiscoverSavedQueryTypes
from sentry.users.api.serializers.user import UserSerializerResponse
from sentry.users.services.user.service import user_service
from sentry.utils.dates import outside_retention_with_modified_start, parse_timestamp

Expand Down
2 changes: 1 addition & 1 deletion src/sentry/api/serializers/models/group.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
from sentry.api.serializers import Serializer, register, serialize
from sentry.api.serializers.models.actor import ActorSerializer
from sentry.api.serializers.models.plugin import is_plugin_deprecated
from sentry.api.serializers.models.user import UserSerializerResponse
from sentry.app import env
from sentry.auth.services.auth import AuthenticatedToken
from sentry.auth.superuser import is_active_superuser
Expand Down Expand Up @@ -51,6 +50,7 @@
from sentry.tagstore.types import GroupTagValue
from sentry.tsdb.snuba import SnubaTSDB
from sentry.types.group import SUBSTATUS_TO_STR, PriorityLevel
from sentry.users.api.serializers.user import UserSerializerResponse
from sentry.users.models.user import User
from sentry.users.services.user.serial import serialize_generic_user
from sentry.users.services.user.service import user_service
Expand Down
2 changes: 1 addition & 1 deletion src/sentry/api/serializers/models/notification_action.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
from django.contrib.auth.models import AnonymousUser

from sentry.api.serializers import Serializer, register
from sentry.api.serializers.models.user import manytoone_to_dict
from sentry.models.notificationaction import (
ActionService,
ActionTarget,
ActionTrigger,
NotificationAction,
NotificationActionProject,
)
from sentry.users.api.serializers.user import manytoone_to_dict
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not entirely related to these changes, but this module seems like a strange place for a very generic query utility. We can move it separately later.



@register(NotificationAction)
Expand Down
2 changes: 1 addition & 1 deletion src/sentry/api/serializers/models/organization.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
logger = logging.getLogger(__name__)

if TYPE_CHECKING:
from sentry.api.serializers import UserSerializerResponse, UserSerializerResponseSelf
from sentry.users.api.serializers.user import UserSerializerResponse, UserSerializerResponseSelf

# A mapping of OrganizationOption keys to a list of frontend features, and functions to apply the feature.
# Enabling feature-flagging frontend components without an extra API call/endpoint to verify
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
OrganizationRoleSerializerResponse,
TeamRoleSerializerResponse,
)
from sentry.api.serializers.models.user import UserSerializerResponse
from sentry.integrations.api.serializers.models.external_actor import ExternalActorResponse
from sentry.users.api.serializers.user import UserSerializerResponse


class SCIMName(TypedDict):
Expand Down
2 changes: 1 addition & 1 deletion src/sentry/api/serializers/models/release.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@

from sentry import release_health, tagstore
from sentry.api.serializers import Serializer, register, serialize
from sentry.api.serializers.models.user import UserSerializerResponse
from sentry.api.serializers.types import ReleaseSerializerResponse
from sentry.models.commit import Commit
from sentry.models.commitauthor import CommitAuthor
Expand All @@ -21,6 +20,7 @@
from sentry.models.releaseprojectenvironment import ReleaseProjectEnvironment
from sentry.models.releases.release_project import ReleaseProject
from sentry.release_health.base import ReleaseHealthOverview
from sentry.users.api.serializers.user import UserSerializerResponse
from sentry.users.services.user.serial import serialize_generic_user
from sentry.users.services.user.service import user_service
from sentry.utils import metrics
Expand Down
Loading
Loading