From 6222d175240156c50494a1957ace3deeb0a3a09c Mon Sep 17 00:00:00 2001 From: jeffcheasey88 Date: Fri, 22 Sep 2023 08:56:18 +0200 Subject: [PATCH] Change auth when websocket --- src/dev/peerat/backend/Main.java | 2 +- .../backend/routes/admins/DynamicLogs.java | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/dev/peerat/backend/Main.java b/src/dev/peerat/backend/Main.java index 2c12dbb..74d488c 100644 --- a/src/dev/peerat/backend/Main.java +++ b/src/dev/peerat/backend/Main.java @@ -122,7 +122,7 @@ public class Main{ register(new ChangePassword(repo)). register(new ForgotPassword(router, repo, mail)). - register(new DynamicLogs(repo, router.getLogger())). + register(new DynamicLogs(router, repo)). register(new ChapterElement(repo)). register(new ChapterList(repo)). diff --git a/src/dev/peerat/backend/routes/admins/DynamicLogs.java b/src/dev/peerat/backend/routes/admins/DynamicLogs.java index 3719c23..3e8fa89 100644 --- a/src/dev/peerat/backend/routes/admins/DynamicLogs.java +++ b/src/dev/peerat/backend/routes/admins/DynamicLogs.java @@ -13,24 +13,30 @@ import dev.peerat.framework.Locker; import dev.peerat.framework.Locker.Key; import dev.peerat.framework.Response; import dev.peerat.framework.Route; +import dev.peerat.framework.Router; import dev.peerat.framework.utils.json.JsonMap; public class DynamicLogs implements Response{ + private Router router; private Locker locker; //Context private DatabaseRepository repo; - public DynamicLogs(DatabaseRepository repo, Locker locker){ + public DynamicLogs(Router router, DatabaseRepository repo){ + this.router = router; + this.locker = router.getLogger(); this.repo = repo; - this.locker = locker; } @RouteDoc(path = "/admin/logs", responseCode = 200, responseDescription = "L'utilisateur peux voir les logs en directe") @RouteDoc(responseCode = 401, responseDescription = "L'utilisateur n'a pas accès à cette ressource") - @Route(path = "^/admin/logs$", needLogin = true, websocket = true) - public void exec(Matcher matcher, Context context, HttpReader reader, HttpWriter writer) throws Exception { - Group group = this.repo.getPlayerGroup(context.getUser().getId(), 1); + @Route(path = "^/admin/logs$", websocket = true) + public void exec(Matcher matcher, Context context, HttpReader reader, HttpWriter writer) throws Exception{ + JsonMap auth = reader.readJson(); + PeerAtUser user = this.router.getUser(auth.get("token")); + + Group group = this.repo.getPlayerGroup(user.getId(), 1); if(!group.getName().equalsIgnoreCase("Quarter-Master - Battles PAC x CEI")){ context.response(423); return;