Server-Side Rendering - II

Let's continue the server-side rendering by adding and editing a team.

We'll cover the following...

Create team

If we test the code now, the browser should look like this when adding a team:

Edit team

The code will also work for editing a team since it only needs the server-side Thymeleaf rendering we’ve already implemented:

However, as we can’t yet add players through the UI, we need to generate them when seeding the database.

Press + to interact
Streams.forEachPair(generatedUsers.stream().limit(TEAM_NAMES.length),
Arrays.stream(TEAM_NAMES),
(user, teamName) -> {
Set<TeamPlayerParameters> players = Set.of(
new TeamPlayerParameters(randomUser(generatedUsers),
PlayerPosition.SMALL_FORWARD),
new TeamPlayerParameters(randomUser(generatedUsers),
PlayerPosition.SHOOTING_GUARD),
new TeamPlayerParameters(randomUser(generatedUsers),
PlayerPosition.CENTER)
);
CreateTeamParameters teamParameters = new CreateTeamParameters(teamName,
user.getId(),
players);
teamService.createTeam(teamParameters);
});

On line 8, we add a random user as a SMALL_FORWARD to the team.

To make this code work, we need to update TeamService and TeamServiceImpl ...