Skip to content

Commit d390263

Browse files
ref(control_silo): Consolidate User models (and authenticator) and tests
Moves all User and authenticator specific models and tests to their own directories. ref(#73856)
1 parent 8dab28f commit d390263

File tree

352 files changed

+694
-675
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

352 files changed

+694
-675
lines changed

bin/mock-user

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import argparse
88

99

1010
def main(username, newsletter_consent_prompt=None):
11-
from sentry.models.user import User
11+
from sentry.users.models.users.user import User
1212

1313
user = User.objects.get(username__iexact=username)
1414

src/sentry/api/authentication.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
from sentry.models.relay import Relay
3838
from sentry.relay.utils import get_header_relay_id, get_header_relay_signature
3939
from sentry.silo.base import SiloLimit, SiloMode
40-
from sentry.users.models.user import User
40+
from sentry.users.models.users.user import User
4141
from sentry.users.services.user import RpcUser
4242
from sentry.users.services.user.service import user_service
4343
from sentry.utils.linksign import process_signature

src/sentry/api/bases/user.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from sentry.models.organizationmapping import OrganizationMapping
1515
from sentry.models.organizationmembermapping import OrganizationMemberMapping
1616
from sentry.organizations.services.organization import organization_service
17-
from sentry.users.models.user import User
17+
from sentry.users.models.users.user import User
1818
from sentry.users.services.user import RpcUser
1919
from sentry.users.services.user.service import user_service
2020

src/sentry/api/endpoints/auth_index.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
from sentry.auth.authenticators.u2f import U2fInterface
2121
from sentry.auth.services.auth.impl import promote_request_rpc_user
2222
from sentry.auth.superuser import SUPERUSER_ORG_ID
23-
from sentry.models.authenticator import Authenticator
2423
from sentry.organizations.services.organization import organization_service
24+
from sentry.users.models.auth.authenticator import Authenticator
2525
from sentry.utils import auth, json, metrics
2626
from sentry.utils.auth import DISABLE_SSO_CHECK_FOR_LOCAL_DEV, has_completed_sso, initiate_login
2727
from sentry.utils.settings import is_self_hosted

src/sentry/api/endpoints/authenticator_index.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from sentry.api.api_owners import ApiOwner
88
from sentry.api.api_publish_status import ApiPublishStatus
99
from sentry.api.base import Endpoint, control_silo_endpoint
10-
from sentry.models.authenticator import Authenticator
10+
from sentry.users.models.auth.authenticator import Authenticator
1111

1212

1313
@control_silo_endpoint

src/sentry/api/endpoints/avatar/user.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from sentry.api.base import control_silo_endpoint
88
from sentry.api.bases.avatar import AvatarMixin
99
from sentry.api.bases.user import UserEndpoint
10-
from sentry.models.avatars.user_avatar import UserAvatar
10+
from sentry.users.models.users.user_avatar import UserAvatar
1111
from sentry.users.services.user.serial import serialize_rpc_user
1212
from sentry.users.services.user.service import user_service
1313

src/sentry/api/endpoints/group_ai_autofix.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
from sentry.models.group import Group
2121
from sentry.seer.signed_seer_api import sign_with_seer_secret
2222
from sentry.types.ratelimit import RateLimit, RateLimitCategory
23-
from sentry.users.models.user import User
23+
from sentry.users.models.users.user import User
2424
from sentry.users.services.user.service import user_service
2525

2626
logger = logging.getLogger(__name__)

src/sentry/api/endpoints/group_details.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
from sentry.plugins.base import plugins
4444
from sentry.tasks.post_process import fetch_buffered_group_stats
4545
from sentry.types.ratelimit import RateLimit, RateLimitCategory
46-
from sentry.users.models.userreport import UserReport
46+
from sentry.users.models.users.userreport import UserReport
4747
from sentry.users.services.user.service import user_service
4848
from sentry.utils import metrics
4949

src/sentry/api/endpoints/group_event_details.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
from sentry.search.events.filter import convert_search_filter_to_snuba_query, format_search_filter
2525
from sentry.snuba.dataset import Dataset
2626
from sentry.types.ratelimit import RateLimit, RateLimitCategory
27-
from sentry.users.models.user import User
27+
from sentry.users.models.users.user import User
2828
from sentry.utils import metrics
2929

3030
if TYPE_CHECKING:

src/sentry/api/endpoints/group_integration_details.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
from sentry.shared_integrations.exceptions import IntegrationError, IntegrationFormError
2121
from sentry.signals import integration_issue_created, integration_issue_linked
2222
from sentry.types.activity import ActivityType
23-
from sentry.users.models.user import User
23+
from sentry.users.models.users.user import User
2424

2525
MISSING_FEATURE_MESSAGE = "Your organization does not have access to this feature."
2626

src/sentry/api/endpoints/group_integrations.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from sentry.models.group import Group
2020
from sentry.models.grouplink import GroupLink
2121
from sentry.models.integrations.external_issue import ExternalIssue
22-
from sentry.users.models.user import User
22+
from sentry.users.models.users.user import User
2323

2424

2525
class IntegrationIssueSerializer(IntegrationSerializer):

src/sentry/api/endpoints/group_similar_issues_embeddings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from sentry.seer.similarity.similar_issues import get_similarity_data_from_seer
1818
from sentry.seer.similarity.types import SeerSimilarIssueData, SimilarIssuesEmbeddingsRequest
1919
from sentry.seer.similarity.utils import get_stacktrace_string
20-
from sentry.users.models.user import User
20+
from sentry.users.models.users.user import User
2121
from sentry.utils.safe import get_path
2222

2323
logger = logging.getLogger(__name__)

src/sentry/api/endpoints/group_user_reports.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from sentry.api.paginator import DateTimePaginator
88
from sentry.api.serializers import serialize
99
from sentry.models.environment import Environment
10-
from sentry.users.models.userreport import UserReport
10+
from sentry.users.models.users.userreport import UserReport
1111

1212

1313
@region_silo_endpoint

src/sentry/api/endpoints/index.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from sentry.api.api_publish_status import ApiPublishStatus
55
from sentry.api.base import Endpoint, control_silo_endpoint
66
from sentry.api.serializers import serialize
7-
from sentry.users.models.user import User
7+
from sentry.users.models.users.user import User
88

99

1010
@control_silo_endpoint

src/sentry/api/endpoints/integrations/sentry_apps/installation/external_issue/actions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from sentry.mediators.external_issues.issue_link_creator import IssueLinkCreator
1111
from sentry.models.group import Group
1212
from sentry.models.project import Project
13-
from sentry.users.models.user import User
13+
from sentry.users.models.users.user import User
1414
from sentry.users.services.user.serial import serialize_rpc_user
1515

1616

src/sentry/api/endpoints/oauth_userinfo.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from sentry.api.base import Endpoint, control_silo_endpoint
99
from sentry.api.exceptions import ParameterValidationError, ResourceDoesNotExist, SentryAPIException
1010
from sentry.models.apitoken import ApiToken
11-
from sentry.users.models.useremail import UserEmail
11+
from sentry.users.models.users.useremail import UserEmail
1212

1313

1414
class InsufficientScopesError(SentryAPIException):

src/sentry/api/endpoints/org_auth_tokens.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
RpcUserOrganizationContext,
2525
)
2626
from sentry.security.utils import capture_security_activity
27-
from sentry.users.models.user import User
27+
from sentry.users.models.users.user import User
2828
from sentry.utils.security.orgauthtoken_token import (
2929
SystemUrlPrefixMissingException,
3030
generate_token,

src/sentry/api/endpoints/organization_details.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
OrganizationSlugCollisionException,
7676
organization_provisioning_service,
7777
)
78-
from sentry.users.models.useremail import UserEmail
78+
from sentry.users.models.users.useremail import UserEmail
7979
from sentry.users.services.user.serial import serialize_generic_user
8080
from sentry.utils.audit import create_audit_entry
8181

