using LehrerApp.Core.Models;
namespace LehrerApp.Core.Models;
///
/// Lesbarer Snapshot der lokalen Datenbank für die WebApp.
/// Wird periodisch vom Desktop exportiert und auf dem Server hinterlegt.
///
/// Bewusst NICHT enthalten:
/// - Documentation (vertraulich, bleibt lokal)
/// - Vollständige Notizen (nur Noten-Übersichten)
/// - Sync-interne Daten
///
public class ReadableSnapshot
{
public DateTime ExportedAt { get; set; } = DateTime.UtcNow;
public string SchoolYear { get; set; } = "";
public List Students { get; set; } = [];
public List Groups { get; set; } = [];
public List Enrollments { get; set; } = [];
// Klausuren mit Aufgaben aber ohne Ergebnisse
public List Exams { get; set; } = [];
// Ergebnisse separat – kann bei Bedarf weggelassen werden
public List ExamResults { get; set; } = [];
// Sonstige Noten
public List Grades { get; set; } = [];
// Unterrichtsplanung
public List Units { get; set; } = [];
public List Lessons { get; set; } = [];
// Aufgaben (kein Zeiterfassungs-Detail)
public List Tasks { get; set; } = [];
///
/// Metadaten für die WebApp – wie alt ist der Snapshot?
///
public SnapshotMeta Meta { get; set; } = new();
}
public class SnapshotMeta
{
public int StudentCount { get; set; }
public int GroupCount { get; set; }
public int ExamCount { get; set; }
public DateTime OldestData { get; set; }
public string ExportedByDevice { get; set; } = "";
}