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

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