-- name: CreateCodigoAcesso :one INSERT INTO codigos_acesso ( codigo, descricao, validade_dias, expira_em, ativo, empresa_id, regiao ) VALUES ( $1, $2, $3, $4, $5, $6, $7 ) RETURNING *; -- name: ListCodigosAcesso :many SELECT c.*, e.nome as empresa_nome FROM codigos_acesso c LEFT JOIN empresas e ON c.empresa_id = e.id WHERE c.regiao = $1 ORDER BY c.criado_em DESC; -- name: DeleteCodigoAcesso :exec DELETE FROM codigos_acesso WHERE id = $1; -- name: GetCodigoAcesso :one SELECT c.*, e.nome as empresa_nome FROM codigos_acesso c LEFT JOIN empresas e ON c.empresa_id = e.id WHERE c.codigo = $1 LIMIT 1; -- name: IncrementCodigoAcessoUso :exec UPDATE codigos_acesso SET usos = usos + 1 WHERE id = $1;