diff --git a/backend/codiki-exposition/src/main/java/org/codiki/exposition/user/UserController.java b/backend/codiki-exposition/src/main/java/org/codiki/exposition/user/UserController.java index 87a7b49..3c3dd7f 100644 --- a/backend/codiki-exposition/src/main/java/org/codiki/exposition/user/UserController.java +++ b/backend/codiki-exposition/src/main/java/org/codiki/exposition/user/UserController.java @@ -12,6 +12,8 @@ import org.codiki.exposition.user.model.LoginRequest; import org.codiki.exposition.user.model.LoginResponse; import org.codiki.exposition.user.model.RefreshTokenRequest; import org.codiki.exposition.user.model.SignInRequestDto; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -23,9 +25,14 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/api/users") public class UserController { private final UserUseCases userUseCases; + private final boolean signupEnabled; - public UserController(UserUseCases userUseCases) { + public UserController( + UserUseCases userUseCases, + @Value("${application.signup.enabled:true}") boolean signupEnabled + ) { this.userUseCases = userUseCases; + this.signupEnabled = signupEnabled; } @PostMapping("/login") @@ -49,7 +56,12 @@ public class UserController { @PostMapping @ResponseStatus(CREATED) - public void signIn(@RequestBody SignInRequestDto request) { - userUseCases.createUser(request.pseudo(), request.email(), request.password()); + public ResponseEntity signIn(@RequestBody SignInRequestDto request) { + if (signupEnabled) { + userUseCases.createUser(request.pseudo(), request.email(), request.password()); + return ResponseEntity.status(CREATED).build(); + } else { + return ResponseEntity.notFound().build(); + } } } diff --git a/backend/codiki-launcher/src/main/resources/application.yml b/backend/codiki-launcher/src/main/resources/application.yml index 78889d9..196381a 100644 --- a/backend/codiki-launcher/src/main/resources/application.yml +++ b/backend/codiki-launcher/src/main/resources/application.yml @@ -1,4 +1,6 @@ application: + signup: + enabled: true security: jwt: secretKey: "secret-key" diff --git a/docker-compose.yml b/docker-compose.yml index 90972fa..c79c19f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -20,6 +20,7 @@ services: container_name: "codiki-backend" environment: - "SPRING_PROFILES_ACTIVE=prod" + - "APPLICATION_SIGNUP_ENABLED=false" ports: - "50011:8080" volumes: