table_game/backend/app/routers/admin_table.py
2025-03-10 08:35:19 +08:00

40 lines
1.2 KiB
Python

from fastapi import APIRouter, Depends, HTTPException, Header
from typing import List
from ..schemas.table_info import TableCreateRequest, TableResponse
from ..services.admin_table_service import (
create_table,
delete_table,
update_table,
list_tables_service
)
router = APIRouter()
def get_token(authorization: str = Header(...)):
if authorization.startswith("Bearer "):
return authorization[7:]
return authorization
@router.post("/tables/create", response_model=dict)
def create_table_api(request: TableCreateRequest):
return create_table(
token=request.token,
table_data=request.dict(exclude={"token"})
)
@router.delete("/tables/{table_id}", response_model=dict)
def delete_table_api(table_id: int, token: str = Depends(get_token)):
return delete_table(token, table_id)
@router.put("/tables/{table_id}", response_model=dict)
def update_table_api(table_id: int, request: TableCreateRequest, token: str = Depends(get_token)):
return update_table(
token=token,
table_id=table_id,
table_data=request.dict(exclude={"token"})
)
@router.get("/tables", response_model=List[TableResponse])
def list_tables_api(token: str = Depends(get_token)):
return list_tables_service(token)