sipi-web/sipi-app/crud/isp.py

26 lines
629 B
Python
Raw Normal View History

from typing import Sequence
from sqlalchemy import select
from sqlalchemy.ext.asyncio import AsyncSession
2024-07-14 18:37:00 +00:00
from sqlalchemy.orm import joinedload, selectinload
from models import Isp
2024-07-14 18:37:00 +00:00
from schemas.isp import IspCreate, IspRead
2024-07-14 18:37:00 +00:00
async def get_all_isp(
session: AsyncSession,
) -> Sequence[Isp]:
stmt = select(Isp).options(selectinload(Isp.isp_connections)).order_by(Isp.id)
result = await session.scalars(stmt)
2024-07-14 18:37:00 +00:00
return result.all()
async def create_isp(session: AsyncSession, isp_scheme: IspCreate) -> Isp:
isp = Isp(**isp_scheme.model_dump())
session.add(isp)
await session.commit()
return isp