diff --git a/API/Controllers/UsersController.cs b/API/Controllers/UsersController.cs index dbdc20a..46f5335 100644 --- a/API/Controllers/UsersController.cs +++ b/API/Controllers/UsersController.cs @@ -27,16 +27,19 @@ public class UsersController(IUserService users, ITeamService teams, ITacticServ return (await users.GetUser(userId))!; } - public record GetUserDataResponse(Team[] Teams, TacticDto[] Tactics); + public record GetUserDataResponse(Team[] Teams, TacticDto[] Tactics, TacticDto[] SharedTactics); [Authorize] [HttpGet("/user-data")] public async Task GetUserData() { var userId = accessor.CurrentUserId(HttpContext); - var userTeams = await teams.ListTeamsOf(userId); - var userTactics = await tactics.ListTacticsOf(userId); - return new GetUserDataResponse(userTeams.ToArray(), userTactics.Select(t => t.ToDto()).ToArray()); + var userTeams = await teams.ListTeamsOf(userId).ToArray(); + var userTactics = await tactics.ListTacticsOf(userId).Select(t => t.ToDto()).ToArray(); + var sharedTacticsToUser = await users.GetSharedTacticsToUser(userId); + var sharedTacticsToTeam = await teams.GetSharedTacticsToTeams(userId); + var sharedTactics = sharedTacticsToTeam.Concat(sharedTacticsToUser).Select(t => t.ToDto()).ToArray(); + return new GetUserDataResponse(userTeams, userTactics, sharedTactics); }