Passer au contenu principal
Le module entities vous permet de travailler avec les données de votre app. Chaque type d’entité dans votre app dispose de méthodes pour créer, lire, mettre à jour et supprimer des enregistrements. Vous accédez aux méthodes d’entité via le nom de votre entité : base44.entities.YourEntityName.methodName(). Par exemple, si vous avez une entité Task, vous utilisez base44.entities.Task.list() pour obtenir une liste de tâches.
Générez des types TypeScript à partir de vos entités pour obtenir l’autocomplétion et la sécurité de type. Exécutez base44 types generate dans votre projet, et tous les champs d’entité, méthodes et types de retour seront entièrement typés. En savoir plus sur les types dynamiques.

Permissions

L’accès aux données est contrôlé par le mode d’authentification du client et les règles de permission de votre app. Vous pouvez configurer les permissions pour chaque entité dans les paramètres de sécurité de votre app. En savoir plus sur la modification des permissions de données.
  • Utilisateurs anonymes : Peuvent uniquement accéder aux entités marquées comme publiques.
  • Utilisateurs authentifiés : Peuvent accéder aux entités et enregistrements qu’ils ont la permission de voir ou de modifier en fonction des règles d’accès configurées de votre app.
  • Service role : Peut accéder à toutes les entités et enregistrements disponibles pour l’admin de l’app.
Dans le code backend, vous pouvez utiliser le service role pour accéder aux données avec les permissions admin.

Créer des enregistrements

Utilisez create() pour ajouter de nouveaux enregistrements à une entité :
const newTask = await base44.entities.Task.create({
  title: "Complete documentation",
  status: "pending",
  dueDate: "2024-12-31",
});

Lire des enregistrements

Récupérez les données à l’aide de get() pour un seul enregistrement, list() pour tous les enregistrements ou filter() pour les enregistrements correspondant à des critères spécifiques. Utilisez get() avec un ID d’enregistrement pour récupérer un enregistrement spécifique :
const task = await base44.entities.Task.get(taskId);
Utilisez list() pour récupérer tous les enregistrements. La méthode prend en charge le tri, la pagination et la sélection de champs :
const tasks = await base44.entities.Task.list();
Utilisez filter() pour trouver des enregistrements qui correspondent à des critères spécifiques :
const pendingTasks = await base44.entities.Task.filter({
  status: "pending",
});

Mettre à jour des enregistrements

Utilisez update() pour modifier un enregistrement existant :
await base44.entities.Task.update(taskId, {
  status: "completed",
});

Supprimer des enregistrements

Utilisez delete() pour supprimer un seul enregistrement :
await base44.entities.Task.delete(taskId);
Utilisez deleteMany() pour supprimer plusieurs enregistrements correspondant à des critères spécifiques :
const result = await base44.entities.Task.deleteMany({
  status: "completed",
  priority: "low",
});

Opérations en masse

Utilisez bulkCreate() pour créer plusieurs enregistrements en une seule requête :
const tasks = await base44.entities.Task.bulkCreate([
  { title: "Task 1", status: "pending" },
  { title: "Task 2", status: "pending" },
  { title: "Task 3", status: "in-progress" },
]);
Utilisez importEntities() pour importer des enregistrements depuis un fichier CSV. Ceci est utile pour la migration de données ou les téléversements en masse à partir d’interfaces utilisateur :
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() nécessite un environnement de navigateur et ne peut pas être utilisé dans le code backend.

Abonnements en temps réel

Utilisez subscribe() pour recevoir des mises à jour en temps réel lorsque des enregistrements sont créés, mis à jour ou supprimés :
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();

Accès aux données via service role

Par défaut, l’accès aux données est limité aux permissions de l’utilisateur actuel. Avec l’authentification service role, vous pouvez accéder aux données avec des permissions de niveau admin. Cela signifie que vous pouvez accéder aux données auxquelles le rôle admin de votre app a accès. Utilisez base44.asServiceRole.entities pour accéder aux données avec les permissions admin :
// 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();

Entité User

Chaque app Base44 inclut une entité User intégrée qui stocke les informations de compte utilisateur. Cette entité a des règles de sécurité spéciales :
  • Les utilisateurs ordinaires peuvent uniquement lire et mettre à jour leur propre enregistrement utilisateur
  • Avec l’authentification service role, vous pouvez lire, mettre à jour et supprimer n’importe quel utilisateur
  • Vous ne pouvez pas créer d’utilisateurs via le module entities - utilisez plutôt le module auth
Vous pouvez ajouter des champs à l’entité User pour stocker des données utilisateur supplémentaires, puis utiliser ces champs dans les règles de sécurité pour contrôler l’accès aux données ou dans votre app pour personnaliser l’expérience. Consultez Schéma utilisateur pour plus de détails.
const allUsers = await base44.asServiceRole.entities.User.list();

Voir plus

Module entities

Référence API complète

Client Base44

En savoir plus sur le client et le service role
Cette page a été traduite à l’aide de l’IA. Pour les informations les plus précises et à jour, consultez la version anglaise.