Files
trade-assistant/backend/app/api/v1/certification.py
T

42 lines
1.3 KiB
Python

from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.ext.asyncio import AsyncSession
from pydantic import BaseModel
from typing import Optional
from app.database import get_db
from app.api.v1.deps import get_current_user_id
from app.services.certification import CertificationService
router = APIRouter()
class CertSubmitRequest(BaseModel):
cert_type: str
personal_name: Optional[str] = None
personal_id: Optional[str] = None
company_name: Optional[str] = None
tax_id: Optional[str] = None
business_license_url: Optional[str] = None
@router.post("/submit")
async def submit_certification(
data: CertSubmitRequest,
user_id: str = Depends(get_current_user_id),
db: AsyncSession = Depends(get_db),
):
service = CertificationService(db)
result = await service.submit(user_id, data.model_dump())
if "error" in result:
raise HTTPException(status_code=400, detail=result["error"])
return {"success": True, "data": result}
@router.get("/status")
async def get_certification_status(
user_id: str = Depends(get_current_user_id),
db: AsyncSession = Depends(get_db),
):
service = CertificationService(db)
cert = await service.get_user_cert(user_id)
return {"success": True, "data": cert}