Skip to content

Commit fa45884

Browse files
authored
Merge pull request #3 from java-backend-foundations/feature/business-logic
feature: 3-business-logic
2 parents 2bce4e9 + 935c595 commit fa45884

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1269
-4
lines changed

pom.xml

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
</scm>
2929
<properties>
3030
<java.version>21</java.version>
31+
<org.mapstruct.version>1.5.5.Final</org.mapstruct.version>
3132
</properties>
3233
<dependencies>
3334
<dependency>
@@ -55,6 +56,7 @@
5556
<dependency>
5657
<groupId>org.projectlombok</groupId>
5758
<artifactId>lombok</artifactId>
59+
<version>1.18.30</version>
5860
<scope>provided</scope>
5961
</dependency>
6062
<dependency>
@@ -65,15 +67,30 @@
6567
<dependency>
6668
<groupId>com.querydsl</groupId>
6769
<artifactId>querydsl-apt</artifactId>
68-
<version>5.0.0</version>
70+
<version>5.1.0</version>
6971
<classifier>jakarta</classifier>
7072
<scope>provided</scope>
7173
</dependency>
7274
<dependency>
7375
<groupId>com.querydsl</groupId>
7476
<artifactId>querydsl-jpa</artifactId>
7577
<classifier>jakarta</classifier>
76-
<version>5.0.0</version>
78+
<version>5.1.0</version>
79+
</dependency>
80+
<dependency>
81+
<groupId>org.mapstruct</groupId>
82+
<artifactId>mapstruct</artifactId>
83+
<version>${org.mapstruct.version}</version>
84+
</dependency>
85+
<dependency>
86+
<groupId>org.mapstruct</groupId>
87+
<artifactId>mapstruct-processor</artifactId>
88+
<version>${org.mapstruct.version}</version>
89+
<scope>provided</scope>
90+
</dependency>
91+
<dependency>
92+
<groupId>org.springframework.boot</groupId>
93+
<artifactId>spring-boot-starter-validation</artifactId>
7794
</dependency>
7895
</dependencies>
7996

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
package com.capgemini.training.appointmentbooking.common.datatype;
22

33
public enum AppointmentStatus {
4-
SCHEDULED, CANCELLED, COMPLETED;
4+
SCHEDULED, CANCELLED, COMPLETED
55
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.capgemini.training.appointmentbooking.common.exception;
2+
3+
4+
public class ConflictedAppointmentException extends RuntimeException {
5+
6+
public ConflictedAppointmentException() {
7+
super("The appointment conflicts with another scheduled appointment.");
8+
}
9+
10+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.capgemini.training.appointmentbooking.common.to;
2+
3+
import jakarta.validation.constraints.NotNull;
4+
import lombok.Builder;
5+
6+
import java.time.Instant;
7+
8+
9+
@Builder
10+
public record AppointmentBookingEto(@NotNull Long clientId, @NotNull Long treatmentId, @NotNull Long specialistId,
11+
@NotNull Instant dateTime) {
12+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.capgemini.training.appointmentbooking.common.to;
2+
3+
import jakarta.validation.Valid;
4+
import lombok.Builder;
5+
6+
7+
@Builder
8+
public record AppointmentCto(@Valid AppointmentEto appointmentEto, @Valid ClientEto clientEto,
9+
@Valid TreatmentCto treatmentCto) {
10+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.capgemini.training.appointmentbooking.common.to;
2+
3+
import com.capgemini.training.appointmentbooking.common.datatype.AppointmentStatus;
4+
import jakarta.validation.constraints.NotNull;
5+
import lombok.Builder;
6+
7+
import java.time.Instant;
8+
9+
10+
@Builder
11+
public record AppointmentEto(@NotNull Long id, @NotNull Instant dateTime, @NotNull AppointmentStatus status) {
12+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.capgemini.training.appointmentbooking.common.to;
2+
3+
import jakarta.validation.Valid;
4+
import lombok.Builder;
5+
6+
7+
@Builder
8+
public record ClientCto(@Valid ClientEto clientEto, @Valid UserEto userEto) {
9+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.capgemini.training.appointmentbooking.common.to;
2+
3+
import jakarta.validation.constraints.NotNull;
4+
import lombok.Builder;
5+
6+
7+
@Builder
8+
public record ClientEto(@NotNull Long id) {
9+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.capgemini.training.appointmentbooking.common.to;
2+
3+
import jakarta.validation.Valid;
4+
import lombok.Builder;
5+
6+
7+
@Builder
8+
public record SpecialistCto(@Valid SpecialistEto specialistEto, @Valid UserEto userEto) {
9+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.capgemini.training.appointmentbooking.common.to;
2+
3+
import com.capgemini.training.appointmentbooking.common.datatype.Specialization;
4+
import jakarta.validation.Valid;
5+
import jakarta.validation.constraints.NotNull;
6+
import lombok.Builder;
7+
8+
9+
@Builder
10+
public record SpecialistEto(@NotNull Long id, @Valid Specialization specialization) {
11+
}

0 commit comments

Comments
 (0)