Uh oh!
There was an error while loading. Please reload this page.
Add the Database Reco Counts CSV report endpoint - #3357
Merged
Conversation
Route `POST /imagetargets/databases/{database_id}/reports/recoCounts` on both
the in-process and Flask backends, returning a `presigned_url` pointing at a
new `GET /reports/recoCounts/{report_id}` download route. That route needs no
authorization and returns 404 until the report is ready, then 200 with the CSV.
The `month` field must be a `YYYY-mm` string naming the current or previous
month; anything else returns `Fail`. The CSV is header-only because the mock
does not count recognitions, which is now documented along with the unverified
error behaviour. Making the report non-empty is #3356.
The Flask app cannot recover its external host from the request, so it gains a
`VWS_BASE_URL` setting for building the download URL.
Closes#3343.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>adamtheturtletemporarily deployed
to
development
August 7, 2026 12:13 — with
GitHub Actions
Inactive
Real Vuforia returned 401 for a request signed with valid server keys which named a random database ID in the path, so the path's database ID appears to have to belong to the credentials. The test credentials do not include a database ID, so the request cannot be made against real Vuforia at all. Run the tests under `mock_only_vuforia` and record in the differences documentation that nothing about the endpoint is verified. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This was referenced Aug 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Routes
POST /imagetargets/databases/{database_id}/reports/recoCountson both the in-process and Flask backends, returning apresigned_urlwhich points at a newGET /reports/recoCounts/{report_id}download route that needs no authorization and returns 404 until the report is ready, then 200 with the CSV.The
monthfield must be aYYYY-mmstring naming the current or previous month, and anything else returnsFail; the documentation gives no result code for this endpoint, so that choice and the CSV header row are recorded as unverified indifferences-to-vws.rst. The CSV is header-only because the mock does not count recognitions, which is deliberate — real Vuforia's counts lag past the length of a test, as the existingverify_mock_vuforiareco tests assert — so making the report non-empty is proposed separately in #3356. The Flask app cannot recover its external host from the request and so gains aVWS_BASE_URLsetting for building the download URL.Verified fake tests cover a valid request for both months, an out-of-range month and five malformed months, with download behaviour mock-only since real report generation takes up to an hour; all new and touched files are at 100% line and branch coverage.
Closes#3343.
🤖 Generated with Claude Code