Skip to content

Commit 7f3ee78

Browse files
committed
refactor: move UserData class to types module and update imports across the codebase
This change makes circular imports stemming from the import of this dataclass more unlikely.
1 parent e75c25f commit 7f3ee78

25 files changed

+52
-39
lines changed

src/mavedb/lib/authentication.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import logging
22
import os
3-
from dataclasses import dataclass
43
from datetime import datetime
54
from enum import Enum
65
from typing import Optional
@@ -19,6 +18,7 @@
1918
from mavedb import deps
2019
from mavedb.lib.logging.context import format_raised_exception_info_as_dict, logging_context, save_to_logging_context
2120
from mavedb.lib.orcid import fetch_orcid_user_email
21+
from mavedb.lib.types.authentication import UserData
2222
from mavedb.models.access_key import AccessKey
2323
from mavedb.models.enums.user_role import UserRole
2424
from mavedb.models.user import User
@@ -45,12 +45,6 @@ class AuthenticationMethod(str, Enum):
4545
jwt = "jwt"
4646

4747

48-
@dataclass
49-
class UserData:
50-
user: User
51-
active_roles: list[UserRole]
52-
53-
5448
####################################################################################################
5549
# JWT authentication
5650
####################################################################################################

src/mavedb/lib/authorization.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33

44
from fastapi import Depends, HTTPException
55

6-
from mavedb.lib.authentication import UserData, get_current_user
6+
from mavedb.lib.authentication import get_current_user
77
from mavedb.lib.logging.context import logging_context, save_to_logging_context
8+
from mavedb.lib.types.authentication import UserData
89
from mavedb.models.enums.user_role import UserRole
910

1011
logger = logging.getLogger(__name__)

src/mavedb/lib/experiments.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import logging
22
from typing import Optional
33

4-
from sqlalchemy import func, or_, not_
4+
from sqlalchemy import func, not_, or_
55
from sqlalchemy.orm import Session
66

7-
from mavedb.lib.authentication import UserData
87
from mavedb.lib.logging.context import logging_context, save_to_logging_context
98
from mavedb.lib.permissions import Action
109
from mavedb.lib.score_sets import find_superseded_score_set_tail
10+
from mavedb.lib.types.authentication import UserData
1111
from mavedb.models.contributor import Contributor
1212
from mavedb.models.controlled_keyword import ControlledKeyword
1313
from mavedb.models.experiment import Experiment

src/mavedb/lib/permissions/collection.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from typing import Optional
22

3-
from mavedb.lib.authentication import UserData
43
from mavedb.lib.logging.context import save_to_logging_context
54
from mavedb.lib.permissions.actions import Action
65
from mavedb.lib.permissions.models import PermissionResponse
76
from mavedb.lib.permissions.utils import deny_action_for_entity, roles_permitted
7+
from mavedb.lib.types.authentication import UserData
88
from mavedb.models.collection import Collection
99
from mavedb.models.enums.contribution_role import ContributionRole
1010
from mavedb.models.enums.user_role import UserRole

src/mavedb/lib/permissions/core.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from typing import Any, Callable, Optional
22

3-
from mavedb.lib.authentication import UserData
43
from mavedb.lib.logging.context import save_to_logging_context
54
from mavedb.lib.permissions.actions import Action
65
from mavedb.lib.permissions.exceptions import PermissionException
76
from mavedb.lib.permissions.models import PermissionResponse
7+
from mavedb.lib.types.authentication import UserData
88
from mavedb.lib.types.permissions import EntityType
99
from mavedb.models.collection import Collection
1010
from mavedb.models.experiment import Experiment

src/mavedb/lib/permissions/experiment.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from typing import Optional
22

3-
from mavedb.lib.authentication import UserData
43
from mavedb.lib.logging.context import save_to_logging_context
54
from mavedb.lib.permissions.actions import Action
65
from mavedb.lib.permissions.models import PermissionResponse
76
from mavedb.lib.permissions.utils import deny_action_for_entity, roles_permitted
7+
from mavedb.lib.types.authentication import UserData
88
from mavedb.models.enums.user_role import UserRole
99
from mavedb.models.experiment import Experiment
1010

src/mavedb/lib/permissions/experiment_set.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from typing import Optional
22

3-
from mavedb.lib.authentication import UserData
43
from mavedb.lib.logging.context import save_to_logging_context
54
from mavedb.lib.permissions.actions import Action
65
from mavedb.lib.permissions.models import PermissionResponse
76
from mavedb.lib.permissions.utils import deny_action_for_entity, roles_permitted
7+
from mavedb.lib.types.authentication import UserData
88
from mavedb.models.enums.user_role import UserRole
99
from mavedb.models.experiment_set import ExperimentSet
1010

src/mavedb/lib/permissions/score_calibration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from typing import Optional
22

3-
from mavedb.lib.authentication import UserData
43
from mavedb.lib.logging.context import save_to_logging_context
54
from mavedb.lib.permissions.actions import Action
65
from mavedb.lib.permissions.models import PermissionResponse
76
from mavedb.lib.permissions.utils import deny_action_for_entity, roles_permitted
7+
from mavedb.lib.types.authentication import UserData
88
from mavedb.models.enums.user_role import UserRole
99
from mavedb.models.score_calibration import ScoreCalibration
1010

src/mavedb/lib/permissions/score_set.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from typing import Optional
22

3-
from mavedb.lib.authentication import UserData
43
from mavedb.lib.logging.context import save_to_logging_context
54
from mavedb.lib.permissions.actions import Action
65
from mavedb.lib.permissions.models import PermissionResponse
76
from mavedb.lib.permissions.utils import deny_action_for_entity, roles_permitted
7+
from mavedb.lib.types.authentication import UserData
88
from mavedb.models.enums.user_role import UserRole
99
from mavedb.models.score_set import ScoreSet
1010

src/mavedb/lib/permissions/user.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from typing import Optional
22

3-
from mavedb.lib.authentication import UserData
43
from mavedb.lib.logging.context import save_to_logging_context
54
from mavedb.lib.permissions.actions import Action
65
from mavedb.lib.permissions.models import PermissionResponse
76
from mavedb.lib.permissions.utils import deny_action_for_entity, roles_permitted
7+
from mavedb.lib.types.authentication import UserData
88
from mavedb.models.enums.user_role import UserRole
99
from mavedb.models.user import User
1010

0 commit comments

Comments
 (0)