Skip to content

Commit f172bf0

Browse files
committed
refactor(core): unify auth and scheduling modules into single monolith
1 parent a2c20b3 commit f172bf0

79 files changed

Lines changed: 289 additions & 327 deletions

File tree

Some content is hidden

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

pom.xml

Lines changed: 3 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
<relativePath/> <!-- lookup parent from repository -->
1010
</parent>
1111
<groupId>com.soupulsar</groupId>
12-
<artifactId>soupulsar-modulith</artifactId>
12+
<artifactId>soupulsar-monolith</artifactId>
1313
<version>0.0.1-SNAPSHOT</version>
14-
<name>SouPulsar Modulith</name>
15-
<description>Modulith Api for SouPulsar </description>
14+
<name>SouPulsar Monolith</name>
15+
<description>Monolith Api for SouPulsar </description>
1616
<url/>
1717
<licenses>
1818
<license/>
@@ -28,7 +28,6 @@
2828
</scm>
2929
<properties>
3030
<java.version>21</java.version>
31-
<spring-modulith.version>1.4.1</spring-modulith.version>
3231
</properties>
3332
<dependencies>
3433
<dependency>
@@ -51,15 +50,6 @@
5150
<groupId>org.springframework.boot</groupId>
5251
<artifactId>spring-boot-starter-web</artifactId>
5352
</dependency>
54-
<dependency>
55-
<groupId>org.springframework.modulith</groupId>
56-
<artifactId>spring-modulith-starter-core</artifactId>
57-
</dependency>
58-
<dependency>
59-
<groupId>org.springframework.modulith</groupId>
60-
<artifactId>spring-modulith-starter-jpa</artifactId>
61-
</dependency>
62-
6353
<dependency>
6454
<groupId>org.springframework.boot</groupId>
6555
<artifactId>spring-boot-devtools</artifactId>
@@ -71,16 +61,6 @@
7161
<artifactId>h2</artifactId>
7262
<scope>runtime</scope>
7363
</dependency>
74-
<dependency>
75-
<groupId>org.springframework.modulith</groupId>
76-
<artifactId>spring-modulith-actuator</artifactId>
77-
<scope>runtime</scope>
78-
</dependency>
79-
<dependency>
80-
<groupId>org.springframework.modulith</groupId>
81-
<artifactId>spring-modulith-observability</artifactId>
82-
<scope>runtime</scope>
83-
</dependency>
8464
<dependency>
8565
<groupId>org.mockito</groupId>
8666
<artifactId>mockito-core</artifactId>
@@ -97,11 +77,6 @@
9777
<artifactId>spring-boot-starter-test</artifactId>
9878
<scope>test</scope>
9979
</dependency>
100-
<dependency>
101-
<groupId>org.springframework.modulith</groupId>
102-
<artifactId>spring-modulith-starter-test</artifactId>
103-
<scope>test</scope>
104-
</dependency>
10580
<dependency>
10681
<groupId>org.springframework.security</groupId>
10782
<artifactId>spring-security-test</artifactId>
@@ -126,13 +101,6 @@
126101
</dependencies>
127102
<dependencyManagement>
128103
<dependencies>
129-
<dependency>
130-
<groupId>org.springframework.modulith</groupId>
131-
<artifactId>spring-modulith-bom</artifactId>
132-
<version>${spring-modulith.version}</version>
133-
<type>pom</type>
134-
<scope>import</scope>
135-
</dependency>
136104
</dependencies>
137105
</dependencyManagement>
138106

src/main/java/com/soupulsar/modulith/SouPulsarModulithApplication.java renamed to src/main/java/com/soupulsar/SouPulsarMonolithApplication.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
package com.soupulsar.modulith;
1+
package com.soupulsar;
22

33
import org.springframework.boot.SpringApplication;
44
import org.springframework.boot.autoconfigure.SpringBootApplication;
55

