feat(admin): add user vocab course management functionality
All checks were successful
Deploy to production / deploy (push) Successful in 2m59s

- Implemented `getUserVocabCourses` and `getVocabCourseForAdmin` methods in `AdminController` to allow admins to retrieve enrolled vocab courses for users and specific course details, respectively.
- Updated `adminRouter` to include new routes for accessing user vocab courses and course details.
- Enhanced `AdminService` with methods to list user-enrolled vocab courses and retrieve course information with lessons, ensuring proper access control.
- Improved `VocabService` to support the new functionalities, including attaching language names to course data.
- Updated UI components in `UsersView` to reflect changes, including error handling and loading states for course retrieval, along with localization updates for new features.
This commit is contained in:
Torsten Schulz (local)
2026-04-02 09:21:52 +02:00
parent b3c8e8e210
commit 2272db7f91
9 changed files with 217 additions and 67 deletions

View File

@@ -32,8 +32,8 @@
},
"vocabLessonReset": {
"title": "Language course: lesson progress",
"intro": "Delete progress, exercise results and saved lesson state for a single lesson (not the whole course). Only courses you can see as this admin account are listed (public or your own).",
"loadCourses": "Load courses",
"intro": "Delete progress, exercise results and saved lesson state for a single lesson (not the whole course). Only language courses this user is enrolled in are listed.",
"loadCourses": "Load enrolled courses",
"selectCourse": "Course",
"selectLesson": "Lesson",
"reset": "Reset lesson for this user",
@@ -41,7 +41,8 @@
"success": "Lesson progress was reset.",
"error": "Reset failed.",
"pickUserFirst": "Select a user first.",
"noCourses": "No courses loaded or no visible courses.",
"noEnrolledCourses": "This user is not enrolled in any language course.",
"loadCoursesError": "Could not load the course list.",
"loadingLessons": "Loading lessons…"
},
"adultVerification": {