Supabase
Descripcion
Sección titulada «Descripcion»Este modulo proporciona integracion completa con Supabase a traves de sus APIs: Database (PostgREST) para operaciones CRUD con filtros avanzados, Storage para gestion de archivos (subir, descargar, listar, eliminar, URLs firmadas), Auth (GoTrue Admin) para administracion de usuarios (CRUD, invitaciones) y Edge Functions para invocar funciones serverless Deno.
Para la base de datos, los filtros se convierten automaticamente al formato PostgREST (column=op.value). Las operaciones UPDATE y DELETE requieren filtros obligatoriamente para proteger los datos. Las operaciones de Auth y Storage requieren la clave service_role.
Configuracion
Sección titulada «Configuracion»| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
| credentials_id | credentials | Si | Credencial Supabase (Project URL + API Keys) |
| operation | text | Si | Operacion: selectRows, insertRows, updateRows, deleteRows, rpc, storageUpload, storageDownload, storageList, storageDelete, authListUsers, authGetUser, authCreateUser, authUpdateUser, authDeleteUser, authInvite, invokeFunction |
| table | text | Condicional | Nombre de la tabla o vista (operaciones DB) |
| select | text | No | Columnas a retornar (default: *). Soporta relaciones: *,posts(id,title) |
| filters | json | Condicional | Array de filtros: [{column, op, value}]. Operadores: eq, neq, gt, gte, lt, lte, like, ilike, is, in, cs, cd, not |
| data | json | Condicional | Datos a insertar/actualizar |
| order_by | text | No | Columna para ordenar |
| order_dir | select | No | Direccion: asc, desc |
| limit | number | No | Limite de registros (default: 100) |
| offset | number | No | Desplazamiento para paginacion |
| single | boolean | No | Retornar un solo registro como objeto |
| on_conflict | text | No | Columna(s) para upsert |
| function_name | text | Condicional | Nombre de la funcion PostgreSQL o Edge Function |
| bucket | text | Condicional | Nombre del bucket de Storage |
| path | text | Condicional | Ruta del archivo en Storage |
| user_id | text | Condicional | UUID del usuario (operaciones Auth) |
Credenciales
Sección titulada «Credenciales»Tipo de servicio: supabase. Se almacenan en la tabla servicecredentials.
Campos de configuracion:
- projectUrl: URL del proyecto Supabase (ej: https://xxxx.supabase.co)
- anonKey: Clave anonima del proyecto (para lectura publica)
- serviceRoleKey: Clave de service_role (para operaciones admin, Auth, Storage)
{ "nextModule": null, "data": [ { "id": 1, "name": "Juan Garcia", "email": "juan@ejemplo.com", "status": "active" } ], "_meta_": { "operation": "selectRows", "recordCount": 1, "executionTime": "85ms" }}Ejemplo de Uso
Sección titulada «Ejemplo de Uso»Caso basico - Leer registros
Sección titulada «Caso basico - Leer registros»{ "credentials_id": 1, "operation": "selectRows", "table": "customers", "select": "id,name,email", "filters": [{"column": "status", "op": "eq", "value": "active"}], "order_by": "created_at", "order_dir": "desc", "limit": 50}Caso basico - Insertar registro
Sección titulada «Caso basico - Insertar registro»{ "credentials_id": 1, "operation": "insertRows", "table": "orders", "data": {"customer_id": 1, "total": 99.99, "status": "pending"}}API Utilizada
Sección titulada «API Utilizada»- Supabase PostgREST API:
/rest/v1/ - Supabase Storage API:
/storage/v1/ - Supabase Auth (GoTrue) API:
/auth/v1/ - Supabase Edge Functions:
/functions/v1/ - Documentacion: https://supabase.com/docs
- Las operaciones UPDATE y DELETE requieren filtros obligatoriamente para evitar modificar/borrar toda la tabla
- El operador “in” acepta arrays que se convierten automaticamente a formato PostgREST: (val1,val2)
- El modo upsert se activa con on_conflict y usa la cabecera Prefer: resolution=merge-duplicates
- El modo single retorna un objeto en vez de array (error 406 si hay mas de 1 resultado)
- Storage detecta automaticamente el content-type por extension si no se especifica
- Las URLs firmadas de Storage expiran segun el parametro expires_in (default: 3600 segundos)
- Las operaciones de Auth requieren la clave service_role (no funcionan con anonKey)
- Los Edge Functions se invocan con timeout extendido de 60 segundos
- El timeout general de operaciones es de 30 segundos (120 para upload/download de Storage)