namespace UniVerse.Application.DTOs.Sync;

public record SyncScheduleRequest(
    IReadOnlyList<string>? SpecialtyCode,
    DateTime? TimeMin,
    DateTime? TimeMax,
    IReadOnlyList<string>? TypeId,
    int? Size = null,
    IReadOnlyList<string>? RoomId = null,
    IReadOnlyList<string>? AttendeePersonId = null,
    IReadOnlyList<string>? CourseUnitRealizationId = null,
    IReadOnlyList<string>? CycleRealizationId = null,
    IReadOnlyList<int>? LearningStartYear = null,
    IReadOnlyList<string>? ProfileName = null,
    IReadOnlyList<string>? CurriculumId = null
);

public record SyncResultDto(
    int Created,
    int Updated,
    int Skipped,
    string? Error,
    IReadOnlyList<string>? Details = null
);

public record SyncStatusDto(DateTime? LastSyncAt, string Status, SyncResultDto? LastResult);

public record EmployeeDto(string? Id, string FullName, string? Department);
