Refactor: DB-Access-Code für Cases und Replies
Why
(erstellt im Zusammenhang mit #1582)
Im Zusammenhang mit den Endpunkten GET /v1/replies und GET /v1/cases finden Datenbankzugriffe statt, die auf 15-zeiligen,
nativen und proprietären SQL-Statements beruhen, die das API-DTO direkt mit Postgresql-Datenbanklogik erzeugen
(siehe ReplyRepository#listSubmittedRepliesForSubject, CaseRepository#getCasesForSubject und CaseRepository#getCasesForDestination).
Dies sollte folgendermaßen refactored werden:
- Statt dem SQL sollte HQL und
Pageable/Pageverwendet werden, um Entities aus dem Repository zurückzugeben. - Entitäten sollten dann auf DTOs abgebildet werden.
- Ebenfalls zu untersuchen sind
ReplyRepository#clearReplyDataundSubmissionRepository#clearSubmissionOfData.
Acceptance criteria
-
Die genannten Repositories basieren auf HQL und Entities, sowie Page/Pageable. -
Die Funktionalität hat sich nach außen hin nicht verändert. Insbesondere sollte auf die Beibehaltung der Element-Reihenfolge (und deren Stabilität) geachtet werden.
Implementation plan (to be completed by the developer)
-
Definition of Done was checked.
Edited by Christoph Metzger