Se realiza un servicio de eliminar registros hijos en una tabla recursiva en el…

Se realiza un servicio de eliminar registros hijos en una tabla recursiva en el ServiceUzytavObjetivoPrograma
parent be19bcad
......@@ -71,5 +71,15 @@ public class UzytavObjetivoProgramaController {
return ResponseEntity.notFound().build();
}
}
@DeleteMapping("/eliminarHijo/{id}")
public ResponseEntity<String> eliminarHijo(@PathVariable Long id){
boolean eliminado = serviceUzytavObjetivoPrograma.eliminarHijo(id);
if (eliminado) {
return ResponseEntity.ok("El registro se eliminó exitosamente.");
} else {
return ResponseEntity.notFound().build();
}
}
}
......@@ -34,8 +34,8 @@ public class SecurityConfig {
.httpBasic().authenticationEntryPoint(jwtEntryPoint)
.and()
.authorizeRequests()
// .antMatchers("/api/v1.0/**").authenticated()
.antMatchers("/api/v1.0/**").permitAll()
.antMatchers("/api/v1.0/**").authenticated()
//.antMatchers("/api/v1.0/**").permitAll()
// .antMatchers("/api/v1.0/**").hasRole("Administrador del Sistema") // Asignar API a rol ADMIN
.and()
.sessionManagement()
......
......@@ -17,4 +17,5 @@ public interface IServiceUzytavObjetivoPrograma {
DtoUzytavObjetivoPrograma editar( Long id, DtoUzytavObjetivoPrograma dtoUzytavObjetivoPrograma);
boolean eliminar(Long id);
DtoUzytavObjetivoPrograma eliminarFechasPorId(Long id);
boolean eliminarHijo (Long idHijo);
}
......@@ -8,6 +8,7 @@ import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzytavObjetivoP
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzytavObjetivoPrograma;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.util.List;
@Service
......@@ -116,6 +117,7 @@ public class ServiceUzytavObjetivoPrograma implements IServiceUzytavObjetivoProg
return false;
}
@Override
public DtoUzytavObjetivoPrograma eliminarFechasPorId(Long id) {
ModelUzytavObjetivoPrograma entity = daoUzytavObjetivoPrograma.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
......@@ -125,4 +127,20 @@ public class ServiceUzytavObjetivoPrograma implements IServiceUzytavObjetivoProg
ModelUzytavObjetivoPrograma updatedEntity = daoUzytavObjetivoPrograma.save(entity);
return mapper.entityToDto(updatedEntity);
}
@Override
@Transactional
public boolean eliminarHijo(Long idHijo) {
ModelUzytavObjetivoPrograma hijo = daoUzytavObjetivoPrograma.findById(idHijo).orElse(null);
if (hijo != null) {
ModelUzytavObjetivoPrograma padre = hijo.getUzytavobjetivo_programaPadre();
if (padre != null) {
padre.getModelUzytavObjetivoProgramaSet().remove(hijo);
daoUzytavObjetivoPrograma.delete(hijo);
return true;
}
}
return false;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment