From 1661173526c015f8e4a0ad173c858f6286b7dab0 Mon Sep 17 00:00:00 2001
From: Linventif <gregoire.becue@proton.me>
Date: Tue, 10 Dec 2024 22:27:22 +0000
Subject: [PATCH] Feat: add team role

---
 lua/gmod_integration/server/sv_players.lua | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/lua/gmod_integration/server/sv_players.lua b/lua/gmod_integration/server/sv_players.lua
index 23dd365..cf1e942 100644
--- a/lua/gmod_integration/server/sv_players.lua
+++ b/lua/gmod_integration/server/sv_players.lua
@@ -21,6 +21,14 @@ function gmInte.playerDisconnected(ply)
     })
 end
 
+function gmInte.playerChangedTeam(ply, oldTeam, newTeam)
+    if !ply:IsValid() || !ply:IsPlayer(ply) then return end
+    gmInte.http.post("/servers/:serverID/players/" .. ply:SteamID64() .. "/team", {
+        ["oldTeam"] = gmInte.getTeamFormat(oldTeam),
+        ["newTeam"] = gmInte.getTeamFormat(newTeam)
+    })
+end
+
 function gmInte.playerSpawn(ply)
     if !ply:IsValid() || !ply:IsPlayer(ply) then return end
     gmInte.http.postLog("/servers/:serverID/players/" .. ply:SteamID64() .. "/spawn", {
@@ -103,6 +111,7 @@ hook.Add("PlayerInitialSpawn", "gmInte:Player:InitialSpawn", function(ply) gmInt
 hook.Add("PlayerGiveSWEP", "gmInte:Player:SWEPs", function(ply, class, swep) gmInte.postLogPlayerGive(ply, class, swep) end)
 hook.Add("PlayerDeath", "gmInte:Player:Death", function(ply, inflictor, attacker) gmInte.playerDeath(ply, inflictor, attacker) end)
 hook.Add("PlayerHurt", "gmInte:Player:Hurt", function(ply, attacker, healthRemaining, damageTaken) gmInte.postLogPlayerHurt(ply, attacker, healthRemaining, damageTaken) end)
+hook.Add("PlayerChangedTeam", "gmInte:Player:ChangedTeam", function(ply, oldTeam, newTeam) gmInte.playerChangedTeam(ply, oldTeam, newTeam) end)
 hook.Add("PlayerSpawnedProp", "gmInte:Player:SpawnedProp", function(ply, model, ent) gmInte.postLogPlayerSpawnedSomething("prop", ply, ent, model) end)
 hook.Add("PlayerSpawnedSENT", "gmInte:Player:SpawnedSENT", function(ply, ent) gmInte.postLogPlayerSpawnedSomething("sent", ply, ent) end)
 hook.Add("PlayerSpawnedNPC", "gmInte:Player:SpawnedNPC", function(ply, ent) gmInte.postLogPlayerSpawnedSomething("npc", ply, ent) end)