diff --git a/src/main/java/local/epul4a/fotosharing/controller/PhotoController.java b/src/main/java/local/epul4a/fotosharing/controller/PhotoController.java index 7ba5bf6..7df688e 100644 --- a/src/main/java/local/epul4a/fotosharing/controller/PhotoController.java +++ b/src/main/java/local/epul4a/fotosharing/controller/PhotoController.java @@ -97,6 +97,7 @@ public class PhotoController { @RequestParam(name = "pagePrivees", defaultValue = "0") int pagePrivees, @RequestParam(name = "pagePubliques", defaultValue = "0") int pagePubliques, @RequestParam(name = "pagePartagees", defaultValue = "0") int pagePartagees, + @RequestParam(name = "pageMesPartagees", defaultValue = "0") int pageMesPartagees, Model model, Authentication auth ) { @@ -105,11 +106,13 @@ public class PhotoController { model.addAttribute("photosPrivees", photoService.listPrivatePhotos(email, pagePrivees, 12)); model.addAttribute("photosPubliques", photoService.listPublicPhotos(email, pagePubliques, 12)); model.addAttribute("photosPartagees", photoService.listSharedWith(email, pagePartagees, 12)); + model.addAttribute("mesPhotosPartagees", photoService.listSharedPhotos(email, pageMesPartagees, 12)); // Ajouter les 3 index séparés model.addAttribute("pagePrivees", pagePrivees); model.addAttribute("pagePubliques", pagePubliques); model.addAttribute("pagePartagees", pagePartagees); + model.addAttribute("pageMesPartagees", pageMesPartagees); return "mes-photos"; } diff --git a/src/main/java/local/epul4a/fotosharing/repository/PartageRepository.java b/src/main/java/local/epul4a/fotosharing/repository/PartageRepository.java index 845a5a4..d23cc12 100644 --- a/src/main/java/local/epul4a/fotosharing/repository/PartageRepository.java +++ b/src/main/java/local/epul4a/fotosharing/repository/PartageRepository.java @@ -1,6 +1,8 @@ package local.epul4a.fotosharing.repository; import local.epul4a.fotosharing.model.Partage; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; @@ -11,5 +13,4 @@ public interface PartageRepository extends JpaRepository { // vérifier si un utilisateur a accès partagé boolean existsByPhoto_IdAndUtilisateur_Email(Long photoId, String email); List findByUtilisateur_Email(String email); - } diff --git a/src/main/java/local/epul4a/fotosharing/repository/PhotoRepository.java b/src/main/java/local/epul4a/fotosharing/repository/PhotoRepository.java index baa185e..9f782c7 100644 --- a/src/main/java/local/epul4a/fotosharing/repository/PhotoRepository.java +++ b/src/main/java/local/epul4a/fotosharing/repository/PhotoRepository.java @@ -23,4 +23,6 @@ public interface PhotoRepository extends JpaRepository { String email, Pageable pageable ); + + } \ No newline at end of file diff --git a/src/main/java/local/epul4a/fotosharing/service/PhotoService.java b/src/main/java/local/epul4a/fotosharing/service/PhotoService.java index 6d41696..0142705 100644 --- a/src/main/java/local/epul4a/fotosharing/service/PhotoService.java +++ b/src/main/java/local/epul4a/fotosharing/service/PhotoService.java @@ -20,6 +20,8 @@ public interface PhotoService { Page listPrivatePhotos(String email, int page, int size); Page listPublicPhotos(String email, int page, int size); Page listSharedWith(String email, int page, int size); + Page listSharedPhotos(String email, int page, int size); + diff --git a/src/main/java/local/epul4a/fotosharing/service/impl/PhotoServiceImpl.java b/src/main/java/local/epul4a/fotosharing/service/impl/PhotoServiceImpl.java index 789053d..96166f4 100644 --- a/src/main/java/local/epul4a/fotosharing/service/impl/PhotoServiceImpl.java +++ b/src/main/java/local/epul4a/fotosharing/service/impl/PhotoServiceImpl.java @@ -147,4 +147,14 @@ public class PhotoServiceImpl implements PhotoService { return new PageImpl<>(sublist, PageRequest.of(page, size), photos.size()); } + @Override + public Page listSharedPhotos(String email, int page, int size) { + Pageable pageable = PageRequest.of(page, size); + return photoRepository.findByProprietaire_EmailAndVisibilite( + email, + Photo.Visibilite.SHARED, + pageable + ); + } + } diff --git a/src/main/resources/templates/mes-photos.html b/src/main/resources/templates/mes-photos.html index cb83708..8610353 100644 --- a/src/main/resources/templates/mes-photos.html +++ b/src/main/resources/templates/mes-photos.html @@ -43,6 +43,22 @@ +

Mes photos partagées

+ +
+ + + +
+ +

Photos partagées avec moi

+

Mes photos partagées

+
+
+ + + +
+ +

Photos partagées avec moi