Skip to content

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:

  1. Statt dem SQL sollte HQL und Pageable/Page verwendet werden, um Entities aus dem Repository zurückzugeben.
  2. Entitäten sollten dann auf DTOs abgebildet werden.
  3. Ebenfalls zu untersuchen sind ReplyRepository#clearReplyData und SubmissionRepository#clearSubmissionOfData.

Acceptance criteria

  1. Die genannten Repositories basieren auf HQL und Entities, sowie Page/Pageable.
  2. 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)

Edited by Christoph Metzger