from typing import List from fastapi import APIRouter, Depends, HTTPException from app.api.deps import get_training_repository from app.core.database.repository import TrainingRepository from app.core.dto.training import TrainingDTO from app.core.parsers.obsidian import parse_training_data router = APIRouter() @router.get("/obsidian/") async def obsidian_trainings_list(): return {"data": parse_training_data()} @router.get("/", response_model=List[TrainingDTO]) async def get_trainings_list( repository: TrainingRepository = Depends(get_training_repository), ): return await repository.list() @router.delete("/{training_id}/") async def delete_training( training_id: int, repository: TrainingRepository = Depends(get_training_repository), ): deleted = await repository.delete([training_id]) if not deleted: raise HTTPException(status_code=404, detail="Training not found") return {"status": "ok"}