Saltar al contenido principal

Instalación

  1. Add InsForge dependencies to your project
build.gradle.kts:
  1. Initialize InsForge SDK
  1. Enable Logging (Optional)
For debugging, you can configure the SDK log level:
Log LevelDescription
NONENo logging (default, recommended for production)
ERROROnly errors
WARNWarnings and errors
INFOInformational messages
DEBUGDebug info (request method, URL, response status)
VERBOSEFull details (headers, request/response bodies)
Use NONE or ERROR in production to avoid exposing sensitive data in logs.

Android Initialization

  1. Add Chrome Custom Tabs dependency to your build.gradle.kts:
  1. Initialize InsForge SDK (With Chrome Custom Tabs and Session Storage)
  1. Use Jetpack DataStore for Session Storage (Optional)

insert()

Insertar nuevos registros en una tabla.

Ejemplos


update()

Actualizar registros existentes en una tabla.

Ejemplos


delete()

Eliminar registros de una tabla.

Ejemplos


select()

Consultar registros de una tabla.

Ejemplos


executeRaw()

Ejecutar una consulta SELECT y devolver una matriz JSON sin procesar. Utiliza este método cuando necesites trabajar con datos dinámicos/sin tipo, como consultas con uniones que devuelven objetos anidados.

Ejemplos


rpc()

Llamar a funciones almacenadas de PostgreSQL (RPC - Llamada a procedimiento remoto). Este método te permite invocar directamente funciones SQL definidas en tu base de datos.

Firma

Parámetros

  • functionName (String) - Nombre de la función PostgreSQL a llamar
  • args (Map\<String, Any?\>?, optional) - Argumentos a pasar a la función

Detalles de implementación

  • Sin argumentos: Utiliza solicitud GET a /api/database/rpc/{functionName}
  • Con argumentos: Utiliza solicitud POST con cuerpo JSON a /api/database/rpc/{functionName}

Ejemplos

Ejemplos de rpcRaw()

Utiliza rpcRaw() cuando el tipo de retorno sea dinámico o desconocido en tiempo de compilación.

Filtros

FiltroDescripciónEjemplo
.eq(column, value)Igual a.eq("status", "active")
.neq(column, value)No igual a.neq("status", "banned")
.gt(column, value)Mayor que.gt("age", 18)
.gte(column, value)Mayor que o igual a.gte("price", 100)
.lt(column, value)Menor que.lt("stock", 10)
.lte(column, value)Menor que o igual a.lte("priority", 3)
.like(column, pattern)Patrón sensible a mayúsculas.like("name", "%Widget%")
.ilike(column, pattern)Patrón insensible a mayúsculas.ilike("email", "%@gmail.com")
.in(column, list)Valor en lista.in("status", listOf("pending", "active"))
.isNull(column)Es nulo.isNull("deleted_at")

Modificadores

ModificadorDescripciónEjemplo
.order(column, ascending)Ordenar resultados.order("created_at", ascending = false)
.limit(count)Limitar filas.limit(10)
.range(from, to)Paginación.range(0, 9)