focus-flow/packages/scheduler_persistence_memory/lib/persistence_memory.dart

23 lines
1,009 B
Dart

/// In-memory implementations of the scheduler persistence repository contracts.
///
/// These repositories are intended for core tests, local integration tests, and
/// adapter conformance checks. They model optimistic compare-and-set behavior
/// but do not provide durable storage.
library;
import 'dart:convert';
import 'package:scheduler_core/scheduler_core.dart' as core;
import 'package:scheduler_persistence/persistence.dart';
part 'persistence_memory/in_memory_task_repository.dart';
part 'persistence_memory/in_memory_project_repository.dart';
part 'persistence_memory/in_memory_locked_block_repository.dart';
part 'persistence_memory/in_memory_settings_repository.dart';
part 'persistence_memory/in_memory_schedule_snapshot_repository.dart';
part 'persistence_memory/identified_record.dart';
part 'persistence_memory/record.dart';
part 'persistence_memory/snapshot_record.dart';
const _snapshotRetention = Duration(days: 30);
final _epoch = DateTime.fromMillisecondsSinceEpoch(0, isUtc: true);