fix(training): resolve Gin route conflicts and fix TTS Dockerfile
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 36s
CI / test-python-backend-compliance (push) Successful in 30s
CI / test-python-document-crawler (push) Successful in 24s
CI / test-python-dsms-gateway (push) Successful in 17s

- Fix route param conflict: /content/publish/:id instead of /content/:id/publish
- Fix route conflict: /media/module/:moduleId for module media list
- Use Piper binary instead of pip package (ARM64 compatibility)
- Update frontend API URLs to match new routes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Boenisch
2026-02-16 22:04:47 +01:00
parent 375914e568
commit ec1575fc56
4 changed files with 14 additions and 25 deletions

View File

@@ -288,15 +288,15 @@ export async function generateAudio(moduleId: string): Promise<TrainingMedia> {
}
export async function getModuleMedia(moduleId: string): Promise<{ media: TrainingMedia[]; total: number }> {
return apiFetch(`/media/${moduleId}`)
return apiFetch(`/media/module/${moduleId}`)
}
export async function getMediaURL(mediaId: string): Promise<{ bucket: string; object_key: string; mime_type: string }> {
return apiFetch(`/media/${mediaId}/url`)
return apiFetch(`/media/module/${mediaId}/url`)
}
export async function publishMedia(mediaId: string, publish?: boolean): Promise<{ status: string; is_published: boolean }> {
return apiFetch(`/media/${mediaId}/publish`, {
return apiFetch(`/media/module/${mediaId}/publish`, {
method: 'POST',
body: JSON.stringify({ publish: publish !== false }),
})