checks: a relation kept from the stored row (calculatedActionOnUpdate keep) is read from the payload - leaving it out bypasses agree/forbidWhen
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 22/100
Direzione di ricerca
Start from the generated controller's row-level check path, where agree, forbidWhen and compare read the payload, and from SalesInvoiceProformaKeepAction, which restores Proforma after the check runs. Look at how #7673 made checks read stored system-owned fields, and extend that to kept, readOnly columns. Done when a PUT that omits a kept relation is refused by the same agree: [Proforma, Customer] check as one that echoes it.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
A row-level check (agree, forbidWhen, compare) is evaluated by the generated controller on the PAYLOAD. A relation that the record keeps from its stored row on update (calculatedActionOnUpdate: <Keep>Action, the "system-written, never picked" pattern) can be left out of the payload. The check then sees it unset and skips, and the keep action restores it right after. So the check never sees the value the row is saved with.
Found while fixing BusinessIntents/base-sales-invoices#205 on 14.81.0 (hunt run 37984537906). SalesInvoice.Proforma is kept by SalesInvoiceProformaKeepAction, and the new check is agree: [Proforma, Customer] onProperty Customer (#7677):
PUT SalesInvoice/27 {...row, Customer: <other>} -> 400 "bills the proforma's customer" (Proforma echoed)
PUT SalesInvoice/27 {...row, Proforma: null, Customer: <other>} -> 200, stored Proforma 2 + the other customer
Expected: the checks read the value the row is SAVED with. For a kept, readOnly or system-owned column that is the stored value, not the payload's absence, in the same way #7673 made checks read stored system-owned fields. Then the second PUT is refused like the first.
- Lingua principale
- Java
- Stelle
- 278
- Fork
- 97
- Merge medio
- 15h 42m
- PR unite (30g)
- 299
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di eclipse-dirigible/dirigible
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
eclipse-dirigible/dirigible#8291 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
eclipse-dirigible/dirigible#8240 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
eclipse-dirigible/dirigible#8238 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
eclipse-dirigible/dirigible#8232 ·
I maintainer di solito rispondono entro 1 giorno
-
Under a 1 GiB container limit the default image exhausts its 256 MB heap on the first publish, poisons its H2 store and keeps running while answering 401 to every loginForse già presa @d-velev l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
eclipse-dirigible/dirigible#8231 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di eclipse-dirigible/dirigible
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
quarkiverse/quarkus-google-cloud-services#1188 ·
I maintainer di solito rispondono entro 1 giorno
-
Component: Frontend Component: Web Component Type: Maintenance
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
it-at-m/refarch-templates#1944 ·
I maintainer di solito rispondono entro 2 giorni
-
priority: p2 type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
googleapis/java-genai#1372 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 60/100