Adds the /leaderboard-endpoint, which provides the required data for the leaderboard calculated on-demand
Fixes the LazyInitializationException with dynamic eager fetching following Artemis's DB guidelines
Adds an environment variable monitoring.timeframe to control the number of past days to be fetched for PRs and review comments (creation date)
Interesting remark: depending on the new timeframe, fetching and hence the server startup can take pretty long. Example for just the Artemis repo: 1 day -> ~20 seconds, 7 days -> ~1 minute
Checklist
General
[x] PR title is clear and descriptive
[x] PR description explains the purpose and changes
[x] Code follows project coding standards
[x] Self-review of the code has been done
[x] Changes have been tested locally
Server (if applicable)
[ ] Code is performant and follows best practices
[x] No security vulnerabilities introduced
[x] Proper error handling has been implemented
[ ] Added tests for new functionality
[ ] Changes have been tested in different environments (if applicable)
Motivation
Closes #77.
Description
/leaderboard
-endpoint, which provides the required data for the leaderboard calculated on-demandLazyInitializationException
with dynamic eager fetching following Artemis's DB guidelinesmonitoring.timeframe
to control the number of past days to be fetched for PRs and review comments (creation date)Checklist
General
Server (if applicable)