From f819e576cb7688a9f6f3f4d7fbad94f21147cb72 Mon Sep 17 00:00:00 2001 From: szsa Date: Fri, 4 Mar 2022 11:48:38 +0100 Subject: [PATCH] Creates dtos --- .../domain/team/Team.java | 12 ++++++++++- .../domain/team/dto/CreateTeamDto.java | 16 +++++++++++++++ .../domain/team/dto/GetTeamDto.java | 17 ++++++++++++++++ .../domain/time_entry/TimeEntry.java | 13 ++++++++++++ .../time_entry/dto/CreateTimeEntryDto.java | 19 ++++++++++++++++++ .../time_entry/dto/GetTimeEntryDto.java | 20 +++++++++++++++++++ .../domain/user/User.java | 12 +++++++++++ .../domain/user/dto/CreateUserDto.java | 16 +++++++++++++++ .../domain/user/dto/GetUserDto.java | 16 +++++++++++++++ 9 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/team/dto/CreateTeamDto.java create mode 100644 src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/team/dto/GetTeamDto.java create mode 100644 src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/time_entry/dto/CreateTimeEntryDto.java create mode 100644 src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/time_entry/dto/GetTimeEntryDto.java create mode 100644 src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/user/dto/CreateUserDto.java create mode 100644 src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/user/dto/GetUserDto.java 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 889bdad..c52fa95 100644 --- a/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/team/Team.java +++ b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/team/Team.java @@ -4,6 +4,7 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import net.szymonsawicki.reactivetimesheetapp.domain.team.dto.GetTeamDto; import net.szymonsawicki.reactivetimesheetapp.domain.user.User; import java.util.List; @@ -13,8 +14,17 @@ import java.util.List; @Builder @EqualsAndHashCode public class Team { + String id; String name; User lead; - List mambers; + List members; + + public GetTeamDto toGetTeamDto() { + return new GetTeamDto( + id, + name, + lead, + members); + } } 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 new file mode 100644 index 0000000..0450327 --- /dev/null +++ b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/team/dto/CreateTeamDto.java @@ -0,0 +1,16 @@ +package net.szymonsawicki.reactivetimesheetapp.domain.team.dto; + +import net.szymonsawicki.reactivetimesheetapp.domain.team.Team; +import net.szymonsawicki.reactivetimesheetapp.domain.user.User; + +import java.util.List; + +public record CreateTeamDto(String name, User lead, List members) { + public Team toTeam() { + return Team.builder() + .name(name) + .lead(lead) + .members(members) + .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 new file mode 100644 index 0000000..2ec45fe --- /dev/null +++ b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/team/dto/GetTeamDto.java @@ -0,0 +1,17 @@ +package net.szymonsawicki.reactivetimesheetapp.domain.team.dto; + +import net.szymonsawicki.reactivetimesheetapp.domain.team.Team; +import net.szymonsawicki.reactivetimesheetapp.domain.user.User; + +import java.util.List; + +public record GetTeamDto(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/domain/time_entry/TimeEntry.java b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/time_entry/TimeEntry.java index 1562ad2..972727a 100644 --- a/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/time_entry/TimeEntry.java +++ b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/time_entry/TimeEntry.java @@ -4,6 +4,7 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import net.szymonsawicki.reactivetimesheetapp.domain.time_entry.dto.GetTimeEntryDto; import net.szymonsawicki.reactivetimesheetapp.domain.time_entry.type.Category; import java.time.LocalDate; @@ -14,9 +15,21 @@ import java.time.LocalTime; @Builder @EqualsAndHashCode public class TimeEntry { + + String id; LocalDate date; LocalTime timeFrom; LocalTime timeTo; Category category; String description; + + GetTimeEntryDto toGetTimeEntryDto() { + return new GetTimeEntryDto( + id, + date, + timeFrom, + timeTo, + category, + description); + } } diff --git a/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/time_entry/dto/CreateTimeEntryDto.java b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/time_entry/dto/CreateTimeEntryDto.java new file mode 100644 index 0000000..7291300 --- /dev/null +++ b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/time_entry/dto/CreateTimeEntryDto.java @@ -0,0 +1,19 @@ +package net.szymonsawicki.reactivetimesheetapp.domain.time_entry.dto; + +import net.szymonsawicki.reactivetimesheetapp.domain.time_entry.TimeEntry; +import net.szymonsawicki.reactivetimesheetapp.domain.time_entry.type.Category; + +import java.time.LocalDate; +import java.time.LocalTime; + +public record CreateTimeEntryDto(LocalDate date, LocalTime timeFrom, LocalTime timeTo, Category category, String description) { + TimeEntry toTimeEntry() { + return TimeEntry.builder() + .date(date) + .timeFrom(timeFrom) + .timeTo(timeTo) + .category(category) + .description(description) + .build(); + } +} diff --git a/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/time_entry/dto/GetTimeEntryDto.java b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/time_entry/dto/GetTimeEntryDto.java new file mode 100644 index 0000000..711c6a7 --- /dev/null +++ b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/time_entry/dto/GetTimeEntryDto.java @@ -0,0 +1,20 @@ +package net.szymonsawicki.reactivetimesheetapp.domain.time_entry.dto; + +import net.szymonsawicki.reactivetimesheetapp.domain.time_entry.TimeEntry; +import net.szymonsawicki.reactivetimesheetapp.domain.time_entry.type.Category; + +import java.time.LocalDate; +import java.time.LocalTime; + +public record GetTimeEntryDto(String id, LocalDate date, LocalTime timeFrom, LocalTime timeTo, Category category, String description) { + TimeEntry toTimeEntry() { + return TimeEntry.builder() + .id(id) + .date(date) + .timeFrom(timeFrom) + .timeTo(timeTo) + .category(category) + .description(description) + .build(); + } +} diff --git a/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/user/User.java b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/user/User.java index dd88ac3..50fff77 100644 --- a/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/user/User.java +++ b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/user/User.java @@ -4,6 +4,7 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import net.szymonsawicki.reactivetimesheetapp.domain.user.dto.GetUserDto; import net.szymonsawicki.reactivetimesheetapp.domain.user.type.Role; @AllArgsConstructor @@ -11,8 +12,19 @@ import net.szymonsawicki.reactivetimesheetapp.domain.user.type.Role; @Builder @EqualsAndHashCode public class User { + + String id; String username; String password; Role role; String teamId; + + GetUserDto toGetUserDto() { + return new GetUserDto( + id, + username, + password, + role, + teamId); + } } diff --git a/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/user/dto/CreateUserDto.java b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/user/dto/CreateUserDto.java new file mode 100644 index 0000000..1ecfb32 --- /dev/null +++ b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/user/dto/CreateUserDto.java @@ -0,0 +1,16 @@ +package net.szymonsawicki.reactivetimesheetapp.domain.user.dto; + +import net.szymonsawicki.reactivetimesheetapp.domain.user.User; +import net.szymonsawicki.reactivetimesheetapp.domain.user.type.Role; + +public record CreateUserDto(String username, String password, String passwordConfirmation, Role role, String teamId) { + User toUser() { + return User.builder() + .username(username) + .password(password) + .role(role) + .teamId(teamId) + .build(); + } +} + diff --git a/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/user/dto/GetUserDto.java b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/user/dto/GetUserDto.java new file mode 100644 index 0000000..e5169fa --- /dev/null +++ b/src/main/java/net/szymonsawicki/reactivetimesheetapp/domain/user/dto/GetUserDto.java @@ -0,0 +1,16 @@ +package net.szymonsawicki.reactivetimesheetapp.domain.user.dto; + +import net.szymonsawicki.reactivetimesheetapp.domain.user.User; +import net.szymonsawicki.reactivetimesheetapp.domain.user.type.Role; + +public record GetUserDto(String id, String username, String password, Role role, String teamId) { + User toUser() { + return User.builder() + .id(id) + .username(username) + .password(password) + .role(role) + .teamId(teamId) + .build(); + } +}