"""Copy/export tracking API.""" from __future__ import annotations from fastapi import APIRouter, Depends, Request from app.api.deps import require_permission from app.model.schemas import AuthContext, CopyTrackRequest from app.service.copy_track_service import CopyTrackService from app.utils.response import success_response router = APIRouter() COPY_TRACK_DEP = Depends(require_permission("copy:track")) copy_track_service = CopyTrackService() @router.post("/track") def track_copy( request: Request, payload: CopyTrackRequest, auth: AuthContext = COPY_TRACK_DEP, ): result = copy_track_service.track(payload, auth, request.state.trace_id) return success_response(request, result.model_dump(mode="json"))