linkedin2/routers/product.py

49 lines
1.7 KiB
Python

from fastapi import FastAPI, APIRouter, Depends, Request, HTTPException, Form
from fastapi.templating import Jinja2Templates
from fastapi.responses import RedirectResponse, HTMLResponse
from fastapi.responses import JSONResponse
import jwt
from sqlalchemy.future import select
from sqlalchemy.orm import joinedload
from sqlalchemy.ext.asyncio import AsyncSession
from routers.auth import get_current_user
from model.database import get_async_session, Job, Client, AppliedJob
router = APIRouter()
templates = Jinja2Templates(directory="templates")
@router.get("/product")
async def product(request: Request,
username: str = Depends(get_current_user),
session: AsyncSession = Depends(get_async_session)):
size = "Work"
username = username
result = await session.execute(
select(AppliedJob)
.options(
joinedload(AppliedJob.client), # Подгружаем клиента
joinedload(AppliedJob.job), # Подгружаем работу
joinedload(AppliedJob.users) # Подгружаем пользователя
)
)
applied_jobs = result.scalars().all()
# result1 = await session.select(AppliedJob)
# assignee = result1.scalars().all()
return templates.TemplateResponse("product.html", {"request": request, "size": size,
"jobs": applied_jobs, "role": username["role"],
"username": username['username'],# "assignee": assignee,
"current_path": request.url.path })#