src/sentry/api/endpoints/organization_onboarding_continuation_email.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from sentry.api.bases.organization import OrganizationEndpoint
99
from sentry.api.serializers.rest_framework.base import CamelSnakeSerializer
1010
from sentry.models.organization import Organization
11-
from sentry.users.models.user import User
11+
from sentry.users.models.users.user import User
1212
from sentry.utils.email import MessageBuilder
1313
from sentry.utils.strings import oxfordize_list
1414

src/sentry/api/endpoints/organization_user_reports.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from sentry.api.paginator import DateTimePaginator
1313
from sentry.api.serializers import serialize
1414
from sentry.api.serializers.models import UserReportWithGroupSerializer
15-
from sentry.users.models.userreport import UserReport
15+
from sentry.users.models.users.userreport import UserReport
1616

1717

1818
class _PaginateKwargs(TypedDict):

src/sentry/api/endpoints/project_user_reports.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from sentry.ingest.userreport import Conflict, save_userreport
1717
from sentry.models.environment import Environment
1818
from sentry.models.projectkey import ProjectKey
19-
from sentry.users.models.userreport import UserReport
19+
from sentry.users.models.users.userreport import UserReport
2020

2121

2222
class UserReportSerializer(serializers.ModelSerializer):

src/sentry/api/endpoints/relocations/index.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
from sentry.signals import relocation_link_promo_code
3030
from sentry.slug.patterns import ORG_SLUG_PATTERN
3131
from sentry.tasks.relocation import uploading_complete
32-
from sentry.users.models.user import MAX_USERNAME_LENGTH
32+
from sentry.users.models.users.user import MAX_USERNAME_LENGTH
3333
from sentry.users.services.user.model import RpcUser
3434
from sentry.users.services.user.service import user_service
3535
from sentry.utils.db import atomic_transaction

