refactor(router): restructure

This commit is contained in:
MingxuanGame
2025-08-11 14:38:45 +00:00
parent 867b99cca5
commit d8c607137a
14 changed files with 36 additions and 33 deletions

View File

@@ -2,23 +2,8 @@ from __future__ import annotations
from app.signalr import signalr_router as signalr_router
from . import ( # pyright: ignore[reportUnusedImport] # noqa: F401
beatmap,
beatmapset,
me,
misc,
relationship,
room,
score,
user,
)
from .api_router import router as api_router
from .auth import router as auth_router
from .fetcher import fetcher_router as fetcher_router
from .v2 import api_v2_router as api_v2_router
__all__ = [
"api_router",
"auth_router",
"fetcher_router",
"signalr_router",
]
__all__ = ["api_v2_router", "auth_router", "fetcher_router", "signalr_router"]

View File

@@ -5,7 +5,7 @@ from app.fetcher import Fetcher
from fastapi import APIRouter, Depends
fetcher_router = APIRouter()
fetcher_router = APIRouter(prefix="/fetcher", tags=["fetcher"])
@fetcher_router.get("/callback")

19
app/router/v2/__init__.py Normal file
View File

@@ -0,0 +1,19 @@
from __future__ import annotations
from app.signalr import signalr_router as signalr_router
from . import ( # pyright: ignore[reportUnusedImport] # noqa: F401
beatmap,
beatmapset,
me,
misc,
relationship,
room,
score,
user,
)
from .router import router as api_v2_router
__all__ = [
"api_v2_router",
]

View File

@@ -17,7 +17,7 @@ from app.models.score import (
GameMode,
)
from .api_router import router
from .router import router
from fastapi import Depends, HTTPException, Query, Security
from httpx import HTTPError, HTTPStatusError

View File

@@ -8,7 +8,7 @@ from app.dependencies.fetcher import get_fetcher
from app.dependencies.user import get_current_user
from app.fetcher import Fetcher
from .api_router import router
from .router import router
from fastapi import Depends, Form, HTTPException, Query, Security
from fastapi.responses import RedirectResponse

View File

@@ -6,7 +6,7 @@ from app.dependencies import get_current_user
from app.dependencies.database import get_db
from app.models.score import GameMode
from .api_router import router
from .router import router
from fastapi import Depends, Security
from sqlmodel.ext.asyncio.session import AsyncSession

View File

@@ -4,7 +4,7 @@ from datetime import UTC, datetime
from app.config import settings
from .api_router import router
from .router import router
from pydantic import BaseModel

View File

@@ -4,7 +4,7 @@ from app.database import Relationship, RelationshipResp, RelationshipType, User
from app.dependencies.database import get_db
from app.dependencies.user import get_current_user
from .api_router import router
from .router import router
from fastapi import Depends, HTTPException, Query, Request, Security
from pydantic import BaseModel

View File

@@ -18,7 +18,7 @@ from app.models.room import RoomCategory, RoomStatus
from app.service.room import create_playlist_room_from_api
from app.signalr.hub import MultiplayerHubs
from .api_router import router
from .router import router
from fastapi import Depends, HTTPException, Query, Security
from pydantic import BaseModel, Field

View File

@@ -2,4 +2,4 @@ from __future__ import annotations
from fastapi import APIRouter
router = APIRouter()
router = APIRouter(prefix="/api/v2")

View File

@@ -44,7 +44,7 @@ from app.models.score import (
)
from app.path import REPLAY_DIR
from .api_router import router
from .router import router
from fastapi import Body, Depends, Form, HTTPException, Query, Security
from fastapi.responses import FileResponse

View File

@@ -18,7 +18,7 @@ from app.dependencies.user import get_current_user
from app.models.score import GameMode
from app.models.user import BeatmapsetType
from .api_router import router
from .router import router
from fastapi import Depends, HTTPException, Query, Security
from pydantic import BaseModel

View File

@@ -18,7 +18,7 @@ from fastapi import APIRouter, Depends, Header, HTTPException, Query, WebSocket
from fastapi.security import SecurityScopes
from sqlmodel.ext.asyncio.session import AsyncSession
router = APIRouter()
router = APIRouter(prefix="/signalr", tags=["SignalR"])
@router.post("/{hub}/negotiate", response_model=NegotiateResponse)

View File

@@ -9,7 +9,7 @@ from app.dependencies.fetcher import get_fetcher
from app.dependencies.scheduler import init_scheduler, stop_scheduler
from app.log import logger
from app.router import (
api_router,
api_v2_router,
auth_router,
fetcher_router,
signalr_router,
@@ -35,9 +35,9 @@ async def lifespan(app: FastAPI):
app = FastAPI(title="osu! API 模拟服务器", version="1.0.0", lifespan=lifespan)
app.include_router(api_router, prefix="/api/v2")
app.include_router(signalr_router, prefix="/signalr")
app.include_router(fetcher_router, prefix="/fetcher")
app.include_router(api_v2_router)
app.include_router(signalr_router)
app.include_router(fetcher_router)
app.include_router(auth_router)
@@ -64,7 +64,6 @@ if settings.osu_web_client_secret == "your_osu_web_client_secret_here":
"Use this command to generate: openssl rand -hex 40"
)
if __name__ == "__main__":
import uvicorn