refactor(router): restructure
This commit is contained in:
@@ -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"]
|
||||
|
||||
@@ -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
19
app/router/v2/__init__.py
Normal 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",
|
||||
]
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -2,4 +2,4 @@ from __future__ import annotations
|
||||
|
||||
from fastapi import APIRouter
|
||||
|
||||
router = APIRouter()
|
||||
router = APIRouter(prefix="/api/v2")
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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)
|
||||
|
||||
9
main.py
9
main.py
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user