Skip to content

Commit c3f4410

Browse files
committed
import additional classes per review suggestion
1 parent a5a3ba2 commit c3f4410

1 file changed

Lines changed: 36 additions & 2 deletions

File tree

src/sentry/migrations/0726_apitoken_backfill_hashes.py

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import hashlib
44
import logging
5+
from enum import IntEnum
56

67
from django.db import migrations, router
78
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
@@ -24,14 +25,48 @@ def backfill_hash_values(apps: StateApps, schema_editor: BaseDatabaseSchemaEdito
2425

2526
from django.conf import settings
2627

27-
from sentry.models.outbox import OutboxCategory, OutboxScope
2828
from sentry.services.hybrid_cloud.util import control_silo_function
2929
from sentry.silo.base import SiloMode
3030
from sentry.silo.safety import unguarded_write
3131
except ImportError:
3232
logger.exception("Cannot execute migration. Required symbols could not be imported")
3333
return
3434

35+
# copied from src/sentry/models/outbox.py
36+
class OutboxCategory(IntEnum):
37+
USER_UPDATE = 0
38+
UNUSED_TWO = 4
39+
UNUSUED_THREE = 13
40+
UNUSED_ONE = 19
41+
AUTH_IDENTITY_UPDATE = 25
42+
API_TOKEN_UPDATE = 32
43+
44+
# copied from src/sentry/models/outbox.py
45+
_outbox_categories_for_scope: dict[int, set[OutboxCategory]] = {}
46+
_used_categories: set[OutboxCategory] = set()
47+
48+
# copied from src/sentry/models/outbox.py
49+
def scope_categories(enum_value: int, categories: set[OutboxCategory]) -> int:
50+
_outbox_categories_for_scope[enum_value] = categories
51+
inter = _used_categories.intersection(categories)
52+
assert not inter, f"OutboxCategories {inter} were already registered to a different scope"
53+
_used_categories.update(categories)
54+
return enum_value
55+
56+
# copied from src/sentry/models/outbox.py
57+
class OutboxScope(IntEnum):
58+
USER_SCOPE = scope_categories(
59+
1,
60+
{
61+
OutboxCategory.USER_UPDATE,
62+
OutboxCategory.API_TOKEN_UPDATE,
63+
OutboxCategory.UNUSED_ONE,
64+
OutboxCategory.UNUSED_TWO,
65+
OutboxCategory.UNUSUED_THREE,
66+
OutboxCategory.AUTH_IDENTITY_UPDATE,
67+
},
68+
)
69+
3570
@control_silo_function
3671
def _find_orgs_for_user(user_id: int) -> set[int]:
3772
return {
@@ -43,7 +78,6 @@ def _find_orgs_for_user(user_id: int) -> set[int]:
4378

4479
@control_silo_function
4580
def find_regions_for_orgs(org_ids: Container[int]) -> set[str]:
46-
4781
if SiloMode.get_current_mode() == SiloMode.MONOLITH:
4882
return {settings.SENTRY_MONOLITH_REGION}
4983
else:

0 commit comments

Comments
 (0)