from starlette.requests import Request from starlette.responses import HTMLResponse from starlette.templating import Jinja2Templates from typing import Annotated from fastapi import APIRouter, Depends from sqlalchemy.ext.asyncio import AsyncSession from models import db_helper from crud import isp as isp_crud from fastapi.encoders import jsonable_encoder router = APIRouter( tags=["Web"], ) templates = Jinja2Templates(directory="views/templates") @router.get("/get_all", response_class=HTMLResponse) async def get_all_isp( request: Request, session: Annotated[AsyncSession, Depends(db_helper.session_getter)], ): isps = jsonable_encoder( await isp_crud.get_all_isp( session=session, ) ) print(isps) return templates.TemplateResponse( "body-isp.html", { "request": request, "isps": isps, }, )