Done: request handling

This commit is contained in:
Jose
2026-01-30 16:51:28 +01:00
parent 704ab79d7d
commit 33b3a460ca
19 changed files with 352 additions and 193 deletions

View File

@@ -70,17 +70,18 @@ public class CredentialController {
return ResponseEntity.noContent().build();
}
@GetMapping("/{credential_id}/status")
public ResponseEntity<Byte> getStatus(@PathVariable("credential_id") UUID credentialId) {
return ResponseEntity.ok(credentialService.getStatus(credentialId));
@GetMapping("/{service_id}/{user_id}/status")
public ResponseEntity<Byte> getStatus(@PathVariable("user_id") UUID userId, @PathVariable("service_id") Byte serviceId) {
return ResponseEntity.ok(credentialService.getStatus(userId, serviceId));
}
@PutMapping("/{credential_id}/status")
@PutMapping("/{service_id}/{user_id}/status")
public ResponseEntity<Void> updateStatus(
@PathVariable("credential_id") UUID credentialId,
@PathVariable("user_id") UUID userId,
@PathVariable("service_id") Byte serviceId,
@RequestBody ChangeStatusRequest req
) {
credentialService.updateStatus(credentialId, req.status());
credentialService.updateStatus(userId, serviceId, req.status());
return ResponseEntity.noContent().build();
}
}

View File

@@ -23,10 +23,12 @@ import net.miarma.backlib.util.UuidUtil;
public class CredentialService {
private final CredentialRepository credentialRepository;
private final UserService userService;
private final PasswordEncoder passwordEncoder;
public CredentialService(CredentialRepository credentialRepository, PasswordEncoder passwordEncoder) {
public CredentialService(CredentialRepository credentialRepository, UserService userService, PasswordEncoder passwordEncoder) {
this.credentialRepository = credentialRepository;
this.userService = userService;
this.passwordEncoder = passwordEncoder;
}
@@ -155,15 +157,13 @@ public class CredentialService {
credentialRepository.deleteById(idBytes);
}
public Byte getStatus(UUID credentialId) {
Credential credential = credentialRepository.findById(UuidUtil.uuidToBin(credentialId))
.orElseThrow(() -> new NotFoundException("Usuario no encontrado"));;
public Byte getStatus(UUID userId, Byte serviceId) {
Credential credential = getByUserIdAndService(userId, serviceId);
return credential.getStatus();
}
public void updateStatus(UUID credentialId, Byte status) {
Credential credential = credentialRepository.findById(UuidUtil.uuidToBin(credentialId))
.orElseThrow(() -> new NotFoundException("Usuario no encontrado"));;
public void updateStatus(UUID userId, Byte serviceId, Byte status) {
Credential credential = getByUserIdAndService(userId, serviceId);
credential.setStatus(status);
credentialRepository.save(credential);
}