Add register user endpoint for connexion

This commit is contained in:
2026-03-23 20:55:17 +01:00
parent 335e709bc6
commit bad0cb43bf
3 changed files with 17 additions and 8 deletions

View File

@@ -38,6 +38,7 @@ class ApiEndPoints(Enum):
QUEUE_STATUS = '/queue/status/' QUEUE_STATUS = '/queue/status/'
QUEUE_LEAVE = '/queue/leave' QUEUE_LEAVE = '/queue/leave'
QUEUE_JOIN = '/queue/join' QUEUE_JOIN = '/queue/join'
REGISTER_USER = '/api_v2/connection/register'
class Glow(Enum): class Glow(Enum):
COLOR = QColor(255, 140, 0, 255) COLOR = QColor(255, 140, 0, 255)
@@ -52,3 +53,4 @@ class Glow(Enum):
class PlayerServerInfo: class PlayerServerInfo:
is_staff: bool = False is_staff: bool = False
is_whitelist: bool = False is_whitelist: bool = False
session_id: str = None

View File

@@ -66,11 +66,14 @@ class GetServerTokenForDiscord:
return aesgcm.decrypt(nonce, encrypted_data, None) return aesgcm.decrypt(nonce, encrypted_data, None)
@staticmethod @staticmethod
def register_discord_user(user_id: str, server = Urls.API_URL.value) -> str: def register_discord_user(discord_user_id: str, session_id: str, server = Urls.API_URL.value) -> bool:
if server is None: if server is None:
server = Urls.API_URL.value server = Urls.API_URL.value
registeredId = requests.post(server + "/api_v2/connection/register", verify=False, json={ registeredId = requests.post(server + "/api_v2/connection/register", verify=False, headers={
"x-session-id": user_id "x-session-id": session_id,
},
json={
"discord_id": discord_user_id
}).json() }).json()
return registeredId["discord_id"] return registeredId["success"]

View File

@@ -18,7 +18,7 @@ from discord import discord_oauth
from fivemserver.whitelistmanager import WhiteList from fivemserver.whitelistmanager import WhiteList
from fivemserver.fivemlauncher import FiveMLauncher from fivemserver.fivemlauncher import FiveMLauncher
from fivemserver.queuemanager import QueueManager from fivemserver.queuemanager import QueueManager
from fivemserver.get_server_token import GetServerTokenForDiscord
from fake_patch_notes import patch_note from fake_patch_notes import patch_note
# For Linux Wayland to authorize moving window # For Linux Wayland to authorize moving window
@@ -137,6 +137,8 @@ class MainWindow(QMainWindow):
# ------------------------------------------------------------------ # ------------------------------------------------------------------
def _on_connexion(self) -> None: def _on_connexion(self) -> None:
GetServerTokenForDiscord.register_discord_user(self.config.get_discord_user(),
GetServerTokenForDiscord.authenticate(Urls.API_URL.value))
FiveMLauncher.launch() FiveMLauncher.launch()
@staticmethod @staticmethod
@@ -148,7 +150,9 @@ class MainWindow(QMainWindow):
self._glow.start() self._glow.start()
def _on_discord_auth_btn(self) -> None: def _on_discord_auth_btn(self) -> None:
self.config.set_discord_user(discord_oauth.get_discord_user_id()) test = discord_oauth.get_discord_user_id()
self.config.set_discord_user(test[0])
PlayerServerInfo.session_id = test[1]
self.config.save() self.config.save()
self.ui.stackedWidget.setCurrentIndex(0) self.ui.stackedWidget.setCurrentIndex(0)
@@ -199,7 +203,7 @@ class MainWindow(QMainWindow):
self.queue_thread.start() self.queue_thread.start()
# 🧪 TEMP - Simule une position en queue pour tester l'UI # 🧪 TEMP - Simule une position en queue pour tester l'UI
self.handle_update("position:3:10") # self.handle_update("position:3:10")
def handle_update(self, message: str): def handle_update(self, message: str):
# print(f"[handle_update] reçu: {message}") # ← Debug # print(f"[handle_update] reçu: {message}") # ← Debug