Implementation of publication update.
This commit is contained in:
@@ -1,12 +1,17 @@
|
||||
package org.codiki.exposition.configuration;
|
||||
|
||||
import static org.springframework.http.HttpStatus.BAD_REQUEST;
|
||||
import static org.springframework.http.HttpStatus.FORBIDDEN;
|
||||
import static org.springframework.http.HttpStatus.NOT_FOUND;
|
||||
import static org.springframework.http.HttpStatus.UNAUTHORIZED;
|
||||
import org.codiki.domain.category.exception.CategoryNotFoundException;
|
||||
import org.codiki.domain.exception.LoginFailureException;
|
||||
import org.codiki.domain.exception.RefreshTokenDoesNotExistException;
|
||||
import org.codiki.domain.exception.RefreshTokenExpiredException;
|
||||
import org.codiki.domain.exception.UserDoesNotExistException;
|
||||
import org.codiki.domain.publication.exception.PublicationEditionException;
|
||||
import org.codiki.domain.publication.exception.PublicationNotFoundException;
|
||||
import org.codiki.domain.publication.exception.PublicationUpdateForbiddenException;
|
||||
import org.springframework.web.bind.annotation.ControllerAdvice;
|
||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
@@ -37,4 +42,28 @@ public class GlobalControllerExceptionHandler {
|
||||
public void handleRefreshTokenExpiredException() {
|
||||
// Do nothing.
|
||||
}
|
||||
|
||||
@ResponseStatus(BAD_REQUEST)
|
||||
@ExceptionHandler(CategoryNotFoundException.class)
|
||||
public void handleCategoryNotFoundException() {
|
||||
// Do nothing.
|
||||
}
|
||||
|
||||
@ResponseStatus(BAD_REQUEST)
|
||||
@ExceptionHandler(PublicationEditionException.class)
|
||||
public void handlePublicationEditionException() {
|
||||
// Do nothing.
|
||||
}
|
||||
|
||||
@ResponseStatus(NOT_FOUND)
|
||||
@ExceptionHandler(PublicationNotFoundException.class)
|
||||
public void handlePublicationNotFoundException() {
|
||||
// Do nothing.
|
||||
}
|
||||
|
||||
@ResponseStatus(FORBIDDEN)
|
||||
@ExceptionHandler(PublicationUpdateForbiddenException.class)
|
||||
public void handlePublicationUpdateForbiddenException() {
|
||||
// Do nothing.
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
package org.codiki.exposition.publication;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.codiki.application.publication.PublicationUseCases;
|
||||
import org.codiki.domain.publication.model.Publication;
|
||||
import org.codiki.domain.publication.model.PublicationCreationRequest;
|
||||
import org.codiki.exposition.publication.model.PublicationCreationRequestDto;
|
||||
import org.codiki.domain.publication.model.PublicationEditionRequest;
|
||||
import org.codiki.exposition.publication.model.PublicationEditionRequestDto;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
@@ -19,9 +23,19 @@ public class PublicationController {
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
public PublicationDto createPublication(@RequestBody PublicationCreationRequestDto requestDto) {
|
||||
PublicationCreationRequest request = requestDto.toDomain();
|
||||
public PublicationDto createPublication(@RequestBody PublicationEditionRequestDto requestDto) {
|
||||
PublicationEditionRequest request = requestDto.toDomain();
|
||||
Publication newPublication = publicationUseCases.createPublication(request);
|
||||
return new PublicationDto(newPublication);
|
||||
}
|
||||
|
||||
@PutMapping("/{publicationId}")
|
||||
public PublicationDto updatePublication(
|
||||
@PathVariable("publicationId") UUID publicationId,
|
||||
@RequestBody PublicationEditionRequestDto requestDto
|
||||
) {
|
||||
PublicationEditionRequest request = requestDto.toDomain();
|
||||
Publication updatedPublication = publicationUseCases.updatePublication(publicationId, request);
|
||||
return new PublicationDto(updatedPublication);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
package org.codiki.exposition.publication.model;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.codiki.domain.publication.model.PublicationCreationRequest;
|
||||
|
||||
public record PublicationCreationRequestDto(
|
||||
String title,
|
||||
String text,
|
||||
String description,
|
||||
String image,
|
||||
UUID categoryId
|
||||
) {
|
||||
public PublicationCreationRequest toDomain() {
|
||||
return new PublicationCreationRequest(title, text, description, image, categoryId);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package org.codiki.exposition.publication.model;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.codiki.domain.publication.model.PublicationEditionRequest;
|
||||
|
||||
public record PublicationEditionRequestDto(
|
||||
String title,
|
||||
String text,
|
||||
String description,
|
||||
String image,
|
||||
UUID categoryId
|
||||
) {
|
||||
public PublicationEditionRequest toDomain() {
|
||||
return new PublicationEditionRequest(title, text, description, image, categoryId);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user