added an update competency functionality

This commit is contained in:
2026-01-03 16:03:27 +00:00
parent 27719e7f08
commit 2fc5ad92d2
5 changed files with 28 additions and 9 deletions

3
.gitignore vendored
View File

@@ -3,4 +3,5 @@ target/
application.properties application.properties
.settings/ .settings/
.project .project
.classpath .classpath
.vscode/

View File

@@ -10,9 +10,12 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.zaine.app.model.Competencies; import org.zaine.app.model.Competencies;
import org.zaine.app.service.CompetenciesService; import org.zaine.app.service.CompetenciesService;
import java.lang.System.Logger;
@RestController @RestController
public class CompetenciesController { public class CompetenciesController {
private static final Logger logger = System.getLogger(CompetenciesController.class.getName());
@Autowired @Autowired
private CompetenciesService competenciesService; private CompetenciesService competenciesService;
@@ -29,11 +32,10 @@ public class CompetenciesController {
@PostMapping("/competencies/items/{id}/state") @PostMapping("/competencies/items/{id}/state")
public void updateCompetencyState(@RequestParam Long id, @RequestParam String newState) { public void updateCompetencyState(@PathVariable Long id, @RequestParam String newState) {
Long compId = id; logger.log(System.Logger.Level.INFO, "Received request to update competency id " + id + " to new state: " + newState);
String state = newState;
competenciesService.updateCompetencyState(id, newState);
//competenciesService.updateCompetencyState(id, newState);
} }

View File

@@ -25,7 +25,7 @@ public class Competencies {
@Column(name="created_at") @Column(name="created_at")
private Instant createdAt; private Instant createdAt;
@Column(name="group") @Column(name="group_name")
private String group; private String group;

View File

@@ -5,5 +5,5 @@ import org.zaine.app.model.Competencies;
public interface CompetenciesRepository extends JpaRepository<Competencies, Long> { public interface CompetenciesRepository extends JpaRepository<Competencies, Long> {
} }

View File

@@ -15,6 +15,14 @@ public class CompetenciesService {
private final CompetenciesRepository competenciesRepository; private final CompetenciesRepository competenciesRepository;
private static final List<String> ALLOWED_STATES = List.of(
"completed",
"manager_review",
"in_progress",
"not_started",
"comments"
);
public CompetenciesService(CompetenciesRepository competenciesRepository) { public CompetenciesService(CompetenciesRepository competenciesRepository) {
this.competenciesRepository = competenciesRepository; this.competenciesRepository = competenciesRepository;
} }
@@ -25,7 +33,6 @@ public class CompetenciesService {
} }
public Competencies getCompetencyById(Long id) { public Competencies getCompetencyById(Long id) {
// Log the method entry
logger.log(System.Logger.Level.INFO, "Entering getCompetencyById with id: " + id); logger.log(System.Logger.Level.INFO, "Entering getCompetencyById with id: " + id);
@@ -34,5 +41,14 @@ public class CompetenciesService {
public void updateCompetencyState(Long id, String newState) { public void updateCompetencyState(Long id, String newState) {
Competencies competency = getCompetencyById(id);
if (competency != null) {
competency.setState(newState);
competenciesRepository.save(competency);
logger.log(System.Logger.Level.INFO, "Updated competency id " + id + " to new state: " + newState);
} else {
logger.log(System.Logger.Level.WARNING, "Competency with id " + id + " not found.");
}
} }
} }