Skip to content

[LFXV2-896, LFXV2-897] Update meeting handlers with field name changes and string-to-int conversions#21

Merged
emsearcy merged 5 commits intomainfrom
andrest50/meetings-data-transformations
Dec 16, 2025
Merged

[LFXV2-896, LFXV2-897] Update meeting handlers with field name changes and string-to-int conversions#21
emsearcy merged 5 commits intomainfrom
andrest50/meetings-data-transformations

Conversation

@andrest50
Copy link
Contributor

This commit updates the meeting data handlers to:

  1. Rename fields for v2 system compatibility:

    • meeting.ID → meeting.UID
    • meeting.ProjectID → meeting.ProjectUID
    • meeting.Topic → meeting.Title
    • meeting.Agenda → meeting.Description
    • committee.Filters → committee.AllowedVotingStatuses
    • pastMeetingSummary.ID → pastMeetingSummary.UID
    • pastMeetingSummary.MeetingAndOccurrenceID → pastMeetingSummary.PastMeetingUID
    • pastMeetingSummary.MeetingID → pastMeetingSummary.MeetingUID
  2. Convert string fields to integers in v1 data:

    • Duration (meeting, updated occurrences, past meeting)
    • EarlyJoinTime (meeting, past meeting)
    • LastEndTime (meeting)
    • Type (past meeting)
    • Recurrence integer fields (Type, RepeatInterval, MonthlyDay, etc.) for meetings and updated occurrences
    • RecordingCount, TotalSize (past meeting recordings)
    • FileSize (recording files)
    • AverageAttendance (past meeting attendees)
  3. Add MarshalJSON methods for structs with json:"-" tagged integer fields:

    • pastMeetingRecordingInput
    • ZoomPastMeetingRecordingSession
    • ZoomPastMeetingRecordingFile
    • pastMeetingAttendeeInput
  4. Map v1 meeting fields to v2 structure:

    • Map topic/agenda to title/description in updated_occurrences
    • Set ArtifactVisibility from recording/transcript/summary access
    • Populate ZoomConfig fields
    • Construct summary content from sparse v1 fields

Tickets

https://linuxfoundation.atlassian.net/browse/LFXV2-896
https://linuxfoundation.atlassian.net/browse/LFXV2-897

Generated with Claude Code

…versions

This commit updates the meeting data handlers to:

1. Rename fields for v2 system compatibility:
   - meeting.ID → meeting.UID
   - meeting.ProjectID → meeting.ProjectUID
   - meeting.Topic → meeting.Title
   - meeting.Agenda → meeting.Description
   - committee.Filters → committee.AllowedVotingStatuses
   - pastMeetingSummary.ID → pastMeetingSummary.UID
   - pastMeetingSummary.MeetingAndOccurrenceID → pastMeetingSummary.PastMeetingUID
   - pastMeetingSummary.MeetingID → pastMeetingSummary.MeetingUID

2. Convert string fields to integers in v1 data:
   - Duration (meeting, updated occurrences, past meeting)
   - EarlyJoinTime (meeting, past meeting)
   - LastEndTime (meeting)
   - Type (past meeting)
   - Recurrence integer fields (Type, RepeatInterval, MonthlyDay, etc.) for meetings and updated occurrences
   - RecordingCount, TotalSize (past meeting recordings)
   - FileSize (recording files)
   - AverageAttendance (past meeting attendees)

3. Add MarshalJSON methods for structs with json:"-" tagged integer fields:
   - pastMeetingRecordingInput
   - ZoomPastMeetingRecordingSession
   - ZoomPastMeetingRecordingFile
   - pastMeetingAttendeeInput

4. Map v1 meeting fields to v2 structure:
   - Map topic/agenda to title/description in updated_occurrences
   - Set ArtifactVisibility from recording/transcript/summary access
   - Populate ZoomConfig fields
   - Construct summary content from sparse v1 fields

Generated with [Claude Code](https://claude.com/claude-code)

Signed-off-by: Andres Tobon <andrest2455@gmail.com>
@andrest50 andrest50 requested a review from emsearcy as a code owner December 12, 2025 19:19
Copilot AI review requested due to automatic review settings December 12, 2025 19:19
@andrest50 andrest50 requested a review from a team as a code owner December 12, 2025 19:19
Copy link
Contributor

Copilot AI left a 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 pull request updates the meeting data handlers to support v2 system compatibility by renaming fields, converting string types to integers, and adding custom JSON marshalers. The changes affect meeting structures, past meeting records, occurrences, recordings, summaries, and participants.

Key Changes:

  • Field renames: ID→UID, ProjectID→ProjectUID, Topic→Title, Agenda→Description, Filters→AllowedVotingStatuses
  • Type conversions: Duration, EarlyJoinTime, LastEndTime, Type, and all recurrence integer fields changed from string to int
  • Custom MarshalJSON methods added for 8 structs to handle json:"-" tagged integer fields

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 11 comments.

File Description
cmd/lfx-v1-sync-helper/models_meetings.go Updates struct definitions with field renames, type changes from string to int, and custom MarshalJSON implementations for proper serialization
cmd/lfx-v1-sync-helper/helper_meetings.go Updates field references (ID→UID, Topic→Title, Agenda→Description) and removes string-to-int conversions now that fields are typed as int
cmd/lfx-v1-sync-helper/handlers_meetings.go Adds conversion logic to map v1 string fields to v2 integer fields, implements field name mappings, and constructs summary content from sparse v1 fields

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

andrest50 and others added 4 commits December 12, 2025 15:11
This commit updates the meeting data structures to better align with the v2
system schema and improves type safety by converting string fields to their
appropriate types.

Model changes:
- Convert string fields to proper types (int/int64) for Duration,
  EarlyJoinTimeMinutes, LastEndTime, Type, TotalSize, etc.
- Add custom MarshalJSON methods for meetingInput, pastMeetingInput,
  pastMeetingAttendeeInput, pastMeetingRecordingInput, and related types
- Rename fields to match v2 conventions: ID→UID, MeetingID→MeetingUID,
  Org→OrgName, ProfilePicture→AvatarURL, ModifiedAt→UpdatedAt
- Add new fields: Platform, PlatformMeetingID, ZoomConfig,
  ArtifactVisibility, Description
- Create ZoomConfig struct for platform-specific configuration

Handler changes:
- Update field mappings to use new v2-aligned field names
- Convert string values to appropriate numeric types during transformation
- Update logging to reference new field names

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Signed-off-by: Andres Tobon <andrest2455@gmail.com>
Signed-off-by: Andres Tobon <andrest2455@gmail.com>
…elper into andrest50/meetings-data-transformations
Signed-off-by: Eric Searcy <eric@linuxfoundation.org>
@emsearcy emsearcy merged commit 4c26c13 into main Dec 16, 2025
3 checks passed
@emsearcy emsearcy deleted the andrest50/meetings-data-transformations branch December 16, 2025 23:29
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