• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

medplum / medplum / 24538926374
92%
main: 92%

Build:
Build:
LAST BUILD BRANCH: cody/patient-everything-inline-attachments
DEFAULT BRANCH: main
Ran 16 Apr 2026 11:21PM UTC
Jobs 1
Files 767
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

16 Apr 2026 11:15PM UTC coverage: 91.868% (-0.003%) from 91.871%
24538926374

push

github

web-flow
Add admin endpoint to reset user MFA enrollment (#8970)

* Add admin endpoint to reset user MFA enrollment

Adds POST /admin/projects/:projectId/members/:membershipId/mfa/reset
so project admins can reset MFA for users who have lost access to their
authenticator device. Rotates the TOTP secret and sends the user an
email notification. Uses systemRepo to bypass the access policy that
makes mfaEnrolled readonly for normal writes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Ian Plunkett <1857868+ianplunkett@users.noreply.github.com>

* Fix MFA reset test: use correct invite response shape

The invite endpoint returns the ProjectMembership resource directly,
not a { membership, user } wrapper. Update tests to read membershipId
from inviteRes.body.id and fetch the User via systemRepo using the
reference from inviteRes.body.user.reference.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Ian Plunkett <1857868+ianplunkett@users.noreply.github.com>

* Fix remaining MFA reset test assertions

- Cross-project access returns 404 (repo is project-scoped, not 403)
- Non-admin test now uses addTestUser to create a real non-admin member
  within the same project, rather than an admin of a different project

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Ian Plunkett <1857868+ianplunkett@users.noreply.github.com>

---------

Signed-off-by: Ian Plunkett <1857868+ianplunkett@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Karl Pietrzak <karl@medplum.com>

18356 of 20905 branches covered (87.81%)

Branch coverage included in aggregate %.

14 of 16 new or added lines in 1 file covered. (87.5%)

33271 of 35292 relevant lines covered (94.27%)

13446.05 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
85.48
-1.25% packages/server/src/admin/project.ts
Jobs
ID Job ID Ran Files Coverage
1 24538926374.1 16 Apr 2026 11:21PM UTC 767
91.87
GitHub Action Run
Source Files on build 24538926374
  • Tree
  • List 767
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 3c5e7b4f on github
  • Prev Build on gh-readonly-queue/main/pr-8977-e87991d18262a96cb9017d8e79cdaf165f116881 (#24522581143)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc