presence_sample_v2/Presence.Api/Controllers/GroupController.cs

38 lines
1.1 KiB
C#
Raw Normal View History

2024-11-22 12:18:04 +00:00
using domain.Service;
using domain.UseCase;
using Microsoft.AspNetCore.Mvc;
using Presence.Api.Response;
namespace Presence.Api.Controllers
{
[ApiController]
[Route("api/[contrtoller]")]
public class GroupController: ControllerBase
{
private readonly IGroupUseCase _groupService;
public GroupController(IGroupUseCase groupService) {
_groupService = groupService;
}
[HttpGet("/group")]
2024-11-25 10:47:17 +00:00
public async Task<ActionResult<GroupResponse>> GetAllGroups() {
2024-11-22 12:18:04 +00:00
2024-11-25 10:47:17 +00:00
var result = await _groupService
.GetGroupsWithStudentsAsync();
var response = result
2024-11-22 12:18:04 +00:00
.Select(group => new GroupResponse {
Id = group.Id,
Name = group.Name,
Users = group.Users?.Select(
user => new UserResponse {
Guid = user.Guid,
Name = user.Name,
2024-11-25 10:47:17 +00:00
}).ToList()
2024-11-22 12:18:04 +00:00
}).ToList();
return Ok(result);
}
}
}