Données GraphQL et fichiers, avec règles d'accès

Définissez un schéma et interrogez-le aussitôt. Des règles par schéma et par champ déterminent qui peut lire et écrire.

Schémas, règles et fichiers dans un seul service

Du GraphQL à partir de votre schéma

Ajoutez un schéma dans l'éditeur visuel ou sous forme de fichier JSON, puis publiez-le. Blocks génère query, insert, insertMany, update, updateMany, delete et deleteMany, avec des filtres where et des conditions AND/OR.

Règles par ligne et par colonne

Rendez un schéma ou un seul champ public, ouvert à tout utilisateur connecté, ou restreint par des règles portant sur l'ID, l'e-mail, les rôles ou les permissions de l'utilisateur et sur les champs de l'enregistrement lui-même.

Validation à chaque écriture

Ajoutez aux champs des contrôles par regex, longueur, plage et comparaison. Décrivez un motif en langage courant et Blocks écrit la regex pour vous.

Fichiers avec dossiers, versions et partage

Chargez vos fichiers via des URL présignées, conservez chaque version, déplacez et copiez des fichiers sans dupliquer les octets, partagez-les avec un accès View, Download, Edit ou Manage, et restaurez-les depuis la corbeille.

MongoDB géré ou le vôtre

Utilisez la base de données que Blocks exploite pour chaque environnement, ou pointez le projet vers votre propre cluster MongoDB Atlas.

Playground et explorateur de données

Testez des requêtes avec l'introspection dans le Data Playground, et parcourez les enregistrements sous forme de tableau ou de JSON, avec filtres et tri.

Définissez une fois, interrogez depuis votre application

Gardez schémas et règles dans votre dépôt en JSON, synchronisez-les avec la CLI, et appelez-les depuis votre application avec le SDK.

  1. Récupérez les schémas

    blocks data schema pull écrit chaque schéma dans blocks/data/schemas au format JSON, pour que les changements passent par la revue de code.

  2. Synchronisez et rechargez

    blocks data sync pousse les changements de schéma et de règles et recharge la passerelle. Lancez-le d'abord avec --dry-run pour voir le plan.

  3. Lisez et écrivez depuis votre application

    data.collection() vous donne list, get, create, update et delete pour un schéma. Utilisez data.graphql() pour les jointures et les requêtes de forme personnalisée.

# Keep schemas in git as JSON
blocks data schema pull --json

# Push schema and rule changes, then reload the gateway
blocks data sync --dry-run --json
blocks data sync --yes --json

# Upload a private file
blocks data files upload --file ./invoice.pdf --parent-id <directoryId> \
  --configuration-name Default --access-modifier Private --dry-run --json

Bases de données et stockage

  • MongoDB Atlas
  • Azure Blob Storage
  • Amazon S3
  • S3-compatible (MinIO)
  • SFTP

Questions sur Data

Quelles bases de données sont prises en charge par Data ?

MongoDB. Chaque environnement dispose d'une base de données exploitée par Blocks, ou vous pouvez connecter votre propre cluster MongoDB Atlas avec une URL de connexion et un nom de base de données.

Comment fonctionnent les règles d'accès ?

Chaque schéma et chaque champ a une politique : public, tout utilisateur connecté, ou des règles personnalisées qui comparent l'ID, l'e-mail, les rôles ou les permissions de l'utilisateur aux champs de l'enregistrement. La passerelle les applique à chaque requête et mutation.

Où sont stockés les fichiers ?

Sur Azure Blob Storage par défaut. Vous pouvez ajouter Amazon S3, un stockage compatible S3 comme MinIO, ou un serveur SFTP sous forme de configurations de stockage nommées, et choisir laquelle utiliser à chaque upload.

Faut-il redéployer après un changement de schéma ?

Non. Publiez le schéma dans la console ou lancez blocks data sync, et la passerelle se recharge avec les nouveaux champs.

Commencez avec un projet gratuit

Inscrivez-vous sur os.seliseblocks.com et créez un projet, ou collez un prompt dans Claude Code, Codex ou Cursor et laissez votre agent le configurer via la CLI Blocks.