diff --git a/src/main/java/com/application/munera/repositories/PersonRepository.java b/src/main/java/com/application/munera/repositories/PersonRepository.java new file mode 100644 index 0000000..39954b6 --- /dev/null +++ b/src/main/java/com/application/munera/repositories/PersonRepository.java @@ -0,0 +1,8 @@ +package com.application.munera.repositories; + +import com.application.munera.data.Person; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; + +public interface PersonRepository extends JpaRepository, JpaSpecificationExecutor { +} diff --git a/src/main/java/com/application/munera/services/PersonService.java b/src/main/java/com/application/munera/services/PersonService.java new file mode 100644 index 0000000..24587c1 --- /dev/null +++ b/src/main/java/com/application/munera/services/PersonService.java @@ -0,0 +1,45 @@ +package com.application.munera.services; + +import com.application.munera.data.Person; +import com.application.munera.repositories.PersonRepository; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.jpa.domain.Specification; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Optional; + +@Service +public class PersonService { + + private final PersonRepository personRepository; + + public PersonService(PersonRepository personRepository) { + this.personRepository = personRepository; + } + + public Optional get(Long id) { + return personRepository.findById(id); + } + + public List findAll() { + return this.personRepository.findAll(); + } + + public Person update(Person person) { + return this.personRepository.save(person); + } + + public void delete(Long id) { + this.personRepository.deleteById(id); + } + + public Page list(Pageable pageable, Specification filter) { + return this.personRepository.findAll(filter, pageable); + } + + public int count() { + return (int) this.personRepository.count(); + } +}