Skip to content

Commit 4cbfa07

Browse files
Minor fixes to appeas type checker
1 parent 892918d commit 4cbfa07

File tree

4 files changed

+549
-519
lines changed

4 files changed

+549
-519
lines changed

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ dependencies = [
1313
"pyjwt<3.0.0,>=2.10.1",
1414
"jinja2<4.0.0,>=3.1.4",
1515
"uvicorn<1.0.0,>=0.32.0",
16-
"psycopg2<3.0.0,>=2.9.10",
1716
"pydantic[email]<3.0.0,>=2.9.2",
1817
"python-multipart<1.0.0,>=0.0.17",
1918
"python-dotenv<2.0.0,>=1.0.1",
2019
"resend<3.0.0,>=2.4.0",
2120
"bcrypt<5.0.0,>=4.2.0",
2221
"fastapi<1.0.0,>=0.115.5",
2322
"pillow>=11.0.0",
23+
"psycopg2-binary>=2.9.10",
2424
]
2525

2626
[dependency-groups]
@@ -31,5 +31,5 @@ dev = [
3131
"notebook<8.0.0,>=7.2.2",
3232
"pytest<9.0.0,>=8.3.3",
3333
"sqlalchemy-schemadisplay<3.0,>=2.0",
34-
"mypy>=1.15.0",
34+
"mypy>=1.18.2",
3535
]

routers/core/account.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -375,15 +375,19 @@ async def login(
375375

376376
# Process the invitation
377377
try:
378-
logger.info(f"Processing invitation {invitation.id} for user {account.user.id} during login.")
379-
process_invitation(invitation, account.user, session)
380-
session.commit()
381-
# Set redirect to the organization page
382-
redirect_url = org_router.url_path_for("read_organization", org_id=invitation.organization_id)
383-
logger.info(f"Redirecting user {account.user.id} to organization {invitation.organization_id} after accepting invitation {invitation.id}.")
378+
if account.user and account.user.id:
379+
logger.info(f"Processing invitation {invitation.id} for user {account.user.id} during login.")
380+
process_invitation(invitation, account.user, session)
381+
session.commit()
382+
# Set redirect to the organization page
383+
redirect_url = org_router.url_path_for("read_organization", org_id=invitation.organization_id)
384+
logger.info(f"Redirecting user {account.user.id} to organization {invitation.organization_id} after accepting invitation {invitation.id}.")
385+
else:
386+
logger.error("User has no ID during invitation processing.")
387+
raise DataIntegrityError(resource="User ID")
384388
except Exception as e:
385389
logger.error(
386-
f"Error processing invitation {invitation.id} for user {account.user.id} during login: {e}",
390+
"Error processing invitation during login: {e}",
387391
exc_info=True
388392
)
389393
session.rollback()

tests/conftest.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def env_vars(monkeypatch):
4545

4646

4747
@pytest.fixture
48-
def engine(env_vars) -> Engine:
48+
def engine(env_vars):
4949
"""
5050
Create a new SQLModel engine for the test database.
5151
Use PostgreSQL for testing to match production environment.
@@ -136,13 +136,13 @@ def test_organization(session: Session) -> Organization:
136136
session.add(organization)
137137
session.flush()
138138

139-
if organization.id is None:
139+
if organization.id:
140+
# Use the utility function to create default roles and assign permissions
141+
# This function handles the commit internally
142+
create_default_roles(session, organization.id, check_first=False)
143+
else:
140144
pytest.fail("Failed to get organization ID after flush")
141145

142-
# Use the utility function to create default roles and assign permissions
143-
# This function handles the commit internally
144-
create_default_roles(session, organization.id, check_first=False)
145-
146146
return organization
147147

148148

0 commit comments

Comments
 (0)