66
@SpringBootApplication
7-
public class SouPulsarModulithApplication {
7+
public class SouPulsarMonolithApplication {
88

99
public static void main(String[] args) {
10-
SpringApplication.run(SouPulsarModulithApplication.class, args);
10+
SpringApplication.run(SouPulsarMonolithApplication.class, args);
1111
}
1212

1313
}

src/main/java/com/soupulsar/modulith/auth/api/controllers/AuthController.java renamed to src/main/java/com/soupulsar/api/controllers/AuthController.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
package com.soupulsar.modulith.auth.api.controllers;
1+
package com.soupulsar.api.controllers;
22

3-
import com.soupulsar.modulith.auth.application.dto.AuthUserRequest;
4-
import com.soupulsar.modulith.auth.application.dto.AuthUserResponse;
5-
import com.soupulsar.modulith.auth.application.dto.RegistrationRequest;
6-
import com.soupulsar.modulith.auth.application.dto.RegistrationResponse;
7-
import com.soupulsar.modulith.auth.application.usecase.AuthenticateUserUseCase;
8-
import com.soupulsar.modulith.auth.application.usecase.RegistrationUseCase;
3+
import com.soupulsar.application.dto.request.AuthUserRequest;
4+
import com.soupulsar.application.dto.response.AuthUserResponse;
5+
import com.soupulsar.application.dto.request.RegistrationRequest;
6+
import com.soupulsar.application.dto.response.RegistrationResponse;
7+
import com.soupulsar.application.usecase.AuthenticateUserUseCase;
8+
import com.soupulsar.application.usecase.RegistrationUseCase;
99
import jakarta.validation.Valid;
1010
import lombok.RequiredArgsConstructor;
1111
import org.springframework.http.ResponseEntity;

src/main/java/com/soupulsar/modulith/scheduling/api/controllers/AvailabilityController.java renamed to src/main/java/com/soupulsar/api/controllers/AvailabilityController.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
package com.soupulsar.modulith.scheduling.api.controllers;
1+
package com.soupulsar.api.controllers;
22

3-
import com.soupulsar.modulith.scheduling.application.dto.CreateAvailabilityRequest;
4-
import com.soupulsar.modulith.scheduling.application.dto.CreateAvailabilityResponse;
5-
import com.soupulsar.modulith.scheduling.application.usecase.CreateAvailabilityUseCase;
3+
import com.soupulsar.application.dto.request.CreateAvailabilityRequest;
4+
import com.soupulsar.application.dto.response.CreateAvailabilityResponse;
5+
import com.soupulsar.application.usecase.availability.CreateAvailabilityUseCase;
66
import lombok.RequiredArgsConstructor;
77
import org.springframework.http.ResponseEntity;
88
import org.springframework.web.bind.annotation.PostMapping;

src/main/java/com/soupulsar/modulith/scheduling/api/controllers/SessionController.java renamed to src/main/java/com/soupulsar/api/controllers/SessionController.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
package com.soupulsar.modulith.scheduling.api.controllers;
1+
package com.soupulsar.api.controllers;
22

3-
import com.soupulsar.modulith.scheduling.application.dto.ScheduleSessionRequest;
4-
import com.soupulsar.modulith.scheduling.application.dto.ScheduleSessionResponse;
5-
import com.soupulsar.modulith.scheduling.application.dto.SessionResponse;
6-
import com.soupulsar.modulith.scheduling.application.usecase.CancelSessionUseCase;
7-
import com.soupulsar.modulith.scheduling.application.usecase.ScheduleSessionUseCase;
3+
import com.soupulsar.application.dto.request.ScheduleSessionRequest;
4+
import com.soupulsar.application.dto.response.ScheduleSessionResponse;
5+
import com.soupulsar.application.dto.response.SessionResponse;
6+
import com.soupulsar.application.usecase.session.CancelSessionUseCase;
7+
import com.soupulsar.application.usecase.session.ScheduleSessionUseCase;
88
import lombok.RequiredArgsConstructor;
99
import org.springframework.http.ResponseEntity;
1010
import org.springframework.web.bind.annotation.*;
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package com.soupulsar.application.config;
2+
3+
import com.soupulsar.application.security.JwtService;
4+
import com.soupulsar.application.security.PasswordHasher;
5+
import com.soupulsar.application.usecase.AuthenticateUserUseCase;
6+
import com.soupulsar.application.usecase.RegistrationUseCase;
7+
import com.soupulsar.application.usecase.availability.CreateAvailabilityUseCase;
8+
import com.soupulsar.application.usecase.session.CancelSessionUseCase;
9+
import com.soupulsar.application.usecase.session.CompleteSessionUseCase;
10+
import com.soupulsar.application.usecase.session.ConfirmSessionUseCase;
11+
import com.soupulsar.application.usecase.session.ScheduleSessionUseCase;
12+
import com.soupulsar.domain.repository.*;
13+
import org.springframework.context.ApplicationEventPublisher;
14+
import org.springframework.context.annotation.Bean;
15+
import org.springframework.context.annotation.Configuration;
16+
17+
@Configuration
18+
public class UseCaseConfig {
19+
20+
@Bean
21+
public CreateAvailabilityUseCase createAvailabilityUseCase(AvailabilityRepository availabilityRepository) {
22+
return new CreateAvailabilityUseCase(availabilityRepository);
23+
}
24+
25+
@Bean
26+
public ScheduleSessionUseCase scheduleSessionUseCase(SessionRepository sessionRepository, AvailabilityRepository availabilityRepository, ApplicationEventPublisher publisher) {
27+
return new ScheduleSessionUseCase(sessionRepository, availabilityRepository, publisher);
28+
}
29+
30+
@Bean
31+
public ConfirmSessionUseCase confirmSessionUseCase(SessionRepository sessionRepository) {
32+
return new ConfirmSessionUseCase(sessionRepository);
33+
}
34+
35+
@Bean
36+
public CancelSessionUseCase cancelSessionUseCase(SessionRepository sessionRepository) {
37+
return new CancelSessionUseCase(sessionRepository);
38+
}
39+
40+
@Bean
41+
public CompleteSessionUseCase completeSessionUseCase(SessionRepository sessionRepository) {
42+
return new CompleteSessionUseCase(sessionRepository);
43+
}
44+
@Bean
45+
public AuthenticateUserUseCase authenticateUserUseCase(UserRepository userRepository, PasswordHasher passwordHasher, JwtService jwtService) {
46+
return new AuthenticateUserUseCase(userRepository, passwordHasher, jwtService);
47+
}
48+
49+
@Bean
50+
public RegistrationUseCase registrationUseCase(UserRepository userRepository, ClientProfileRepository clientProfileRepository,
51+
SpecialistProfileRepository specialistProfileRepository, PasswordHasher passwordHasher) {
52+
return new RegistrationUseCase(userRepository, clientProfileRepository, specialistProfileRepository,passwordHasher);
53+
}
54+
}

src/main/java/com/soupulsar/modulith/auth/application/dto/AuthUserRequest.java renamed to src/main/java/com/soupulsar/application/dto/request/AuthUserRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.soupulsar.modulith.auth.application.dto;
1+
package com.soupulsar.application.dto.request;
22

33
import jakarta.validation.constraints.Email;
44
import jakarta.validation.constraints.NotBlank;

src/main/java/com/soupulsar/modulith/scheduling/application/dto/CreateAvailabilityRequest.java renamed to src/main/java/com/soupulsar/application/dto/request/CreateAvailabilityRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.soupulsar.modulith.scheduling.application.dto;
1+
package com.soupulsar.application.dto.request;
22

33
import jakarta.validation.constraints.NotBlank;
44

src/main/java/com/soupulsar/modulith/auth/application/dto/RegistrationRequest.java renamed to src/main/java/com/soupulsar/application/dto/request/RegistrationRequest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package com.soupulsar.modulith.auth.application.dto;
1+
package com.soupulsar.application.dto.request;
22

3-
import com.soupulsar.modulith.auth.domain.model.enums.UserRole;
4-
import com.soupulsar.modulith.auth.domain.model.vo.Address;
5-
import com.soupulsar.modulith.auth.domain.model.vo.EmergencyContact;
6-
import com.soupulsar.modulith.auth.domain.model.vo.Presentation;
3+
import com.soupulsar.domain.model.enums.UserRole;
4+
import com.soupulsar.domain.model.vo.Address;
5+
import com.soupulsar.domain.model.vo.EmergencyContact;
6+
import com.soupulsar.domain.model.vo.Presentation;
77
import jakarta.validation.constraints.NotBlank;
88
import jakarta.validation.constraints.NotNull;
99
import org.hibernate.validator.constraints.br.CPF;

src/main/java/com/soupulsar/modulith/scheduling/application/dto/ScheduleSessionRequest.java renamed to src/main/java/com/soupulsar/application/dto/request/ScheduleSessionRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.soupulsar.modulith.scheduling.application.dto;
1+
package com.soupulsar.application.dto.request;
22

33
import jakarta.validation.constraints.NotBlank;
44

0 commit comments

Comments
 (0)