Files
qavion-time-tracker-assessment/backend/src/main/java/com/example/app/project/ProjectController.java
T

38 lines
1.0 KiB
Java

package com.example.app.project;
import com.example.app.project.ProjectDtos.CreateProjectRequest;
import com.example.app.project.ProjectDtos.ProjectResponse;
import com.example.app.project.ProjectDtos.UpdateProjectRequest;
import jakarta.validation.Valid;
import java.util.List;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/projects")
public class ProjectController {
private final ProjectService projectService;
public ProjectController(ProjectService projectService) {
this.projectService = projectService;
}
@GetMapping
public List<ProjectResponse> list() {
return projectService.findAll();
}
@PostMapping
@ResponseStatus(HttpStatus.CREATED)
public ProjectResponse create(@Valid @RequestBody CreateProjectRequest req) {
return projectService.create(req);
}
@PutMapping("/{id}")
public ProjectResponse update(
@PathVariable Long id, @Valid @RequestBody UpdateProjectRequest req) {
return projectService.update(id, req);
}
}