Files
UniVerse/backend/UniVerse.Application/Interfaces/IScheduleSyncService.cs
T

26 lines
1.0 KiB
C#

using UniVerse.Application.DTOs.Sync;
namespace UniVerse.Application.Interfaces;
public interface IScheduleSyncService
{
Task<SyncResultDto> SyncScheduleAsync(SyncScheduleRequest request);
Task<SyncResultDto> SyncRoomsAsync();
Task<List<EmployeeDto>> SearchEmployeesAsync(string fullname);
Task<SyncStatusDto> GetLastSyncStatusAsync();
}
public interface IModeusApiClient
{
Task<ModeusEventsResponse> SearchEventsAsync(SyncScheduleRequest request);
Task<ModeusRoomsResponse> SearchRoomsAsync();
Task<List<ModeusEmployee>> SearchEmployeeAsync(string fullname);
}
// Modeus API response models
public record ModeusEvent(string Id, string Name, DateTime StartsAt, DateTime EndsAt, string? RoomId, string? TeacherId, string? TypeId);
public record ModeusEventsResponse(List<ModeusEvent> Events);
public record ModeusRoom(string Id, string Name, string? Building);
public record ModeusRoomsResponse(List<ModeusRoom> Rooms);
public record ModeusEmployee(string? Id, string FullName, string? Department);