Saltar al contenido principal
Estás viendo la documentación para desarrolladores
Esta documentación es para desarrolladores que trabajan con la plataforma para desarrolladores de Base44. Para información sobre la gestión de los datos de tu app desde el editor de apps, consulta Gestionar los datos de la app.
La entidad User existe en cada proyecto de Base44 por defecto y almacena información sobre los usuarios de tu app. Puedes añadir campos para almacenar datos de usuario adicionales y luego usar esos campos en las reglas de seguridad para controlar el acceso a los datos o en tu app para personalizar la experiencia.

Campos integrados

Cada entidad User incluye un conjunto de campos integrados por defecto.
CampoTipoDescripción
full_namestringNombre para mostrar del usuario
emailstringDirección de email del usuario
rolestringadmin o user
La entidad User también tiene los campos integrados generales que existen en todas las entidades, como id y created_date. Estos campos los gestiona el sistema y no se pueden redefinir en tu esquema.

Campos personalizados

Para añadir campos personalizados, define un esquema de User que contenga solo tus campos adicionales. Intentar redefinir cualquier campo integrado provocará un error de validación. Crea un archivo User.json o User.jsonc en el directorio de entidades de tu proyecto. Por defecto es base44/entities/, pero puedes personalizar la ruta en tu configuración del proyecto.
entities/User.json
{
  "type": "object",
  "properties": {
    "company": { "type": "string" },
    "phone": { "type": "string" },
    "job_title": { "type": "string" },
    "bio": { 
      "type": "string",
      "maxLength": 500
    }
  },
  "required": ["company"]
}
Luego envía tus entidades a Base44 usando entities push o deploy.

Ejemplo completo

Aquí tienes un esquema de User completo con varios 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"]
}

Usa tus campos

Una vez que hayas definido y enviado tu esquema de User, puedes referenciar tus campos en las reglas de seguridad y acceder a ellos en el código de tu app.

En reglas de seguridad

Puedes usar los campos de usuario para controlar el acceso a otras entidades. Por ejemplo, podrías restringir a los usuarios para que solo vean los registros que pertenecen a su empresa. Para referenciar los campos de usuario en las reglas de seguridad, usa la sintaxis de plantilla {{user.data.*}}:
{
  "rls": {
    "read": {"data.company": "{{user.data.company}}"},
    "update": {"data.company": "{{user.data.company}}"}
  }
}
Esta regla asegura que los usuarios solo puedan leer y actualizar los registros donde el campo company del registro coincida con el suyo.

En código

Accede a los campos de usuario a través del 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 ejemplo usa un cliente base44. Consulta Configurar el cliente para instrucciones de configuración.

Ver también

Esta página se tradujo con IA. Para información más precisa y actualizada, consulta la versión en inglés.