Skip to content

Commit 4868f8e

Browse files
ref(control_silo): Move Identitiy model to users module (#76272)
Part of moving control silo user related resources into the usersmodule. Includes adding import shim for any getsentry refs. Also addsminor typing to some identity functions. Apart of (#73856)
1 parent c305695 commit 4868f8e

File tree

78 files changed

+295
-292
lines changed

Some content is hidden

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

78 files changed

+295
-292
lines changed

fixtures/gitlab.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
from sentry.integrations.gitlab.integration import GitlabIntegration
44
from sentry.integrations.models.integration import Integration
5-
from sentry.models.identity import Identity, IdentityProvider
65
from sentry.models.repository import Repository
76
from sentry.silo.base import SiloMode
87
from sentry.testutils.cases import APITestCase
98
from sentry.testutils.helpers.integrations import get_installation_of_type
109
from sentry.testutils.silo import assume_test_silo_mode
10+
from sentry.users.models.identity import Identity, IdentityProvider
1111

1212
EXTERNAL_ID = "example.gitlab.com:group-x"
1313
WEBHOOK_SECRET = "secret-token-value"

src/sentry/api/endpoints/user_identity.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.paginator import OffsetPaginator
88
from sentry.api.serializers import serialize
9-
from sentry.models.identity import Identity
9+
from sentry.users.models.identity import Identity
1010

1111

1212
@control_silo_endpoint

src/sentry/api/endpoints/user_identity_config.py

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

src/sentry/api/serializers/models/identity.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, serialize
2-
from sentry.models.identity import Identity
2+
from sentry.users.models.identity import Identity
33

44

55
@register(Identity)

src/sentry/api/serializers/models/identityprovider.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.identity import IdentityProvider
2+
from sentry.users.models.identity import IdentityProvider
33

44

55
@register(IdentityProvider)

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from sentry.identity import is_login_provider
1717
from sentry.integrations.manager import default_manager as integrations
1818
from sentry.models.authidentity import AuthIdentity
19-
from sentry.models.identity import Identity
19+
from sentry.users.models.identity import Identity
2020
from social_auth.models import UserSocialAuth
2121

2222
from . import user_social_auth

src/sentry/deletions/defaults/organizationintegration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def should_proceed(self, instance):
1111
return instance.status in {ObjectStatus.DELETION_IN_PROGRESS, ObjectStatus.PENDING_DELETION}
1212

1313
def get_child_relations(self, instance):
14-
from sentry.models.identity import Identity
14+
from sentry.users.models.identity import Identity
1515

1616
relations = []
1717

src/sentry/identity/pipeline.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
from django.urls import reverse
66
from django.utils.translation import gettext_lazy as _
77

8-
from sentry.models.identity import Identity, IdentityProvider
98
from sentry.pipeline import Pipeline
9+
from sentry.users.models.identity import Identity, IdentityProvider
1010
from sentry.utils import metrics
1111

1212
from . import default_manager

src/sentry/identity/services/identity/impl.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from sentry.identity.services.identity.serial import serialize_identity, serialize_identity_provider
1616
from sentry.identity.services.identity.service import IdentityService
1717
from sentry.models.authidentity import AuthIdentity
18-
from sentry.models.identity import Identity
18+
from sentry.users.models.identity import Identity
1919

2020

2121
class DatabaseBackedIdentityService(IdentityService):
@@ -26,7 +26,7 @@ def get_provider(
2626
provider_type: str | None = None,
2727
provider_ext_id: str | None = None,
2828
) -> RpcIdentityProvider | None:
29-
from sentry.models.identity import IdentityProvider
29+
from sentry.users.models.identity import IdentityProvider
3030

3131
# If an id is provided, use that -- otherwise, use the type and external_id
3232
idp_kwargs: Any = (
@@ -57,7 +57,7 @@ def get_user_identities_by_provider_type(
5757
) -> list[RpcIdentity]:
5858
from django.db.models import F
5959

60-
from sentry.models.identity import Identity
60+
from sentry.users.models.identity import Identity
6161

6262
identities = Identity.objects.filter(user=user_id, idp__type=provider_type)
6363

src/sentry/identity/services/identity/model.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class RpcIdentity(RpcModel):
2828
def get_identity(self) -> "Provider":
2929
from sentry.identity import get
3030
from sentry.identity.services.identity import identity_service
31-
from sentry.models.identity import IdentityProvider
31+
from sentry.users.models.identity import IdentityProvider
3232

3333
identity_provider = identity_service.get_provider(provider_id=self.idp_id)
3434
if identity_provider is None:

src/sentry/identity/services/identity/serial.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from sentry.identity.services.identity import RpcIdentity, RpcIdentityProvider
44

55
if TYPE_CHECKING:
6-
from sentry.models.identity import Identity, IdentityProvider
6+
from sentry.users.models.identity import Identity, IdentityProvider
77

88

99
def serialize_identity_provider(identity_provider: "IdentityProvider") -> RpcIdentityProvider:

src/sentry/integrations/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
from sentry.integrations.models.integration import Integration
2121
from sentry.integrations.notify_disable import notify_disable
2222
from sentry.integrations.request_buffer import IntegrationRequestBuffer
23-
from sentry.models.identity import Identity
2423
from sentry.models.team import Team
2524
from sentry.organizations.services.organization import (
2625
RpcOrganization,
@@ -42,6 +41,7 @@
4241
IntegrationFormError,
4342
UnsupportedResponseType,
4443
)
44+
from sentry.users.models.identity import Identity
4545
from sentry.utils.audit import create_audit_entry, create_system_audit_entry
4646
from sentry.utils.sdk import Scope
4747

src/sentry/integrations/bitbucket_server/integration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@
2626
from sentry.integrations.services.repository.model import RpcRepository
2727
from sentry.integrations.source_code_management.repository import RepositoryIntegration
2828
from sentry.integrations.tasks.migrate_repo import migrate_repo
29-
from sentry.models.identity import Identity
3029
from sentry.models.repository import Repository
3130
from sentry.organizations.services.organization import RpcOrganizationSummary
3231
from sentry.pipeline import PipelineView
3332
from sentry.shared_integrations.exceptions import ApiError, IntegrationError
33+
from sentry.users.models.identity import Identity
3434
from sentry.web.helpers import render_to_response
3535

3636
from .client import BitbucketServerClient, BitbucketServerSetupClient

src/sentry/integrations/discord/views/link_identity.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
from sentry.integrations.services.integration.model import RpcIntegration
99
from sentry.integrations.types import ExternalProviders
1010
from sentry.integrations.utils.identities import get_identity_or_404
11-
from sentry.models.identity import Identity
1211
from sentry.types.actor import ActorType
12+
from sentry.users.models.identity import Identity
1313
from sentry.utils.http import absolute_uri
1414
from sentry.utils.signing import sign, unsign
1515
from sentry.web.frontend.base import BaseView, control_silo_view

src/sentry/integrations/discord/views/unlink_identity.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
from sentry.integrations.services.integration.model import RpcIntegration
1010
from sentry.integrations.types import ExternalProviders
1111
from sentry.integrations.utils.identities import get_identity_or_404
12-
from sentry.models.identity import Identity
1312
from sentry.types.actor import ActorType
13+
from sentry.users.models.identity import Identity
1414
from sentry.utils.http import absolute_uri
1515
from sentry.utils.signing import sign, unsign
1616
from sentry.web.frontend.base import BaseView, control_silo_view

src/sentry/integrations/gitlab/integration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@
1919
from sentry.integrations.services.repository.model import RpcRepository
2020
from sentry.integrations.source_code_management.commit_context import CommitContextIntegration
2121
from sentry.integrations.source_code_management.repository import RepositoryIntegration
22-
from sentry.models.identity import Identity
2322
from sentry.models.repository import Repository
2423
from sentry.pipeline import NestedPipelineView, PipelineView
2524
from sentry.shared_integrations.exceptions import (
2625
ApiError,
2726
IntegrationError,
2827
IntegrationProviderError,
2928
)
29+
from sentry.users.models.identity import Identity
3030
from sentry.utils.hashlib import sha1_text
3131
from sentry.utils.http import absolute_uri
3232
from sentry.web.helpers import render_to_response

src/sentry/integrations/jira_server/integration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
from sentry.integrations.models.integration_external_project import IntegrationExternalProject
3333
from sentry.integrations.services.integration import integration_service
3434
from sentry.models.group import Group
35-
from sentry.models.identity import Identity
3635
from sentry.organizations.services.organization.service import organization_service
3736
from sentry.pipeline import PipelineView
3837
from sentry.shared_integrations.exceptions import (
@@ -43,6 +42,7 @@
4342
IntegrationFormError,
4443
)
4544
from sentry.silo.base import all_silo_function
45+
from sentry.users.models.identity import Identity
4646
from sentry.users.services.user import RpcUser
4747
from sentry.users.services.user.service import user_service
4848
from sentry.utils.hashlib import sha1_text

src/sentry/integrations/msteams/link_identity.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from sentry.integrations.types import ExternalProviders
99
from sentry.integrations.utils import get_identity_or_404
10-
from sentry.models.identity import Identity
10+
from sentry.users.models.identity import Identity
1111
from sentry.utils.http import absolute_uri
1212
from sentry.utils.signing import sign, unsign
1313
from sentry.web.frontend.base import BaseView, control_silo_view

src/sentry/integrations/msteams/unlink_identity.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from django.utils.decorators import method_decorator
55
from django.views.decorators.cache import never_cache
66

7-
from sentry.models.identity import Identity
7+
from sentry.users.models.identity import Identity
88
from sentry.utils.http import absolute_uri
99
from sentry.utils.signing import sign, unsign
1010
from sentry.web.frontend.base import BaseView, control_silo_view

src/sentry/integrations/pipeline.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@
1313
from sentry.integrations.manager import default_manager
1414
from sentry.integrations.models.integration import Integration
1515
from sentry.integrations.models.organization_integration import OrganizationIntegration
16-
from sentry.models.identity import Identity, IdentityProvider, IdentityStatus
1716
from sentry.models.organizationmapping import OrganizationMapping
1817
from sentry.organizations.absolute_url import generate_organization_url
1918
from sentry.pipeline import Pipeline, PipelineAnalyticsEntry
2019
from sentry.shared_integrations.exceptions import IntegrationError, IntegrationProviderError
2120
from sentry.silo.base import SiloMode
21+
from sentry.users.models.identity import Identity, IdentityProvider, IdentityStatus
2222
from sentry.web.helpers import render_to_response
2323

2424
__all__ = ["IntegrationPipeline"]

src/sentry/integrations/slack/tasks/link_slack_user_identities.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
from sentry.integrations.services.integration import integration_service
99
from sentry.integrations.slack.utils.users import SlackUserData, get_slack_data_by_user
1010
from sentry.integrations.utils import get_identities_by_user
11-
from sentry.models.identity import Identity, IdentityProvider, IdentityStatus
1211
from sentry.organizations.services.organization import organization_service
1312
from sentry.silo.base import SiloMode
1413
from sentry.tasks.base import instrumented_task
14+
from sentry.users.models.identity import Identity, IdentityProvider, IdentityStatus
1515
from sentry.users.models.user import User
1616
from sentry.users.models.useremail import UserEmail
1717

src/sentry/integrations/slack/views/link_identity.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
from sentry.integrations.slack.views.types import IdentityParams
1919
from sentry.integrations.types import ExternalProviderEnum, ExternalProviders
2020
from sentry.integrations.utils import get_identity_or_404
21-
from sentry.models.identity import Identity
2221
from sentry.notifications.notificationcontroller import NotificationController
2322
from sentry.notifications.notifications.integration_nudge import IntegrationNudgeNotification
23+
from sentry.users.models.identity import Identity
2424
from sentry.utils import metrics
2525
from sentry.utils.signing import unsign
2626
from sentry.web.frontend.base import BaseView, control_silo_view

src/sentry/integrations/slack/views/types.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from dataclasses import dataclass
22

33
from sentry.integrations.models.integration import Integration
4-
from sentry.models.identity import IdentityProvider
54
from sentry.organizations.services.organization import RpcOrganization
5+
from sentry.users.models.identity import IdentityProvider
66

77

88
@dataclass(frozen=True)

src/sentry/integrations/slack/views/unlink_identity.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from sentry.integrations.slack.views.types import IdentityParams
1818
from sentry.integrations.types import ExternalProviders
1919
from sentry.integrations.utils import get_identity_or_404
20-
from sentry.models.identity import Identity
20+
from sentry.users.models.identity import Identity
2121
from sentry.utils import metrics
2222
from sentry.utils.signing import unsign
2323
from sentry.web.frontend.base import BaseView, control_silo_view

src/sentry/integrations/source_code_management/commit_context.py

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

99
from sentry.auth.exceptions import IdentityNotValid
1010
from sentry.integrations.models.repository_project_path_config import RepositoryProjectPathConfig
11-
from sentry.models.identity import Identity
1211
from sentry.models.repository import Repository
12+
from sentry.users.models.identity import Identity
1313

1414

1515
@dataclass

src/sentry/integrations/source_code_management/repository.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
from sentry.auth.exceptions import IdentityNotValid
1010
from sentry.integrations.base import IntegrationInstallation
1111
from sentry.integrations.services.repository import RpcRepository
12-
from sentry.models.identity import Identity
1312
from sentry.models.repository import Repository
1413
from sentry.shared_integrations.client.base import BaseApiResponseX
1514
from sentry.shared_integrations.exceptions import ApiError, IntegrationError
15+
from sentry.users.models.identity import Identity
1616
from sentry.utils import metrics
1717

1818
REPOSITORY_INTEGRATION_CHECK_FILE_METRIC = "repository_integration.check_file.{result}"

src/sentry/integrations/utils/identities.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
from sentry.integrations.models.integration import Integration
88
from sentry.integrations.models.organization_integration import OrganizationIntegration
99
from sentry.integrations.types import EXTERNAL_PROVIDERS, ExternalProviders
10-
from sentry.models.identity import Identity, IdentityProvider, IdentityStatus
1110
from sentry.organizations.services.organization import RpcOrganization, organization_service
1211
from sentry.silo.base import control_silo_function
12+
from sentry.users.models.identity import Identity, IdentityProvider, IdentityStatus
1313
from sentry.users.models.user import User
1414
from sentry.users.services.user.service import user_service
1515

src/sentry/integrations/vsts/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212
from sentry.integrations.base import IntegrationFeatureNotImplementedError
1313
from sentry.integrations.client import ApiClient
1414
from sentry.integrations.source_code_management.repository import RepositoryClient
15-
from sentry.models.identity import Identity
1615
from sentry.models.repository import Repository
1716
from sentry.shared_integrations.client.base import BaseApiResponseX
1817
from sentry.shared_integrations.client.proxy import IntegrationProxyClient
1918
from sentry.silo.base import control_silo_function
19+
from sentry.users.models.identity import Identity
2020
from sentry.utils.http import absolute_uri
2121

2222
if TYPE_CHECKING:

src/sentry/models/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from sentry.users.models.authenticator import * # NOQA
22
from sentry.users.models.email import * # NOQA
3+
from sentry.users.models.identity import * # NOQA
34
from sentry.users.models.lostpasswordhash import * # NOQA
45
from sentry.users.models.user import * # NOQA
56
from sentry.users.models.useremail import * # NOQA
@@ -66,7 +67,6 @@
6667
from .groupsnooze import * # NOQA
6768
from .groupsubscription import * # NOQA
6869
from .grouptombstone import * # NOQA
69-
from .identity import * # NOQA
7070
from .importchunk import * # NOQA
7171
from .integrations import * # NOQA
7272
from .latestreporeleaseenvironment import * # NOQA

0 commit comments

Comments
 (0)