diff --git a/back/src/main/java/be/naaturel/letsmeet/controllers/EventController.java b/back/src/main/java/be/naaturel/letsmeet/controllers/EventController.java index a15b10b..06f4925 100644 --- a/back/src/main/java/be/naaturel/letsmeet/controllers/EventController.java +++ b/back/src/main/java/be/naaturel/letsmeet/controllers/EventController.java @@ -1,5 +1,6 @@ package be.naaturel.letsmeet.controllers; +import be.naaturel.letsmeet.core.Result; import be.naaturel.letsmeet.dto.httpRequest.EventDTO; import be.naaturel.letsmeet.services.EventService; import org.springframework.beans.factory.annotation.Autowired; @@ -26,21 +27,20 @@ public class EventController { } catch (Exception e){ return ResponseEntity .internalServerError() - .build(); + .body("An error has occured : " + e.getMessage()); } } @PostMapping({"/create", "/create/"}) public ResponseEntity create(@RequestBody EventDTO dto){ - try{ - service.save(dto); + try { + Result res = service.save(dto); + return ResponseEntity.ok(res); } catch (Exception e){ return ResponseEntity .internalServerError() - .build(); + .body("An error has occured : " + e.getMessage()); } - - return ResponseEntity.ok().build(); } } \ No newline at end of file diff --git a/back/src/main/java/be/naaturel/letsmeet/core/Result.java b/back/src/main/java/be/naaturel/letsmeet/core/Result.java new file mode 100644 index 0000000..7cbf73d --- /dev/null +++ b/back/src/main/java/be/naaturel/letsmeet/core/Result.java @@ -0,0 +1,18 @@ +package be.naaturel.letsmeet.core; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + +@JsonSerialize +public class Result { + + private T value; + + public Result(T value){ + this.value = value; + } + + public T getValue() { + return value; + } + +} diff --git a/back/src/main/java/be/naaturel/letsmeet/services/AbstractService.java b/back/src/main/java/be/naaturel/letsmeet/services/AbstractService.java index eb942e4..bdfdfc8 100644 --- a/back/src/main/java/be/naaturel/letsmeet/services/AbstractService.java +++ b/back/src/main/java/be/naaturel/letsmeet/services/AbstractService.java @@ -1,5 +1,6 @@ package be.naaturel.letsmeet.services; +import be.naaturel.letsmeet.core.Result; import be.naaturel.letsmeet.mappers.Mapper; public abstract class AbstractService { @@ -12,7 +13,7 @@ public abstract class AbstractService { this.requestMapper = requestMapper; } - public abstract boolean save(T_DTO prop); + public abstract Result save(T_DTO prop) throws Exception; public abstract boolean delete(T_DTO prop); diff --git a/back/src/main/java/be/naaturel/letsmeet/services/EventService.java b/back/src/main/java/be/naaturel/letsmeet/services/EventService.java index 339848f..aa558dd 100644 --- a/back/src/main/java/be/naaturel/letsmeet/services/EventService.java +++ b/back/src/main/java/be/naaturel/letsmeet/services/EventService.java @@ -1,5 +1,6 @@ package be.naaturel.letsmeet.services; +import be.naaturel.letsmeet.core.Result; import be.naaturel.letsmeet.dto.database.EventEntity; import be.naaturel.letsmeet.dto.httpRequest.EventDTO; import be.naaturel.letsmeet.mappers.database.EventMapper; @@ -22,16 +23,14 @@ public class EventService extends AbstractService } @Override - public boolean save(EventDTO dto) { + public Result save(EventDTO dto) throws Exception { Event event = this.requestMapper.toModel(dto); EventEntity entity = this.dataBaseMapper.toEntity(event); try{ this.repo.save(entity); - return true; - } catch (IllegalArgumentException iae){ - return false; - } catch (OptimisticLockingFailureException olfe){ - return false; + return new Result<>(entity.token); + } catch (Exception e) { + throw new Exception("Something went wrong"); } }