getodk / central-backend

Node.js based backend for ODK Central
https://docs.getodk.org/central-intro/
Apache License 2.0
50 stars 76 forks source link

Check approvalRequired reprocessing with offline entity queue #1162

Closed ktuite closed 4 months ago

ktuite commented 4 months ago

Small followup to https://github.com/getodk/central/issues/669

Prevents submissions that are being held for later processing (because of offline entity ordering) are not mishandled

This PR also tests the (expected) behavior that if an offline branch included create and update, and the dataset required approval before creating the update, that the update would be held until the create submission was approved and applied. (Though it gets pretty hairy on the Collect side to think about keeping all of this information/state in sync when combining approval required + offline. See forum post about ideas for syncing.)

What has been done to verify that this works as intended?

Why is this the best possible solution? Were any other approaches considered?

How does this change affect users? Describe intentional changes to behavior and behavior that could have accidentally been affected by code changes. In other words, what are the regression risks?

Does this change require updates to the API documentation? If so, please update docs/api.yaml as part of this PR.

Before submitting this PR, please make sure you have: