Files
popa_minecraft_launcher_api/app/api/case.py
2025-12-07 01:04:04 +05:00

39 lines
1.3 KiB
Python

from fastapi import APIRouter, Depends
from typing import List
from app.services.case import CaseService
from app.models.case import CaseCreate, CaseUpdate
router = APIRouter(prefix="/cases", tags=["Cases"])
def get_case_service():
return CaseService()
@router.get("/")
async def list_cases(case_service: CaseService = Depends(get_case_service)):
return await case_service.list_cases()
@router.post("/")
async def create_case(case_data: CaseCreate, case_service: CaseService = Depends(get_case_service)):
return await case_service.create_case(case_data)
@router.get("/{case_id}")
async def get_case(case_id: str, case_service: CaseService = Depends(get_case_service)):
return await case_service.get_case(case_id)
@router.put("/{case_id}")
async def update_case(case_id: str, data: CaseUpdate, case_service: CaseService = Depends(get_case_service)):
return await case_service.update_case(case_id, data)
@router.delete("/{case_id}")
async def delete_case(case_id: str, case_service: CaseService = Depends(get_case_service)):
return await case_service.delete_case(case_id)
@router.post("/{case_id}/open")
async def open_case(
case_id: str,
username: str,
server_id: str,
case_service: CaseService = Depends(get_case_service)
):
return await case_service.open_case(username=username, case_id=case_id, server_id=server_id)