feat(stoptb): Nikshay sync screens and results CSV upload - #460
Conversation
Adds the upload half of the Nikshay ID Generator round trip: a new tab lets camp staff pick the visit date and the app's results CSV, posts it to MMU-API's importResultsCsv endpoint, and shows how many Nikshay IDs were written back versus how many rows need manual review or failed, with beneficiary names so staff know who to check. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Hides the Nikshay Sync header tab outside Stop TB deployments by reusing environment.isMMUOfflineQRCode, the same flag that gates the Camp Hub QR code button on the login page. The Camp Hub results upload tab needed no change: that dialog is only reachable through openQrDialog(), already behind the same flag. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|




Summary
Front end for the Nikshay ID Generator CSV round trip, in two halves:
nikshay-syncmodule (component, routing, styles) reachable from the app header, for exporting pending Stop TB camp beneficiaries as a CSV for the Nikshay ID Generator desktop app.importResultsCsv, and see how many Nikshay IDs were written back versus how many rows need manual review or failed — with beneficiary names, so staff know exactly who to check.Changes
nikshay-sync/(5 files)camp-hub-qr-code.component.html/.cssapp-header.component.htmlapp-routing.module.tsenvironment.*.ts(5 files)nikshayBeneficiaryCsvUrl,nikshayImportResultsCsvUrl2 commits, 14 files, +699 / −60.
Notes
GET /stopTb/nikshay/exportBeneficiariesCsv,POST /stopTb/nikshay/importResultsCsv). Merge order: API first.Testing
Not yet exercised end-to-end against the Nikshay ID Generator app — please confirm the CSV column contract lines up on that side before merge.
🤖 Generated with Claude Code