Migrate from sqlmodel to pure sqlalchemy

This commit is contained in:
2025-05-18 22:13:07 +02:00
parent 061a52c90a
commit a0adf281b5
12 changed files with 68 additions and 52 deletions

View File

@ -4,9 +4,9 @@ from dataclasses import dataclass
from collections.abc import Callable, Awaitable
from typing import Self
from sqlalchemy.orm import Session
from jinja2_fragments.fastapi import Jinja2Blocks
from fastapi import Request
from sqlmodel import Session
from sshecret_admin.core.dependencies import AdminDep, BaseDependencies

View File

@ -11,7 +11,8 @@ from fastapi import APIRouter, Depends, HTTPException, Request
from jinja2_fragments.fastapi import Jinja2Blocks
from sqlmodel import Session, select
from sqlalchemy import select
from sqlalchemy.orm import Session
from starlette.datastructures import URL
@ -46,7 +47,7 @@ def create_router(dependencies: BaseDependencies) -> APIRouter:
session: Annotated[Session, Depends(dependencies.get_db_session)]
):
"""Get admin backend API."""
password_db = session.exec(select(PasswordDB).where(PasswordDB.id == 1)).first()
password_db = session.scalars(select(PasswordDB).where(PasswordDB.id == 1)).first()
if not password_db:
raise HTTPException(
500, detail="Error: The password manager has not yet been set up."
@ -62,7 +63,7 @@ def create_router(dependencies: BaseDependencies) -> APIRouter:
token_data = decode_token(dependencies.settings, token)
if not token_data:
return None
user = session.exec(
user = session.scalars(
select(User).where(User.username == token_data.username)
).first()
if not user or user.disabled:

View File

@ -7,7 +7,8 @@ from typing import Annotated
from fastapi import APIRouter, Depends, Query, Request, Response, status
from fastapi.responses import RedirectResponse
from fastapi.security import OAuth2PasswordRequestForm
from sqlmodel import Session
from sqlalchemy.orm import Session
from sshecret_admin.services import AdminBackend
from starlette.datastructures import URL