Change auth when websocket
This commit is contained in:
parent
b20d11b224
commit
6222d17524
2 changed files with 12 additions and 6 deletions
|
@ -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)).
|
||||
|
|
|
@ -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<PeerAtUser> router;
|
||||
private Locker<Context> locker; //Context
|
||||
private DatabaseRepository repo;
|
||||
|
||||
public DynamicLogs(DatabaseRepository repo, Locker<Context> locker){
|
||||
public DynamicLogs(Router<PeerAtUser> 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.<PeerAtUser>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;
|
||||
|
|
Loading…
Add table
Reference in a new issue