Skip to content

feat: plenary attendance by email address API - #11633

Merged
jennifer-richards merged 15 commits into
ietf-tools:mainfrom
jennifer-richards:sf-api
Aug 27, 2026
Merged

feat: plenary attendance by email address API#11633
jennifer-richards merged 15 commits into
ietf-tools:mainfrom
jennifer-richards:sf-api

Conversation

@jennifer-richards

@jennifer-richards jennifer-richards commented Aug 24, 2026

Copy link
Copy Markdown
Member

Adds an API that looks up plenary meeting attendance for a person by email address. Uses any email address (including inactive). Only returns data for meeting 110 onward, where we have modern attendance data. The filtering is intended to agree with the current attendance calculations - if it does not, that is a bug.

Will return attendance type as "onsite" or "remote". Only "student", "week_pass", "one_day", or "unknown" ticket types are returned. I believe these are the only combinations that reflect plenary registration / attendance.

Refactors the Registration.attendance_type property to work with bulk operations. Adds tests.

Eliminates per-row queries in the proceedings_attendees() view, dropping it from ~ 2000 to 2.

A few cases where one person has multiple Registrations for a single meeting exist. These are represented as multiple entries with the same "meeting" value in the returned list. I.e., each individual Registration is resolved to a single attendance type / ticket type, but no attempt to reconcile multiple Registration records for a single meeting.

Output looks like:

{
  "attended": [
    {
      "meeting": "110",
      "attendance_type": "remote",
      "ticket_type": "unknown"
    },
    {
      "meeting": "111",
      "attendance_type": "remote",
      "ticket_type": "week_pass"
    },
    {
      "meeting": "112",
      "attendance_type": "remote",
      "ticket_type": "unknown"
    },
    {
      "meeting": "113",
      "attendance_type": "remote",
      "ticket_type": "week_pass"
    },
    {
      "meeting": "114",
      "attendance_type": "remote",
      "ticket_type": "week_pass"
    }
  ]
}

@jennifer-richards

jennifer-richards commented Aug 24, 2026

Copy link
Copy Markdown
Member Author

Needs a test of the new api url (that's the cause of the test failure)

Tests added

@codecov

codecov Bot commented Aug 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.73%. Comparing base (22c808c) to head (86cc845).
⚠️ Report is 9 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #11633      +/-   ##
==========================================
+ Coverage   88.65%   88.73%   +0.08%     
==========================================
  Files         333      337       +4     
  Lines       44966    45313     +347     
==========================================
+ Hits        39866    40210     +344     
- Misses       5100     5103       +3     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@jennifer-richards
jennifer-richards marked this pull request as ready for review August 25, 2026 18:57
@jennifer-richards
jennifer-richards merged commit 88cb3bf into ietf-tools:main Aug 27, 2026
9 checks passed
@jennifer-richards
jennifer-richards deleted the sf-api branch August 27, 2026 15:52
freddalongdalongdomain-wq

This comment was marked as spam.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants