using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using domain.Models.ResponseModels; using domain.UseCase; using Microsoft.AspNetCore.Mvc; using presence.domain.Models; using presence.domain.UseCase; namespace presence_api.Controllers.UserController; [ApiController] [Route("api/[admin]")] public class AdminController: ControllerBase { private readonly AdminUseCase _adminUseCase; public AdminController(AdminUseCase adminUseCase) { _adminUseCase = adminUseCase; } [HttpPost("~/AddStudents")] public ActionResult AddStudents([FromQuery] string GroupName, [FromQuery] List students) { return _adminUseCase.AddStudents(GroupName, students) ? "Данные группы и студентов добавлены": "Данные не добавлены"; } [HttpDelete("~/DeleteUserFromGroup")] public ActionResult DeleteUserFromGroup([FromQuery] int userId, [FromQuery] int groupId) { return _adminUseCase.DeleteUserFromGroup(userId, groupId) ? "Юзер удален": "Юзер не удален"; } [HttpDelete("~/DeleteGroup")] public ActionResult DeleteGroup([FromQuery] int groupId) { return _adminUseCase.DeleteGroup(groupId) ? "Группа удалена" : "Группа не удалена"; } // [HttpDelete("~/ClearPresence")] // public ActionResult ClearPresence() // { // } [HttpGet("~/GetAllGroupsWithStudents")] public ActionResult> GetAllGroupsWithStudents() { return Ok(_adminUseCase.GetAllGroupsWithStudents()); } [HttpGet("~/GetStudentInfo")] public ActionResult GetStudentInfo([FromQuery] int userId) { if (userId <= 0) { return BadRequest("Некорректный идентификатор пользователя."); } var studentInfo = _adminUseCase.GetStudentInfo(userId); if (studentInfo == null) { return NotFound("Студент не найден."); } return Ok(studentInfo); } }