Commit 07b3f3a3 by Rubén Ramírez

feat: [ServicioBibliotecaPersonal]: Añadidas las funciones para la gestión de favoritos

parent 91dfaec9
......@@ -115,5 +115,35 @@ public class ServicioBibliotecaPersonal {
return repositorioBibliotecaPersonalRecurso.buscarRecursoEnBiblioteca(bibliotecaPersonalId, recursoId);
}
@Transactional
public void anadirFavorito(Long bibliotecaPersonalId, Long recursoId) {
BibliotecaPersonal biblioteca = repositorioBibliotecaPersonalRecurso
.obtenerBibliotecaPorId(bibliotecaPersonalId)
.orElseThrow(UsuarioSinBiblioteca::new);
Recurso recurso = repositorioBibliotecaPersonalRecurso
.obtenerRecursoPorId(recursoId)
.orElseThrow(RecursoNoExiste::new);
biblioteca.anadirFavorito(recurso.getId());
}
@Transactional
public void eliminarFavorito(Long bibliotecaPersonalId, Long recursoId) {
BibliotecaPersonal biblioteca = repositorioBibliotecaPersonalRecurso
.obtenerBibliotecaPorId(bibliotecaPersonalId)
.orElseThrow(UsuarioSinBiblioteca::new);
biblioteca.eliminarFavorito(recursoId);
}
@Transactional(readOnly = true)
public List<Long> obtenerFavoritos(Long bibliotecaPersonalId) {
BibliotecaPersonal biblioteca = repositorioBibliotecaPersonalRecurso
.obtenerBibliotecaPorId(bibliotecaPersonalId)
.orElseThrow(UsuarioSinBiblioteca::new);
return biblioteca.obtenerFavoritos();
}
}
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 sign in to comment