Pular para o conteúdo principal
Você está vendo a documentação para desenvolvedores
Esta documentação é para desenvolvedores que trabalham com a plataforma para desenvolvedores Base44. Para informações sobre como gerenciar os dados do seu app usando o editor de apps, veja Gerenciar dados do app.
A entidade User existe em todo projeto Base44 por padrão e armazena informações sobre os usuários do seu app. Você pode adicionar campos para armazenar dados adicionais de usuário, depois usar esses campos em regras de segurança para controlar o acesso a dados ou no seu app para personalizar a experiência.

Campos integrados

Cada entidade User inclui um conjunto de campos integrados por padrão.
CampoTipoDescrição
full_namestringNome de exibição do usuário
emailstringEndereço de e-mail do usuário
rolestringOu admin ou user
A entidade User também tem os campos integrados gerais que existem em todas as entidades, como id e created_date. Esses campos são gerenciados pelo sistema e não podem ser redefinidos no seu schema.

Campos customizados

Para adicionar campos customizados, defina um User schema contendo apenas seus campos adicionais. Tentar redefinir qualquer campo integrado causará um erro de validação. Crie um arquivo User.json ou User.jsonc no diretório de entidades do seu projeto. Por padrão este é base44/entities/, mas você pode personalizar o caminho na configuração do seu projeto.
entities/User.json
{
  "type": "object",
  "properties": {
    "company": { "type": "string" },
    "phone": { "type": "string" },
    "job_title": { "type": "string" },
    "bio": { 
      "type": "string",
      "maxLength": 500
    }
  },
  "required": ["company"]
}
Depois envie suas entidades para a Base44 usando entities push ou deploy.

Exemplo completo

Aqui está um User schema completo com vários tipos de campo:
{
  "type": "object",
  "properties": {
    "company": {
      "type": "string"
    },
    "phone": {
      "type": "string"
    },
    "job_title": {
      "type": "string",
      "maxLength": 100
    },
    "bio": {
      "type": "string",
      "maxLength": 500
    },
    "website": {
      "type": "string",
      "format": "uri"
    },
    "preferences": {
      "type": "object",
      "properties": {
        "theme": {
          "type": "string",
          "enum": ["light", "dark"],
          "default": "light"
        },
        "notifications": {
          "type": "boolean",
          "default": true
        }
      }
    }
  },
  "required": ["company"]
}

Use seus campos

Depois que você definir e enviar seu User schema, pode referenciar seus campos em regras de segurança e acessá-los no código do seu app.

Em regras de segurança

Você pode usar campos de usuário para controlar o acesso a outras entidades. Por exemplo, você pode restringir os usuários para que só vejam registros que pertencem à sua empresa. Para referenciar campos de usuário em regras de segurança, use a sintaxe de template {{user.data.*}}:
{
  "rls": {
    "read": {"data.company": "{{user.data.company}}"},
    "update": {"data.company": "{{user.data.company}}"}
  }
}
Esta regra garante que os usuários só possam ler e atualizar registros onde o campo company do registro corresponde ao do próprio usuário.

No código

Acesse campos de usuário através do SDK:
// Get current user's fields
const currentUser = await base44.auth.me();
console.log(currentUser.company); // "Acme Inc"

// Update current user's fields
await base44.auth.updateMe({
  phone: "+1-555-0123",
  job_title: "Senior Developer"
});

// List all users with service role (backend functions only)
const allUsers = await base44.asServiceRole.entities.User.list();
Este exemplo usa um cliente base44. Veja Configurando o cliente para instruções de configuração.

Veja também

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