-
Notifications
You must be signed in to change notification settings - Fork 2
[LFXV2-684] Add meeting RSVP data enricher #24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Add ObjectTypeMeetingRSVP constant to messaging.go - Create MeetingRSVPEnricher with meeting-level permissions inheritance - Register enricher in IndexerService for automatic RSVP indexing - RSVP permissions inherit from parent meeting via meeting_uid field - Extract sort name from email and aliases from username/email fields 🤖 Generated with [Claude Code](https://claude.com/claude-code) Signed-off-by: Andres Tobon <[email protected]>
WalkthroughThis PR adds support for Meeting RSVP enrichment by introducing a new Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10–15 minutes
Possibly related PRs
Pre-merge checks and finishing touches✅ Passed checks (5 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro Disabled knowledge base sources:
📒 Files selected for processing (3)
🧰 Additional context used📓 Path-based instructions (6)internal/domain/**/*.go📄 CodeRabbit inference engine (CLAUDE.md)
Files:
internal/{domain,application}/**/*.go📄 CodeRabbit inference engine (CLAUDE.md)
Files:
internal/domain/services/**/*.go📄 CodeRabbit inference engine (CLAUDE.md)
Files:
internal/domain/services/indexer_service.go📄 CodeRabbit inference engine (CLAUDE.md)
Files:
pkg/constants/messaging.go📄 CodeRabbit inference engine (CLAUDE.md)
Files:
internal/enrichers/**/*.go📄 CodeRabbit inference engine (CLAUDE.md)
Files:
🧠 Learnings (4)📚 Learning: 2025-08-13T19:35:15.510ZApplied to files:
📚 Learning: 2025-08-14T17:25:01.677ZApplied to files:
📚 Learning: 2025-08-13T19:35:15.510ZApplied to files:
📚 Learning: 2025-08-13T19:35:15.510ZApplied to files:
🧬 Code graph analysis (2)internal/domain/services/indexer_service.go (1)
internal/enrichers/meeting_rsvp_enricher.go (4)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
🔇 Additional comments (7)
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for a new "meeting_rsvp" object type to the indexer service. The implementation follows the established enricher pattern used for similar object types like meeting registrants and past meeting participants.
- Adds
ObjectTypeMeetingRSVPconstant to support RSVP tracking for meetings - Implements
MeetingRSVPEnricherwith custom access control and field extraction logic - Registers the new enricher in the indexer service initialization
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| pkg/constants/messaging.go | Defines the new "meeting_rsvp" object type constant |
| internal/enrichers/meeting_rsvp_enricher.go | Implements enrichment logic for meeting RSVP objects with custom access control, sort name, and aliases extraction |
| internal/domain/services/indexer_service.go | Registers the new MeetingRSVPEnricher in the enricher registry |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
MeetingRSVPEnricherto process meeting RSVP objects for indexingmeeting_uidfieldChanges
ObjectTypeMeetingRSVPinpkg/constants/messaging.gointernal/enrichers/meeting_rsvp_enricher.gomeeting_uidfieldemailfieldusernameandemailfieldsauditorwriterindexer_service.goAccess Control
RSVP objects don't have their own permissions. Instead, they inherit permissions from their parent meeting:
accessCheckObject:meeting:{meeting_uid}(falls back tomeeting_rsvp:{object_id})accessCheckRelation:auditorhistoryCheckObject:meeting:{meeting_uid}(falls back tomeeting_rsvp:{object_id})historyCheckRelation:writerTicket
LFXV2-684
🤖 Generated with Claude Code