Pular para o conteúdo principal
O módulo entities permite trabalhar com os dados do seu app. Cada tipo de entidade no seu app tem métodos para criar, ler, atualizar e excluir registros. Você acessa os métodos das entidades através do nome da sua entidade: base44.entities.YourEntityName.methodName(). Por exemplo, se você tem uma entidade Task, você usa base44.entities.Task.list() para obter uma lista de tasks.
Gere tipos TypeScript a partir das suas entidades para obter autocomplete e segurança de tipos. Execute base44 types generate no seu projeto, e todos os campos, métodos e tipos de retorno das entidades estarão totalmente tipados. Saiba mais sobre tipos dinâmicos.

Permissões

O acesso a dados é controlado pelo modo de autenticação do cliente e pelas regras de permissão do seu app. Você pode configurar as permissões para cada entidade nas configurações de segurança do seu app. Saiba mais sobre como alterar permissões de dados.
  • Usuários anônimos: podem acessar apenas entidades marcadas como públicas.
  • Usuários autenticados: podem acessar entidades e registros que tenham permissão para ver ou modificar, com base nas regras de acesso configuradas no seu app.
  • Service role: pode acessar todas as entidades e registros disponíveis ao administrador do app.
No código de backend, você pode usar o service role para acessar dados com permissões de administrador.

Criar registros

Use create() para adicionar novos registros a uma entidade:
const newTask = await base44.entities.Task.create({
  title: "Complete documentation",
  status: "pending",
  dueDate: "2024-12-31",
});

Ler registros

Recupere dados usando get() para um único registro, list() para todos os registros, ou filter() para registros que correspondem a critérios específicos. Use get() com um ID de registro para recuperar um registro específico:
const task = await base44.entities.Task.get(taskId);
Use list() para recuperar todos os registros. O método suporta ordenação, paginação e seleção de campos:
const tasks = await base44.entities.Task.list();
Use filter() para encontrar registros que correspondem a critérios específicos:
const pendingTasks = await base44.entities.Task.filter({
  status: "pending",
});

Atualizar registros

Use update() para modificar um registro existente:
await base44.entities.Task.update(taskId, {
  status: "completed",
});

Excluir registros

Use delete() para remover um único registro:
await base44.entities.Task.delete(taskId);
Use deleteMany() para remover vários registros que correspondem a critérios específicos:
const result = await base44.entities.Task.deleteMany({
  status: "completed",
  priority: "low",
});

Operações em lote

Use bulkCreate() para criar vários registros em uma única requisição:
const tasks = await base44.entities.Task.bulkCreate([
  { title: "Task 1", status: "pending" },
  { title: "Task 2", status: "pending" },
  { title: "Task 3", status: "in-progress" },
]);
Use importEntities() para importar registros de um arquivo CSV. Isso é útil para migrar dados ou fazer uploads em massa a partir de interfaces de usuário:
const handleFileUpload = async (event) => {
  const file = event.target.files?.[0];
  if (file) {
    const result = await base44.entities.Task.importEntities(file);
    console.log(`Imported ${result.output.length} records`);
  }
};
importEntities() requer um ambiente de navegador e não pode ser usado em código de backend.

Inscrições em tempo real

Use subscribe() para receber atualizações em tempo real quando registros forem criados, atualizados ou excluídos:
const unsubscribe = base44.entities.Task.subscribe((event) => {
  console.log(`Task ${event.id} was ${event.type}d`);
  console.log("Updated data:", event.data);
});

// Later, clean up the subscription
unsubscribe();

Acesso a dados com service role

Por padrão, o acesso a dados é limitado às permissões do usuário atual. Com a autenticação de service role, você pode acessar dados com permissões em nível de administrador. Isso significa que você pode acessar dados aos quais o papel de administrador no seu app tem acesso. Use base44.asServiceRole.entities para acessar dados com permissões de administrador:
// User-level access (limited to current user's permissions)
const myTasks = await base44.entities.Task.list();

// Service role access (admin-level permissions)
const allTasks = await base44.asServiceRole.entities.Task.list();

Entidade User

Todo app Base44 inclui uma entidade User integrada que armazena informações de conta de usuário. Esta entidade tem regras de segurança especiais:
  • Usuários comuns só podem ler e atualizar seu próprio registro de usuário
  • Com autenticação de service role, você pode ler, atualizar e excluir qualquer usuário
  • Você não pode criar usuários pelo módulo entities — use o módulo auth
Você pode adicionar campos à entidade User para armazenar dados adicionais do usuário, e então usar esses campos em regras de segurança para controlar o acesso a dados ou no seu app para personalizar a experiência. Veja Esquema do User para detalhes.
const allUsers = await base44.asServiceRole.entities.User.list();

Veja mais

entities module

Referência completa da API

Cliente Base44

Saiba mais sobre o cliente e o service role
Esta página foi traduzida usando IA. Para informações mais precisas e atualizadas, consulte a versão em inglês.