Expand description
Controllers for requests starting with /api/v0/main-frontend/exercises.
StructsΒ§
- CsvColumn
Definition π - Exercise
Answers πCsvExport Request Item - Exercise
CsvExport Query - Exercise
CsvExport Task Option - Exercise
Definitions πCsvExport Request Item - Exercise
Submissions - Reset
Exercises Payload
ConstantsΒ§
FunctionsΒ§
- _add_
routes - Add a route for each controller in this module.
- build_
column_ πindex_ map - Builds key -> column index map for final columns.
- build_
final_ πcolumns - Merges base and service columns ensuring unique keys and mapping; errors on duplicate original service keys or final name collisions.
- build_
service_ πendpoint_ url - Builds final CSV endpoint URL using internally preferred base URL.
- csv_
endpoint_ πis_ supported - Returns true if the endpoint path is non-empty.
- csv_
writer_ πinto_ bytes - Finalizes writer into bytes and maps CSV errors to ControllerError.
- export_
exercise_ πtask_ answers_ csv - GET
/api/v0/main-frontend/exercises/:exercise_id/export-answers-csv- Exports all answers for one exercise task as CSV using the taskβs exercise service. - export_
exercise_ πtask_ definitions_ csv - GET
/api/v0/main-frontend/exercises/:exercise_id/export-definitions-csv- Exports one exercise task definition as CSV using the taskβs exercise service. - fetch_
exercise_ πservice_ and_ info - Fetches exercise service from DB and service info via HTTP; prefers internal_url, falls back to public_url.
- get_
csv_ πexport_ endpoint_ path - Parses and validates endpoint path or returns BadRequest if missing/empty.
- get_
exercise π - GET
/api/v0/main-frontend/exercises/:exercise_id- Returns a single exercise. - get_
exercise_ πanswers_ requiring_ attention - GET
/api/v0/main-frontend/exercises/:exercise_id/answers-requiring-attention- Returns an exerciseβs answers requiring attention. - get_
exercise_ πcsv_ export_ task_ options - GET
/api/v0/main-frontend/exercises/:exercise_id/csv-export-task-options- Returns available exercise tasks and CSV export support flags for each taskβs exercise service. - get_
exercise_ πsubmissions - GET
/api/v0/main-frontend/exercises/:exercise_id/submissions- Returns an exerciseβs submissions. - get_
exercise_ πsubmissions_ for_ user - GET
/api/v0/main-frontend/exercises/:exercise_id/submissions/user/:user_id- Returns an exerciseβs submissions for a user. - get_
exercises_ by_ course_ id - GET
/api/v0/main-frontend/exercises/:course_id/exercises-by-course-id- Returns all exercises for a course with course_id - get_
selected_ πtask - Selects task by id or returns BadRequest if not found in list.
- reset_
exercises_ for_ selected_ users - POST
/api/v0/main-frontend/exercises/:course_id/reset-exercises-for-selected-users- Resets all selected exercises for selected users and then logs the resets to exercise_reset_logs table - scalar_
json_ πto_ csv_ value - Converts scalar JSON to CSV string; errors on array/object.
- write_
csv_ πrows - Writes CSV rows merging base_row and service rows; validates keys against mapping.