diff --git a/src/main/java/net/szymonsawicki/reactivetimesheetapp/application/service/TeamService.java b/src/main/java/net/szymonsawicki/reactivetimesheetapp/application/service/TeamService.java index 6e3edef..b511fbf 100644 --- a/src/main/java/net/szymonsawicki/reactivetimesheetapp/application/service/TeamService.java +++ b/src/main/java/net/szymonsawicki/reactivetimesheetapp/application/service/TeamService.java @@ -89,8 +89,7 @@ public class TeamService { // then I'm deleting team and returning mono of DTO - teamRepository.delete(TeamUtils.toId.apply(team)); - return Mono.just(team.toGetTeamDto()); + return teamRepository.delete(teamId).map(Team::toGetTeamDto); }) .switchIfEmpty(Mono.error(new TeamServiceException("cannot find team to delete"))); } diff --git a/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/team/Team.java b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/team/Team.java index 5eb5d74..9b3bd89 100644 --- a/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/team/Team.java +++ b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/team/Team.java @@ -18,14 +18,12 @@ public class Team { String id; String name; - User lead; List members; public Team withMembers(List newMembers) { return Team.builder() .id(id) .name(name) - .lead(lead) .members(newMembers) .build(); } @@ -34,7 +32,6 @@ public class Team { return TeamEntity.builder() .id(id) .name(name) - .lead(lead) .members(members) .build(); } @@ -43,7 +40,6 @@ public class Team { return new GetTeamDto( id, name, - lead, - members); + members.stream().map(User::toGetUserDto).toList()); } } diff --git a/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/team/dto/CreateTeamDto.java b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/team/dto/CreateTeamDto.java index 69eb370..faa98eb 100644 --- a/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/team/dto/CreateTeamDto.java +++ b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/team/dto/CreateTeamDto.java @@ -1,16 +1,14 @@ package net.szymonsawicki.reactivetimesheetapp.domain.team.dto; import net.szymonsawicki.reactivetimesheetapp.domain.team.Team; -import net.szymonsawicki.reactivetimesheetapp.domain.user.User; import net.szymonsawicki.reactivetimesheetapp.domain.user.dto.GetUserDto; import java.util.List; -public record CreateTeamDto(String name, User lead, List members) { +public record CreateTeamDto(String name, List members) { public Team toTeam() { return Team.builder() .name(name) - .lead(lead) .members(members.stream().map(GetUserDto::toUser).toList()) .build(); } diff --git a/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/team/dto/GetTeamDto.java b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/team/dto/GetTeamDto.java index 910ebd5..0ccee4a 100644 --- a/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/team/dto/GetTeamDto.java +++ b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/team/dto/GetTeamDto.java @@ -1,18 +1,17 @@ package net.szymonsawicki.reactivetimesheetapp.domain.team.dto; import net.szymonsawicki.reactivetimesheetapp.domain.team.Team; -import net.szymonsawicki.reactivetimesheetapp.domain.user.User; +import net.szymonsawicki.reactivetimesheetapp.domain.user.dto.GetUserDto; import java.util.List; -public record GetTeamDto(String id, String name, User lead, List members) { +public record GetTeamDto(String id, String name, List members) { public Team toTeam() { return Team.builder() .id(id) .name(name) - .lead(lead) - .members(members) + .members(members.stream().map(GetUserDto::toUser).toList()) .build(); } } diff --git a/src/main/java/net/szymonsawicki/reactivetimesheetapp/infrastructure/persistence/entity/TeamEntity.java b/src/main/java/net/szymonsawicki/reactivetimesheetapp/infrastructure/persistence/entity/TeamEntity.java index a8f4522..ebdff0c 100644 --- a/src/main/java/net/szymonsawicki/reactivetimesheetapp/infrastructure/persistence/entity/TeamEntity.java +++ b/src/main/java/net/szymonsawicki/reactivetimesheetapp/infrastructure/persistence/entity/TeamEntity.java @@ -22,14 +22,12 @@ public class TeamEntity { String id; String name; - User lead; List members; public Team toTeam() { return Team.builder() .id(id) .name(name) - .lead(lead) .members(members) .build(); } diff --git a/src/main/java/net/szymonsawicki/reactivetimesheetapp/web/handler/UserHandlers.java b/src/main/java/net/szymonsawicki/reactivetimesheetapp/web/handler/UserHandlers.java index 5c41aab..e2284ea 100644 --- a/src/main/java/net/szymonsawicki/reactivetimesheetapp/web/handler/UserHandlers.java +++ b/src/main/java/net/szymonsawicki/reactivetimesheetapp/web/handler/UserHandlers.java @@ -23,7 +23,7 @@ public class UserHandlers { public Mono findByUsername(ServerRequest serverRequest) { var username = serverRequest.pathVariable("username"); - return GlobalRoutingHandler.doRequest(userService.findById(username), HttpStatus.OK); + return GlobalRoutingHandler.doRequest(userService.findByUsername(username), HttpStatus.OK); } public Mono createUser(ServerRequest serverRequest) {