Skip to content

Commit 658962c

Browse files
ref(control_silo): Move UserRole model to users module (#76125)
Part of moving control silo user related resources into the usersmodule, this PR does not include an old UserRole import shim as it's not used in getsentry. Includes adding of types for functions. Apart of (#73856)
1 parent a3db9c1 commit 658962c

File tree

23 files changed

+24
-23
lines changed

23 files changed

+24
-23
lines changed

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.models.userrole import UserRole, UserRoleUser
14+
from sentry.users.models.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.models.userrole import UserRole
9+
from sentry.users.models.userrole import UserRole
1010

1111

1212
@control_silo_endpoint

src/sentry/api/endpoints/userroles_details.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from sentry.api.permissions import SuperuserPermission
1111
from sentry.api.serializers import serialize
1212
from sentry.api.validators.userrole import UserRoleValidator
13-
from sentry.models.userrole import UserRole
13+
from sentry.users.models.userrole import UserRole
1414

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

src/sentry/api/endpoints/userroles_index.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from sentry.api.permissions import SuperuserPermission
1111
from sentry.api.serializers import serialize
1212
from sentry.api.validators.userrole import UserRoleValidator
13-
from sentry.models.userrole import UserRole
13+
from sentry.users.models.userrole import UserRole
1414

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

src/sentry/api/serializers/models/user.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@
2525
from sentry.models.organizationmembermapping import OrganizationMemberMapping
2626
from sentry.models.useremail import UserEmail
2727
from sentry.models.userpermission import UserPermission
28-
from sentry.models.userrole import UserRoleUser
2928
from sentry.organizations.services.organization import RpcOrganizationSummary
3029
from sentry.users.models.authenticator import Authenticator
3130
from sentry.users.models.user import User
31+
from sentry.users.models.userrole import UserRoleUser
3232
from sentry.users.services.user import RpcUser
3333
from sentry.utils.avatar import get_gravatar_url
3434

src/sentry/api/serializers/models/userrole.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from sentry.api.serializers import Serializer, register
2-
from sentry.models.userrole import UserRole
2+
from sentry.users.models.userrole import UserRole
33

44

55
@register(UserRole)

src/sentry/backup/services/import_export/impl.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@
4848
from sentry.models.importchunk import ControlImportChunk, RegionImportChunk
4949
from sentry.models.organizationmember import OrganizationMember
5050
from sentry.models.userpermission import UserPermission
51-
from sentry.models.userrole import UserRoleUser
5251
from sentry.silo.base import SiloMode
5352
from sentry.users.models.user import User
53+
from sentry.users.models.userrole import UserRoleUser
5454

5555
logger = logging.getLogger(__name__)
5656

src/sentry/models/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from sentry.users.models.authenticator import * # NOQA
22
from sentry.users.models.email import * # NOQA
33
from sentry.users.models.user import * # NOQA
4+
from sentry.users.models.userrole import * # NOQA
45

56
from .activity import * # NOQA
67
from .apiapplication import * # NOQA
@@ -123,4 +124,3 @@
123124
from .userip import * # NOQA
124125
from .userpermission import * # NOQA
125126
from .userreport import * # NOQA
126-
from .userrole import * # NOQA

src/sentry/runner/commands/createuser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def _set_superadmin(user: User) -> None:
5353
superadmin role approximates superuser (model attribute) but leveraging
5454
Sentry's role system.
5555
"""
56-
from sentry.models.userrole import UserRole, UserRoleUser
56+
from sentry.users.models.userrole import UserRole, UserRoleUser
5757

5858
role = UserRole.objects.get(name="Super Admin")
5959
UserRoleUser.objects.create(user=user, role=role)

src/sentry/testutils/factories.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,6 @@
141141
from sentry.models.useremail import UserEmail
142142
from sentry.models.userpermission import UserPermission
143143
from sentry.models.userreport import UserReport
144-
from sentry.models.userrole import UserRole
145144
from sentry.organizations.services.organization import RpcOrganization, RpcUserOrganizationContext
146145
from sentry.sentry_apps.apps import SentryAppCreator
147146
from sentry.sentry_apps.installations import (
@@ -168,6 +167,7 @@
168167
UptimeSubscription,
169168
)
170169
from sentry.users.models.user import User
170+
from sentry.users.models.userrole import UserRole
171171
from sentry.users.services.user import RpcUser
172172
from sentry.utils import loremipsum
173173
from sentry.utils.performance_issues.performance_problem import PerformanceProblem

src/sentry/testutils/helpers/backups.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,6 @@
9797
from sentry.models.savedsearch import SavedSearch, Visibility
9898
from sentry.models.search_common import SearchType
9999
from sentry.models.userip import UserIP
100-
from sentry.models.userrole import UserRole, UserRoleUser
101100
from sentry.monitors.models import Monitor, MonitorType, ScheduleType
102101
from sentry.nodestore.django.models import Node
103102
from sentry.sentry_apps.apps import SentryAppUpdater
@@ -114,6 +113,7 @@
114113
from sentry.types.token import AuthTokenType
115114
from sentry.users.models.authenticator import Authenticator
116115
from sentry.users.models.user import User
116+
from sentry.users.models.userrole import UserRole, UserRoleUser
117117
from sentry.utils import json
118118

119119
__all__ = [

src/sentry/models/userrole.py renamed to src/sentry/users/models/userrole.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from __future__ import annotations
22

33
from collections.abc import Sequence
4+
from typing import Any
45

56
from django.conf import settings
67
from django.db import models
@@ -81,7 +82,7 @@ class Meta:
8182

8283

8384
# this must be idempotent because it executes on every upgrade
84-
def manage_default_super_admin_role(**kwargs):
85+
def manage_default_super_admin_role(**kwargs: Any) -> None:
8586
role, _ = UserRole.objects.get_or_create(
8687
name="Super Admin", defaults={"permissions": settings.SENTRY_USER_PERMISSIONS}
8788
)

tests/relay_integration/test_sdk.py

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

99
from sentry import eventstore
1010
from sentry.eventstore.models import Event
11-
from sentry.models.userrole import manage_default_super_admin_role
1211
from sentry.receivers import create_default_projects
1312
from sentry.silo.base import SiloMode
1413
from sentry.testutils.asserts import assert_mock_called_once_with_partial
1514
from sentry.testutils.pytest.fixtures import django_db_all
1615
from sentry.testutils.pytest.relay import adjust_settings_for_relay_tests
1716
from sentry.testutils.silo import assume_test_silo_mode, no_silo_test
1817
from sentry.testutils.skips import requires_kafka
18+
from sentry.users.models.userrole import manage_default_super_admin_role
1919
from sentry.utils.sdk import bind_organization_context, configure_sdk
2020

2121
pytestmark = [requires_kafka]

tests/sentry/api/endpoints/test_user_details.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
from sentry.models.organization import Organization, OrganizationStatus
77
from sentry.models.organizationmember import OrganizationMember
88
from sentry.models.userpermission import UserPermission
9-
from sentry.models.userrole import UserRole
109
from sentry.silo.base import SiloMode
1110
from sentry.tasks.deletion.hybrid_cloud import schedule_hybrid_cloud_foreign_key_jobs
1211
from sentry.testutils.cases import APITestCase
@@ -15,6 +14,7 @@
1514
from sentry.testutils.outbox import outbox_runner
1615
from sentry.testutils.silo import assume_test_silo_mode, control_silo_test
1716
from sentry.users.models.user import User
17+
from sentry.users.models.userrole import UserRole
1818

1919

2020
class UserDetailsTest(APITestCase):

tests/sentry/api/endpoints/test_user_role_details.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
from sentry.models.userrole import UserRole
21
from sentry.testutils.cases import APITestCase
32
from sentry.testutils.silo import control_silo_test
3+
from sentry.users.models.userrole import UserRole
44

55

66
@control_silo_test

tests/sentry/api/endpoints/test_user_roles.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
from sentry.models.userrole import UserRole
21
from sentry.testutils.cases import APITestCase
32
from sentry.testutils.silo import control_silo_test
3+
from sentry.users.models.userrole import UserRole
44

55

66
@control_silo_test

tests/sentry/api/endpoints/test_userroles_details.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
from sentry.models.userrole import UserRole
21
from sentry.testutils.cases import APITestCase
32
from sentry.testutils.silo import control_silo_test
3+
from sentry.users.models.userrole import UserRole
44

55

66
@control_silo_test

tests/sentry/api/endpoints/test_userroles_index.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
from sentry.models.userrole import UserRole
21
from sentry.testutils.cases import APITestCase
32
from sentry.testutils.silo import control_silo_test
3+
from sentry.users.models.userrole import UserRole
44

55

66
@control_silo_test

tests/sentry/auth/test_access.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@
1616
from sentry.models.authprovider import AuthProvider
1717
from sentry.models.organization import Organization
1818
from sentry.models.team import TeamStatus
19-
from sentry.models.userrole import UserRole
2019
from sentry.organizations.services.organization import organization_service
2120
from sentry.silo.base import SiloMode
2221
from sentry.testutils.cases import TestCase
2322
from sentry.testutils.helpers import with_feature
2423
from sentry.testutils.helpers.options import override_options
2524
from sentry.testutils.silo import all_silo_test, assume_test_silo_mode, no_silo_test
2625
from sentry.users.models.user import User
26+
from sentry.users.models.userrole import UserRole
2727

2828

2929
def silo_from_user(

tests/sentry/backup/test_exports.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
from sentry.models.orgauthtoken import OrgAuthToken
1717
from sentry.models.useremail import UserEmail
1818
from sentry.models.userpermission import UserPermission
19-
from sentry.models.userrole import UserRole, UserRoleUser
2019
from sentry.testutils.helpers.backups import (
2120
BackupTransactionTestCase,
2221
ValidationError,
@@ -26,6 +25,7 @@
2625
from sentry.testutils.helpers.datetime import freeze_time
2726
from sentry.users.models.email import Email
2827
from sentry.users.models.user import User
28+
from sentry.users.models.userrole import UserRole, UserRoleUser
2929
from tests.sentry.backup import get_matching_exportable_models
3030

3131

tests/sentry/backup/test_imports.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@
6060
from sentry.models.useremail import UserEmail
6161
from sentry.models.userip import UserIP
6262
from sentry.models.userpermission import UserPermission
63-
from sentry.models.userrole import UserRole, UserRoleUser
6463
from sentry.monitors.models import Monitor
6564
from sentry.receivers import create_default_projects
6665
from sentry.silo.base import SiloMode
@@ -81,6 +80,7 @@
8180
from sentry.users.models.authenticator import Authenticator
8281
from sentry.users.models.email import Email
8382
from sentry.users.models.user import User
83+
from sentry.users.models.userrole import UserRole, UserRoleUser
8484
from tests.sentry.backup import (
8585
expect_models,
8686
get_matching_exportable_models,

tests/sentry/runner/commands/test_createuser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
from sentry import roles
22
from sentry.models.organization import Organization
33
from sentry.models.organizationmember import OrganizationMember
4-
from sentry.models.userrole import manage_default_super_admin_role
54
from sentry.receivers import create_default_projects
65
from sentry.runner.commands.createuser import createuser
76
from sentry.silo.base import SiloMode
87
from sentry.testutils.cases import CliTestCase
98
from sentry.testutils.silo import assume_test_silo_mode, control_silo_test
109
from sentry.users.models.user import User
10+
from sentry.users.models.userrole import manage_default_super_admin_role
1111
from sentry.users.services.user.service import user_service
1212

1313

tests/sentry/models/test_userrole.py renamed to tests/sentry/users/models/test_userrole.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from django.conf import settings
22

3-
from sentry.models.userrole import UserRole, manage_default_super_admin_role
43
from sentry.testutils.cases import TestCase
54
from sentry.testutils.silo import control_silo_test
5+
from sentry.users.models.userrole import UserRole, manage_default_super_admin_role
66

77

88
@control_silo_test

0 commit comments

Comments
 (0)