diff --git a/src/main/java/app/controllers/discord/DiscordController.java b/src/main/java/app/controllers/discord/DiscordController.java index ee02050..afaaa52 100644 --- a/src/main/java/app/controllers/discord/DiscordController.java +++ b/src/main/java/app/controllers/discord/DiscordController.java @@ -3,6 +3,8 @@ package app.controllers.discord; import app.annotations.enums.AuthMethod; import app.annotations.interfaces.CheckWebAccess; import app.entities.other.SteamID; +import app.entities.report.Report; +import app.repositories.ReportRepository; import app.services.db.DiscordAuthService; import app.utils.SteamIDConverter; import jakarta.servlet.http.HttpServletRequest; @@ -23,6 +25,9 @@ import java.util.UUID; public class DiscordController { DiscordAuthService discordAuthService; + @Autowired + private ReportRepository reportRepository; + @Autowired public DiscordController(DiscordAuthService discordAuthService) { this.discordAuthService = discordAuthService; @@ -91,4 +96,17 @@ public class DiscordController { return new ResponseEntity(discordAuthService.getAccountsNotInList(discord_accounts), HttpStatus.OK); } + @GetMapping("/report/s") + @CheckWebAccess(auth_method = AuthMethod.SECRET_KEY) + public ResponseEntity> getAllReports(HttpServletRequest request) { + return new ResponseEntity<>(reportRepository.getAll(), HttpStatus.OK); + } + + @GetMapping("/report/:id") + @CheckWebAccess(auth_method = AuthMethod.SECRET_KEY) + public ResponseEntity getReportById(HttpServletRequest request, + Long id) { + return new ResponseEntity<>(reportRepository.getReportById(id), HttpStatus.OK); + } + } diff --git a/src/main/java/app/repositories/ReportRepository.java b/src/main/java/app/repositories/ReportRepository.java index ba6284d..37963a9 100644 --- a/src/main/java/app/repositories/ReportRepository.java +++ b/src/main/java/app/repositories/ReportRepository.java @@ -7,6 +7,8 @@ import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.query.Param; +import java.util.List; + public interface ReportRepository extends PagingAndSortingRepository { @Query(value = "select r from Report r where " + "(:authors_ne = true or (position(r.a_steam2 in :authors) > 0 or position(r.r_steam2 in :authors) > 0)) and " + @@ -24,4 +26,9 @@ public interface ReportRepository extends PagingAndSortingRepository getAll(); + + Report getReportById(Long id); }