Add fields to user entity.

This commit is contained in:
Florian THIERRY
2024-03-14 18:17:03 +01:00
parent 9fcfc04117
commit 50b305c3cd
14 changed files with 174 additions and 4 deletions

View File

@@ -16,6 +16,8 @@ import org.codiki.domain.picture.exception.PictureUploadException;
import org.codiki.domain.publication.exception.PublicationEditionException;
import org.codiki.domain.publication.exception.PublicationNotFoundException;
import org.codiki.domain.publication.exception.PublicationUpdateForbiddenException;
import org.codiki.domain.user.exception.UserAlreadyExistsException;
import org.codiki.domain.user.exception.UserCreationException;
import org.springframework.http.HttpStatus;
import org.springframework.http.ProblemDetail;
import org.springframework.web.bind.annotation.ExceptionHandler;
@@ -30,7 +32,9 @@ public class GlobalControllerExceptionHandler extends ResponseEntityExceptionHan
CategoryNotFoundException.class,
LoginFailureException.class,
PublicationEditionException.class,
PictureUploadException.class
PictureUploadException.class,
UserAlreadyExistsException.class,
UserCreationException.class
})
public ProblemDetail handleBadRequestExceptions(Exception exception) {
return buildProblemDetail(BAD_REQUEST, exception);

View File

@@ -2,6 +2,7 @@ package org.codiki.exposition.user;
import java.util.List;
import static org.springframework.http.HttpStatus.CREATED;
import org.codiki.application.security.annotation.AllowedToAdmins;
import org.codiki.application.security.annotation.AllowedToAnonymous;
import org.codiki.application.user.UserUseCases;
@@ -10,10 +11,13 @@ import org.codiki.domain.user.model.UserAuthenticationData;
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.http.HttpStatus;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
@RestController
@@ -43,4 +47,10 @@ public class UserController {
UserAuthenticationData userAuthenticationData = userUseCases.authenticate(request.refreshTokenValue());
return new LoginResponse(userAuthenticationData);
}
@PostMapping
@ResponseStatus(CREATED)
public void signIn(@RequestBody SignInRequestDto request) {
userUseCases.createUser(request.pseudo(), request.email(), request.password());
}
}

View File

@@ -0,0 +1,8 @@
package org.codiki.exposition.user.model;
public record SignInRequestDto(
String pseudo,
String email,
String password
) {
}