Small fixes

This commit is contained in:
2024-05-10 16:44:46 +04:00
parent a45c2dfee2
commit fd5b19e6a9
12 changed files with 94 additions and 61 deletions

View File

@@ -1,3 +1,3 @@
from .games import router as games_router
from .files import router as files_router
from .startup import router as startup_router
from .games import games_router as games_router
from .files import files_router as files_router
from .startup import startup_router as startup_router

View File

@@ -1,20 +1,24 @@
from fastapi import APIRouter, Depends, HTTPException, UploadFile
from fastapi import APIRouter, HTTPException, UploadFile
from database import *
from file_handler import *
router = APIRouter(prefix="/files", tags=["Files"])
files_router = APIRouter(prefix="/files", tags=["Files"])
@router.post("/torrent", response_model=str)
@files_router.post("/torrent", response_model=str)
async def upload_torrent(torrent: UploadFile):
try: return await save_torrent_file(torrent)
except Exception as ex:
try:
return await save_torrent_file(torrent)
except Exception as ex:
print(ex)
raise HTTPException(500)
@router.post("/cover", response_model=str)
@files_router.post("/cover", response_model=str)
async def upload_cover(cover: UploadFile):
try: return await save_image(cover, "cover")
except Exception as ex:
try:
return await save_image(cover, "cover")
except Exception as ex:
print(ex)
raise HTTPException(500)

View File

@@ -1,27 +1,29 @@
from fastapi import APIRouter, Depends, HTTPException, UploadFile
from fastapi import APIRouter, Depends, HTTPException
from database import *
from file_handler import *
router = APIRouter(prefix="/games", tags=["Games"])
games_router = APIRouter(prefix="/games", tags=["Games"])
@router.get("/", response_model=list[Game])
@games_router.get("/", response_model=list[Game])
async def get_games(db: AsyncSession = Depends(get_session)):
try: return await crud.get_games(db)
except Exception as ex: raise HTTPException(500)
try:
return await crud.get_games(db)
except Exception:
raise HTTPException(500)
@router.get("/{game_id}", response_model=Game)
@games_router.get("/{game_id}", response_model=Game)
async def get_game(game_id: int, db: AsyncSession = Depends(get_session)):
return await crud.get_game(db, game_id)
@router.post("/", response_model=Game)
async def add_game(game: GameCreate,
user_id: int,
db:AsyncSession = Depends(get_session)):
@games_router.post("/", response_model=Game)
async def add_game(game: GameCreate,
user_id: int,
db: AsyncSession = Depends(get_session)):
try:
torrent_filename = save_torrent_file(torrent, game.title)
cover_filename = save_image(cover, game.title, "cover")
return await crud.add_game(db, game, user_id)
except Exception as ex:
except Exception:
raise HTTPException(500)

View File

@@ -1,9 +1,10 @@
from fastapi import APIRouter
from pathlib import Path
router = APIRouter()
startup_router = APIRouter()
@router.on_event("startup")
@startup_router.on_event("startup")
def startup():
need_paths = [
Path() / "content" / "images" / "cover" / "full_size",
@@ -13,4 +14,4 @@ def startup():
Path() / "content" / "torrent"
]
for path in need_paths:
path.mkdir(parents=True, exist_ok=True)
path.mkdir(parents=True, exist_ok=True)