From 3d4a86a3154e0d2c0fc8bb5793933dedca632625 Mon Sep 17 00:00:00 2001 From: erikmf123 Date: Mon, 4 May 2026 15:31:21 +0000 Subject: [PATCH 1/2] Hopefully fixed --- db_models/news_model.py | 2 ++ routes/news_router.py | 4 +++- routes/song_category_router.py | 3 +-- seed.py | 3 +++ services/news_service.py | 1 + 5 files changed, 10 insertions(+), 3 deletions(-) diff --git a/db_models/news_model.py b/db_models/news_model.py index 6813c45..e89ef7e 100644 --- a/db_models/news_model.py +++ b/db_models/news_model.py @@ -38,6 +38,8 @@ class News_DB(BaseModel_DB): pinned_to: Mapped[Optional[datetime_utc]] = mapped_column(default=None) + image_exist: Mapped[bool] = mapped_column(default=False) + news_tags: Mapped[list["NewsTag_DB"]] = relationship( back_populates="news", cascade="all, delete-orphan", init=False ) diff --git a/routes/news_router.py b/routes/news_router.py index f5bcc2b..f531567 100644 --- a/routes/news_router.py +++ b/routes/news_router.py @@ -60,9 +60,11 @@ async def post_news_image(news_id: int, db: DB_dependency, image: UploadFile = F raise HTTPException(400, "file extension not allowed") dest_path = Path(f"{ASSETS_BASE_PATH}/news/{news.id}{ext}") - dest_path.write_bytes(image.file.read()) + news.image_exist = True + db.commit() + @news_router.get("/{news_id}/image/stream", dependencies=[Depends(rate_limit(limit=100))]) def get_news_image_stream(news_id: int, db: DB_dependency): diff --git a/routes/song_category_router.py b/routes/song_category_router.py index 25b2c5b..c787dc6 100644 --- a/routes/song_category_router.py +++ b/routes/song_category_router.py @@ -4,7 +4,6 @@ from fastapi import APIRouter, HTTPException, status from user.permission import Permission - song_category_router = APIRouter() @@ -26,7 +25,7 @@ def get_song_category(category_id: int, db: DB_dependency): def create_song_category(song_category_data: SongCategoryCreate, db: DB_dependency): num_existing = db.query(SongCategory_DB).filter(SongCategory_DB.name == song_category_data.name).count() if num_existing > 0: - raise HTTPException(status.HTTP_400_BAD_REQUEST, detail="Ths post already exists") + raise HTTPException(status.HTTP_400_BAD_REQUEST, detail="This song category already exists") songcategory = SongCategory_DB(name=song_category_data.name) db.add(songcategory) db.commit() diff --git a/seed.py b/seed.py index 03efece..002bd7e 100644 --- a/seed.py +++ b/seed.py @@ -266,6 +266,7 @@ def seed_news(db: Session, user: User_DB): content_sv="Oj här var det ju en massa spännande saker man kunde läsa!", content_en="Whoops here there was a lot of content to read!", author_id=user.id, + image_exist=False, ), News_DB( title_sv="En annan nyhet", @@ -273,6 +274,7 @@ def seed_news(db: Session, user: User_DB): content_sv="Lite mer content", content_en="A bit more content", author_id=user.id, + image_exist=False, ), ] @@ -284,6 +286,7 @@ def seed_news(db: Session, user: User_DB): content_sv="Lite mer content", content_en="A bit more content", author_id=user.id, + image_exist=False, ) ) diff --git a/services/news_service.py b/services/news_service.py index a09d0a8..bef32dc 100644 --- a/services/news_service.py +++ b/services/news_service.py @@ -33,6 +33,7 @@ def create_new_news(data: NewsCreate, author_id: int, db: Session): author_id=author_id, pinned_from=data.pinned_from, pinned_to=data.pinned_to, + image_exist=False, ) db.add(news) db.commit() From 96eeebe6f07e02e3e2b074f477cc2a1497f4f2ec Mon Sep 17 00:00:00 2001 From: erikmf123 Date: Fri, 8 May 2026 15:33:11 +0000 Subject: [PATCH 2/2] Added a check for post_news_image issue 535 --- routes/news_router.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/routes/news_router.py b/routes/news_router.py index f531567..d218c60 100644 --- a/routes/news_router.py +++ b/routes/news_router.py @@ -17,7 +17,6 @@ from services.news_service import create_new_news, update_existing_news, bump_existing_news from user.permission import Permission - news_router = APIRouter() @@ -60,9 +59,12 @@ async def post_news_image(news_id: int, db: DB_dependency, image: UploadFile = F raise HTTPException(400, "file extension not allowed") dest_path = Path(f"{ASSETS_BASE_PATH}/news/{news.id}{ext}") - dest_path.write_bytes(image.file.read()) - news.image_exist = True + + try: + dest_path.write_bytes(image.file.read()) + except: + news.image_exist = False db.commit()