UNPKG

@opengis/bi

Version:

BI data visualization module

47 lines (36 loc) 1.14 kB
import { pgClients } from "@opengis/fastify-table/utils.js"; import getTableData from "../utils/getTableData.js"; import getLayersData from "../utils/getLayersData.js"; export default async function gisFormat({ query = {}, pg = pgClients.client }) { const time = [Date.now()]; const { layer, table, id, lat, lng } = query; if (!table && !layer) { return { message: 'not enough params', status: 400 }; } if (layer && !(lat && lng)) { return { message: 'not enough params: lat/lng', status: 400 }; } if (table && !(id || layer)) { return { message: 'not enough params: id', status: 400 }; } const { message, template, rows, layers, html, body } = layer ? await getLayersData({ pg, layer, table, id, lat, lng, time }) : await getTableData({ pg, table, id, time }); if (message) return { message, status: 400 }; return { time: { layer: time[1] - time[0], data: time[2] - time[1], html: time[3] - time[2], total: time[3] - time[0], }, id: rows[0]?.id, table, layers, data: { geom: rows[0]?.geom }, rows, html, template, body, }; }