Skip to content

Commit 969147a

Browse files
Resolve ty type checking diagnostics
1 parent 8b18b56 commit 969147a

5 files changed

Lines changed: 15 additions & 9 deletions

File tree

routers/core/dashboard.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from typing import Optional, List
22
from fastapi import APIRouter, Depends, Request, Response
33
from fastapi.templating import Jinja2Templates
4-
from sqlmodel import Session, select
4+
from sqlmodel import Session, select, col
55
from utils.core.dependencies import get_user_with_relations, get_session
66
from utils.core.models import User, Organization
77
from utils.app.enums import AppPermissions
@@ -48,7 +48,7 @@ async def read_dashboard(
4848
session.exec(
4949
select(OrganizationResource)
5050
.where(OrganizationResource.organization_id == selected_org.id)
51-
.order_by(OrganizationResource.created_at.desc()) # type: ignore[union-attr]
51+
.order_by(col(OrganizationResource.created_at).desc())
5252
).all()
5353
)
5454
can_read = user.has_permission(

routers/core/user.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from fastapi import APIRouter, Depends, Form, UploadFile, File, Request, HTTPException
22
from fastapi.responses import RedirectResponse, Response
3-
from sqlmodel import Session, select
3+
from sqlmodel import Session, select, col
44
from typing import Optional, List
55
from fastapi.templating import Jinja2Templates
66
from sqlalchemy.orm import selectinload
@@ -81,7 +81,7 @@ async def read_profile(
8181
session.exec(
8282
select(AccountEmail)
8383
.where(AccountEmail.account_id == user.account_id)
84-
.order_by(AccountEmail.is_primary.desc()) # type: ignore[union-attr]
84+
.order_by(col(AccountEmail.is_primary).desc())
8585
).all()
8686
if user.account_id
8787
else []

tests/conftest.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import pytest
22
import os
3-
from typing import Generator
3+
from typing import Generator, cast
44
from sqlmodel import create_engine, Session, select
55
from fastapi.testclient import TestClient
66
from dotenv import load_dotenv
@@ -576,7 +576,7 @@ def mock_email_response():
576576
# Ensure resend is imported
577577
import resend
578578

579-
return resend.Email(**email_data)
579+
return cast(resend.Email, email_data)
580580

581581

582582
@pytest.fixture

utils/core/db.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,18 @@ def get_connection_url() -> URL:
9999
if missing:
100100
raise ValueError(f"Missing environment variables: {', '.join(missing)}")
101101

102+
assert port is not None
103+
assert database is not None
104+
assert username is not None
105+
assert password is not None
106+
assert host is not None
107+
102108
database_url: URL = URL.create(
103109
drivername="postgresql",
104110
username=username,
105111
password=password,
106112
host=host,
107-
port=int(port), # type: ignore[arg-type]
113+
port=int(port),
108114
database=database,
109115
query={"sslmode": sslmode},
110116
)

utils/core/models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from datetime import datetime, UTC, timedelta
55
from typing import Optional, List, Union
66
from pydantic import EmailStr
7-
from sqlmodel import SQLModel, Field, Relationship, Session, select
7+
from sqlmodel import SQLModel, Field, Relationship, Session, select, col
88
from sqlalchemy import Column, LargeBinary, String, UniqueConstraint
99
from sqlalchemy.orm import Mapped
1010
from exceptions.http_exceptions import DataIntegrityError
@@ -371,7 +371,7 @@ def get_active_for_org(
371371
cls, session: Session, organization_id: int
372372
) -> list["Invitation"]:
373373
statement = select(cls).where(
374-
cls.organization_id == organization_id, cls.used.is_(False)
374+
cls.organization_id == organization_id, col(cls.used).is_(False)
375375
)
376376
results = session.exec(statement).all()
377377
return [inv for inv in results if not inv.is_expired()]

0 commit comments

Comments
 (0)