from fastapi import Depends from typing import Annotated from sqlalchemy.orm import Session from ...dependencies import get_db from ...db import models from ..auth import services as auth_services from ..auth import schemas as auth_schemas from . import schemas def get_user_queues( current_user: Annotated[auth_schemas.User, Depends(auth_services.get_current_user)] ) -> list[schemas.QueueInDb]: return [schemas.QueueInDb.model_validate(q) for q in current_user.owns_queues] def create_queue( new_queue: schemas.Queue, current_user: auth_schemas.UserInDB, db: Session, ) -> schemas.QueueInDb: q = models.Queue( name=new_queue.name, description=new_queue.description, owner_id=current_user.id ) db.add(q) db.commit() return schemas.QueueInDb.model_validate(q)