- Shipped
- 27. August 2026 um 04:39 UTC
- Author
- Kamo
- Commit
- 943171e
SW5 Task 3, Controller Hälfte. CRUD für Bücher, Kategorien, Aufgaben und Optionen, zu GET /{bookUid'/tasks/by-code/{code' - die Suche nach einem Angebot oder einer Arbeitsreihe führt, wenn es eine gespeicherte taskCode hält. Das ist eine einzige indizierte Abfrage gegen idx_service_task_book_code, nicht ein fetch-the-book-and-scan; es läuft pro Zeile Artikel über einen Katalog von Hunderten, weshalb es ein Endpunkt ist. Reads need VIEW_SERVICE_WORK, Schreibt benötigen MANAGE_SERVICE_WORK. Beide landeten in SW1 und beide haben bereits die neun Service-Endpunkte auf POSController. Die Controller dieses absichtlich nicht ähneln ist CommerceMarketController, die keine @PreAuthorize überall trägt und fragt nur, ob eine Sitzung existiert - das gleiche Loch SW4 auf Aufträgen gefunden und SW1 auf Service-Arbeit gefunden. ServiceTaskBookRightsGateTest pins jeden Handler, und separat Pins, dass keine Mutation begnügt sich mit der Ansicht richtig (MANAGE ist ein KINDER von VIEW in den Rechten Baum, so akzeptieren VIEW auf einem schreiben ist eine stille Downgrade) und dass kein Handler akzeptiert die Option VIEW_OWN_SERVICE_WORK des Kunden. Der Mieter kommt aus der Sitzung und wird als erste des Dienstes übergeben Argument, wo es zu einem Prädikat innerhalb der JPQL wird. Nichts hier lädt ein Reihe und dann überprüft, wer es war. Pfadvariablen kommen als String an und gehen durch parseUuid, also eine missgebildete ID ist eine 400 statt einer Frühjahr 500. 'Nicht gefunden' bedeutet nicht gefunden IN IHRE ORG, das ist die einzige Frage, die das Projektarchiv gestellt hat und die einzige Antwort eines Anrufers sollte bekommen.