using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using UniVerse.Application.DTOs.Sync; using UniVerse.Application.Interfaces; namespace UniVerse.Api.Controllers; [ApiController] [Route("api/v1/sync")] [Authorize(Roles = "Admin")] public class SyncController : ControllerBase { private readonly IScheduleSyncService _sync; public SyncController(IScheduleSyncService sync) => _sync = sync; [HttpPost("schedule")] public async Task> SyncSchedule([FromBody] SyncScheduleRequest req) => Ok(await _sync.SyncScheduleAsync(req)); [HttpGet("status")] public async Task> Status() => Ok(await _sync.GetLastSyncStatusAsync()); [HttpPost("rooms")] public async Task> SyncRooms() => Ok(await _sync.SyncRoomsAsync()); [HttpPost("employees")] public async Task SearchEmployees([FromQuery] string fullname) => Ok(await _sync.SearchEmployeesAsync(fullname)); }