Ir para o conteúdo
Promovaweb

Conecte o cliente JavaScript

Revisado em

Prepare o ambiente

Inicialize o supabase-js, grave uma tarefa autenticada e consulte os registros permitidos pelas políticas.

  • Conclua as etapas anteriores da trilha em um projeto de estudo.

O cliente supabase-js conecta a aplicação à API do projeto. Instale o pacote no diretório da aplicação com npm install @supabase/supabase-js. Preserve o arquivo de lock para registrar a versão instalada.

Inicialize uma única conexão

O exemplo abaixo usa Vite. Configure VITE_SUPABASE_URL e VITE_SUPABASE_PUBLISHABLE_KEY no arquivo local de ambiente. Esses valores entram no código do navegador, portanto use somente a chave publishable.

import { createClient } from '@supabase/supabase-js'
export const supabase = createClient(
import.meta.env.VITE_SUPABASE_URL,
import.meta.env.VITE_SUPABASE_PUBLISHABLE_KEY
)

Outros frameworks têm convenções próprias para variáveis públicas. Mantenha o endereço e a chave do mesmo projeto que recebeu a tabela. Reinicie o servidor de desenvolvimento da sua aplicação quando necessário para carregar a configuração.

Grave uma tarefa autenticada

Depois do login mostrado na etapa de Auth, execute a inserção. O identificador vem da sessão validada pelo serviço. A política do banco confere se ele corresponde à linha.

const { data: { user }, error: erroSessao } = await supabase.auth.getUser()
if (erroSessao || !user) throw new Error('Entre na aplicação para criar uma tarefa.')
const { data: tarefa, error } = await supabase
.from('tarefas')
.insert({ user_id: user.id, titulo: 'Conferir a política de leitura' })
.select('id, titulo, concluida')
.single()
if (error) throw error
console.log(tarefa)

O encadeamento select solicita o registro inserido. A política de leitura da trilha permite esse retorno para a mesma sessão.

Consulte e confira o isolamento

const { data: tarefas, error } = await supabase
.from('tarefas')
.select('id, titulo, concluida')
.order('criada_em', { ascending: false })
if (error) throw error
console.log(tarefas)

Repita essa consulta com os dois cadastros de teste. Cada sessão deve receber suas próprias tarefas. O exemplo registra a resposta no console para facilitar a conferência, mas sua interface precisa apresentar carregamento, lista vazia e mensagem de erro.

Uma lista vazia também pode indicar que a sessão ainda não criou tarefas. Confira a identidade e o projeto usados pela chamada antes de alterar a política.

Confira o resultado

A inserção retorna uma tarefa e a consulta lista somente os registros da sessão autenticada.

Fontes consultadas

Procedimento conferido na documentação oficial. A execução em uma instância Supabase não foi realizada nesta revisão.