Find the types a member presents, and parse-guard the queries

Featurekamo-shared-library
Shipped
August 25, 2026 at 10:23 PM UTC
Author
Kamo
Commit
6383395

The calendar needs to answer one question before it offers an availability layer: is declaring hours meaningful for this person? Nobody is a presenter by default, and hours declared by a member no type lists can never be booked. Both record states are checked. A soft-deleted webinar type keeps its presenter rows, so testing only the presenter row would keep the layer alive for somebody whose only session was retired months ago. WebinarQueryParseTest is the other half. A JPQL string is not checked by the compiler and Spring Data validates an annotated query when it BUILDS THE REPOSITORY BEAN, so a path the mapping does not have compiles, ships, and then stops MediaService from starting at all — a crash-looping deploy rather than a query that returns nothing. The harness is the one ClinicalQueryParseTest already uses, pointed at the webinar package; metadata is built over every entity in the library because a presenter points at a TeamMember, which points at an Organization, and no database is touched. Verified it actually catches a bad path before relying on it: breaking one fails the build with the attribute and entity named.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing