Conversation
Implement NATS message handlers for meeting attachment access control: - Add lfx.update_access.meeting_attachment handler to sync attachment permissions - Add lfx.delete_access.meeting_attachment handler to remove attachment permissions - Meeting attachments are linked to their parent meeting via meeting relation - Update documentation with new message formats Generated with [Claude Code](https://claude.com/claude-code) Signed-off-by: Andres Tobon <andrest2455@gmail.com>
Implement NATS message handlers for past meeting attachment access control: - Add lfx.update_access.past_meeting_attachment handler to sync attachment permissions - Add lfx.delete_access.past_meeting_attachment handler to remove attachment permissions - Past meeting attachments are linked to their parent past meeting via past_meeting relation - Update documentation with new message formats Generated with [Claude Code](https://claude.com/claude-code) Signed-off-by: Andres Tobon <andrest2455@gmail.com>
WalkthroughThis PR extends attachment access control support by introducing handlers for managing meeting and past meeting attachments. New NATS message subjects and FGA object types enable update and delete operations on attachment permissions. Documentation is updated to describe the new message types and JSON payloads. Changes
Sequence Diagram(s)sequenceDiagram
participant Queue as NATS Queue
participant Handler as Attachment Handler
participant FGA as FGA Sync
participant Logger as Logger
Queue->>Handler: Update/Delete Message<br/>(attachment event)
Handler->>Handler: Parse & Validate<br/>Message Fields
alt Update Access
Handler->>Handler: Build Tuples<br/>(attachment ↔ meeting)
Handler->>FGA: SyncObjectTuples
FGA->>FGA: Apply Changes
else Delete Access
Handler->>Handler: Delete All Tuples<br/>for Attachment
end
FGA-->>Handler: Sync Result
Handler->>Logger: Log Result
Handler->>Queue: Reply (Optional)
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Possibly related PRs
Pre-merge checks and finishing touches✅ Passed checks (5 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Pull Request Overview
This PR adds support for meeting and past meeting attachments in the Fine-Grained Access (FGA) control system by introducing new NATS message handlers and object types.
- Added NATS subjects for managing attachment access control (create, update, and delete operations)
- Introduced new FGA object types for meeting and past meeting attachments
- Implemented handlers to sync attachment permissions with their parent meeting objects
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/constants/nats.go | Added four new NATS subject constants for meeting and past meeting attachment access control (update and delete operations) |
| pkg/constants/fga.go | Added two new FGA object type constants: ObjectTypeMeetingAttachment and ObjectTypePastMeetingAttachment |
| main.go | Registered four new queue subscriptions to handle meeting and past meeting attachment access control messages |
| handler_meeting.go | Implemented handlers for meeting attachment access control including struct definition, tuple building, update, and delete operations |
| handler_past_meeting.go | Implemented handlers for past meeting attachment access control including struct definition, tuple building, update, and delete operations |
| CLAUDE.md | Added documentation for the new message formats and schemas for both meeting and past meeting attachments |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
Implement NATS message handlers for meeting attachment and past meeting attachment access control synchronization.
Changes
lfx.update_access.meeting_attachmentandlfx.delete_access.meeting_attachmentlfx.update_access.past_meeting_attachmentandlfx.delete_access.past_meeting_attachmentmeetingrelationpast_meetingrelationMessage Formats
Meeting Attachment Update
{ "uid": "attachment-123", "meeting_uid": "meeting-456" }Meeting Attachment Delete
Past Meeting Attachment Update
{ "uid": "attachment-123", "past_meeting_uid": "past-meeting-456" }Past Meeting Attachment Delete
Test plan
Authorization model changes
linuxfoundation/lfx-v2-helm#77
Ticket
https://jira.linuxfoundation.org/browse/LFXV2-712
🤖 Generated with Claude Code