23 lines
805 B
Python
23 lines
805 B
Python
from collections.abc import Sequence
|
|
|
|
from sqlalchemy import select
|
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
|
|
from app.models.energy import Recommendation
|
|
|
|
|
|
class RecommendationRepository:
|
|
def __init__(self, session: AsyncSession) -> None:
|
|
self._session = session
|
|
|
|
async def list_all(self) -> Sequence[Recommendation]:
|
|
requete = select(Recommendation).order_by(Recommendation.recommendation_id)
|
|
return (await self._session.scalars(requete)).all()
|
|
|
|
async def get_by_id(self, recommendation_id: int) -> Recommendation | None:
|
|
requete = select(Recommendation).where(
|
|
Recommendation.recommendation_id == recommendation_id
|
|
)
|
|
recommendation: Recommendation | None = await self._session.scalar(requete)
|
|
return recommendation
|