roble library

Classes

RobleApiConfig
Configuración del cliente Roble.
RobleApiDataBase
Cliente HTTP robusto para interactuar con la API Roble.
RobleAuthState
El estado de la sesión, tal como queda después de cada cambio.
RobleChange
Un cambio en una fila, tal y como llega del servidor.
RobleFileInfo
Un archivo listado en el proyecto. No trae URL: pidela con RobleFileStorage.getDownloadUrl.
RobleFileStorage
Archivos del bucket S3-compatible del proyecto (el gestionado por Roble por defecto, o el propio si se configuro uno en la consola).
RobleFilter
Comparacion que el servidor aplica antes de mandar el cambio.
RobleGoogleSignIn
Implementacion con google_sign_in, el SDK nativo de Google.
RobleIdTokenSource
Obtiene un id_token de Google para canjearlo en Roble.
RobleInsertResult
Resultado de insertar varios registros con RobleApiDataBase.createMany.
RobleJsonDb
Base de datos JSON: un arbol por proyecto, al estilo de Firebase Realtime Database.
RobleMemoryStorage
Implementación en memoria, útil para pruebas.
RoblePkce
Par PKCE para el login social (RFC 7636).
RobleProviderInfo
Un proveedor habilitado en el proyecto, tal como lo devuelve GET /{contrato}/auth/providers.
RobleQueryResult
Resultado de POST /execute-query.
RobleRealtimeClient
Mantiene el socket y las suscripciones abiertas contra el servicio Realtime.
RobleSecureStorage
Almacén por defecto: Keychain en iOS/macOS, Keystore en Android, almacenamiento cifrado en web y el gestor de secretos del sistema en escritorio.
RobleSkippedRecord
Modelos de respuesta del paquete roble. Registro que el servidor rechazó durante un POST /insert.
RobleTablePolicy
Configuracion de tiempo real de una tabla.
RobleTokenStorage
Almacenamiento donde persistir la sesión entre reinicios.
RobleUser
El perfil de quien tiene la sesión iniciada.

Enums

RobleAuthReason
Por qué cambió la sesión.
RobleChangeType
Tipo de cambio en una fila.
RobleRealtimeAccess
Quien puede escuchar los cambios de una tabla.
RobleSocialProvider
Proveedores de identidad soportados.

Functions

robleNativeOpener(String callbackScheme) → RobleSocialOpener
Abre el proveedor en la pestana de navegador del sistema y espera el retorno.

Typedefs

RobleFileRequest = Future Function(String method, String path, {Object? body, Map<String, String>? queryParams})
Peticion HTTP contra el servicio de datos, ya con el token puesto.
RobleJsonRequest = Future Function(String method, String path, {Object? body, Map<String, String>? queryParams})
Peticion HTTP contra el servicio de tiempo real, ya con el token puesto.
RobleSocialOpener = Future<Uri> Function(Uri loginUrl, Duration timeout)
Abre el proveedor y devuelve la URL de retorno con la que volvió.
RobleSocketFactory = Socket Function(String url, Map<String, dynamic> options)
Como se abre el socket. Existe para poder sustituirlo en pruebas.

Exceptions / Errors

RobleApiAuthException
Error cuando las credenciales son inválidas o el token expira.
RobleApiConflictException
El proveedor social no pudo vincularse solo con una cuenta que ya existe.
RobleApiException
Excepción base para todos los errores del cliente Roble API.
RobleApiFormatException
Error cuando la respuesta tiene un formato inválido o no se puede parsear.
RobleApiHttpException
Error cuando el servidor devuelve un código HTTP no exitoso.
RobleApiNetworkException
Error de red (por ejemplo, sin conexión o DNS no resuelto).
RobleApiTimeoutException
Error cuando el tiempo de espera expira.
RoblePartialInsertException
El servidor aceptó la petición pero rechazó parte de los registros.