finai/backend/app/api/job_titles.py

25 lines
757 B
Python

from fastapi import APIRouter, Depends
from sqlalchemy import select
from sqlalchemy.orm import Session
from app.db import get_db
from app.deps import get_current_user
from app.models import JobTitle, User
from app.schemas.job_title import JobTitleResponse
router = APIRouter()
@router.get("", response_model=list[JobTitleResponse])
def list_job_titles(
_: User = Depends(get_current_user),
db: Session = Depends(get_db),
) -> list[JobTitleResponse]:
items = db.scalars(
select(JobTitle).where(JobTitle.is_active == True).order_by(JobTitle.sort_order, JobTitle.id) # noqa: E712
).all()
return [
JobTitleResponse(id=jt.id, name=jt.name, sort_order=jt.sort_order, is_active=jt.is_active)
for jt in items
]