// SPDX-FileCopyrightText: 2026 FocusFlow contributors
// SPDX-License-Identifier: AGPL-3.0-only

part of '../persistence_contract.dart';

/// Every field-name set currently committed for future document mapping.
abstract final class PersistenceDocumentFieldSets {
  /// Shared constant value for `all`.
  /// The constant gives this repeated scheduler or UI value one documented source of truth instead of scattering literals across call sites.
  static const all = <Set<String>>[
    DocumentFields.common,
    TaskDocumentFields.all,
    TaskActivityDocumentFields.all,
    TaskStatisticsDocumentFields.all,
    ProjectDocumentFields.all,
    ProjectStatisticsDocumentFields.all,
    ClockTimeDocumentFields.all,
    LockedBlockRecurrenceDocumentFields.all,
    LockedBlockDocumentFields.all,
    LockedBlockOverrideDocumentFields.all,
    OwnerSettingsDocumentFields.all,
    BacklogStalenessDocumentFields.all,
    NoticeAcknowledgementDocumentFields.all,
    ApplicationOperationDocumentFields.all,
    SchedulingSnapshotDocumentFields.all,
    SchedulingWindowDocumentFields.all,
    TimeIntervalDocumentFields.all,
    SchedulingNoticeDocumentFields.all,
    SchedulingChangeDocumentFields.all,
    SchedulingOverlapDocumentFields.all,
  ];
}
