UNPKG

@opengis/bi

Version:

BI data visualization module

48 lines (37 loc) 1.23 kB
import { config, getToken, dataInsert, pgClients, } from '@opengis/fastify-table/utils.js'; import datasetForms from '../utils/datasetForms.js'; export default async function datasetDataInsert({ pg = pgClients.client, params = {}, body = {}, user = {}, }) { if (!user?.uid) { return { message: 'access restricted', status: 403 }; } const tokenData = await getToken({ uid: user?.uid, token: params.id, mode: 'a', json: 1, }); if (!tokenData && !config.local && !config.debug) { return { message: 'token not allow', status: 403 }; } const dataset = await pg.query('select dataset_id as id, table_name as table from bi.dataset where dataset_id=$1', [tokenData?.dataset || params.id]) .then(el => el.rows[0] || {}); const { form, table: add } = tokenData || { form: `${dataset.id}.form`, table: dataset.table }; if (!form || !dataset.id || !datasetForms[dataset.id]) { return { message: 'dataset not found', status: 404 }; } const res = await dataInsert({ pg, table: add, data: body, uid: user?.uid, }); if (!res) { return { message: 'nothing added' }; } return { rows: res.rows }; }