18 lines
597 B
Python
18 lines
597 B
Python
from sqlalchemy import select
|
|
from sqlalchemy.orm import Session
|
|
|
|
from app.db import MemoryItemORM
|
|
|
|
|
|
class MemoryService:
|
|
def __init__(self, session: Session) -> None:
|
|
self.session = session
|
|
|
|
def add_item(self, content: str) -> None:
|
|
self.session.add(MemoryItemORM(content=content, kind="message"))
|
|
self.session.flush()
|
|
|
|
def latest_items(self, limit: int = 10) -> list[str]:
|
|
stmt = select(MemoryItemORM).order_by(MemoryItemORM.created_at.desc(), MemoryItemORM.id.desc()).limit(limit)
|
|
return [item.content for item in self.session.scalars(stmt)]
|