|
|
@ -27,16 +27,19 @@ public class UsersController(IUserService users, ITeamService teams, ITacticServ
|
|
|
|
return (await users.GetUser(userId))!;
|
|
|
|
return (await users.GetUser(userId))!;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public record GetUserDataResponse(Team[] Teams, TacticDto[] Tactics);
|
|
|
|
public record GetUserDataResponse(Team[] Teams, TacticDto[] Tactics, TacticDto[] SharedTactics);
|
|
|
|
|
|
|
|
|
|
|
|
[Authorize]
|
|
|
|
[Authorize]
|
|
|
|
[HttpGet("/user-data")]
|
|
|
|
[HttpGet("/user-data")]
|
|
|
|
public async Task<GetUserDataResponse> GetUserData()
|
|
|
|
public async Task<GetUserDataResponse> GetUserData()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var userId = accessor.CurrentUserId(HttpContext);
|
|
|
|
var userId = accessor.CurrentUserId(HttpContext);
|
|
|
|
var userTeams = await teams.ListTeamsOf(userId);
|
|
|
|
var userTeams = await teams.ListTeamsOf(userId).ToArray();
|
|
|
|
var userTactics = await tactics.ListTacticsOf(userId);
|
|
|
|
var userTactics = await tactics.ListTacticsOf(userId).Select(t => t.ToDto()).ToArray();
|
|
|
|
return new GetUserDataResponse(userTeams.ToArray(), userTactics.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);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|