- 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.