from fastapi import APIRouter, HTTPException from typing import List from app.schemas.parser import ParseRequest, ParseResponse from app.core.services.parser_service import ParserService router = APIRouter() parser_service = ParserService() @router.post("/parse/", response_model=List[ParseResponse]) async def parse_training_data(request: ParseRequest): try: result = await parser_service.parse_data(request) return result except Exception as e: raise HTTPException(status_code=500, detail=str(e)) @router.get("/supported-formats/") async def get_supported_formats(): return { "formats": [ {"name": "apple", "description": "Apple Notes format"}, {"name": "obsidian", "description": "Obsidian Markdown format"}, {"name": "text", "description": "Plain text format"} ] }