UNPKG

@ima-worldhealth/sunfish

Version:

A webapp for configuring DHIS2 email reports

32 lines (23 loc) 945 B
const api = require('@ima-worldhealth/dhis2-api'); const router = require('express').Router(); const db = require('../lib/db'); async function refreshDashboardList() { const { data } = await api.dashboards.list(); // clear out the old dashboards db.prepare('DELETE FROM dashboards WHERE id NOT IN (SELECT dashboard_id FROM schedules_dashboards);').run(); const insert = db.prepare('INSERT OR IGNORE INTO dashboards (id, display_name) VALUES (?, ?)'); const bulk = db.transaction((boards) => { boards.forEach((board) => { insert.run(board.id, board.displayName); }); }); // perform a bulk insert of all dashbaords bulk(data.dashboards); return data.dashboards; } router.get('/', (req, res) => { const data = db.prepare('SELECT * FROM dashboards;').all(); res.render('data-list', { data, header : 'Dashboards' }); }); module.exports = router; module.exports.refreshDashboardList = refreshDashboardList;