Development: Refactor exercise participation endpoints to use DTOs#13103
Draft
dogusaytok wants to merge 4 commits into
Draft
Development: Refactor exercise participation endpoints to use DTOs#13103dogusaytok wants to merge 4 commits into
Development: Refactor exercise participation endpoints to use DTOs#13103dogusaytok wants to merge 4 commits into
Conversation
End-to-End Test Results
❌ Failed Tests
Flakiness Scores for Failed Tests
Test Strategy: Running all tests (configuration or infrastructure changes detected) Overall: ❌ E2E tests failed 🔗 Workflow Run · 📊 Test Report |
feefb43 to
dfa374c
Compare
21 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR migrates nine exercise participation endpoints from entity-backed response bodies to dedicated DTOs. It introduces lazy-safe, data-minimal participation response records, adapts the Angular client back to the existing component-facing models, and updates server, client, architecture, and Playwright contract tests. The Exercise entity-return architecture budget is reduced from 23 to 14 violations.
Checklist
General
Server
Client
Changes affecting Programming Exercises
Motivation and Context
Exercise participation REST endpoints currently expose JPA entities directly. This leaks persistence details into the API, transfers incidental data, risks recursive response graphs and lazy-loading failures, and contributes to the Exercise module's architecture-test debt.
This migration establishes an explicit, data-minimal participation API contract while preserving the existing behavior and component-facing client models.
Description
StudentParticipationDTOand dedicated DTOs for lean submissions, results, teams, exercises, and courses.LazyInitializationExceptions.Steps for Testing
Prerequisites:
submission.participation.submissionsorresult.submissiongraphs.Exam Mode Testing
Prerequisites:
Testserver States
You can manage test servers using Helios. Check environment statuses in the environment list. To deploy to a test server, go to the CI/CD page, find your PR or branch, and trigger the deployment.
Review Progress
Performance Review
Code Review
Manual Tests
Exam Mode Test
Test Coverage
Client
Server
Last updated: 2026-07-04 12:19:26 UTC