Files
breakpilot-lehrer/studio-v2/lib/korrektur/api.ts
Benjamin Admin 451365a312 [split-required] Split remaining 500-680 LOC files (final batch)
website (17 pages + 3 components):
- multiplayer/wizard, middleware/wizard+test-wizard, communication
- builds/wizard, staff-search, voice, sbom/wizard
- foerderantrag, mail/tasks, tools/communication, sbom
- compliance/evidence, uni-crawler, brandbook (already done)
- CollectionsTab, IngestionTab, RiskHeatmap

backend-lehrer (5 files):
- letters_api (641 → 2), certificates_api (636 → 2)
- alerts_agent/db/models (636 → 3)
- llm_gateway/communication_service (614 → 2)
- game/database already done in prior batch

klausur-service (2 files):
- hybrid_vocab_extractor (664 → 2)
- klausur-service/frontend: api.ts (620 → 3), EHUploadWizard (591 → 2)

voice-service (3 files):
- bqas/rag_judge (618 → 3), runner (529 → 2)
- enhanced_task_orchestrator (519 → 2)

studio-v2 (6 files):
- korrektur/[klausurId] (578 → 4), fairness (569 → 2)
- AlertsWizard (552 → 2), OnboardingWizard (513 → 2)
- korrektur/api.ts (506 → 3), geo-lernwelt (501 → 2)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-25 08:56:45 +02:00

77 lines
2.7 KiB
TypeScript

/**
* Korrekturplattform API Service Layer - Barrel re-export
*
* Split into:
* - api-core.ts: Base functions, CRUD, annotations, fairness, export URLs
* - api-archiv.ts: NiBiS archiv and dashboard stats
* - api.ts (this file): Barrel re-export + korrekturApi namespace
*/
// Re-export everything from core
export {
getApiBase, apiFetch,
getKlausuren, getKlausur, createKlausur, deleteKlausur,
getStudents, getStudent, uploadStudentWork, deleteStudent,
updateCriteria, updateGutachten, generateGutachten,
getAnnotations, createAnnotation, updateAnnotation, deleteAnnotation,
getEHSuggestions, queryRAG, uploadEH,
getFairnessAnalysis, getGradeInfo,
getGutachtenExportUrl, getAnnotationsExportUrl, getOverviewExportUrl, getAllGutachtenExportUrl, getStudentFileUrl,
} from './api-core'
// Re-export everything from archiv
export type { ArchivDokument, ArchivSearchResponse, ArchivFilters, KorrekturStats } from './api-archiv'
export {
getArchivDocuments, getArchivDocument, getArchivDocumentUrl,
searchArchivSemantic, getArchivSuggestions, getArchivStats,
getKorrekturStats,
} from './api-archiv'
// Import for namespace
import * as core from './api-core'
import * as archiv from './api-archiv'
// Export all functions as a namespace
export const korrekturApi = {
// Klausuren
getKlausuren: core.getKlausuren,
getKlausur: core.getKlausur,
createKlausur: core.createKlausur,
deleteKlausur: core.deleteKlausur,
// Students
getStudents: core.getStudents,
getStudent: core.getStudent,
uploadStudentWork: core.uploadStudentWork,
deleteStudent: core.deleteStudent,
// Criteria & Gutachten
updateCriteria: core.updateCriteria,
updateGutachten: core.updateGutachten,
generateGutachten: core.generateGutachten,
// Annotations
getAnnotations: core.getAnnotations,
createAnnotation: core.createAnnotation,
updateAnnotation: core.updateAnnotation,
deleteAnnotation: core.deleteAnnotation,
// EH/RAG
getEHSuggestions: core.getEHSuggestions,
queryRAG: core.queryRAG,
uploadEH: core.uploadEH,
// Fairness & Export
getFairnessAnalysis: core.getFairnessAnalysis,
getGradeInfo: core.getGradeInfo,
getGutachtenExportUrl: core.getGutachtenExportUrl,
getAnnotationsExportUrl: core.getAnnotationsExportUrl,
getOverviewExportUrl: core.getOverviewExportUrl,
getAllGutachtenExportUrl: core.getAllGutachtenExportUrl,
getStudentFileUrl: core.getStudentFileUrl,
// Archiv (NiBiS)
getArchivDocuments: archiv.getArchivDocuments,
getArchivDocument: archiv.getArchivDocument,
getArchivDocumentUrl: archiv.getArchivDocumentUrl,
searchArchivSemantic: archiv.searchArchivSemantic,
getArchivSuggestions: archiv.getArchivSuggestions,
getArchivStats: archiv.getArchivStats,
// Stats
getKorrekturStats: archiv.getKorrekturStats,
}