src/sentry/api/endpoints/user_authenticator_details.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313
from sentry.auth.authenticators.u2f import decode_credential_id
1414
from sentry.auth.staff import has_staff_option, is_active_staff
1515
from sentry.auth.superuser import is_active_superuser
16-
from sentry.models.authenticator import Authenticator
1716
from sentry.security.utils import capture_security_activity
18-
from sentry.users.models.user import User
17+
from sentry.users.models.auth.authenticator import Authenticator
18+
from sentry.users.models.users.user import User
1919
from sentry.utils.auth import MFA_SESSION_KEY
2020

2121

src/sentry/api/endpoints/user_authenticator_enroll.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@
1818
from sentry.api.serializers import serialize
1919
from sentry.auth.authenticators.base import EnrollmentStatus, NewEnrollmentDisallowed
2020
from sentry.auth.authenticators.sms import SMSRateLimitExceeded
21-
from sentry.models.authenticator import Authenticator
2221
from sentry.organizations.services.organization import organization_service
2322
from sentry.security.utils import capture_security_activity
24-
from sentry.users.models.user import User
23+
from sentry.users.models.auth.authenticator import Authenticator
24+
from sentry.users.models.users.user import User
2525
from sentry.utils.auth import MFA_SESSION_KEY
2626

2727
logger = logging.getLogger(__name__)

src/sentry/api/endpoints/user_authenticator_index.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from sentry.api.base import control_silo_endpoint
77
from sentry.api.bases.user import UserEndpoint
88
from sentry.api.serializers import serialize
9-
from sentry.models.authenticator import Authenticator
9+
from sentry.users.models.auth.authenticator import Authenticator
1010

1111

1212
@control_silo_endpoint

src/sentry/api/endpoints/user_details.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@
2121
from sentry.api.serializers.rest_framework import CamelSnakeModelSerializer
2222
from sentry.auth.elevated_mode import has_elevated_mode
2323
from sentry.constants import LANGUAGES
24-
from sentry.models.options.user_option import UserOption
2524
from sentry.models.organization import OrganizationStatus
2625
from sentry.models.organizationmapping import OrganizationMapping
2726
from sentry.models.organizationmembermapping import OrganizationMemberMapping
2827
from sentry.organizations.services.organization import organization_service
2928
from sentry.organizations.services.organization.model import RpcOrganizationDeleteState
30-
from sentry.users.models.user import User
31-
from sentry.users.models.useremail import UserEmail
29+
from sentry.users.models.users.user import User
30+
from sentry.users.models.users.user_option import UserOption
31+
from sentry.users.models.users.useremail import UserEmail
3232
from sentry.users.services.user.serial import serialize_generic_user
3333
from sentry.utils.dates import AVAILABLE_TIMEZONES
3434

src/sentry/api/endpoints/user_emails.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
from sentry.api.decorators import sudo_required
1111
from sentry.api.serializers import serialize
1212
from sentry.api.validators import AllowedEmailField
13-
from sentry.models.options.user_option import UserOption
14-
from sentry.users.models.user import User
15-
from sentry.users.models.useremail import UserEmail
13+
from sentry.users.models.users.user import User
14+
from sentry.users.models.users.user_option import UserOption
15+
from sentry.users.models.users.useremail import UserEmail
1616

1717
logger = logging.getLogger("sentry.accounts")
1818

src/sentry/api/endpoints/user_emails_confirm.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from sentry.api.bases.user import UserEndpoint
1010
from sentry.api.validators import AllowedEmailField
1111
from sentry.types.ratelimit import RateLimit, RateLimitCategory
12-
from sentry.users.models.useremail import UserEmail
12+
from sentry.users.models.users.useremail import UserEmail
1313

1414
logger = logging.getLogger("sentry.accounts")
1515

src/sentry/api/endpoints/user_identity_config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
)
1818
from sentry.models.authidentity import AuthIdentity
1919
from sentry.models.identity import Identity
20-
from sentry.users.models.user import User
20+
from sentry.users.models.users.user import User
2121
from social_auth.models import UserSocialAuth
2222

2323

src/sentry/api/endpoints/user_index.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from sentry.api.serializers import serialize
1010
from sentry.db.models.query import in_iexact
1111
from sentry.search.utils import tokenize_query
12-
from sentry.users.models.user import User
12+
from sentry.users.models.users.user import User
1313

1414

1515
@control_silo_endpoint

