updates
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
package de.iwomm.propify_api.controller;
|
||||
|
||||
import de.iwomm.propify_api.dto.NewProjectDTO;
|
||||
import de.iwomm.propify_api.dto.ProjectDTO;
|
||||
import de.iwomm.propify_api.dto.ProjectDetailsDTO;
|
||||
import de.iwomm.propify_api.dto.ProjectStatsDTO;
|
||||
import de.iwomm.propify_api.dto.PropertyDTO;
|
||||
import de.iwomm.propify_api.entity.Project;
|
||||
import de.iwomm.propify_api.entity.Property;
|
||||
import de.iwomm.propify_api.mapper.ProjectMapper;
|
||||
import de.iwomm.propify_api.service.ProjectService;
|
||||
import jakarta.persistence.EntityNotFoundException;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@@ -19,10 +20,12 @@ import java.util.UUID;
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/projects")
|
||||
public class ProjectController {
|
||||
private ProjectService projectService;
|
||||
private final ProjectService projectService;
|
||||
private final ProjectMapper projectMapper;
|
||||
|
||||
public ProjectController(ProjectService projectService) {
|
||||
public ProjectController(ProjectService projectService, ProjectMapper projectMapper) {
|
||||
this.projectService = projectService;
|
||||
this.projectMapper = projectMapper;
|
||||
}
|
||||
|
||||
@GetMapping
|
||||
@@ -38,7 +41,8 @@ public class ProjectController {
|
||||
@PreAuthorize("hasAnyRole('ADMIN', 'USER')")
|
||||
public ResponseEntity<?> getById(@PathVariable UUID id) {
|
||||
try {
|
||||
ProjectDTO projectDTO = projectService.toDTO(projectService.findById(id).orElseThrow(EntityNotFoundException::new));
|
||||
Project project = projectService.findById(id).orElseThrow(EntityNotFoundException::new);
|
||||
ProjectDetailsDTO projectDTO = this.projectMapper.projectToProjectDetailsDTO(project);
|
||||
|
||||
return ResponseEntity
|
||||
.ok(projectDTO);
|
||||
@@ -68,9 +72,9 @@ public class ProjectController {
|
||||
|
||||
@PostMapping
|
||||
@PreAuthorize("hasRole('ADMIN')")
|
||||
public ResponseEntity<?> create(@RequestBody ProjectDTO projectDTO) {
|
||||
public ResponseEntity<?> create(@RequestBody NewProjectDTO newProjectDTO) {
|
||||
try {
|
||||
Project newItem = projectService.save(projectDTO);
|
||||
Project newItem = projectService.save(newProjectDTO);
|
||||
|
||||
URI location = ServletUriComponentsBuilder.fromCurrentRequest()
|
||||
.path("/{id}")
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package de.iwomm.propify_api.controller;
|
||||
|
||||
import de.iwomm.propify_api.dto.ProjectStatusDTO;
|
||||
import de.iwomm.propify_api.service.ProjectStatusService;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/project-statuses")
|
||||
public class ProjectStatusController {
|
||||
|
||||
private final ProjectStatusService projectStatusService;
|
||||
|
||||
public ProjectStatusController(ProjectStatusService projectStatusService) {
|
||||
this.projectStatusService = projectStatusService;
|
||||
}
|
||||
|
||||
@GetMapping
|
||||
@PreAuthorize("hasAnyRole('ROLE_USER')")
|
||||
public ResponseEntity<?> getAll() {
|
||||
List<ProjectStatusDTO> projectStatusDTO = projectStatusService.toDTOs(projectStatusService.findAll());
|
||||
|
||||
return ResponseEntity
|
||||
.ok(projectStatusDTO);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package de.iwomm.propify_api.controller;
|
||||
|
||||
import de.iwomm.propify_api.dto.ProjectStatusDTO;
|
||||
import de.iwomm.propify_api.dto.ProjectTypeDTO;
|
||||
import de.iwomm.propify_api.entity.ProjectType;
|
||||
import de.iwomm.propify_api.service.ProjectStatusService;
|
||||
import de.iwomm.propify_api.service.ProjectTypeService;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/project-types")
|
||||
public class ProjectTypeController {
|
||||
|
||||
private final ProjectTypeService projectTypeService;
|
||||
|
||||
public ProjectTypeController(ProjectTypeService projectTypeService) {
|
||||
this.projectTypeService = projectTypeService;
|
||||
}
|
||||
|
||||
@GetMapping
|
||||
@PreAuthorize("hasAnyRole('ROLE_USER')")
|
||||
public ResponseEntity<?> getAll() {
|
||||
List<ProjectTypeDTO> projectTypeDTO = projectTypeService.toDTOs(projectTypeService.findAll());
|
||||
|
||||
return ResponseEntity
|
||||
.ok(projectTypeDTO);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user