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

part of '../../application_management.dart';

/// Backlog query request.
class GetBacklogRequest {
  /// Creates a `GetBacklogRequest` instance with the values required by its invariants.
  /// Callers should pass already-normalized scheduler data because validation and defaulting belong at the model or service boundary, not in arbitrary UI code.
  const GetBacklogRequest({
    required this.context,
    this.filter,
    this.sortKey = BacklogSortKey.priority,
  });

  /// Read context containing owner scope and read instant.
  final ApplicationOperationContext context;

  /// Optional user-facing backlog filter.
  final BacklogFilter? filter;

  /// User-facing sort order.
  final BacklogSortKey sortKey;
}
