CalendarEventDto typedef

CalendarEventDto = ({bool allDay, String? content, String? creatorName, DateTime? end, int? id, String? ownerName, String? place, DateTime? start, String? title})

Represents a calendar event from the NTUT Portal.

Weekend markers (isHoliday == '1') are filtered out by PortalService.getCalendar before mapping to this type. Some non-holiday events may still have a null id.

Implementation

typedef CalendarEventDto = ({
  /// Event ID from the portal.
  ///
  /// Null for some portal events (not just weekends — those are already
  /// filtered). Events without an ID are skipped by [CalendarRepository]
  /// since they cannot be synced or deduplicated.
  int? id,

  /// Event start time.
  ///
  /// Null when the portal omits timing information for this event.
  DateTime? start,

  /// Event end time.
  ///
  /// Null when the portal omits timing information for this event.
  DateTime? end,

  /// Whether this is an all-day event.
  bool allDay,

  /// Event title / description.
  String? title,

  /// Event location.
  String? place,

  /// Event content / details.
  String? content,

  /// Owner name (e.g., "學校行事曆").
  String? ownerName,

  /// Creator name (e.g., "教務處").
  String? creatorName,
});