hydrus:insert

Este evento é disparado sempre que uma inserção é realizada no banco de dados, você pode ouvir este evento para modificar ou excluir campos.

Exemplo:

Neste exemplo vamos adicionar uma coluna extra sempre que a loja tentar inserir na tabela vrp_user_vehicles

Desta forma, sempre que a loja tentar inserir na tabela vrp_user_vehicles o valor da coluna created_by será alterado para hydrus

AddEventHandler('hydrus:insert', function(table_name, data, ctx)
    if table_name == 'vrp_user_vehicles' then
        ctx.merge({
            created_by = 'hydrus'
        })
    end
end)

Às vezes é desejável remover uma coluna que a loja está tentando inserir, você pode fazer isso através da função ctx.delete

AddEventHandler('hydrus:insert', function(table_name, data, ctx)
    if table_name == 'vrp_user_vehicles' then
        -- Caso você queira remover uma coluna que normalmente seria inserida
        ctx.delete('plate')
    end
end)

Caso você precise realizar alguma operação assíncrona para modificar ou não uma coluna, utilize as funções ctx.defer e ctx.done

AddEventHandler('hydrus:insert', function(table_name, data, ctx)
    if table_name == 'vrp_user_vehicles' then
        -- defer() irá travar o insert, aguardando até o último done()
        ctx.defer()
        
        Wait(1000)
        ctx.delete('plate')
        
        -- destravando o insert, para que o script possa prosseguir
        ctx.done()
    end
end)

Last updated