diff --git a/src/teilchensammler_cli/models.py b/src/teilchensammler_cli/models.py index 77619a8..bca6c42 100644 --- a/src/teilchensammler_cli/models.py +++ b/src/teilchensammler_cli/models.py @@ -3,12 +3,14 @@ import uuid from sqlmodel import ( Field, - SQLModel, - Session, - select, Sequence, + Session, + SQLModel, + select, ) +from .database import engine + logger = logging.getLogger(__name__) @@ -35,6 +37,7 @@ async def make_teilchen_input(text: str) -> TeilchenCreate | None: Returns `None` otherwise. """ import re + from natsort import natsorted text = text.strip() @@ -88,3 +91,13 @@ async def load_initial_data() -> Sequence[Teilchen]: ) # ty:ignore[no-matching-overload] all_teilchen = session.exec(statement).all() return all_teilchen + + +async def add_to_database(tc: TeilchenCreate) -> Teilchen: + with Session(engine) as session: + teilchen = Teilchen.model_validate(tc) + session.add(teilchen) + session.commit() + session.refresh(teilchen) + + return teilchen