Generador de consultas estáticas de informes
Visión General
El MiniQueryBuilder es una interfaz fluida para construir consultas tipo SQL en Gaio DataOS. Proporciona una forma simple e intuitiva de crear consultas utilizando cláusulas como:
SELECT
FROM
WHERE (filter)
GROUP BY
ORDER BY
LIMIT
OFFSET
Uso Básico
// Access the query builder through context.query
const results = await context.query
.select(['id', 'name', 'created_at'])
.from('users')
.filter('status', 'eq', 'active')
.orderBy('created_at', 'desc')
.limit(100)
.run();Referencia de la API
Constructor
El constructor de consultas se accede mediante el objeto context:
Métodos Disponibles
select(fields: string[])
Especifica los campos a seleccionar en la consulta.
from(table: string)
Especifica la tabla desde la cual consultar. Este método es obligatorio.
filter(field: string, operator: FilterOperator, value: any)
Agrega una condición de filtro a la consulta.
Operadores Disponibles
eq→ igualneq→ distintogt→ mayor quegte→ mayor o igual quelt→ menor quelte→ menor o igual quelike→ coincidencia de patrón con%ilike→ coincidencia de patrón sin distinguir mayúsculas/minúsculasin→ dentro de una lista de valoresis→ verificación de nullcs→ contiene (para arrays)cd→ contenido por (para arrays)ov→ superposición (para arrays)fts→ búsqueda de texto completoor→ operador lógico ORand→ operador lógico AND
groupBy(fields: string[])
Define los campos para agrupar resultados.
orderBy(field: string, direction: 'asc' | 'desc' = 'asc', nullsPosition?: 'first' | 'last')
Agrega una cláusula ORDER BY.
limit(limit: number)
Define el número máximo de filas a devolver.
offset(offset: number)
Define cuántas filas omitir (para paginación).
run(): Promise<GenericType[]>
Ejecuta la consulta y devuelve una Promesa que resuelve un arreglo de resultados.
Usage
Valor de Retorno
Devuelve una Promesa que resuelve en un arreglo de objetos (GenericType[]). Cada objeto representa una fila del resultado, con propiedades que coinciden con las columnas seleccionadas.
Validaciones
The run() method performs the following validations before executing the query:
Ensures that the limit is a number
Ensures that the limit does not exceed 10,000 rows
Implicitly checks that the FROM clause is specified (through the build method)
Manejo de Errores
El método run() puede lanzar errores en los siguientes casos:
Si el
limitno es un númeroSi el
limitsupera 10,000Si no se especifica la cláusula
FROMSi falla la solicitud a la API → El error del cliente API será propagado
Detalles de Implementación
El método run() envía una solicitud POST a:
Incluye el esquema de la consulta y los datos de la tarea, y luego extrae y devuelve los datos de la respuesta.
Ejemplos
Consulta Básica
Consulta con Filtro
Consulta con Agregación
Paginación
Última actualización