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 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 .auth import router as auth_router
|
||||||
from .fetcher import fetcher_router as fetcher_router
|
from .fetcher import fetcher_router as fetcher_router
|
||||||
|
from .v2 import api_v2_router as api_v2_router
|
||||||
|
|
||||||
__all__ = [
|
__all__ = ["api_v2_router", "auth_router", "fetcher_router", "signalr_router"]
|
||||||
"api_router",
|
|
||||||
"auth_router",
|
|
||||||
"fetcher_router",
|
|
||||||
"signalr_router",
|
|
||||||
]
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ from app.fetcher import Fetcher
|
|||||||
|
|
||||||
from fastapi import APIRouter, Depends
|
from fastapi import APIRouter, Depends
|
||||||
|
|
||||||
fetcher_router = APIRouter()
|
fetcher_router = APIRouter(prefix="/fetcher", tags=["fetcher"])
|
||||||
|
|
||||||
|
|
||||||
@fetcher_router.get("/callback")
|
@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,
|
GameMode,
|
||||||
)
|
)
|
||||||
|
|
||||||
from .api_router import router
|
from .router import router
|
||||||
|
|
||||||
from fastapi import Depends, HTTPException, Query, Security
|
from fastapi import Depends, HTTPException, Query, Security
|
||||||
from httpx import HTTPError, HTTPStatusError
|
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.dependencies.user import get_current_user
|
||||||
from app.fetcher import Fetcher
|
from app.fetcher import Fetcher
|
||||||
|
|
||||||
from .api_router import router
|
from .router import router
|
||||||
|
|
||||||
from fastapi import Depends, Form, HTTPException, Query, Security
|
from fastapi import Depends, Form, HTTPException, Query, Security
|
||||||
from fastapi.responses import RedirectResponse
|
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.dependencies.database import get_db
|
||||||
from app.models.score import GameMode
|
from app.models.score import GameMode
|
||||||
|
|
||||||
from .api_router import router
|
from .router import router
|
||||||
|
|
||||||
from fastapi import Depends, Security
|
from fastapi import Depends, Security
|
||||||
from sqlmodel.ext.asyncio.session import AsyncSession
|
from sqlmodel.ext.asyncio.session import AsyncSession
|
||||||
@@ -4,7 +4,7 @@ from datetime import UTC, datetime
|
|||||||
|
|
||||||
from app.config import settings
|
from app.config import settings
|
||||||
|
|
||||||
from .api_router import router
|
from .router import router
|
||||||
|
|
||||||
from pydantic import BaseModel
|
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.database import get_db
|
||||||
from app.dependencies.user import get_current_user
|
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 fastapi import Depends, HTTPException, Query, Request, Security
|
||||||
from pydantic import BaseModel
|
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.service.room import create_playlist_room_from_api
|
||||||
from app.signalr.hub import MultiplayerHubs
|
from app.signalr.hub import MultiplayerHubs
|
||||||
|
|
||||||
from .api_router import router
|
from .router import router
|
||||||
|
|
||||||
from fastapi import Depends, HTTPException, Query, Security
|
from fastapi import Depends, HTTPException, Query, Security
|
||||||
from pydantic import BaseModel, Field
|
from pydantic import BaseModel, Field
|
||||||
@@ -2,4 +2,4 @@ from __future__ import annotations
|
|||||||
|
|
||||||
from fastapi import APIRouter
|
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 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 import Body, Depends, Form, HTTPException, Query, Security
|
||||||
from fastapi.responses import FileResponse
|
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.score import GameMode
|
||||||
from app.models.user import BeatmapsetType
|
from app.models.user import BeatmapsetType
|
||||||
|
|
||||||
from .api_router import router
|
from .router import router
|
||||||
|
|
||||||
from fastapi import Depends, HTTPException, Query, Security
|
from fastapi import Depends, HTTPException, Query, Security
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
@@ -18,7 +18,7 @@ from fastapi import APIRouter, Depends, Header, HTTPException, Query, WebSocket
|
|||||||
from fastapi.security import SecurityScopes
|
from fastapi.security import SecurityScopes
|
||||||
from sqlmodel.ext.asyncio.session import AsyncSession
|
from sqlmodel.ext.asyncio.session import AsyncSession
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter(prefix="/signalr", tags=["SignalR"])
|
||||||
|
|
||||||
|
|
||||||
@router.post("/{hub}/negotiate", response_model=NegotiateResponse)
|
@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.dependencies.scheduler import init_scheduler, stop_scheduler
|
||||||
from app.log import logger
|
from app.log import logger
|
||||||
from app.router import (
|
from app.router import (
|
||||||
api_router,
|
api_v2_router,
|
||||||
auth_router,
|
auth_router,
|
||||||
fetcher_router,
|
fetcher_router,
|
||||||
signalr_router,
|
signalr_router,
|
||||||
@@ -35,9 +35,9 @@ async def lifespan(app: FastAPI):
|
|||||||
|
|
||||||
|
|
||||||
app = FastAPI(title="osu! API 模拟服务器", version="1.0.0", lifespan=lifespan)
|
app = FastAPI(title="osu! API 模拟服务器", version="1.0.0", lifespan=lifespan)
|
||||||
app.include_router(api_router, prefix="/api/v2")
|
app.include_router(api_v2_router)
|
||||||
app.include_router(signalr_router, prefix="/signalr")
|
app.include_router(signalr_router)
|
||||||
app.include_router(fetcher_router, prefix="/fetcher")
|
app.include_router(fetcher_router)
|
||||||
app.include_router(auth_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"
|
"Use this command to generate: openssl rand -hex 40"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
import uvicorn
|
import uvicorn
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user