Trying to check permissions for my commands on the client

recently i have been trying to insert an attempt to check if the user has permission to execute a command, but i have not been successful in doing this verification through the Server-side, and passing the answer to the Client-side.

these are my aces and mains:

add_ace group.admin command allow # allow all commands
add_ace group.admin command.quit deny # but don't allow quit
#add_principal identifier.fivem:1 group.admin # add the admin to the group

add_ace Admin adm allow
add_principal identifier.fivem:1 Admin

(I removed my id from group.admin to see if it would fix my problem)

my Server-side:

RegisterNetEvent('verify')
AddEventHandler('verify', function()
    if IsPlayerAceAllowed(source, "adm") then
        return true
    else
        return false
    end
end)

my Client-side, inside my command:

if TriggerServerEvent("verify") then
        //all the command code here
else
        notificar("~r~No Permission")
end

but the problem is that, with or without the ace defined in my ID, I am still able to execute what is inside the IF, like it always returns TRUE!

I already checked my ID in list_principals and list_aces but there is nothing set on me that makes me able to execute this command, and then it runs even without the ace set on me

no error is displayed on the client console or on the server side

could someone tell me what i did wrong?

edit: so basically through a print I found that it always returns FALSE, but it also always executes the condition that is inside it on the client side, how is that possible xD

If you’re using esx you can register you command like so:

ESX.RegisterCommand('commandName', 'superadmin', function()
        --do stuff
        TriggerServerEvent("blah blah blah")
end)