Add WebHook for refreshing leaderboard

This commit is contained in:
jeffcheasey88 2024-04-16 11:56:29 +02:00
parent 634bcbadf4
commit 5b8699cf9d
2 changed files with 30 additions and 0 deletions

View file

@ -25,6 +25,7 @@ import dev.peerat.backend.routes.Result;
import dev.peerat.backend.routes.Swagger;
import dev.peerat.backend.routes.admins.DynamicLogs;
import dev.peerat.backend.routes.admins.ExceptionLogs;
import dev.peerat.backend.routes.admins.WebHookLeaderboard;
import dev.peerat.backend.routes.admins.chapter.AddChapter;
import dev.peerat.backend.routes.admins.chapter.DeleteChapter;
import dev.peerat.backend.routes.admins.chapter.EditChapter;
@ -210,6 +211,8 @@ public class Main{
register(new EditTag(repo)).
register(new GetTags(repo)).
register(new WebHookLeaderboard(leaderboard)).
register(new ChapterElement(repo)).
register(new ChapterList(repo)).
register(new PuzzleElement(repo)).

View file

@ -0,0 +1,27 @@
package dev.peerat.backend.routes.admins;
import java.util.regex.Matcher;
import dev.peerat.backend.model.Completion;
import dev.peerat.framework.Context;
import dev.peerat.framework.HttpReader;
import dev.peerat.framework.HttpWriter;
import dev.peerat.framework.Locker;
import dev.peerat.framework.Response;
import dev.peerat.framework.Route;
public class WebHookLeaderboard implements Response{
private Locker<Completion> locker;
public WebHookLeaderboard(Locker<Completion> locker){
this.locker = locker;
}
@Route(path = "^/admin/webhook/leaderboard/$", needLogin = true)
public void exec(Matcher matcher, Context context, HttpReader reader, HttpWriter writer) throws Exception{
locker.setValue(new Completion(0, 0));
context.response(200);
}
}