31 lines
815 B
Python
31 lines
815 B
Python
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)
|