feat: initialize aivideo project

This commit is contained in:
2026-04-17 18:33:05 +08:00
commit 14b18d67fe
162 changed files with 26251 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
from fastapi import APIRouter, Cookie, Depends, Request, Response
from sqlalchemy.orm import Session
from app.common.db.session import get_db
from app.common.responses.api_response import success_response
from app.common.security.deps import get_current_user
from app.models.entities import User
from app.modules.auth.schema import LoginRequest, RegisterRequest
from app.modules.auth.service import AuthService
router = APIRouter(prefix="/api/v1/auth", tags=["auth"])
@router.post("/register")
def register(
payload: RegisterRequest,
request: Request,
response: Response,
db: Session = Depends(get_db),
):
data = AuthService(db).register(payload, request, response)
return {"code": 0, "message": "ok", "data": data}
@router.post("/login")
def login(
payload: LoginRequest,
request: Request,
response: Response,
db: Session = Depends(get_db),
):
data = AuthService(db).login(payload, request, response)
return {"code": 0, "message": "ok", "data": data}
@router.post("/refresh")
def refresh(
response: Response,
db: Session = Depends(get_db),
user_refresh_token: str | None = Cookie(default=None),
):
data = AuthService(db).refresh(user_refresh_token, response)
return {"code": 0, "message": "ok", "data": data}
@router.post("/logout")
def logout(response: Response, db: Session = Depends(get_db)):
AuthService(db).logout(response)
return {"code": 0, "message": "ok", "data": {"success": True}}
@router.get("/me")
def me(current_user: User = Depends(get_current_user)):
return success_response(AuthService.serialize_user(current_user))