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

part of '../../../persistence_contract.dart';

/// Document field names for [SchedulingChange] embedded documents.
abstract final class SchedulingChangeDocumentFields {
  /// Stable storage field for `taskId`.
  /// Keeping the key in one documented constant protects repository adapters, migrations, and tests from drifting string literals.
  static const taskId = 'taskId';

  /// Stable storage field for `previousStart`.
  /// Keeping the key in one documented constant protects repository adapters, migrations, and tests from drifting string literals.
  static const previousStart = 'previousStart';

  /// Stable storage field for `previousEnd`.
  /// Keeping the key in one documented constant protects repository adapters, migrations, and tests from drifting string literals.
  static const previousEnd = 'previousEnd';

  /// Stable storage field for `nextStart`.
  /// Keeping the key in one documented constant protects repository adapters, migrations, and tests from drifting string literals.
  static const nextStart = 'nextStart';

  /// Stable storage field for `nextEnd`.
  /// Keeping the key in one documented constant protects repository adapters, migrations, and tests from drifting string literals.
  static const nextEnd = 'nextEnd';

  /// Stable storage field for `all`.
  /// Keeping the key in one documented constant protects repository adapters, migrations, and tests from drifting string literals.
  static const all = <String>{
    taskId,
    previousStart,
    previousEnd,
    nextStart,
    nextEnd,
  };
}
