Problem with TriggerServerEvent/Event Handler

I haveaproblem… my event doesnt working (event is savepos)

client:

local suicide
local savepos

RegisterNUICallback("player", function(data, cb)

	local action = data.action
	local newstate = data.newstate
	local playerPed = GetPlayerPed(-1)
	
	if action == "savepos" then
		TriggerServerEvent('player:savepos')
		drawNotification("~r~Vous vous êtes suicidé")
	elseif action == "suicide" then
		SetEntityHealth(playerPed, 0)
		drawNotification("~r~Vous vous êtes suicidé")
	end
	
	cb("ok")
end)

and in the server

require "resources/essentialmode/lib/MySQL"
MySQL:open("127.0.0.1", "gta5_gamemode_essential", "root", "1234")

RegisterServerEvent('player:savepos')
AddEventHandler('player:savepos', function(pos)
  TriggerEvent('es:getPlayerFromId', source, function(user)

    local player = user.identifier
    print('Save Position: '..player)

      -- Save this shit to the database
      MySQL:executeQuery("UPDATE users SET lastpos='@pos' WHERE identifier = '@username'",
      {['@username'] = player, ['@pos'] = pos})

      -- Trigger some client stuff
      TriggerClientEvent("es_freeroam:notify", source, "CHAR_DEFAULT", 1, ""..player, false, "Position sauvegardé!\n")
  end)
end)

You’re not passing the position through the event, and therefore pos is undefined on the server.