Actions d'enregistrement et de fichier
La famille record lit et écrit des enregistrements de table (unitaire et par lots). La famille file effectue des opérations de stockage — upload, download, génération et transformation.
Record — CRUD de table
Les operators couvrent le CRUD ligne par ligne ainsi que les opérations par lots. Les lectures/mises à jour/suppressions utilisent un filter de groupe de conditions ; les créations/mises à jour portent une carte data. Les operators par lots itèrent sur un tableau items (un gabarit se résolvant en une liste).
| Operator | Props | Description |
|---|---|---|
create |
table, data |
Insère un enregistrement. |
read |
table, filter |
Lit les enregistrements correspondant au filtre. |
update |
table, data, filter |
Met à jour les enregistrements correspondant au filtre. |
delete |
table, filter |
Supprime en douceur les enregistrements correspondant au filtre. |
upsert |
table, data, filter |
Met à jour si une correspondance existe, sinon crée. |
batchCreate |
table, items, batchSize?, continueOnItemError? |
Insère plusieurs enregistrements à partir d'un tableau. |
batchUpdate |
table, items, batchSize?, continueOnItemError? |
Met à jour plusieurs enregistrements à partir d'un tableau. |
batchUpsert |
table, items, batchSize?, continueOnItemError? |
Upsert de plusieurs enregistrements à partir d'un tableau. |
batchDelete |
table, filter, limit? |
Supprime les enregistrements correspondant au filtre (plafonné par limit). |
- name: logActivity
type: record
operator: create
props:
table: activity_log
data:
action: 'order.created'
order_id: '{{trigger.data.id}}'
occurred_at: '{{now}}'
- name: importRows
type: record
operator: batchCreate
props:
table: contacts
items: '{{parseLeads.result}}'
batchSize: 100
continueOnItemError: true
Les actions d'enregistrement respectent les permissions de table et la suppression en douceur. Les écritures passent par le même RBAC et la même validation que l'API d'enregistrements ; delete est doux par défaut (définit deleted_at). Voir Permissions de table et CRUD d'enregistrements.
File — Opérations de stockage
Quatorze operators couvrant le stockage, les métadonnées/accès, la génération et les transformations avancées. Ils opèrent sur le stockage configuré de Sovrium (local ou S3) — voir Opérations sur fichiers.
Stockage
| Operator | Props | Description |
|---|---|---|
upload |
source, path?, contentType? |
Téléverse un fichier vers le stockage. |
download |
key |
Télécharge un fichier stocké par sa clé. |
delete |
key |
Supprime un fichier stocké. |
copy |
source, destination |
Copie un fichier stocké. |
move |
source, destination |
Déplace/renomme un fichier stocké. |
list |
prefix, limit? |
Liste les fichiers sous un préfixe. |
Métadonnées et accès
| Operator | Props | Description |
|---|---|---|
getMetadata |
key |
Lit les métadonnées d'un fichier (taille, type de contenu, …). |
signUrl |
key, expiresIn?, operation? |
Génère une URL signée à durée limitée (download / upload). Voir URL signées. |
Génération
| Operator | Props | Description |
|---|---|---|
generatePdf |
template, filename, data?, pageSize?, orientation?, margins?, destination? |
Rend un gabarit HTML en PDF (A4/A3/Letter/Legal). |
generateCsv |
data, filename, columns?, delimiter?, includeHeaders?, destination? |
Génère un CSV à partir d'un tableau. |
Avancé
| Operator | Props | Description |
|---|---|---|
parseCsv |
source, columns?, skipRows?, delimiter? |
Analyse un fichier CSV en un tableau de lignes. |
extractText |
source, format? |
Extrait le texte d'un document (plain / markdown). |
transformImage |
source, width?, height?, fit?, format?, quality?, crop?, destination? |
Redimensionne/convertit une image (jpeg/png/webp/avif). Voir Transformations d'images. |
compress |
files, filename, destination? |
Compresse plusieurs fichiers en une seule archive. |
- name: invoice
type: file
operator: generatePdf
props:
template: invoice-template
filename: 'invoice-{{trigger.data.id}}.pdf'
data: '{{trigger.data}}'
pageSize: A4
orientation: portrait
destination: invoices/
- name: thumbnail
type: file
operator: transformImage
props:
source: '{{upload.result.key}}'
width: 320
fit: cover
format: avif
quality: 70
Transformations d'images éco-responsables. Privilégiez avif et la livraison différée pour les images générées ; le transcodage d'images est régi par la variable d'environnement ECO_IMAGE_FORMAT contrôlée par l'opérateur. Voir Transformations d'images.
Pages connexes
- Vue d'ensemble des enregistrements — le modèle de données et l'API des enregistrements.
- CRUD d'enregistrements — le contrat create/read/update/delete.
- Opérations sur fichiers — la couche de stockage derrière les actions de fichier.
- URL signées — liens d'accès à durée limitée.
- Transformations d'images — traitement d'images à la volée.