src/sentry/api/endpoints/user_ips.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from sentry.api.decorators import sudo_required
88
from sentry.api.paginator import DateTimePaginator
99
from sentry.api.serializers import serialize
10-
from sentry.users.models.userip import UserIP
10+
from sentry.users.models.users.userip import UserIP
1111

1212

1313
@control_silo_endpoint

src/sentry/api/endpoints/user_notification_details.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
from sentry.api.base import control_silo_endpoint
1010
from sentry.api.bases.user import UserEndpoint
1111
from sentry.api.serializers import Serializer, serialize
12-
from sentry.models.options.user_option import UserOption
1312
from sentry.notifications.types import UserOptionsSettingsKey
13+
from sentry.users.models.users.user_option import UserOption
1414

1515
USER_OPTION_SETTINGS = {
1616
UserOptionsSettingsKey.SELF_ACTIVITY: {

src/sentry/api/endpoints/user_notification_email.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
from sentry.api.api_publish_status import ApiPublishStatus
88
from sentry.api.base import control_silo_endpoint
99
from sentry.api.bases.user import UserEndpoint
10-
from sentry.models.options.user_option import UserOption
11-
from sentry.users.models.useremail import UserEmail
10+
from sentry.users.models.users.user_option import UserOption
11+
from sentry.users.models.users.useremail import UserEmail
1212

1313
INVALID_EMAIL_MSG = (
1414
"Invalid email value(s) provided. Email values must be verified emails for the given user."

src/sentry/api/endpoints/user_notification_settings_options.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from sentry.models.notificationsettingoption import NotificationSettingOption
1313
from sentry.notifications.serializers import NotificationSettingsOptionSerializer
1414
from sentry.notifications.validators import UserNotificationSettingOptionWithValueSerializer
15-
from sentry.users.models.user import User
15+
from sentry.users.models.users.user import User
1616

1717

1818
@control_silo_endpoint

src/sentry/api/endpoints/user_notification_settings_options_detail.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from sentry.api.base import control_silo_endpoint
88
from sentry.api.bases.user import UserEndpoint
99
from sentry.models.notificationsettingoption import NotificationSettingOption
10-
from sentry.users.models.user import User
10+
from sentry.users.models.users.user import User
1111

1212

1313
@control_silo_endpoint

src/sentry/api/endpoints/user_notification_settings_providers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from sentry.notifications.serializers import NotificationSettingsProviderSerializer
1616
from sentry.notifications.types import NotificationSettingsOptionEnum
1717
from sentry.notifications.validators import UserNotificationSettingsProvidersDetailsSerializer
18-
from sentry.users.models.user import User
18+
from sentry.users.models.users.user import User
1919

2020

2121
@control_silo_endpoint

src/sentry/api/endpoints/user_permission_details.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from sentry.api.bases.user import UserEndpoint
1313
from sentry.api.decorators import sudo_required
1414
from sentry.api.permissions import SuperuserOrStaffFeatureFlaggedPermission
15-
from sentry.users.models.userpermission import UserPermission
15+
from sentry.users.models.users.userpermission import UserPermission
1616

1717
audit_logger = logging.getLogger("sentry.audit.user")
1818

src/sentry/api/endpoints/user_permissions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from sentry.api.base import control_silo_endpoint
77
from sentry.api.bases.user import UserEndpoint
88
from sentry.api.permissions import SuperuserOrStaffFeatureFlaggedPermission
9-
from sentry.users.models.userpermission import UserPermission
9+
from sentry.users.models.users.userpermission import UserPermission
1010

1111

1212
@control_silo_endpoint

src/sentry/api/endpoints/user_regions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from sentry.models.organizationmapping import OrganizationMapping
1313
from sentry.models.organizationmembermapping import OrganizationMemberMapping
1414
from sentry.types.region import get_region_by_name
15-
from sentry.users.models.user import User
15+
from sentry.users.models.users.user import User
1616
from sentry.users.services.user import RpcUser
1717

1818

src/sentry/api/endpoints/user_role_details.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from sentry.api.decorators import sudo_required
1212
from sentry.api.permissions import SuperuserPermission
1313
from sentry.api.serializers import serialize
14-
from sentry.users.models.userrole import UserRole, UserRoleUser
14+
from sentry.users.models.users.userrole import UserRole, UserRoleUser
1515

1616
audit_logger = logging.getLogger("sentry.audit.user")
1717

src/sentry/api/endpoints/user_roles.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from sentry.api.bases.user import UserEndpoint
77
from sentry.api.permissions import SuperuserPermission
88
from sentry.api.serializers import serialize
9-
from sentry.users.models.userrole import UserRole
9+
from sentry.users.models.users.userrole import UserRole
1010

1111

1212
@control_silo_endpoint

0 commit comments

Comments
 (0)