Skip to content

Commit b180250

Browse files
committed
fix circular imports
1 parent c03881a commit b180250

File tree

2 files changed

+12
-24
lines changed

2 files changed

+12
-24
lines changed

api/types/type_organization.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Any, List, Optional
1+
from typing import TYPE_CHECKING, Any, List, Optional
22

33
import strawberry
44
import strawberry_django
@@ -7,7 +7,9 @@
77

88
from api.models import Organization
99
from api.types.base_type import BaseType
10-
from authorization.types import TypeOrganizationMembership
10+
11+
if TYPE_CHECKING:
12+
from authorization.types import TypeOrganizationMembership
1113

1214

1315
@strawberry_django.filter(Organization)
@@ -122,10 +124,11 @@ def members_count(self, info: Info) -> int:
122124
return 0
123125

124126
@strawberry.field(description="Members in this organization")
125-
def members(self, info: Info) -> List[TypeOrganizationMembership]:
127+
def members(self, info: Info) -> List["TypeOrganizationMembership"]:
126128
"""Get members in this organization."""
127129
try:
128130
from authorization.models import OrganizationMembership
131+
from authorization.types import TypeOrganizationMembership
129132

130133
org_id = getattr(self, "id", None)
131134
if not org_id:

api/types/type_user.py

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,14 @@
1-
from typing import List, Optional
1+
from typing import TYPE_CHECKING, List, Optional
22

33
import strawberry
44
import strawberry_django
55
from strawberry import auto
66

77
from api.types.base_type import BaseType
8-
from api.types.type_organization import TypeOrganization
98
from authorization.models import OrganizationMembership, Role, User
109

11-
12-
@strawberry_django.type(Role, fields="__all__")
13-
class TypeRole(BaseType):
14-
"""Type for user role."""
15-
16-
id: auto
17-
name: auto
18-
description: auto
19-
20-
21-
@strawberry_django.type(OrganizationMembership)
22-
class TypeOrganizationMembership(BaseType):
23-
"""Type for organization membership."""
24-
25-
organization: TypeOrganization
26-
role: TypeRole
27-
created_at: auto
28-
updated_at: auto
10+
if TYPE_CHECKING:
11+
from authorization.types import TypeOrganizationMembership
2912

3013

3114
@strawberry_django.filter(User)
@@ -68,9 +51,11 @@ class TypeUser(BaseType):
6851
"""Type for user."""
6952

7053
@strawberry.field
71-
def organization_memberships(self) -> List[TypeOrganizationMembership]:
54+
def organization_memberships(self) -> List["TypeOrganizationMembership"]:
7255
"""Get organization memberships for this user."""
7356
try:
57+
from authorization.types import TypeOrganizationMembership
58+
7459
user_id = str(getattr(self, "id", ""))
7560
queryset = OrganizationMembership.objects.filter(user_id=user_id)
7661
return TypeOrganizationMembership.from_django_list(queryset)

0 commit comments

Comments
 (0)