From f9af54add8ff2333304671cca06a7a1ca4ec0687 Mon Sep 17 00:00:00 2001 From: GODrums Date: Sat, 31 Aug 2024 02:39:38 +0200 Subject: [PATCH] Add more Repository attributes --- .../codereview/repository/Repository.java | 8 ++++++++ .../codereview/repository/RepositoryConverter.java | 14 ++++++++++++++ .../repository/RepositoryVisibility.java | 5 +++++ 3 files changed, 27 insertions(+) create mode 100644 server/application-server/src/main/java/de/tum/in/www1/hephaestus/codereview/repository/RepositoryVisibility.java diff --git a/server/application-server/src/main/java/de/tum/in/www1/hephaestus/codereview/repository/Repository.java b/server/application-server/src/main/java/de/tum/in/www1/hephaestus/codereview/repository/Repository.java index 5ad3c220..2ebad800 100644 --- a/server/application-server/src/main/java/de/tum/in/www1/hephaestus/codereview/repository/Repository.java +++ b/server/application-server/src/main/java/de/tum/in/www1/hephaestus/codereview/repository/Repository.java @@ -33,9 +33,17 @@ public class Repository extends BaseGitServiceEntity { @NonNull private String description; + @NonNull + String defaultBranch; + + @NonNull + private RepositoryVisibility visibility; + @NonNull private String url; + String homepage; + @OneToMany(cascade = CascadeType.ALL, mappedBy = "repository", fetch = FetchType.EAGER) @ToString.Exclude private Set pullRequests = new HashSet<>(); diff --git a/server/application-server/src/main/java/de/tum/in/www1/hephaestus/codereview/repository/RepositoryConverter.java b/server/application-server/src/main/java/de/tum/in/www1/hephaestus/codereview/repository/RepositoryConverter.java index 5e8da2c9..fccc292b 100644 --- a/server/application-server/src/main/java/de/tum/in/www1/hephaestus/codereview/repository/RepositoryConverter.java +++ b/server/application-server/src/main/java/de/tum/in/www1/hephaestus/codereview/repository/RepositoryConverter.java @@ -1,6 +1,7 @@ package de.tum.in.www1.hephaestus.codereview.repository; import org.kohsuke.github.GHRepository; +import org.kohsuke.github.GHRepository.Visibility; import org.springframework.data.convert.ReadingConverter; import org.springframework.lang.NonNull; import org.springframework.lang.Nullable; @@ -21,7 +22,20 @@ public Repository convert(@NonNull GHRepository source) { repository.setNameWithOwner(source.getFullName()); repository.setDescription(source.getDescription()); repository.setUrl(source.getHtmlUrl().toString()); + repository.setDefaultBranch(source.getDefaultBranch()); + repository.setVisibility(convertVisibility(source.getVisibility())); + repository.setHomepage(source.getHomepage()); return repository; } + private RepositoryVisibility convertVisibility(Visibility visibility) { + switch (visibility) { + case PRIVATE: + return RepositoryVisibility.PRIVATE; + case PUBLIC: + return RepositoryVisibility.PUBLIC; + default: + return RepositoryVisibility.PRIVATE; + } + } } diff --git a/server/application-server/src/main/java/de/tum/in/www1/hephaestus/codereview/repository/RepositoryVisibility.java b/server/application-server/src/main/java/de/tum/in/www1/hephaestus/codereview/repository/RepositoryVisibility.java new file mode 100644 index 00000000..83143a1b --- /dev/null +++ b/server/application-server/src/main/java/de/tum/in/www1/hephaestus/codereview/repository/RepositoryVisibility.java @@ -0,0 +1,5 @@ +package de.tum.in.www1.hephaestus.codereview.repository; + +public enum RepositoryVisibility { + PUBLIC, PRIVATE +}