feat: Phase B - Frontend API für M:N Zielgruppen
Some checks failed
Deploy Development / deploy (push) Successful in 33s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 5s
Test Suite / playwright-tests (push) Failing after 2m2s

Frontend API Layer:
- 5 neue api.js Funktionen für M:N Management
- listTrainingStyleTargetGroups(filters) - Liste mit Filtern
- createTrainingStyleTargetGroup(data) - Neue Zuordnung
- updateTrainingStyleTargetGroup(id, data) - is_primary ändern
- deleteTrainingStyleTargetGroup(id) - Zuordnung löschen
- getTrainingStylesHierarchy() - Hierarchische Struktur für Tree-View

Pattern: Konsistent mit bestehenden Catalog-Funktionen
Export: Alle Funktionen zum api-Objekt hinzugefügt

Version: 0.3.4 (Phase B)
This commit is contained in:
Lars 2026-04-23 10:45:14 +02:00
parent 1e5e18c0b3
commit 1891a4ab88

View File

@ -370,6 +370,35 @@ export async function deleteTargetGroup(id) {
return request(`/api/target-groups/${id}`, { method: 'DELETE' })
}
// Training Style → Target Groups (M:N Assignments)
export async function listTrainingStyleTargetGroups(filters = {}) {
const query = new URLSearchParams(filters).toString()
return request(`/api/training-style-target-groups${query ? '?' + query : ''}`)
}
export async function createTrainingStyleTargetGroup(data) {
return request('/api/training-style-target-groups', {
method: 'POST',
body: JSON.stringify(data)
})
}
export async function updateTrainingStyleTargetGroup(id, data) {
return request(`/api/training-style-target-groups/${id}`, {
method: 'PUT',
body: JSON.stringify(data)
})
}
export async function deleteTrainingStyleTargetGroup(id) {
return request(`/api/training-style-target-groups/${id}`, { method: 'DELETE' })
}
export async function getTrainingStylesHierarchy(filters = {}) {
const query = new URLSearchParams(filters).toString()
return request(`/api/training-styles/hierarchy${query ? '?' + query : ''}`)
}
// ============================================================================
// Training Planning
// ============================================================================
@ -494,6 +523,11 @@ export const api = {
createTargetGroup,
updateTargetGroup,
deleteTargetGroup,
listTrainingStyleTargetGroups,
createTrainingStyleTargetGroup,
updateTrainingStyleTargetGroup,
deleteTrainingStyleTargetGroup,
getTrainingStylesHierarchy,
// System
getVersion,