async (not working tbh)
This commit is contained in:
@ -39,7 +39,8 @@ async def create_news(
|
||||
current_user: Annotated[auth_schemas.User, Depends(auth_services.get_current_user)],
|
||||
db: Annotated[Session, Depends(get_db)],
|
||||
) -> schemas.NewsInDb:
|
||||
return services.create_news(news=news, current_user=current_user, db=db)
|
||||
n = await services.create_news(news=news, current_user=current_user, db=db)
|
||||
return n
|
||||
|
||||
|
||||
@router.post("/{news_id}/tap")
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
from fastapi import Depends, HTTPException, status
|
||||
from typing import Annotated
|
||||
from sqlalchemy.orm import Session
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
from sqlalchemy.future import select
|
||||
from uuid import UUID
|
||||
|
||||
from ...dependencies import get_db
|
||||
@ -12,24 +13,23 @@ from ..auth import schemas as auth_schemas
|
||||
from . import schemas
|
||||
|
||||
|
||||
def get_news(
|
||||
db: Annotated[Session, Depends(get_db)],
|
||||
async def get_news(
|
||||
db: Annotated[AsyncSession, Depends(get_db)],
|
||||
) -> list[schemas.NewsInDb]:
|
||||
return [
|
||||
schemas.NewsInDb.model_validate(n)
|
||||
for n in db.query(models.News).order_by(models.News.created.desc()).all()
|
||||
]
|
||||
news = await db.execute(select(models.News).order_by(models.News.created.desc()))
|
||||
return [schemas.NewsInDb.model_validate(n) for n in news.scalars().all()]
|
||||
|
||||
|
||||
def create_news(
|
||||
async def create_news(
|
||||
news: schemas.CreateNews,
|
||||
current_user: auth_schemas.UserInDB,
|
||||
db: Session,
|
||||
db: AsyncSession,
|
||||
) -> schemas.NewsInDb:
|
||||
if current_user.username == "admin":
|
||||
n = models.News(title=news.title, content=news.content)
|
||||
db.add(n)
|
||||
db.commit()
|
||||
await db.commit()
|
||||
print(f"\n\n{n.title}\n\n", flush=True)
|
||||
return schemas.NewsInDb.model_validate(n)
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
@ -38,7 +38,7 @@ def create_news(
|
||||
)
|
||||
|
||||
|
||||
def tap_news(news_id: UUID, db: Session):
|
||||
async def tap_news(news_id: UUID, db: AsyncSession):
|
||||
n = db.query(models.News).filter(models.News.id == news_id).first()
|
||||
if n:
|
||||
setattr(n, "taps", n.taps + 1)
|
||||
|
||||
Reference in New Issue
Block a user